diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md
index 013a7d1e20..1b1a8f07c8 100644
--- a/.github/CONTRIBUTING.md
+++ b/.github/CONTRIBUTING.md
@@ -1,16 +1,16 @@
#CONTRIBUTING
-##Reporting Issues
+## Reporting Issues
See [this page](http://tgstation13.org/wiki/Reporting_Issues) for a guide and format to issue reports.
-##Introduction
+## Introduction
Hello and welcome to /tg/station's contributing page. You are here because you are curious or interested in contributing. Thanks for being interested. Everyone is free to contribute to this project as long as they follow the simple guidelines and specifications below, because at /tg/station, we have a goal to increase code maintainability and to do that we are going to need all pull requests to hold up to those specifications. This is in order for all of us to benefit, instead of having to fix the same bug more than once because of duplicated code.
But first we want to make it clear how you can contribute, if contributing is a new experience for you, and what powers the team has over your pull request so you do not get any surprises when submitting pull requests, and it is closed for a reason you did not anticipate.
-##Getting Started
+## Getting Started
At /tg/station we do not have a list of goals and features to add, we instead allow freedom for contributors to suggest and create their ideas for the game. That does not mean we aren't determined to squash bugs, which unfortunately pop up a lot due to the deep complexity of the game. Here are some useful getting started guides, if you want to contribute or if you want to know what challenges you can tackle with zero knowledge about the game's code structure.
If you want to contribute the first thing you'll need to do is [set up Git](http://tgstation13.org/wiki/Setting_up_git) so you can download the source code.
@@ -21,7 +21,7 @@ There is an open list of approachable issues for [your inspiration here](https:/
You can of course, as always, ask for help at [#coderbus](irc://irc.rizon.net/coderbus) on irc.rizon.net. We are just here to have fun and help so do not expect professional support please.
-##Meet the Team
+## Meet the Team
**Project Leads**
@@ -37,14 +37,14 @@ Maintainers are quality control. If a proposed pull request does not meet the me
Maintainers can revert your changes if they feel they are not worth maintaining or if they did not live up to the quality specifications.
-##Specification
+## Specification
As mentioned before, you are expected to follow these specifications in order to make everyone's lives easier, it will also save you and us time, with having to make the changes and us having to tell you what to change. Thank you for reading this section.
-###Object Oriented code
+### Object Oriented code
As BYOND's Dream Maker is an object oriented language, code must be object oriented when possible in order to be more flexible when adding content to it. If you are unfamiliar with this concept, it is highly recommended you look it up.
-###All Byond paths must contain the full path.
+### All Byond paths must contain the full path.
(ie: absolute pathing)
Byond will allow you nest almost any type keyword into a block, such as:
@@ -98,16 +98,16 @@ The previous code made compliant:
code
```
-###No overriding type safety checks.
+### No overriding type safety checks.
The use of the : operator to override type safety checks is not allowed. You must cast the variable to the proper type.
-###Type paths must began with a /
+### Type paths must began with a /
eg: `/datum/thing` not `datum/thing`
-###Datum type paths must began with "datum"
+### Datum type paths must began with "datum"
In byond this is optional, but omitting it makes finding definitions harder.
-###Do not use text/string based type paths
+### Do not use text/string based type paths
It is rarely allowed to put type paths in a text format, as there are no compile errors if the type path no longer exists. Here is an example:
```C++
@@ -118,22 +118,22 @@ var/path_type = /obj/item/weapon/baseball_bat
var/path_type = "/obj/item/weapon/baseball_bat"
```
-###Tabs not spaces
+### Tabs not spaces
You must use tabs to indent your code, NOT SPACES.
(You may use spaces to align something, but you should tab to the block level first, then add the remaining spaces)
-###No Hacky code
+### No Hacky code
Hacky code, such as adding specific checks, is highly discouraged and only allowed when there is ***no*** other option. (Protip: 'I couldn't immediately think of a proper way so thus there must be no other option' is not gonna cut it here )
You can avoid hacky code by using object oriented methodologies, such as overriding a function (called procs in DM) or sectioning code into functions and then overriding them as required.
-###No duplicated code.
+### No duplicated code.
Copying code from one place to another maybe suitable for small short time projects but /tg/station focuses on the long term and thus discourages this.
Instead you can use object orientation, or simply placing repeated code in a function, to obey this specification easily.
-###Startup/Runtime tradeoffs with lists and the "hidden" init proc
+### Startup/Runtime tradeoffs with lists and the "hidden" init proc
First, read the comments in this byond thread, starting here:http://www.byond.com/forum/?post=2086980&page=2#comment19776775
There are two key points here:
@@ -144,19 +144,19 @@ There are two key points here:
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
+### 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`. 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#L49
-###No magic numbers or strings
+### No magic numbers or strings
Make these #defines with a name that more clearly states what it's for.
-###Control statements:
+### Control statements:
(if,while,for,etc)
* All control statements must not contain code on the same line as the statement (`if (blah) return`)
* All control statements comparing a variable to a number should use the formula of `thing` `operator` `number`, not the reverse (eg: `if (count <= 10)` not `if (10 >= count)`)
-###Use early return.
+### Use early return.
Do not enclose a proc in an if block when returning on a condition is more feasible
This is bad:
````
@@ -179,7 +179,7 @@ This is good:
````
This prevents nesting levels from getting deeper then they need to be.
-###Develop Secure Code
+### Develop Secure Code
* Player input must always be escaped safely, we recommend you use stripped_input in all cases where you would use input. Essentially, just always treat input from players as inherently malicious and design with that use case in mind
@@ -193,14 +193,14 @@ This prevents nesting levels from getting deeper then they need to be.
* Where you have code that can cause large scale modification and *FUN* make sure you start it out locked behind one of the default admin roles - use common sense to determine which role fits the level of damage a function could do
-###Files
+### Files
* Because runtime errors do not give the full path, try to avoid having files with the same name across folders.
* File names should not be mixed case, or contain spaces or any character that would require escaping in a uri.
* Files and path accessed and referenced by code above simply being #included should be strictly lowercase to avoid issues on filesystems where case matters.
-###Other Notes
+### Other Notes
* Code should be modular where possible, if you are working on a new class then it is best if you put it in a new file.
* Bloated code may be necessary to add a certain feature, which means there has to be a judgement over whether the feature is worth having or not. You can help make this decision easier by making sure your code is modular.
@@ -209,7 +209,7 @@ This prevents nesting levels from getting deeper then they need to be.
* Do not divide when you can easily convert it to a multiplication. (ie `4/2` should be done as `4*0.5`)
-####Enforced not enforced
+#### Enforced not enforced
The following different coding styles are not only not enforced, but it is generally frowned upon to change them over from one to the other for little reason:
* English/British spelling on var/proc names
@@ -217,7 +217,7 @@ The following different coding styles are not only not enforced, but it is gener
* Spaces after control statements
* if() if () nobody cares.
-####Operators and spaces:
+#### Operators and spaces:
(this is not strictly enforced, but more a guideline for readability's sake)
* Operators that should be separated by spaces
@@ -232,7 +232,7 @@ The following different coding styles are not only not enforced, but it is gener
Math operators like +, -, /, *, etc are up in the air, just choose which version looks more readable.
-###Dream Maker Quirks/Tricks:
+### Dream Maker Quirks/Tricks:
Like all languages, Dream Maker has its quirks, some of them are beneficial to us, like these
* In-To for loops: ```for(var/i = 1, i <= some_value, i++)``` is a fairly standard way to write an incremental for loop in most languages (especially those in the C family) however DM's ```for(var/i in 1 to some_value)``` syntax is oddly faster than its implementation of the former syntax; where possible it's advised to use DM's syntax. (Note, the ```to``` keyword is inclusive, so it automatically defaults to replacing ```<=```, if you want ```<``` then you should write it as ```1 to some_value-1```).
@@ -276,7 +276,7 @@ H.gib()
however DM also has a dot variable, accessed just as ```.``` on it's own, defaulting to a value of null, now what's special about the dot operator is that it is automatically returned (as in the ```return``` statment) at the end of a proc, provided the proc does not already manually return (```return count``` for example). Why is this special? well the ```return``` statement should ideally be free from overhead (functionally free, of course nothing's free) but DM fails to fulfill this, DM's return statement is actually fairly costly for what it does and for what it's used for.
With ```.``` being everpresent in every proc can we use it as a temporary variable? Of course we can! However the ```.``` operator cannot replace a typecasted variable, it can hold data any other var in DM can, it just can't be accessed as one, however the ```.``` operator is compatible with a few operators that look weird but work perfectly fine, such as: ```.++``` for incrementing ```.'s``` value, or ```.[1]``` for accessing the first element of ```.``` (provided it's a list).
-##Pull Request Process
+## Pull Request Process
There is no strict process when it comes to merging pull requests, pull requests will sometimes take a while before they are looked at by a maintainer, the bigger the change the more time it will take before they are accepted into the code. Every team member is a volunteer who is giving up their own time to help maintain and contribute, so please be nice. Here are some helpful ways to make it easier for you and for the maintainer when making a pull request.
@@ -297,7 +297,7 @@ Do not add any of the following in a Pull Request or risk getting the PR closed:
* National Socialist Party of Germany content, National Socialist Party of Germany related content, or National Socialist Party of Germany references
* Code where one line of code is split across mutiple lines (except for multiple, separate strings and comments and in those cases existing longer lines must not be split up)
-##A word on git
+## A word on git
Yes we know that the files have a tonne of mixed windows and linux line endings, attempts to fix this have been met with less than stellar success and as such we have decided to give up caring until such a time as it matters.
Therefore EOF settings of main repo are forbidden territory one must avoid wandering into
diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md
index ffb65dcd34..f67f095a4f 100644
--- a/.github/PULL_REQUEST_TEMPLATE.md
+++ b/.github/PULL_REQUEST_TEMPLATE.md
@@ -7,6 +7,7 @@ add: Added new things
add: Added more things
del: Removed old things
tweak: tweaked a few things
+balance: rebalanced something
fix: fixed a few things
wip: added a few works in progress
soundadd: added a new sound thingy
diff --git a/README.md b/README.md
index 96a2ae464a..3f0de8c771 100644
--- a/README.md
+++ b/README.md
@@ -1,3 +1,4 @@
+
##Citadel Station 13
Based and maintained from /tg/station.
@@ -16,7 +17,7 @@ Based and maintained from /tg/station.
**Code:** https://github.com/Citadel-Station-13/Citadel-Station-13
**Discord:** [Here](https://discord.gg/3gJ9pnM).
-##DOWNLOADING
+## DOWNLOADING
There are a number of ways to download the source code. Some are described here, an alternative all-inclusive guide is also located at http://www.tgstation13.org/wiki/Downloading_the_source_code
@@ -34,7 +35,7 @@ code tab of https://github.com/tgstation/tgstation
(note: this will use a lot of bandwidth if you wish to update and is a lot of
hassle if you want to make any changes at all, so it's not recommended.)
-##INSTALLATION
+## INSTALLATION
First-time installation should be fairly straightforward. First, you'll need
BYOND installed. You can get it from http://www.byond.com/. Once you've done
@@ -81,7 +82,7 @@ specified in the config.txt, and set the Security box to 'Safe'. Then press GO
and the server should start up and be ready to join. It is also recommended that
you set up the SQL backend (see below).
-##UPDATING
+## UPDATING
To update an existing installation, first back up your /config and /data folders
as these store your server configuration, player preferences and banlist.
@@ -92,7 +93,7 @@ install, overwriting when prompted except if we've specified otherwise, and
recompile the game. Once you start the server up again, you should be running
the new version.
-##MAPS
+## MAPS
Citadel Station maintains their own map, but frequently uses /tg/station's currently maintained maps as well.
@@ -111,7 +112,7 @@ If you are hosting a server, and want randomly picked maps to be played each rou
Anytime you want to make changes to a map it's imperative you use the [Map Merging tools](http://tgstation13.org/wiki/Map_Merger)
-##AWAY MISSIONS
+## AWAY MISSIONS
/tg/station supports loading away missions however they are disabled by default.
@@ -119,35 +120,33 @@ Map files for away missions are located in the _maps/RandomZLevels directory. Ea
To enable an away mission open `config/awaymissionconfig.txt` and uncomment one of the .dmm lines by removing the #. If more than one away mission is uncommented then the away mission loader will randomly select one the enabled ones to load.
-##SQL SETUP
+## SQL SETUP
The SQL backend requires a MySQL server. SQL is required for the library, stats tracking, admin notes, and job-only bans, among other features, mostly related to server administration. Your server details go in /config/dbconfig.txt, and the SQL schema is in /SQL/tgstation_schema.sql and /SQL/tgstation_schema_prefix.sql depending on if you want table prefixes. More detailed setup instructions are located here: http://www.tgstation13.org/wiki/Downloading_the_source_code#Setting_up_the_database
-##IRC BOT SETUP
+## IRC BOT SETUP
Included in the repository is a python3 compatible IRC bot capable of relaying adminhelps to a specified
IRC channel/server, see the /bot folder for more
-##CONTRIBUTING
+## CONTRIBUTING
-Please see [CONTRIBUTING.md](CONTRIBUTING.md)
+Please see [CONTRIBUTING.md](.github/CONTRIBUTING.md)
-##LICENSE
+## LICENSE
-All code after commit 333c566b88108de218d882840e61928a9b759d8f on 2014/31/12 at 4:38 PM PST (https://github.com/tgstation/tgstation/commit/333c566b88108de218d882840e61928a9b759d8f) is licensed under GNU AGPL v3 (http://www.gnu.org/licenses/agpl-3.0.html).
+All code after [commit 333c566b88108de218d882840e61928a9b759d8f on 2014/31/12 at 4:38 PM PST](https://github.com/tgstation/tgstation/commit/333c566b88108de218d882840e61928a9b759d8f) is licensed under [GNU AGPL v3](http://www.gnu.org/licenses/agpl-3.0.html).
-All code before commit 333c566b88108de218d882840e61928a9b759d8f on 2014/31/12 at 4:38 PM PST (https://github.com/tgstation/tgstation/commit/333c566b88108de218d882840e61928a9b759d8f) is licensed under GNU GPL v3 (https://www.gnu.org/licenses/gpl-3.0.html).
+All code before [commit 333c566b88108de218d882840e61928a9b759d8f on 2014/31/12 at 4:38 PM PST](https://github.com/tgstation/tgstation/commit/333c566b88108de218d882840e61928a9b759d8f) is licensed under [GNU GPL v3](https://www.gnu.org/licenses/gpl-3.0.html).
(Including tools unless their readme specifies otherwise.)
See LICENSE-AGPLv3.txt and LICENSE-GPLv3.txt for more details.
tgui clientside is licensed as a subproject under the MIT license.
Font Awesome font files, used by tgui, are licensed under the SIL Open Font License v1.1
-tgui assets are licensed under a Creative Commons Attribution-ShareAlike 4.0 International License
-(http://creativecommons.org/licenses/by-sa/4.0/).
+tgui assets are licensed under a [Creative Commons Attribution-ShareAlike 4.0 International License](http://creativecommons.org/licenses/by-sa/4.0/).
See tgui/LICENSE.md for the MIT license.
See tgui/assets/fonts/SIL-OFL-1.1-LICENSE.md for the SIL Open Font License.
-All assets including icons and sound are under a Creative Commons 3.0 BY-SA
-license (http://creativecommons.org/licenses/by-sa/3.0/) unless otherwise indicated.
+All assets including icons and sound are under a [Creative Commons 3.0 BY-SA license](http://creativecommons.org/licenses/by-sa/3.0/) unless otherwise indicated.
diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_prisoner_crash.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_prisoner_crash.dmm
deleted file mode 100644
index 5b2c8fc4bc..0000000000
--- a/_maps/RandomRuins/LavaRuins/lavaland_surface_prisoner_crash.dmm
+++ /dev/null
@@ -1,593 +0,0 @@
-//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)
-"b" = (
-/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
-/area/lavaland/surface/outdoors)
-"c" = (
-/obj/item/weapon/shard,
-/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
-/area/lavaland/surface/outdoors)
-"d" = (
-/obj/item/weapon/shard{
- icon_state = "medium"
- },
-/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
-/area/lavaland/surface/outdoors)
-"e" = (
-/turf/closed/wall/mineral/plastitanium{
- baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface
- },
-/area/lavaland/surface/outdoors)
-"f" = (
-/obj/structure/shuttle/engine/propulsion{
- dir = 8;
- icon_state = "propulsion"
- },
-/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
-/area/lavaland/surface/outdoors)
-"g" = (
-/obj/structure/shuttle/engine/propulsion{
- dir = 8;
- icon_state = "propulsion"
- },
-/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
-/area/ruin/unpowered)
-"h" = (
-/turf/closed/wall/mineral/plastitanium{
- baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface
- },
-/area/ruin/unpowered)
-"i" = (
-/turf/open/floor/mineral/plastitanium/brig{
- baseturf = /turf/open/floor/plating/lava/smooth;
- initial_gas_mix = "o2=14;n2=23;TEMP=300"
- },
-/area/lavaland/surface/outdoors)
-"j" = (
-/obj/item/weapon/pickaxe,
-/obj/item/weapon/pickaxe,
-/obj/item/weapon/pickaxe,
-/obj/item/weapon/pickaxe,
-/obj/item/device/flashlight/lantern,
-/turf/open/floor/mineral/plastitanium/brig{
- baseturf = /turf/open/floor/plating/lava/smooth
- },
-/area/ruin/unpowered)
-"k" = (
-/obj/effect/mob_spawn/human/prisoner_transport,
-/turf/open/floor/mineral/plastitanium/brig{
- baseturf = /turf/open/floor/plating/lava/smooth
- },
-/area/ruin/unpowered)
-"l" = (
-/obj/item/weapon/shard,
-/turf/open/floor/mineral/plastitanium/brig{
- baseturf = /turf/open/floor/plating/lava/smooth
- },
-/area/ruin/unpowered)
-"m" = (
-/obj/effect/mob_spawn/human/nanotrasensoldier,
-/obj/effect/decal/cleanable/blood,
-/obj/item/device/flashlight/seclite,
-/obj/effect/light_emitter,
-/turf/open/floor/mineral/plastitanium/brig{
- baseturf = /turf/open/floor/plating/lava/smooth
- },
-/area/ruin/unpowered)
-"n" = (
-/obj/item/weapon/gun/ballistic/automatic/pistol/m1911,
-/turf/open/floor/mineral/plastitanium/brig{
- baseturf = /turf/open/floor/plating/lava/smooth
- },
-/area/ruin/unpowered)
-"o" = (
-/turf/open/floor/mineral/plastitanium/brig{
- baseturf = /turf/open/floor/plating/lava/smooth
- },
-/area/ruin/unpowered)
-"p" = (
-/obj/machinery/door/airlock/titanium,
-/turf/open/floor/mineral/plastitanium/brig{
- baseturf = /turf/open/floor/plating/lava/smooth
- },
-/area/ruin/unpowered)
-"q" = (
-/obj/item/weapon/shard,
-/turf/open/floor/mineral/plastitanium/brig{
- baseturf = /turf/open/floor/plating/lava/smooth;
- initial_gas_mix = "o2=14;n2=23;TEMP=300"
- },
-/area/lavaland/surface/outdoors)
-"r" = (
-/obj/machinery/door/airlock/titanium,
-/turf/open/floor/plasteel/shuttle/red{
- baseturf = /turf/open/floor/plating/lava/smooth;
- initial_gas_mix = "o2=16;n2=23"
- },
-/area/ruin/unpowered)
-"s" = (
-/obj/effect/mob_spawn/human/nanotrasensoldier,
-/obj/item/weapon/gun/ballistic/automatic/pistol/m1911,
-/obj/effect/decal/cleanable/blood,
-/turf/open/floor/mineral/plastitanium/brig{
- baseturf = /turf/open/floor/plating/lava/smooth
- },
-/area/ruin/unpowered)
-"t" = (
-/obj/structure/closet/crate/internals,
-/obj/item/weapon/crowbar/large,
-/turf/open/floor/mineral/plastitanium/brig{
- baseturf = /turf/open/floor/plating/lava/smooth
- },
-/area/ruin/unpowered)
-"u" = (
-/obj/structure/lattice,
-/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
-/area/lavaland/surface/outdoors)
-"v" = (
-/obj/effect/decal/cleanable/blood,
-/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
-/area/lavaland/surface/outdoors)
-"w" = (
-/obj/item/weapon/shard{
- icon_state = "small"
- },
-/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
-/area/lavaland/surface/outdoors)
-"x" = (
-/obj/item/weapon/gun/ballistic/automatic/pistol/m1911,
-/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
-/area/lavaland/surface/outdoors)
-"y" = (
-/obj/effect/mob_spawn/human/nanotrasensoldier,
-/obj/effect/decal/cleanable/blood,
-/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
-/area/lavaland/surface/outdoors)
-"z" = (
-/obj/effect/decal/cleanable/blood,
-/obj/item/device/flashlight/seclite,
-/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
-/area/lavaland/surface/outdoors)
-
-(1,1,1) = {"
-a
-a
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-"}
-(2,1,1) = {"
-b
-a
-b
-b
-b
-a
-a
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-a
-b
-"}
-(3,1,1) = {"
-b
-b
-c
-b
-b
-a
-a
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-a
-"}
-(4,1,1) = {"
-b
-b
-b
-b
-b
-b
-a
-b
-b
-g
-h
-g
-h
-g
-b
-b
-b
-w
-b
-b
-"}
-(5,1,1) = {"
-b
-b
-a
-a
-a
-b
-b
-b
-b
-h
-h
-h
-h
-h
-b
-b
-b
-x
-b
-b
-"}
-(6,1,1) = {"
-b
-b
-a
-a
-a
-b
-b
-e
-f
-h
-j
-m
-t
-h
-f
-e
-b
-b
-y
-b
-"}
-(7,1,1) = {"
-b
-b
-b
-b
-b
-b
-b
-b
-e
-h
-k
-n
-k
-h
-e
-b
-b
-v
-z
-b
-"}
-(8,1,1) = {"
-a
-b
-b
-b
-b
-b
-b
-a
-a
-h
-k
-o
-k
-h
-b
-b
-v
-v
-b
-b
-"}
-(9,1,1) = {"
-b
-b
-b
-d
-b
-b
-b
-a
-a
-h
-k
-o
-k
-h
-b
-b
-v
-v
-b
-b
-"}
-(10,1,1) = {"
-b
-b
-b
-b
-b
-b
-b
-a
-a
-h
-k
-o
-k
-h
-b
-b
-b
-b
-a
-a
-"}
-(11,1,1) = {"
-a
-b
-b
-b
-b
-b
-b
-a
-a
-h
-h
-p
-h
-h
-b
-b
-b
-b
-a
-a
-"}
-(12,1,1) = {"
-a
-b
-b
-b
-b
-b
-b
-b
-b
-e
-i
-i
-i
-u
-b
-b
-b
-b
-a
-a
-"}
-(13,1,1) = {"
-b
-b
-b
-a
-b
-b
-b
-a
-b
-i
-i
-q
-i
-u
-b
-b
-b
-c
-a
-a
-"}
-(14,1,1) = {"
-b
-a
-a
-b
-b
-a
-a
-a
-a
-i
-i
-i
-i
-i
-b
-b
-b
-b
-a
-a
-"}
-(15,1,1) = {"
-b
-b
-b
-a
-a
-a
-a
-a
-a
-h
-h
-p
-e
-e
-b
-b
-b
-b
-a
-a
-"}
-(16,1,1) = {"
-b
-b
-b
-a
-a
-a
-a
-a
-a
-h
-l
-s
-a
-e
-b
-b
-b
-b
-a
-a
-"}
-(17,1,1) = {"
-b
-b
-b
-a
-a
-a
-a
-a
-a
-e
-a
-a
-a
-e
-b
-b
-b
-b
-a
-a
-"}
-(18,1,1) = {"
-b
-b
-b
-b
-b
-a
-a
-a
-a
-a
-a
-a
-e
-a
-a
-b
-a
-a
-a
-a
-"}
-(19,1,1) = {"
-b
-b
-b
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
-b
-a
-a
-a
-a
-"}
-(20,1,1) = {"
-b
-b
-b
-b
-b
-a
-a
-a
-a
-a
-a
-a
-a
-b
-b
-b
-b
-b
-a
-a
-"}
diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_xeno_nest.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_xeno_nest.dmm
index 32c417fb65..8993318f00 100644
--- a/_maps/RandomRuins/LavaRuins/lavaland_surface_xeno_nest.dmm
+++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_xeno_nest.dmm
@@ -51,12 +51,7 @@
/obj/structure/alien/weeds{
icon_state = "weeds1"
},
-/obj/structure/alien/weeds{
- desc = "A large mottled egg.";
- obj_integrity = 100;
- icon_state = "egg_hatched";
- name = "egg"
- },
+/obj/structure/alien/egg/burst,
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
/area/awaycontent/a5{
always_unpowered = 1;
@@ -139,12 +134,7 @@
/obj/structure/alien/weeds{
icon_state = "weeds2"
},
-/obj/structure/alien/weeds{
- desc = "A large mottled egg.";
- obj_integrity = 100;
- icon_state = "egg_hatched";
- name = "egg"
- },
+/obj/structure/alien/egg/burst,
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
/area/awaycontent/a5{
always_unpowered = 1;
@@ -334,12 +324,7 @@
})
"x" = (
/obj/structure/alien/weeds,
-/obj/structure/alien/weeds{
- desc = "A large mottled egg.";
- obj_integrity = 100;
- icon_state = "egg_hatched";
- name = "egg"
- },
+/obj/structure/alien/egg/burst,
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
/area/awaycontent/a5{
always_unpowered = 1;
@@ -405,12 +390,7 @@
/obj/structure/alien/weeds{
icon_state = "weeds1"
},
-/obj/structure/alien/weeds{
- desc = "A large mottled egg.";
- obj_integrity = 100;
- icon_state = "egg_hatched";
- name = "egg"
- },
+/obj/structure/alien/egg/burst,
/obj/effect/decal/cleanable/blood/gibs,
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
/area/awaycontent/a5{
@@ -424,12 +404,7 @@
})
"C" = (
/obj/structure/alien/weeds,
-/obj/structure/alien/weeds{
- desc = "A large mottled egg.";
- obj_integrity = 100;
- icon_state = "egg_hatched";
- name = "egg"
- },
+/obj/structure/alien/egg/burst,
/obj/effect/decal/cleanable/blood,
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
/area/awaycontent/a5{
diff --git a/_maps/RandomZLevels/Cabin.dmm b/_maps/RandomZLevels/Cabin.dmm
index f48bcfc317..c489b28422 100644
--- a/_maps/RandomZLevels/Cabin.dmm
+++ b/_maps/RandomZLevels/Cabin.dmm
@@ -778,9 +778,7 @@
/turf/open/floor/plasteel/freezer,
/area/awaymission/cabin)
"cH" = (
-/obj/effect/landmark{
- name = "awaystart"
- },
+/obj/effect/landmark/awaystart,
/turf/open/floor/wood,
/area/awaymission/cabin)
"cI" = (
@@ -974,12 +972,7 @@
/turf/open/floor/plating/snowed/temperatre,
/area/awaymission/snowforest)
"dt" = (
-/obj/effect/landmark/mapGenerator/snowy{
- endTurfX = 159;
- endTurfY = 157;
- startTurfX = 37;
- startTurfY = 35
- },
+/obj/effect/landmark/mapGenerator/snowy,
/turf/open/floor/plating/asteroid/snow/temperatre,
/area/awaymission/snowforest)
"du" = (
diff --git a/_maps/RandomZLevels/caves.dmm b/_maps/RandomZLevels/caves.dmm
index 19b2c6579b..91bbcdf026 100644
--- a/_maps/RandomZLevels/caves.dmm
+++ b/_maps/RandomZLevels/caves.dmm
@@ -1175,9 +1175,7 @@
},
/area/awaymission/BMPship)
"cz" = (
-/obj/effect/landmark{
- name = "awaystart"
- },
+/obj/effect/landmark/awaystart,
/turf/open/floor/plating/asteroid/basalt{
initial_gas_mix = "n2=23;o2=14"
},
@@ -1337,9 +1335,7 @@
name = "\improper BMP Asteroid Level 2"
})
"cR" = (
-/obj/effect/landmark{
- name = "awaystart"
- },
+/obj/effect/landmark/awaystart,
/turf/open/floor/plating{
baseturf = /turf/open/floor/plating/asteroid/basalt;
initial_gas_mix = "n2=23;o2=14"
@@ -1635,9 +1631,7 @@
"dw" = (
/obj/structure/bed,
/obj/item/weapon/bedsheet,
-/obj/effect/landmark{
- name = "awaystart"
- },
+/obj/effect/landmark/awaystart,
/turf/open/floor/plasteel{
baseturf = /turf/open/floor/plating/asteroid/basalt
},
@@ -1718,9 +1712,7 @@
"dH" = (
/obj/structure/bed,
/obj/item/weapon/bedsheet,
-/obj/effect/landmark{
- name = "awaystart"
- },
+/obj/effect/landmark/awaystart,
/turf/open/floor/wood{
baseturf = /turf/open/floor/plating/asteroid/basalt
},
@@ -1833,9 +1825,7 @@
/obj/structure/bed,
/obj/item/weapon/bedsheet,
/obj/effect/decal/cleanable/cobweb/cobweb2,
-/obj/effect/landmark{
- name = "awaystart"
- },
+/obj/effect/landmark/awaystart,
/turf/open/floor/wood{
baseturf = /turf/open/floor/plating/asteroid/basalt
},
@@ -1874,9 +1864,7 @@
/area/awaymission/northblock)
"ed" = (
/obj/structure/bed,
-/obj/effect/landmark{
- name = "awaystart"
- },
+/obj/effect/landmark/awaystart,
/turf/open/floor/wood{
baseturf = /turf/open/floor/plating/asteroid/basalt;
initial_gas_mix = "n2=23;o2=14"
@@ -2082,9 +2070,7 @@
},
/area/awaymission/BMPship)
"eE" = (
-/obj/effect/landmark{
- name = "awaystart"
- },
+/obj/effect/landmark/awaystart,
/turf/open/floor/plasteel{
baseturf = /turf/open/floor/plating/asteroid/basalt
},
@@ -2151,9 +2137,7 @@
},
/area/awaymission/listeningpost)
"eO" = (
-/obj/effect/landmark{
- name = "awaystart"
- },
+/obj/effect/landmark/awaystart,
/turf/open/floor/plasteel{
baseturf = /turf/open/floor/plating/asteroid/basalt
},
@@ -2630,9 +2614,7 @@
},
/area/awaymission/BMPship)
"fU" = (
-/obj/effect/landmark{
- name = "awaystart"
- },
+/obj/effect/landmark/awaystart,
/turf/open/floor/plasteel/elevatorshaft{
name = "elevator flooring";
initial_gas_mix = "n2=23;o2=14"
@@ -2768,9 +2750,7 @@
},
/area/awaymission/BMPship)
"gk" = (
-/obj/effect/landmark{
- name = "awaystart"
- },
+/obj/effect/landmark/awaystart,
/turf/open/floor/plating/asteroid/basalt{
initial_gas_mix = "n2=23;o2=14"
},
diff --git a/_maps/RandomZLevels/challenge.dmm b/_maps/RandomZLevels/challenge.dmm
index 6f125ecfee..71e6232137 100644
--- a/_maps/RandomZLevels/challenge.dmm
+++ b/_maps/RandomZLevels/challenge.dmm
@@ -43,9 +43,7 @@
/turf/open/floor/plasteel/airless,
/area/awaymission/challenge/start)
"aj" = (
-/obj/effect/landmark{
- name = "awaystart"
- },
+/obj/effect/landmark/awaystart,
/turf/open/floor/plasteel/airless{
icon_state = "damaged3"
},
@@ -57,9 +55,7 @@
},
/area/awaymission/challenge/start)
"al" = (
-/obj/effect/landmark{
- name = "awaystart"
- },
+/obj/effect/landmark/awaystart,
/turf/open/floor/plasteel/airless,
/area/awaymission/challenge/start)
"am" = (
diff --git a/_maps/RandomZLevels/moonoutpost19.dmm b/_maps/RandomZLevels/moonoutpost19.dmm
index 2ad6bc5eb5..9c681caa3e 100644
--- a/_maps/RandomZLevels/moonoutpost19.dmm
+++ b/_maps/RandomZLevels/moonoutpost19.dmm
@@ -9085,9 +9085,7 @@
name = "MO19 Arrivals"
})
"ms" = (
-/obj/effect/landmark{
- name = "awaystart"
- },
+/obj/effect/landmark/awaystart,
/turf/open/floor/mineral/titanium/blue,
/area/awaycontent/a1{
has_gravity = 1;
@@ -9097,9 +9095,7 @@
/obj/structure/chair{
dir = 8
},
-/obj/effect/landmark{
- name = "awaystart"
- },
+/obj/effect/landmark/awaystart,
/turf/open/floor/mineral/titanium/blue,
/area/awaycontent/a1{
has_gravity = 1;
@@ -9269,9 +9265,7 @@
name = "MO19 Arrivals"
})
"mI" = (
-/obj/effect/landmark{
- name = "awaystart"
- },
+/obj/effect/landmark/awaystart,
/turf/open/floor/mineral/titanium/yellow,
/area/awaycontent/a1{
has_gravity = 1;
@@ -9284,9 +9278,7 @@
icon_state = "beacon";
name = "tracking beacon"
},
-/obj/effect/landmark{
- name = "awaystart"
- },
+/obj/effect/landmark/awaystart,
/turf/open/floor/mineral/titanium/yellow,
/area/awaycontent/a1{
has_gravity = 1;
diff --git a/_maps/RandomZLevels/research.dmm b/_maps/RandomZLevels/research.dmm
index 123561932b..283bb53322 100644
--- a/_maps/RandomZLevels/research.dmm
+++ b/_maps/RandomZLevels/research.dmm
@@ -614,9 +614,7 @@
/turf/open/floor/plasteel/black,
/area/awaymission/research/interior/gateway)
"bR" = (
-/obj/effect/landmark{
- name = "awaystart"
- },
+/obj/effect/landmark/awaystart,
/turf/open/floor/plasteel/black,
/area/awaymission/research/interior/gateway)
"bS" = (
@@ -686,9 +684,7 @@
/area/awaymission/research/interior/gateway)
"bZ" = (
/obj/machinery/gateway,
-/obj/effect/landmark{
- name = "awaystart"
- },
+/obj/effect/landmark/awaystart,
/obj/effect/turf_decal/stripes/line,
/turf/open/floor/plasteel/black,
/area/awaymission/research/interior/gateway)
@@ -774,9 +770,7 @@
/area/awaymission/research/interior/gateway)
"cj" = (
/obj/structure/window/reinforced,
-/obj/effect/landmark{
- name = "awaystart"
- },
+/obj/effect/landmark/awaystart,
/turf/open/floor/plasteel/black,
/area/awaymission/research/interior/gateway)
"ck" = (
@@ -785,9 +779,7 @@
icon_state = "right";
dir = 2
},
-/obj/effect/landmark{
- name = "awaystart"
- },
+/obj/effect/landmark/awaystart,
/turf/open/floor/plasteel/black,
/area/awaymission/research/interior/gateway)
"cl" = (
@@ -3299,9 +3291,7 @@
icon_state = "toilet00";
dir = 8
},
-/obj/effect/landmark{
- name = "awaystart"
- },
+/obj/effect/landmark/awaystart,
/obj/machinery/light/small{
dir = 4
},
@@ -3746,9 +3736,7 @@
"jU" = (
/obj/structure/bed,
/obj/item/weapon/bedsheet/blue,
-/obj/effect/landmark{
- name = "awaystart"
- },
+/obj/effect/landmark/awaystart,
/turf/open/floor/wood,
/area/awaymission/research/interior/dorm)
"jV" = (
@@ -4489,9 +4477,7 @@
"lT" = (
/obj/structure/bed,
/obj/item/weapon/bedsheet/patriot,
-/obj/effect/landmark{
- name = "awaystart"
- },
+/obj/effect/landmark/awaystart,
/turf/open/floor/wood,
/area/awaymission/research/interior/dorm)
"lU" = (
diff --git a/_maps/RandomZLevels/snowdin.dmm b/_maps/RandomZLevels/snowdin.dmm
index ef33d0f935..8810ffa44d 100644
--- a/_maps/RandomZLevels/snowdin.dmm
+++ b/_maps/RandomZLevels/snowdin.dmm
@@ -579,18 +579,14 @@
},
/area/awaymission/snowdin/base)
"bw" = (
-/obj/effect/landmark{
- name = "awaystart"
- },
+/obj/effect/landmark/awaystart,
/turf/open/floor/plasteel{
baseturf = /turf/open/floor/plating/asteroid/snow;
wet = 0
},
/area/awaymission/snowdin/base)
"bx" = (
-/obj/effect/landmark{
- name = "awaystart"
- },
+/obj/effect/landmark/awaystart,
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -608,9 +604,7 @@
d2 = 2;
icon_state = "1-2"
},
-/obj/effect/landmark{
- name = "awaystart"
- },
+/obj/effect/landmark/awaystart,
/turf/open/floor/plasteel{
baseturf = /turf/open/floor/plating/asteroid/snow;
wet = 0
@@ -710,9 +704,7 @@
d2 = 8;
icon_state = "4-8"
},
-/obj/effect/landmark{
- name = "awaystart"
- },
+/obj/effect/landmark/awaystart,
/turf/open/floor/plasteel{
baseturf = /turf/open/floor/plating/asteroid/snow;
wet = 0
@@ -724,9 +716,7 @@
d2 = 8;
icon_state = "4-8"
},
-/obj/effect/landmark{
- name = "awaystart"
- },
+/obj/effect/landmark/awaystart,
/obj/structure/cable{
d1 = 1;
d2 = 8;
@@ -739,9 +729,7 @@
/area/awaymission/snowdin/base)
"bK" = (
/obj/item/trash/pistachios,
-/obj/effect/landmark{
- name = "awaystart"
- },
+/obj/effect/landmark/awaystart,
/turf/open/floor/plasteel{
baseturf = /turf/open/floor/plating/asteroid/snow;
wet = 0
@@ -753,9 +741,7 @@
d2 = 8;
icon_state = "1-8"
},
-/obj/effect/landmark{
- name = "awaystart"
- },
+/obj/effect/landmark/awaystart,
/turf/open/floor/plasteel{
baseturf = /turf/open/floor/plating/asteroid/snow;
wet = 0
@@ -780,9 +766,7 @@
"bP" = (
/obj/structure/bed,
/obj/item/weapon/bedsheet,
-/obj/effect/landmark{
- name = "awaystart"
- },
+/obj/effect/landmark/awaystart,
/turf/open/floor/carpet{
baseturf = /turf/open/floor/plating/asteroid/snow
},
@@ -1164,9 +1148,7 @@
},
/area/awaymission/snowdin/igloo)
"cU" = (
-/obj/effect/landmark{
- name = "awaystart"
- },
+/obj/effect/landmark/awaystart,
/turf/open/floor/plating{
temperature = 220
},
@@ -2021,9 +2003,7 @@
},
/area/awaymission/snowdin/post)
"ft" = (
-/obj/effect/landmark{
- name = "awaystart"
- },
+/obj/effect/landmark/awaystart,
/turf/open/floor/plating{
baseturf = /turf/open/floor/plating/asteroid/snow
},
@@ -4222,9 +4202,7 @@
"lf" = (
/obj/structure/bed,
/obj/item/weapon/bedsheet,
-/obj/effect/landmark{
- name = "awaystart"
- },
+/obj/effect/landmark/awaystart,
/turf/open/floor/carpet{
baseturf = /turf/open/floor/plating/asteroid/snow
},
@@ -4442,9 +4420,7 @@
icon_state = "tube1";
dir = 4
},
-/obj/effect/landmark{
- name = "awaystart"
- },
+/obj/effect/landmark/awaystart,
/turf/open/floor/carpet{
baseturf = /turf/open/floor/plating/asteroid/snow
},
diff --git a/_maps/RandomZLevels/spacebattle.dmm b/_maps/RandomZLevels/spacebattle.dmm
index df0ed07de0..d9e218d057 100644
--- a/_maps/RandomZLevels/spacebattle.dmm
+++ b/_maps/RandomZLevels/spacebattle.dmm
@@ -828,9 +828,7 @@
},
/area/awaymission/spacebattle/cruiser)
"cO" = (
-/obj/effect/landmark{
- name = "awaystart"
- },
+/obj/effect/landmark/awaystart,
/turf/open/floor/plasteel,
/area/awaymission/spacebattle/cruiser)
"cP" = (
@@ -1053,9 +1051,7 @@
},
/area/awaymission/spacebattle/cruiser)
"dA" = (
-/obj/effect/landmark{
- name = "awaystart"
- },
+/obj/effect/landmark/awaystart,
/turf/open/floor/plasteel/red/side{
dir = 1
},
@@ -1747,9 +1743,7 @@
/turf/open/floor/plating/airless,
/area/awaymission/spacebattle/cruiser)
"fI" = (
-/obj/effect/landmark{
- name = "awaystart"
- },
+/obj/effect/landmark/awaystart,
/turf/open/floor/plasteel/cafeteria{
dir = 2
},
@@ -2331,9 +2325,7 @@
/area/awaymission/spacebattle/cruiser)
"hC" = (
/obj/structure/chair,
-/obj/effect/landmark{
- name = "awaystart"
- },
+/obj/effect/landmark/awaystart,
/turf/open/floor/plasteel/bar,
/area/awaymission/spacebattle/cruiser)
"hD" = (
@@ -2928,9 +2920,7 @@
/obj/structure/chair{
dir = 8
},
-/obj/effect/landmark{
- name = "awaystart"
- },
+/obj/effect/landmark/awaystart,
/turf/open/floor/plasteel/bar,
/area/awaymission/spacebattle/cruiser)
"jD" = (
diff --git a/_maps/RandomZLevels/undergroundoutpost45.dmm b/_maps/RandomZLevels/undergroundoutpost45.dmm
index a9bfeab8cf..db8cfe012c 100644
--- a/_maps/RandomZLevels/undergroundoutpost45.dmm
+++ b/_maps/RandomZLevels/undergroundoutpost45.dmm
@@ -250,9 +250,7 @@
name = "UO45 Central Hall"
})
"ax" = (
-/obj/effect/landmark{
- name = "awaystart"
- },
+/obj/effect/landmark/awaystart,
/turf/open/floor/plasteel{
heat_capacity = 1e+006
},
@@ -265,9 +263,7 @@
icon_state = "comfychair";
dir = 4
},
-/obj/effect/landmark{
- name = "awaystart"
- },
+/obj/effect/landmark/awaystart,
/turf/open/floor/plasteel/grimy{
heat_capacity = 1e+006
},
@@ -282,9 +278,7 @@
icon_state = "beacon";
name = "tracking beacon"
},
-/obj/effect/landmark{
- name = "awaystart"
- },
+/obj/effect/landmark/awaystart,
/turf/open/floor/plasteel/neutral/side{
dir = 4;
heat_capacity = 1e+006
@@ -309,9 +303,7 @@
scrub_N2O = 0;
scrub_Toxins = 0
},
-/obj/effect/landmark{
- name = "awaystart"
- },
+/obj/effect/landmark/awaystart,
/turf/open/floor/plasteel/neutral/side{
dir = 4;
heat_capacity = 1e+006
@@ -498,9 +490,7 @@
name = "UO45 Central Hall"
})
"aT" = (
-/obj/effect/landmark{
- name = "awaystart"
- },
+/obj/effect/landmark/awaystart,
/turf/open/floor/plasteel/grimy{
heat_capacity = 1e+006
},
diff --git a/_maps/RandomZLevels/wildwest.dmm b/_maps/RandomZLevels/wildwest.dmm
index afc9addebb..93a2bf679a 100644
--- a/_maps/RandomZLevels/wildwest.dmm
+++ b/_maps/RandomZLevels/wildwest.dmm
@@ -2165,9 +2165,7 @@
},
/area/awaymission/wwrefine)
"gV" = (
-/obj/effect/landmark{
- name = "awaystart"
- },
+/obj/effect/landmark/awaystart,
/turf/open/floor/plating/ironsand{
icon_state = "ironsand1"
},
diff --git a/_maps/cerestation.dm b/_maps/cerestation.dm
new file mode 100644
index 0000000000..9345072d05
--- /dev/null
+++ b/_maps/cerestation.dm
@@ -0,0 +1 @@
+#define FORCE_MAP "_maps/cerestation.json"
\ No newline at end of file
diff --git a/_maps/cerestation.json b/_maps/cerestation.json
new file mode 100644
index 0000000000..e4c6b52f89
--- /dev/null
+++ b/_maps/cerestation.json
@@ -0,0 +1,7 @@
+{
+ "map_name": "CereStation",
+ "map_path": "map_files/Cerestation",
+ "map_file": "cerestation.dmm",
+ "minetype": "lavaland",
+ "transition_config": "default"
+}
\ No newline at end of file
diff --git a/_maps/loadallmaps.dm b/_maps/loadallmaps.dm
index fe32643025..22359d164f 100644
--- a/_maps/loadallmaps.dm
+++ b/_maps/loadallmaps.dm
@@ -2,8 +2,10 @@
#include "map_files\debug\runtimestation.dmm"
#include "map_files\Deltastation\DeltaStation2.dmm"
#include "map_files\MetaStation\MetaStation.dmm"
+#include "map_files\OmegaStation\OmegaStation.dmm"
#include "map_files\PubbyStation\PubbyStation.dmm"
#include "map_files\TgStation\tgstation.2.1.3.dmm"
+#include "map_files\Cerestation\cerestation.dmm"
#include "map_files\CitadelStation\CitadelStation-1.2.1.dmm"
#include "map_files\generic\Centcomm.dmm"
diff --git a/_maps/map_files/Cerestation/cerestation.dmm b/_maps/map_files/Cerestation/cerestation.dmm
new file mode 100644
index 0000000000..f556c646d6
--- /dev/null
+++ b/_maps/map_files/Cerestation/cerestation.dmm
@@ -0,0 +1,151280 @@
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+"aaa" = (
+/turf/open/space,
+/area/space)
+"aab" = (
+/turf/open/floor/plating/asteroid/airless,
+/area/space)
+"aac" = (
+/turf/closed/mineral/random/low_chance,
+/area/space)
+"aad" = (
+/turf/closed/mineral,
+/area/space)
+"aae" = (
+/turf/closed/mineral/random/labormineral,
+/area/mine/unexplored{
+ name = "AI Asteroid"
+ })
+"aaf" = (
+/turf/closed/mineral,
+/area/mine/unexplored{
+ name = "AI Asteroid"
+ })
+"aag" = (
+/obj/effect/landmark/carpspawn,
+/turf/open/space,
+/area/space)
+"aah" = (
+/turf/open/space,
+/obj/machinery/porta_turret/syndicate{
+ dir = 9
+ },
+/turf/closed/wall/mineral/plastitanium{
+ dir = 8;
+ icon_state = "diagonalWall3"
+ },
+/area/shuttle/syndicate)
+"aai" = (
+/turf/closed/wall/mineral/plastitanium,
+/area/shuttle/syndicate)
+"aaj" = (
+/obj/structure/grille,
+/obj/machinery/door/poddoor/shutters{
+ id = "syndieshutters";
+ name = "blast shutters"
+ },
+/obj/structure/window/reinforced/fulltile,
+/turf/open/floor/plating,
+/area/shuttle/syndicate)
+"aak" = (
+/turf/open/space,
+/obj/machinery/porta_turret/syndicate{
+ dir = 5
+ },
+/turf/closed/wall/mineral/plastitanium{
+ dir = 1;
+ icon_state = "diagonalWall3"
+ },
+/area/shuttle/syndicate)
+"aal" = (
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/ai)
+"aam" = (
+/obj/structure/table,
+/obj/machinery/microwave,
+/turf/open/floor/plasteel/black,
+/area/shuttle/syndicate)
+"aan" = (
+/turf/open/floor/plasteel/black,
+/area/shuttle/syndicate)
+"aao" = (
+/obj/structure/table,
+/obj/item/device/flashlight/lamp{
+ pixel_x = 4;
+ pixel_y = 1
+ },
+/turf/open/floor/plasteel/black,
+/area/shuttle/syndicate)
+"aap" = (
+/obj/machinery/computer/shuttle/syndicate,
+/turf/open/floor/plasteel/black,
+/area/shuttle/syndicate)
+"aaq" = (
+/obj/structure/table,
+/obj/machinery/button/door{
+ id = "syndieshutters";
+ name = "remote shutter control";
+ req_access_txt = "150"
+ },
+/turf/open/floor/plasteel/black,
+/area/shuttle/syndicate)
+"aar" = (
+/obj/structure/frame/computer,
+/turf/open/floor/plasteel/black,
+/area/shuttle/syndicate)
+"aas" = (
+/obj/structure/table,
+/obj/item/weapon/storage/box/donkpockets{
+ pixel_x = 3;
+ pixel_y = 3
+ },
+/turf/open/floor/plasteel/black,
+/area/shuttle/syndicate)
+"aat" = (
+/obj/structure/chair/comfy/beige{
+ dir = 1;
+ icon_state = "comfychair"
+ },
+/turf/open/floor/plasteel/black,
+/area/shuttle/syndicate)
+"aau" = (
+/obj/machinery/porta_turret/ai{
+ dir = 4
+ },
+/turf/open/floor/circuit{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/ai)
+"aav" = (
+/obj/machinery/camera/motion{
+ c_tag = "AI Core North-West"
+ },
+/turf/open/floor/circuit{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/ai)
+"aaw" = (
+/turf/open/floor/circuit{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/ai)
+"aax" = (
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/ai)
+"aay" = (
+/obj/machinery/light{
+ dir = 1
+ },
+/obj/machinery/porta_turret/ai{
+ dir = 4
+ },
+/turf/open/floor/circuit{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/ai)
+"aaz" = (
+/obj/machinery/camera/motion{
+ c_tag = "AI Core North-East"
+ },
+/turf/open/floor/circuit{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/ai)
+"aaA" = (
+/obj/structure/table,
+/obj/item/stack/sheet/glass{
+ amount = 10
+ },
+/obj/item/device/multitool,
+/turf/open/floor/plasteel/black,
+/area/shuttle/syndicate)
+"aaB" = (
+/obj/machinery/light,
+/turf/open/floor/plasteel/black,
+/area/shuttle/syndicate)
+"aaC" = (
+/obj/item/device/radio/intercom{
+ desc = "Talk through this. Evilly";
+ freerange = 1;
+ frequency = 1213;
+ name = "Syndicate Intercom";
+ pixel_y = -32;
+ subspace_transmission = 1;
+ syndie = 1
+ },
+/turf/open/floor/plasteel/black,
+/area/shuttle/syndicate)
+"aaD" = (
+/obj/structure/closet/syndicate/personal,
+/turf/open/floor/plasteel/black,
+/area/shuttle/syndicate)
+"aaE" = (
+/obj/item/weapon/twohanded/required/kirbyplants{
+ icon_state = "plant-09"
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/ai)
+"aaF" = (
+/obj/machinery/ai_slipper{
+ uses = 10
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/ai)
+"aaG" = (
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/turf/open/floor/circuit{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/ai)
+"aaH" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0
+ },
+/turf/open/floor/circuit{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/ai)
+"aaI" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0
+ },
+/obj/machinery/airalarm{
+ dir = 1;
+ icon_state = "alarm0";
+ pixel_y = -22
+ },
+/turf/open/floor/circuit{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/ai)
+"aaJ" = (
+/obj/machinery/power/terminal,
+/obj/structure/cable{
+ d2 = 8;
+ icon_state = "0-8"
+ },
+/turf/open/floor/circuit{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/ai)
+"aaK" = (
+/obj/machinery/power/apc{
+ dir = 2;
+ name = "AI Core APC";
+ pixel_y = -24
+ },
+/obj/structure/cable{
+ icon_state = "0-2";
+ d2 = 2
+ },
+/turf/open/floor/circuit{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/ai)
+"aaL" = (
+/obj/machinery/ai_status_display{
+ pixel_x = 32
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/ai)
+"aaM" = (
+/turf/open/space,
+/turf/closed/wall/mineral/plastitanium{
+ icon_state = "diagonalWall3"
+ },
+/area/shuttle/syndicate)
+"aaN" = (
+/obj/machinery/door/window{
+ name = "Cockpit";
+ req_access_txt = "150"
+ },
+/turf/open/floor/plasteel/black,
+/area/shuttle/syndicate)
+"aaO" = (
+/turf/open/space,
+/turf/closed/wall/mineral/plastitanium{
+ dir = 4;
+ icon_state = "diagonalWall3"
+ },
+/area/shuttle/syndicate)
+"aaP" = (
+/turf/closed/wall,
+/area/space)
+"aaQ" = (
+/turf/closed/wall,
+/area/maintenance/disposal{
+ name = "Northen External Waste Belt"
+ })
+"aaR" = (
+/obj/structure/window/reinforced/fulltile,
+/obj/structure/grille,
+/turf/open/floor/plating,
+/area/maintenance/disposal{
+ name = "Northen External Waste Belt"
+ })
+"aaS" = (
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/ai)
+"aaT" = (
+/obj/machinery/door/window/southright{
+ req_access_txt = "65"
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/ai)
+"aaU" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/ai)
+"aaV" = (
+/obj/machinery/power/smes{
+ charge = 5e+006
+ },
+/obj/structure/cable{
+ icon_state = "0-4";
+ d2 = 4
+ },
+/turf/open/floor/circuit{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/ai)
+"aaW" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/ai)
+"aaX" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/ai)
+"aaY" = (
+/obj/structure/table,
+/obj/item/stack/cable_coil,
+/obj/item/weapon/crowbar/red,
+/obj/machinery/light{
+ icon_state = "tube1";
+ dir = 8
+ },
+/turf/open/floor/plasteel/black,
+/area/shuttle/syndicate)
+"aaZ" = (
+/obj/structure/table,
+/obj/item/weapon/storage/box/zipties{
+ pixel_x = 1;
+ pixel_y = 2
+ },
+/turf/open/floor/plasteel/black,
+/area/shuttle/syndicate)
+"aba" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plating,
+/area/space)
+"abb" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plating,
+/area/space)
+"abc" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall,
+/area/space)
+"abd" = (
+/obj/machinery/disposal/deliveryChute{
+ dir = 4
+ },
+/obj/structure/disposalpipe/trunk{
+ dir = 8
+ },
+/turf/open/floor/plating/airless,
+/area/space)
+"abe" = (
+/obj/structure/disposaloutlet{
+ dir = 8
+ },
+/obj/structure/disposalpipe/trunk{
+ dir = 4
+ },
+/turf/open/floor/plating/airless,
+/area/maintenance/disposal{
+ name = "Northen External Waste Belt"
+ })
+"abf" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall,
+/area/maintenance/disposal{
+ name = "Northen External Waste Belt"
+ })
+"abg" = (
+/obj/structure/disposalpipe/trunk{
+ dir = 8
+ },
+/obj/machinery/disposal/deliveryChute{
+ dir = 4
+ },
+/turf/open/floor/plating,
+/area/maintenance/disposal{
+ name = "Northen External Waste Belt"
+ })
+"abh" = (
+/obj/machinery/conveyor/auto{
+ icon_state = "conveyor0";
+ dir = 8
+ },
+/obj/structure/sign/poster/random{
+ name = "random contraband poster";
+ pixel_x = 0;
+ pixel_y = 32;
+ random_basetype = /obj/structure/sign/poster/contraband
+ },
+/turf/open/floor/plating,
+/area/maintenance/disposal{
+ name = "Northen External Waste Belt"
+ })
+"abi" = (
+/obj/machinery/conveyor/auto{
+ icon_state = "conveyor0";
+ dir = 8
+ },
+/turf/open/floor/plating,
+/area/maintenance/disposal{
+ name = "Northen External Waste Belt"
+ })
+"abj" = (
+/obj/machinery/conveyor/auto{
+ icon_state = "conveyor0";
+ dir = 8
+ },
+/obj/machinery/light/small{
+ dir = 1
+ },
+/turf/open/floor/plating,
+/area/maintenance/disposal{
+ name = "Northen External Waste Belt"
+ })
+"abk" = (
+/obj/effect/decal/cleanable/cobweb/cobweb2,
+/obj/machinery/conveyor/auto{
+ dir = 6;
+ icon_state = "conveyor0";
+ verted = -1
+ },
+/turf/open/floor/plating,
+/area/maintenance/disposal{
+ name = "Northen External Waste Belt"
+ })
+"abl" = (
+/obj/machinery/light{
+ dir = 8
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/ai)
+"abm" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/turf/open/floor/circuit{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/ai)
+"abn" = (
+/obj/effect/landmark/tripai,
+/obj/item/device/radio/intercom{
+ anyai = 1;
+ broadcasting = 0;
+ freerange = 1;
+ frequency = 1447;
+ name = "Private Channel";
+ pixel_x = 0;
+ pixel_y = -25
+ },
+/obj/item/device/radio/intercom{
+ anyai = 1;
+ freerange = 1;
+ listening = 0;
+ name = "Custom Channel";
+ pixel_x = 0;
+ pixel_y = 28
+ },
+/obj/item/device/radio/intercom{
+ broadcasting = 0;
+ freerange = 1;
+ listening = 1;
+ name = "Common Channel";
+ pixel_x = 27;
+ pixel_y = 5
+ },
+/turf/open/floor/circuit{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/ai)
+"abo" = (
+/obj/effect/landmark/tripai,
+/obj/item/device/radio/intercom{
+ anyai = 1;
+ broadcasting = 0;
+ freerange = 1;
+ frequency = 1447;
+ name = "Private Channel";
+ pixel_x = 0;
+ pixel_y = -25
+ },
+/obj/item/device/radio/intercom{
+ broadcasting = 0;
+ freerange = 1;
+ listening = 1;
+ name = "Common Channel";
+ pixel_x = -27;
+ pixel_y = 5
+ },
+/obj/item/device/radio/intercom{
+ anyai = 1;
+ freerange = 1;
+ listening = 0;
+ name = "Custom Channel";
+ pixel_x = 0;
+ pixel_y = 28
+ },
+/turf/open/floor/circuit{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/ai)
+"abp" = (
+/obj/machinery/light{
+ dir = 4;
+ icon_state = "tube1"
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/ai)
+"abq" = (
+/obj/structure/chair{
+ dir = 8
+ },
+/turf/open/floor/plasteel/black,
+/area/shuttle/syndicate)
+"abr" = (
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plating,
+/area/space)
+"abs" = (
+/turf/open/floor/plating,
+/area/space)
+"abt" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/floor/plating,
+/area/maintenance/disposal{
+ name = "Northen External Waste Belt"
+ })
+"abu" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/floor/plasteel/floorgrime,
+/area/maintenance/disposal{
+ name = "Northen External Waste Belt"
+ })
+"abv" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 5
+ },
+/turf/open/floor/plating,
+/area/maintenance/disposal{
+ name = "Northen External Waste Belt"
+ })
+"abw" = (
+/obj/machinery/conveyor/auto{
+ icon_state = "conveyor0";
+ dir = 1
+ },
+/turf/open/floor/plating,
+/area/maintenance/disposal{
+ name = "Northen External Waste Belt"
+ })
+"abx" = (
+/obj/structure/showcase{
+ density = 0;
+ desc = "An old, deactivated cyborg. Whilst once actively used to guard against intruders, it now simply intimidates them with its cold, steely gaze.";
+ dir = 8;
+ icon = 'icons/mob/robots.dmi';
+ icon_state = "robot_old";
+ name = "Cyborg Statue";
+ pixel_x = 9;
+ pixel_y = 2
+ },
+/turf/open/floor/circuit{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/ai)
+"aby" = (
+/obj/machinery/holopad,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/ai)
+"abz" = (
+/obj/item/device/radio/intercom{
+ anyai = 1;
+ broadcasting = 0;
+ freerange = 1;
+ frequency = 1447;
+ name = "Private Channel";
+ pixel_x = 27;
+ pixel_y = -9
+ },
+/obj/item/device/radio/intercom{
+ broadcasting = 0;
+ freerange = 1;
+ listening = 1;
+ name = "Common Channel";
+ pixel_x = -27;
+ pixel_y = -9
+ },
+/obj/item/device/radio/intercom{
+ anyai = 1;
+ freerange = 1;
+ listening = 0;
+ name = "Custom Channel";
+ pixel_x = 0;
+ pixel_y = 25
+ },
+/obj/machinery/turretid{
+ name = "AI Chamber turret control";
+ pixel_x = 24;
+ pixel_y = 5
+ },
+/obj/machinery/flasher{
+ id = "AI";
+ pixel_x = -11;
+ pixel_y = 24
+ },
+/obj/machinery/requests_console{
+ department = "AI";
+ departmentType = 5;
+ pixel_x = -28;
+ pixel_y = 28
+ },
+/obj/effect/landmark/start/ai,
+/turf/open/floor/circuit{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/ai)
+"abA" = (
+/obj/structure/showcase{
+ density = 0;
+ desc = "An old, deactivated cyborg. Whilst once actively used to guard against intruders, it now simply intimidates them with its cold, steely gaze.";
+ dir = 4;
+ icon = 'icons/mob/robots.dmi';
+ icon_state = "robot_old";
+ name = "Cyborg Statue";
+ pixel_x = -9;
+ pixel_y = 2
+ },
+/turf/open/floor/circuit{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/ai)
+"abB" = (
+/obj/machinery/porta_turret/syndicate{
+ dir = 4
+ },
+/turf/closed/wall/mineral/plastitanium,
+/area/shuttle/syndicate)
+"abC" = (
+/obj/structure/lattice,
+/turf/open/space,
+/area/space)
+"abD" = (
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/space)
+"abE" = (
+/turf/open/floor/plating/asteroid/airless,
+/area/mine/unexplored{
+ name = "Command Asteroid"
+ })
+"abF" = (
+/turf/closed/wall/rust,
+/area/maintenance/disposal{
+ name = "Northen External Waste Belt"
+ })
+"abG" = (
+/obj/machinery/light/small,
+/obj/structure/table,
+/obj/item/weapon/storage/toolbox/emergency,
+/turf/open/floor/plasteel/floorgrime,
+/area/maintenance/disposal{
+ name = "Northen External Waste Belt"
+ })
+"abH" = (
+/obj/structure/rack,
+/obj/item/clothing/mask/breath,
+/obj/item/weapon/tank/internals/emergency_oxygen,
+/turf/open/floor/plasteel/floorgrime,
+/area/maintenance/disposal{
+ name = "Northen External Waste Belt"
+ })
+"abI" = (
+/obj/structure/cable/orange{
+ d2 = 4;
+ icon_state = "0-4"
+ },
+/obj/machinery/power/apc{
+ dir = 2;
+ name = "Northen External Waste Belt APC";
+ pixel_y = -24
+ },
+/obj/effect/turf_decal/stripes/end{
+ tag = "icon-warn_end (NORTH)";
+ icon_state = "warn_end";
+ dir = 1
+ },
+/turf/open/floor/plating,
+/area/maintenance/disposal{
+ name = "Northen External Waste Belt"
+ })
+"abJ" = (
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/turf/open/floor/plasteel/floorgrime,
+/area/maintenance/disposal{
+ name = "Northen External Waste Belt"
+ })
+"abK" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/plasteel/floorgrime,
+/area/maintenance/disposal{
+ name = "Northen External Waste Belt"
+ })
+"abL" = (
+/obj/structure/disposalpipe/trunk,
+/obj/structure/disposaloutlet{
+ icon_state = "outlet";
+ dir = 1
+ },
+/turf/open/floor/plating,
+/area/maintenance/disposal{
+ name = "Northen External Waste Belt"
+ })
+"abM" = (
+/obj/machinery/porta_turret/ai{
+ dir = 4
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/ai)
+"abN" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ on = 1;
+ scrub_N2O = 0;
+ scrub_Toxins = 0
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/ai)
+"abO" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/turf/open/floor/circuit{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/ai)
+"abP" = (
+/obj/machinery/light{
+ dir = 1
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0
+ },
+/turf/open/floor/circuit{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/ai)
+"abQ" = (
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/obj/machinery/ai_slipper{
+ uses = 10
+ },
+/turf/open/floor/circuit{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/ai)
+"abR" = (
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/circuit{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/ai)
+"abS" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ on = 1
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/ai)
+"abT" = (
+/obj/machinery/suit_storage_unit/syndicate,
+/obj/machinery/light{
+ icon_state = "tube1";
+ dir = 8
+ },
+/turf/open/floor/plasteel/black,
+/area/shuttle/syndicate)
+"abU" = (
+/obj/structure/closet/syndicate/nuclear,
+/obj/item/weapon/pickaxe/mini,
+/obj/item/weapon/pickaxe/mini,
+/obj/item/weapon/pickaxe/mini,
+/turf/open/floor/plasteel/black,
+/area/shuttle/syndicate)
+"abV" = (
+/obj/structure/disposalpipe/segment,
+/turf/closed/wall,
+/area/space)
+"abW" = (
+/turf/closed/mineral,
+/area/mine/unexplored{
+ name = "Command Asteroid"
+ })
+"abX" = (
+/obj/machinery/door/airlock/glass_external{
+ cyclelinkeddir = 2
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plating,
+/area/maintenance/disposal{
+ name = "Northen External Waste Belt"
+ })
+"abY" = (
+/obj/structure/disposalpipe/segment,
+/turf/closed/wall,
+/area/maintenance/disposal{
+ name = "Northen External Waste Belt"
+ })
+"abZ" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/ai)
+"aca" = (
+/obj/item/weapon/twohanded/required/kirbyplants{
+ icon_state = "plant-09"
+ },
+/turf/open/floor/circuit{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/ai)
+"acb" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/obj/machinery/porta_turret/ai{
+ dir = 4
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/ai)
+"acc" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/ai)
+"acd" = (
+/obj/machinery/suit_storage_unit/syndicate,
+/turf/open/floor/plasteel/black,
+/area/shuttle/syndicate)
+"ace" = (
+/obj/structure/chair/stool{
+ pixel_y = 8
+ },
+/turf/open/floor/plasteel/black,
+/area/shuttle/syndicate)
+"acf" = (
+/obj/structure/table,
+/obj/item/device/aicard,
+/turf/open/floor/plasteel/black,
+/area/shuttle/syndicate)
+"acg" = (
+/obj/structure/chair{
+ dir = 8
+ },
+/obj/machinery/light{
+ dir = 4;
+ icon_state = "tube1"
+ },
+/turf/open/floor/plasteel/black,
+/area/shuttle/syndicate)
+"ach" = (
+/obj/machinery/door/poddoor{
+ id = "smindicate";
+ name = "outer blast door"
+ },
+/obj/machinery/button/door{
+ id = "smindicate";
+ name = "external door control";
+ pixel_x = -26;
+ pixel_y = 0;
+ req_access_txt = "150"
+ },
+/obj/docking_port/mobile{
+ dheight = 9;
+ dir = 2;
+ dwidth = 5;
+ height = 24;
+ id = "syndicate";
+ name = "syndicate infiltrator";
+ port_angle = 0;
+ roundstart_move = "syndicate_away";
+ width = 18
+ },
+/obj/docking_port/stationary{
+ dheight = 9;
+ dir = 2;
+ dwidth = 5;
+ height = 24;
+ id = "syndicate_nw";
+ name = "northwest of station";
+ turf_type = /turf/open/space;
+ width = 18
+ },
+/turf/open/floor/plating,
+/area/shuttle/syndicate)
+"aci" = (
+/obj/structure/sign/securearea{
+ desc = "A warning sign which reads 'EXTERNAL AIRLOCK'";
+ icon_state = "space";
+ layer = 4;
+ name = "EXTERNAL AIRLOCK";
+ pixel_x = 0
+ },
+/turf/closed/wall/mineral/plastitanium,
+/area/shuttle/syndicate)
+"acj" = (
+/obj/structure/disposaloutlet,
+/obj/structure/disposalpipe/trunk{
+ dir = 1
+ },
+/turf/open/floor/plating/airless,
+/area/space)
+"ack" = (
+/obj/machinery/light/small{
+ dir = 4
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plating,
+/area/maintenance/disposal{
+ name = "Northen External Waste Belt"
+ })
+"acl" = (
+/obj/machinery/disposal/deliveryChute,
+/obj/structure/disposalpipe/trunk{
+ dir = 1
+ },
+/turf/open/floor/plating/airless,
+/area/maintenance/disposal{
+ name = "Northen External Waste Belt"
+ })
+"acm" = (
+/obj/docking_port/stationary{
+ dheight = 9;
+ dir = 2;
+ dwidth = 5;
+ height = 24;
+ id = "syndicate_n";
+ name = "north of station";
+ turf_type = /turf/open/space;
+ width = 18
+ },
+/turf/open/space,
+/area/space)
+"acn" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/circuit{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/ai)
+"aco" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/ai)
+"acp" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/circuit{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/ai)
+"acq" = (
+/obj/structure/table,
+/obj/item/weapon/c4{
+ pixel_x = 2;
+ pixel_y = -5
+ },
+/obj/item/weapon/c4{
+ pixel_x = -3;
+ pixel_y = 3
+ },
+/obj/item/weapon/c4{
+ pixel_x = 2;
+ pixel_y = -3
+ },
+/obj/item/weapon/c4{
+ pixel_x = -2;
+ pixel_y = -1
+ },
+/obj/item/weapon/c4{
+ pixel_x = 3;
+ pixel_y = 3
+ },
+/turf/open/floor/plasteel/black,
+/area/shuttle/syndicate)
+"acr" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/turf/open/floor/plating,
+/area/shuttle/syndicate)
+"acs" = (
+/obj/machinery/door/window{
+ name = "Ready Room";
+ req_access_txt = "150"
+ },
+/turf/open/floor/plasteel/black,
+/area/shuttle/syndicate)
+"act" = (
+/obj/machinery/door/airlock/glass_external{
+ cyclelinkeddir = 1
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plating,
+/area/maintenance/disposal{
+ name = "Northen External Waste Belt"
+ })
+"acu" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 5
+ },
+/obj/machinery/ai_slipper{
+ uses = 10
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/ai)
+"acv" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/ai)
+"acw" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/showcase{
+ density = 0;
+ desc = "An old, deactivated cyborg. Whilst once actively used to guard against intruders, it now simply intimidates them with its cold, steely gaze.";
+ dir = 2;
+ icon = 'icons/mob/robots.dmi';
+ icon_state = "robot_old";
+ name = "Cyborg Statue";
+ pixel_x = 0;
+ pixel_y = 0
+ },
+/turf/open/floor/circuit{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/ai)
+"acx" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 10
+ },
+/turf/open/floor/circuit{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/ai)
+"acy" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/obj/machinery/ai_slipper{
+ uses = 10
+ },
+/turf/open/floor/circuit{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/ai)
+"acz" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 6
+ },
+/turf/open/floor/circuit{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/ai)
+"acA" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/showcase{
+ density = 0;
+ desc = "An old, deactivated cyborg. Whilst once actively used to guard against intruders, it now simply intimidates them with its cold, steely gaze.";
+ dir = 2;
+ icon = 'icons/mob/robots.dmi';
+ icon_state = "robot_old";
+ name = "Cyborg Statue";
+ pixel_x = 0;
+ pixel_y = 0
+ },
+/turf/open/floor/circuit{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/ai)
+"acB" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/ai)
+"acC" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 9;
+ pixel_y = 0
+ },
+/obj/machinery/ai_slipper{
+ uses = 10
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/ai)
+"acD" = (
+/obj/docking_port/stationary{
+ dheight = 9;
+ dir = 2;
+ dwidth = 5;
+ height = 24;
+ id = "syndicate_ne";
+ name = "northeast of station";
+ turf_type = /turf/open/space;
+ width = 18
+ },
+/turf/open/space,
+/area/space)
+"acE" = (
+/obj/machinery/door/window{
+ dir = 4;
+ name = "EVA Storage";
+ req_access_txt = "150"
+ },
+/turf/open/floor/plasteel/black,
+/area/shuttle/syndicate)
+"acF" = (
+/obj/machinery/door/airlock/external{
+ req_access_txt = "150"
+ },
+/turf/open/floor/plasteel/black,
+/area/shuttle/syndicate)
+"acG" = (
+/obj/machinery/light{
+ dir = 4;
+ icon_state = "tube1"
+ },
+/turf/open/floor/plasteel/black,
+/area/shuttle/syndicate)
+"acH" = (
+/turf/closed/mineral/random/labormineral,
+/area/mine/unexplored{
+ name = "Command Asteroid"
+ })
+"acI" = (
+/obj/structure/lattice/catwalk,
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/space,
+/area/space)
+"acJ" = (
+/obj/effect/landmark/start/cyborg,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/ai)
+"acK" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/obj/machinery/holopad,
+/turf/open/floor/circuit{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/ai)
+"acL" = (
+/obj/machinery/camera/motion{
+ c_tag = "AI Core South-East";
+ dir = 1;
+ network = list("MiniSat")
+ },
+/turf/open/floor/circuit{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/ai)
+"acM" = (
+/obj/machinery/door/window{
+ base_state = "right";
+ dir = 4;
+ icon_state = "right";
+ name = "EVA Storage";
+ req_access_txt = "150"
+ },
+/turf/open/floor/plasteel/black,
+/area/shuttle/syndicate)
+"acN" = (
+/turf/open/space,
+/turf/closed/wall/mineral/plastitanium{
+ dir = 1;
+ icon_state = "diagonalWall3"
+ },
+/area/shuttle/syndicate)
+"acO" = (
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/security/armory)
+"acP" = (
+/obj/machinery/light,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/ai)
+"acQ" = (
+/obj/item/device/radio/intercom{
+ desc = "Talk through this. Evilly";
+ freerange = 1;
+ frequency = 1213;
+ name = "Syndicate Intercom";
+ pixel_x = -32;
+ subspace_transmission = 1;
+ syndie = 1
+ },
+/obj/machinery/light{
+ icon_state = "tube1";
+ dir = 8
+ },
+/turf/open/floor/plasteel/black,
+/area/shuttle/syndicate)
+"acR" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/ai)
+"acS" = (
+/obj/machinery/door/airlock/hatch{
+ name = "AI Core Hallway";
+ req_one_access_txt = "65"
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/turf/open/floor/plasteel/vault{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 5
+ },
+/area/ai_monitored/turret_protected/ai)
+"acT" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/ai)
+"acU" = (
+/obj/machinery/sleeper/syndie{
+ dir = 4
+ },
+/turf/open/floor/plasteel/vault{
+ dir = 5
+ },
+/area/shuttle/syndicate)
+"acV" = (
+/turf/open/floor/plasteel/vault{
+ dir = 5
+ },
+/area/shuttle/syndicate)
+"acW" = (
+/obj/machinery/portable_atmospherics/canister/oxygen,
+/turf/open/floor/plasteel/vault{
+ dir = 5
+ },
+/area/shuttle/syndicate)
+"acX" = (
+/obj/structure/tank_dispenser/oxygen,
+/turf/open/floor/plasteel/vault{
+ dir = 5
+ },
+/area/shuttle/syndicate)
+"acY" = (
+/obj/structure/table,
+/obj/item/stack/medical/ointment,
+/obj/item/stack/medical/bruise_pack,
+/obj/structure/extinguisher_cabinet{
+ pixel_x = -5;
+ pixel_y = 30
+ },
+/turf/open/floor/plasteel/vault{
+ dir = 5
+ },
+/area/shuttle/syndicate)
+"acZ" = (
+/obj/structure/table,
+/obj/item/weapon/stock_parts/cell/high{
+ pixel_x = -3;
+ pixel_y = 3
+ },
+/obj/item/weapon/stock_parts/cell/high,
+/turf/open/floor/plasteel/black,
+/area/shuttle/syndicate)
+"ada" = (
+/obj/structure/table,
+/obj/item/weapon/screwdriver{
+ pixel_y = 9
+ },
+/obj/item/device/assembly/voice{
+ pixel_y = 3
+ },
+/turf/open/floor/plasteel/black,
+/area/shuttle/syndicate)
+"adb" = (
+/obj/structure/table,
+/obj/item/weapon/wrench,
+/obj/item/device/assembly/infra,
+/turf/open/floor/plasteel/black,
+/area/shuttle/syndicate)
+"adc" = (
+/obj/structure/table,
+/obj/item/device/assembly/signaler,
+/obj/item/device/assembly/signaler,
+/obj/item/device/assembly/prox_sensor{
+ pixel_x = -8;
+ pixel_y = 4
+ },
+/obj/item/device/assembly/prox_sensor{
+ pixel_x = -8;
+ pixel_y = 4
+ },
+/turf/open/floor/plasteel/black,
+/area/shuttle/syndicate)
+"add" = (
+/obj/structure/table,
+/obj/item/weapon/weldingtool/largetank{
+ pixel_y = 3
+ },
+/obj/item/device/multitool,
+/turf/open/floor/plasteel/black,
+/area/shuttle/syndicate)
+"ade" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/security/armory)
+"adf" = (
+/obj/structure/disposalpipe/trunk{
+ dir = 8
+ },
+/obj/structure/disposaloutlet,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/security/armory)
+"adg" = (
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/tcommsat/server)
+"adh" = (
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/ai)
+"adi" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/ai)
+"adj" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/turf/open/floor/plasteel/vault{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 5
+ },
+/area/ai_monitored/turret_protected/ai)
+"adk" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/ai)
+"adl" = (
+/obj/machinery/ai_status_display{
+ pixel_x = 32
+ },
+/turf/open/floor/circuit{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/ai)
+"adm" = (
+/obj/structure/bed/roller,
+/obj/machinery/light{
+ icon_state = "tube1";
+ dir = 8
+ },
+/turf/open/floor/plasteel/vault{
+ dir = 5
+ },
+/area/shuttle/syndicate)
+"adn" = (
+/obj/structure/sign/bluecross_2,
+/turf/closed/wall/mineral/plastitanium,
+/area/shuttle/syndicate)
+"ado" = (
+/obj/structure/table,
+/obj/item/weapon/storage/toolbox/syndicate,
+/obj/item/weapon/crowbar/red,
+/obj/machinery/light{
+ dir = 4;
+ icon_state = "tube1"
+ },
+/turf/open/floor/plasteel/black,
+/area/shuttle/syndicate)
+"adp" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/security/armory)
+"adq" = (
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/security/armory)
+"adr" = (
+/obj/effect/turf_decal/stripes/line,
+/obj/machinery/door/window/brigdoor/southleft{
+ name = "Armory Delievery Chute";
+ req_access_txt = "3"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/security/armory)
+"ads" = (
+/turf/closed/wall,
+/area/mine/unexplored{
+ name = "Command Asteroid"
+ })
+"adt" = (
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/tcommsat/server)
+"adu" = (
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/tcommsat/server)
+"adv" = (
+/obj/machinery/telecomms/processor/preset_three,
+/turf/open/floor/circuit{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/tcommsat/server)
+"adw" = (
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/tcommsat/computer)
+"adx" = (
+/obj/effect/decal/remains/human,
+/obj/effect/landmark/revenantspawn,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/ai)
+"ady" = (
+/obj/machinery/porta_turret/ai{
+ dir = 4;
+ installation = /obj/item/weapon/gun/energy/e_gun
+ },
+/obj/machinery/light{
+ icon_state = "tube1";
+ dir = 8
+ },
+/turf/open/floor/circuit{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/ai)
+"adz" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 4;
+ on = 1
+ },
+/turf/open/floor/plasteel/vault{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 5
+ },
+/area/ai_monitored/turret_protected/ai)
+"adA" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/ai)
+"adB" = (
+/obj/machinery/porta_turret/ai{
+ dir = 4;
+ installation = /obj/item/weapon/gun/energy/e_gun
+ },
+/obj/machinery/light{
+ icon_state = "tube1";
+ dir = 4
+ },
+/turf/open/floor/circuit{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/ai)
+"adC" = (
+/obj/machinery/door/window{
+ dir = 4;
+ name = "Infirmary";
+ req_access_txt = "150"
+ },
+/turf/open/floor/plasteel/vault{
+ dir = 5
+ },
+/area/shuttle/syndicate)
+"adD" = (
+/obj/machinery/door/window/westright{
+ name = "Tool Storage";
+ req_access_txt = "150"
+ },
+/turf/open/floor/plasteel/black,
+/area/shuttle/syndicate)
+"adE" = (
+/obj/structure/disposalpipe/segment,
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/security/armory)
+"adF" = (
+/obj/machinery/airalarm{
+ frequency = 1439;
+ locked = 0;
+ pixel_y = 23
+ },
+/obj/machinery/firealarm{
+ dir = 8;
+ pixel_x = -24
+ },
+/obj/machinery/camera/motion{
+ c_tag = "Armory North"
+ },
+/turf/open/floor/plasteel/darkred/side{
+ icon_state = "darkred";
+ dir = 9;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/security/armory)
+"adG" = (
+/obj/machinery/power/apc{
+ dir = 1;
+ name = "Armory APC";
+ pixel_x = 0;
+ pixel_y = 24
+ },
+/obj/structure/cable/orange{
+ d2 = 4;
+ icon_state = "0-4"
+ },
+/turf/open/floor/plasteel/darkred/side{
+ icon_state = "darkred";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/security/armory)
+"adH" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel/darkred/side{
+ icon_state = "darkred";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/security/armory)
+"adI" = (
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/turf/open/floor/plasteel/darkred/side{
+ icon_state = "darkred";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/security/armory)
+"adJ" = (
+/obj/item/weapon/grenade/barrier{
+ pixel_x = 4
+ },
+/obj/item/weapon/grenade/barrier,
+/obj/item/weapon/grenade/barrier{
+ pixel_x = -4
+ },
+/obj/structure/table,
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/security/armory)
+"adK" = (
+/obj/structure/table,
+/obj/item/weapon/storage/box/firingpins{
+ pixel_x = 1;
+ pixel_y = 5
+ },
+/obj/item/weapon/storage/box/firingpins{
+ pixel_x = 1;
+ pixel_y = 5
+ },
+/obj/item/key/security,
+/obj/item/key/security,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/security/armory)
+"adL" = (
+/obj/machinery/flasher/portable,
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/plasteel/delivery{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/security/armory)
+"adM" = (
+/obj/machinery/flasher/portable,
+/turf/open/floor/plasteel/delivery{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/security/armory)
+"adN" = (
+/obj/machinery/telecomms/server/presets/engineering,
+/turf/open/floor/circuit{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/tcommsat/server)
+"adO" = (
+/obj/machinery/telecomms/bus/preset_four,
+/turf/open/floor/circuit{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/tcommsat/server)
+"adP" = (
+/obj/machinery/telecomms/bus/preset_three,
+/turf/open/floor/circuit{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/tcommsat/server)
+"adQ" = (
+/obj/machinery/telecomms/server/presets/security,
+/turf/open/floor/circuit{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/tcommsat/server)
+"adR" = (
+/obj/machinery/power/apc{
+ cell_type = 5000;
+ dir = 1;
+ name = "Telecoms Server APC";
+ pixel_x = 0;
+ pixel_y = 25
+ },
+/obj/structure/cable{
+ icon_state = "0-2";
+ d2 = 2
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/tcommsat/server)
+"adS" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/tcommsat/computer)
+"adT" = (
+/obj/machinery/computer/message_monitor,
+/obj/machinery/camera{
+ c_tag = "Telecomms Control Room 2";
+ dir = 6;
+ icon_state = "camera"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/tcommsat/computer)
+"adU" = (
+/obj/machinery/announcement_system,
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/tcommsat/computer)
+"adV" = (
+/obj/machinery/camera{
+ c_tag = "AI Hallway";
+ dir = 5;
+ icon_state = "camera";
+ tag = "icon-camera (NORTHEAST)"
+ },
+/turf/open/floor/circuit{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/ai)
+"adW" = (
+/obj/machinery/door/window{
+ base_state = "right";
+ dir = 4;
+ icon_state = "right";
+ name = "Infirmary";
+ req_access_txt = "150"
+ },
+/turf/open/floor/plasteel/vault{
+ dir = 5
+ },
+/area/shuttle/syndicate)
+"adX" = (
+/obj/machinery/door/window{
+ dir = 8;
+ name = "Tool Storage";
+ req_access_txt = "150"
+ },
+/turf/open/floor/plasteel/black,
+/area/shuttle/syndicate)
+"adY" = (
+/obj/machinery/recharge_station,
+/turf/open/floor/plasteel/black,
+/area/shuttle/syndicate)
+"adZ" = (
+/turf/closed/mineral,
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aea" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 4;
+ on = 1
+ },
+/turf/open/floor/plasteel/darkred/side{
+ icon_state = "darkred";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/security/armory)
+"aeb" = (
+/obj/structure/rack,
+/obj/item/weapon/gun/energy/laser{
+ pixel_x = -3;
+ pixel_y = 3
+ },
+/obj/item/weapon/gun/energy/laser,
+/obj/item/weapon/gun/energy/laser{
+ pixel_x = 3;
+ pixel_y = -3
+ },
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/vault{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 8
+ },
+/area/ai_monitored/security/armory)
+"aec" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/security/armory)
+"aed" = (
+/obj/structure/rack,
+/obj/item/weapon/gun/energy/ionrifle,
+/obj/item/weapon/gun/energy/temperature/security,
+/obj/item/clothing/suit/armor/laserproof{
+ pixel_x = 0
+ },
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 10
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel/vault{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 8
+ },
+/area/ai_monitored/security/armory)
+"aee" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/security/armory)
+"aef" = (
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/security/armory)
+"aeg" = (
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/machinery/suit_storage_unit/hos,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/security/armory)
+"aeh" = (
+/turf/open/floor/plating/asteroid/airless,
+/area/mine/unexplored{
+ name = "AI Asteroid"
+ })
+"aei" = (
+/obj/machinery/telecomms/server/presets/common,
+/turf/open/floor/circuit{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/tcommsat/server)
+"aej" = (
+/obj/machinery/telecomms/processor/preset_four,
+/turf/open/floor/circuit{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/tcommsat/server)
+"aek" = (
+/obj/machinery/telecomms/receiver/preset_right,
+/turf/open/floor/circuit{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/tcommsat/server)
+"ael" = (
+/obj/machinery/telecomms/server/presets/command,
+/turf/open/floor/circuit{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/tcommsat/server)
+"aem" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/tcommsat/server)
+"aen" = (
+/obj/structure/chair/office/dark{
+ dir = 1
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/tcommsat/computer)
+"aeo" = (
+/obj/machinery/computer/telecomms/server{
+ network = "tcommsat"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/tcommsat/computer)
+"aep" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/obj/machinery/holopad,
+/turf/open/floor/plasteel/vault{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 5
+ },
+/area/ai_monitored/turret_protected/ai)
+"aeq" = (
+/obj/item/weapon/coin/antagtoken,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/ai)
+"aer" = (
+/obj/machinery/porta_turret/syndicate{
+ dir = 5
+ },
+/turf/closed/wall/mineral/plastitanium,
+/area/shuttle/syndicate)
+"aes" = (
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/structure/table,
+/obj/item/bodypart/r_arm/robot,
+/obj/item/bodypart/l_arm/robot,
+/turf/open/floor/plasteel/vault{
+ dir = 5
+ },
+/area/shuttle/syndicate)
+"aet" = (
+/obj/machinery/door/window{
+ dir = 1;
+ name = "Surgery";
+ req_access_txt = "150"
+ },
+/turf/open/floor/plasteel/vault{
+ dir = 5
+ },
+/area/shuttle/syndicate)
+"aeu" = (
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/turf/open/floor/plasteel/vault{
+ dir = 5
+ },
+/area/shuttle/syndicate)
+"aev" = (
+/obj/structure/table,
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/obj/item/weapon/storage/firstaid/regular{
+ pixel_x = 3;
+ pixel_y = 3
+ },
+/obj/item/weapon/storage/firstaid/brute,
+/obj/item/weapon/storage/firstaid/regular{
+ pixel_x = -3;
+ pixel_y = -3
+ },
+/turf/open/floor/plasteel/vault{
+ dir = 5
+ },
+/area/shuttle/syndicate)
+"aew" = (
+/obj/structure/table,
+/obj/item/weapon/storage/firstaid/regular{
+ pixel_x = 3;
+ pixel_y = 3
+ },
+/obj/item/weapon/storage/firstaid/fire,
+/obj/item/weapon/storage/firstaid/regular{
+ pixel_x = -3;
+ pixel_y = -3
+ },
+/turf/open/floor/plasteel/vault{
+ dir = 5
+ },
+/area/shuttle/syndicate)
+"aex" = (
+/obj/structure/table,
+/obj/item/device/sbeacondrop/bomb{
+ pixel_y = 5
+ },
+/obj/item/device/sbeacondrop/bomb,
+/turf/open/floor/plasteel/black,
+/area/shuttle/syndicate)
+"aey" = (
+/obj/structure/table,
+/obj/item/weapon/grenade/syndieminibomb{
+ pixel_x = 4;
+ pixel_y = 2
+ },
+/obj/item/weapon/grenade/syndieminibomb{
+ pixel_x = -1
+ },
+/turf/open/floor/plasteel/black,
+/area/shuttle/syndicate)
+"aez" = (
+/turf/closed/mineral/random/labormineral,
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aeA" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
+/obj/structure/closet/crate,
+/obj/item/weapon/pickaxe/mini,
+/obj/item/weapon/pickaxe/mini,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aeB" = (
+/turf/open/floor/plasteel/darkred/side{
+ icon_state = "darkred";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/security/armory)
+"aeC" = (
+/obj/structure/rack,
+/obj/item/weapon/gun/energy/e_gun{
+ pixel_x = -3;
+ pixel_y = 3
+ },
+/obj/item/weapon/gun/energy/e_gun,
+/obj/item/weapon/gun/energy/e_gun{
+ pixel_x = 3;
+ pixel_y = -3
+ },
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ on = 1
+ },
+/turf/open/floor/plasteel/vault{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 8
+ },
+/area/ai_monitored/security/armory)
+"aeD" = (
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/security/armory)
+"aeE" = (
+/obj/structure/rack,
+/obj/item/clothing/suit/armor/riot{
+ pixel_x = -3;
+ pixel_y = 3
+ },
+/obj/item/clothing/suit/armor/riot,
+/obj/item/clothing/suit/armor/riot{
+ pixel_x = 3;
+ pixel_y = -3
+ },
+/obj/item/clothing/head/helmet/riot{
+ pixel_x = -3;
+ pixel_y = 3
+ },
+/obj/item/clothing/head/helmet/riot,
+/obj/item/clothing/head/helmet/riot{
+ pixel_x = 3;
+ pixel_y = -3
+ },
+/obj/item/weapon/shield/riot{
+ pixel_x = -3;
+ pixel_y = 3
+ },
+/obj/item/weapon/shield/riot,
+/obj/item/weapon/shield/riot{
+ pixel_x = 0;
+ pixel_y = 1;
+ pixel_x = 3;
+ pixel_y = -3
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel/vault{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 8
+ },
+/area/ai_monitored/security/armory)
+"aeF" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 10
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/security/armory)
+"aeG" = (
+/obj/machinery/suit_storage_unit/security,
+/obj/structure/window/reinforced,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/security/armory)
+"aeH" = (
+/obj/machinery/blackbox_recorder,
+/turf/open/floor/circuit{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/tcommsat/server)
+"aeI" = (
+/obj/machinery/telecomms/broadcaster/preset_right,
+/turf/open/floor/circuit{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/tcommsat/server)
+"aeJ" = (
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/turf/open/floor/circuit{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/tcommsat/server)
+"aeK" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/tcommsat/server)
+"aeL" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/tcommsat/server)
+"aeM" = (
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/tcommsat/computer)
+"aeN" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 8
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/ai)
+"aeO" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ dir = 8;
+ on = 1;
+ scrub_Toxins = 0
+ },
+/turf/open/floor/plasteel/vault{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 5
+ },
+/area/ai_monitored/turret_protected/ai)
+"aeP" = (
+/obj/structure/table,
+/obj/item/weapon/surgicaldrill,
+/obj/item/weapon/circular_saw,
+/obj/machinery/light{
+ icon_state = "tube1";
+ dir = 8
+ },
+/turf/open/floor/plasteel/vault{
+ dir = 5
+ },
+/area/shuttle/syndicate)
+"aeQ" = (
+/obj/structure/sink{
+ dir = 4;
+ icon_state = "sink";
+ pixel_x = 11;
+ pixel_y = 0
+ },
+/obj/structure/mirror{
+ pixel_x = 30
+ },
+/turf/open/floor/plasteel/vault{
+ dir = 5
+ },
+/area/shuttle/syndicate)
+"aeR" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/turf/open/floor/circuit,
+/area/shuttle/syndicate)
+"aeS" = (
+/obj/machinery/nuclearbomb/syndicate,
+/obj/machinery/door/window{
+ dir = 1;
+ name = "Secure Storage";
+ req_access_txt = "150"
+ },
+/turf/open/floor/circuit,
+/area/shuttle/syndicate)
+"aeT" = (
+/obj/machinery/telecomms/allinone{
+ intercept = 1
+ },
+/turf/open/floor/plasteel/black,
+/area/shuttle/syndicate)
+"aeU" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aeV" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aeW" = (
+/obj/effect/spawner/lootdrop/grille_or_trash,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aeX" = (
+/obj/machinery/light/small{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aeY" = (
+/obj/structure/rack,
+/obj/item/weapon/gun/energy/e_gun/advtaser{
+ pixel_x = -3;
+ pixel_y = 3
+ },
+/obj/item/weapon/gun/energy/e_gun/advtaser,
+/obj/item/weapon/gun/energy/e_gun/advtaser{
+ pixel_x = 3;
+ pixel_y = -3
+ },
+/turf/open/floor/plasteel/vault{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 8
+ },
+/area/ai_monitored/security/armory)
+"aeZ" = (
+/obj/structure/rack,
+/obj/item/clothing/suit/armor/bulletproof{
+ pixel_x = -3;
+ pixel_y = 3
+ },
+/obj/item/clothing/suit/armor/bulletproof{
+ pixel_y = 0
+ },
+/obj/item/clothing/suit/armor/bulletproof{
+ pixel_x = 3;
+ pixel_y = -3
+ },
+/obj/item/clothing/head/helmet/alt{
+ layer = 3.00001;
+ pixel_x = -3;
+ pixel_y = 3
+ },
+/obj/item/clothing/head/helmet/alt{
+ layer = 3.00001
+ },
+/obj/item/clothing/head/helmet/alt{
+ layer = 3.00001;
+ pixel_x = 3;
+ pixel_y = -3
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel/vault{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 8
+ },
+/area/ai_monitored/security/armory)
+"afa" = (
+/mob/living/simple_animal/bot/secbot/beepsky{
+ desc = "It's Officer Gunsky, the most rootin'-tootin'-point-and shootin' security bot on this side of the galaxy!";
+ name = "Officer Gunsky"
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/security/armory)
+"afb" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/machinery/holopad,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/security/armory)
+"afc" = (
+/obj/structure/closet/secure_closet/lethalshots,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/security/armory)
+"afd" = (
+/turf/open/floor/circuit{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/tcommsat/server)
+"afe" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/turf/open/floor/circuit{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/tcommsat/server)
+"aff" = (
+/obj/machinery/door/airlock/glass_command{
+ name = "Control Room";
+ req_access_txt = "19; 61"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/tcommsat/computer)
+"afg" = (
+/obj/structure/table,
+/obj/item/weapon/cautery,
+/obj/item/weapon/scalpel,
+/turf/open/floor/plasteel/vault{
+ dir = 5
+ },
+/area/shuttle/syndicate)
+"afh" = (
+/obj/structure/table/optable,
+/obj/item/weapon/surgical_drapes,
+/turf/open/floor/plasteel/vault{
+ dir = 5
+ },
+/area/shuttle/syndicate)
+"afi" = (
+/obj/structure/table,
+/obj/item/weapon/retractor,
+/obj/item/weapon/hemostat,
+/turf/open/floor/plasteel/vault{
+ dir = 5
+ },
+/area/shuttle/syndicate)
+"afj" = (
+/turf/open/space,
+/area/shuttle/syndicate)
+"afk" = (
+/obj/structure/shuttle/engine/heater,
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/turf/open/floor/plating,
+/area/shuttle/syndicate)
+"afl" = (
+/obj/structure/reagent_dispensers/fueltank,
+/turf/open/floor/plasteel/black,
+/area/shuttle/syndicate)
+"afm" = (
+/obj/structure/table,
+/obj/item/stack/sheet/metal{
+ amount = 50
+ },
+/obj/item/stack/sheet/glass{
+ amount = 50
+ },
+/obj/item/stack/rods{
+ amount = 50
+ },
+/turf/open/floor/plasteel/black,
+/area/shuttle/syndicate)
+"afn" = (
+/obj/structure/rack,
+/obj/item/clothing/suit/space/syndicate/black/red,
+/obj/item/clothing/head/helmet/space/syndicate/black/red,
+/turf/open/floor/plasteel/black,
+/area/shuttle/syndicate)
+"afo" = (
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"afp" = (
+/obj/machinery/light/small,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"afq" = (
+/turf/open/floor/plating/asteroid,
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"afr" = (
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"afs" = (
+/obj/structure/rack,
+/obj/item/weapon/gun/ballistic/shotgun/riot{
+ pixel_x = -3;
+ pixel_y = 3
+ },
+/obj/item/weapon/gun/ballistic/shotgun/riot,
+/obj/item/weapon/gun/ballistic/shotgun/riot{
+ pixel_x = 3;
+ pixel_y = -3
+ },
+/turf/open/floor/plasteel/vault{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 8
+ },
+/area/ai_monitored/security/armory)
+"aft" = (
+/obj/structure/rack,
+/obj/item/weapon/gun/energy/e_gun/dragnet,
+/obj/item/weapon/gun/energy/e_gun/dragnet,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel/vault{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 8
+ },
+/area/ai_monitored/security/armory)
+"afu" = (
+/obj/effect/landmark/event_spawn,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/security/armory)
+"afv" = (
+/obj/machinery/suit_storage_unit/security,
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/security/armory)
+"afw" = (
+/turf/closed/wall,
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"afx" = (
+/obj/machinery/door/airlock/glass_external{
+ cyclelinkeddir = 2
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"afy" = (
+/obj/structure/disposaloutlet{
+ icon_state = "outlet";
+ dir = 1
+ },
+/obj/structure/disposalpipe/trunk,
+/obj/structure/disposalpipe/trunk,
+/turf/open/floor/plating/airless,
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"afz" = (
+/obj/machinery/power/terminal{
+ dir = 4
+ },
+/obj/machinery/ntnet_relay,
+/obj/machinery/camera{
+ c_tag = "Telecoms Server Room";
+ dir = 4;
+ network = list("SS13")
+ },
+/turf/open/floor/circuit{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/tcommsat/server)
+"afA" = (
+/obj/machinery/power/smes{
+ charge = 5e+006
+ },
+/obj/structure/cable{
+ icon_state = "0-4"
+ },
+/turf/open/floor/circuit{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/tcommsat/server)
+"afB" = (
+/obj/machinery/telecomms/hub/preset,
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0
+ },
+/turf/open/floor/circuit{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/tcommsat/server)
+"afC" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0
+ },
+/turf/open/floor/circuit{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/tcommsat/server)
+"afD" = (
+/obj/machinery/door/airlock/glass_engineering{
+ cyclelinkeddir = 4;
+ name = "Server Room";
+ req_access_txt = "61"
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0
+ },
+/turf/open/floor/plasteel/vault{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 5
+ },
+/area/tcommsat/computer)
+"afE" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0
+ },
+/turf/open/floor/plasteel/vault{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 5
+ },
+/area/tcommsat/computer)
+"afF" = (
+/obj/machinery/door/airlock/glass_engineering{
+ cyclelinkeddir = 8;
+ name = "Server Room";
+ req_access_txt = "61"
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0
+ },
+/turf/open/floor/plasteel/vault{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 5
+ },
+/area/tcommsat/computer)
+"afG" = (
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ on = 1
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/tcommsat/computer)
+"afH" = (
+/obj/structure/shuttle/engine/propulsion{
+ icon_state = "propulsion_l"
+ },
+/turf/open/floor/plating,
+/area/shuttle/syndicate)
+"afI" = (
+/obj/structure/shuttle/engine/propulsion,
+/turf/open/floor/plating,
+/area/shuttle/syndicate)
+"afJ" = (
+/obj/structure/shuttle/engine/propulsion{
+ icon_state = "propulsion_r"
+ },
+/turf/open/floor/plating,
+/area/shuttle/syndicate)
+"afK" = (
+/obj/structure/closet,
+/obj/effect/spawner/lootdrop/maintenance,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"afL" = (
+/obj/machinery/vending/sustenance,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"afM" = (
+/obj/structure/rack,
+/obj/item/weapon/storage/box/rubbershot{
+ pixel_x = -3;
+ pixel_y = 3
+ },
+/obj/item/weapon/storage/box/rubbershot{
+ pixel_x = -3;
+ pixel_y = 3
+ },
+/obj/item/weapon/storage/box/rubbershot,
+/obj/item/weapon/storage/box/rubbershot,
+/obj/item/weapon/storage/box/rubbershot{
+ pixel_x = 3;
+ pixel_y = -3
+ },
+/obj/item/weapon/storage/box/rubbershot{
+ pixel_x = 3;
+ pixel_y = -3
+ },
+/obj/structure/window/reinforced,
+/turf/open/floor/plasteel/vault{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 8
+ },
+/area/ai_monitored/security/armory)
+"afN" = (
+/obj/structure/rack,
+/obj/item/weapon/storage/box/teargas{
+ pixel_x = -3;
+ pixel_y = 3
+ },
+/obj/item/weapon/storage/box/handcuffs,
+/obj/item/weapon/storage/box/flashbangs{
+ pixel_x = 3;
+ pixel_y = -3
+ },
+/obj/structure/window/reinforced,
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel/vault{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 8
+ },
+/area/ai_monitored/security/armory)
+"afO" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 6
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/security/armory)
+"afP" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/vehicle/secway,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/security/armory)
+"afQ" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ dir = 8;
+ on = 1;
+ scrub_Toxins = 0
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/security/armory)
+"afR" = (
+/turf/closed/mineral/random/labormineral,
+/area/security/transfer)
+"afS" = (
+/turf/closed/wall/rust{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"afT" = (
+/obj/machinery/light/small{
+ dir = 4
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"afU" = (
+/obj/structure/disposalpipe/segment,
+/turf/closed/wall,
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"afV" = (
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"afW" = (
+/obj/structure/window/reinforced/fulltile,
+/obj/structure/grille,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"afX" = (
+/obj/machinery/holopad,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/tcommsat/server)
+"afY" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 5
+ },
+/obj/item/weapon/twohanded/required/kirbyplants{
+ tag = "icon-plant-22";
+ icon_state = "plant-22"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/tcommsat/computer)
+"afZ" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/tcommsat/computer)
+"aga" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/camera{
+ c_tag = "Telecomms Control Room";
+ dir = 6;
+ icon_state = "camera"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/tcommsat/computer)
+"agb" = (
+/obj/structure/table,
+/obj/item/weapon/paper_bin,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/tcommsat/computer)
+"agc" = (
+/obj/structure/table,
+/obj/item/weapon/folder/blue,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/tcommsat/computer)
+"agd" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/tcommsat/computer)
+"age" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/AIsatextFP{
+ name = "AI Satellite Service"
+ })
+"agf" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/AIsatextFP{
+ name = "AI Satellite Service"
+ })
+"agg" = (
+/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden,
+/obj/machinery/turretid{
+ name = "AI Chamber turret control";
+ pixel_x = 0;
+ pixel_y = 24
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/AIsatextFP{
+ name = "AI Satellite Service"
+ })
+"agh" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 8;
+ layer = 2.4;
+ on = 1
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/AIsatextFP{
+ name = "AI Satellite Service"
+ })
+"agi" = (
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/AIsatextFP{
+ name = "AI Satellite Service"
+ })
+"agj" = (
+/obj/item/weapon/twohanded/required/kirbyplants{
+ icon_state = "plant-09"
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/AIsatextFP{
+ name = "AI Satellite Service"
+ })
+"agk" = (
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/AIsatextFP{
+ name = "AI Satellite Service"
+ })
+"agl" = (
+/turf/open/space,
+/obj/machinery/porta_turret/syndicate{
+ dir = 6
+ },
+/turf/closed/wall/mineral/plastitanium{
+ dir = 4;
+ icon_state = "diagonalWall3"
+ },
+/area/shuttle/syndicate)
+"agm" = (
+/turf/open/space,
+/obj/machinery/porta_turret/syndicate{
+ dir = 10
+ },
+/turf/closed/wall/mineral/plastitanium{
+ icon_state = "diagonalWall3"
+ },
+/area/shuttle/syndicate)
+"agn" = (
+/obj/machinery/hydroponics/soil,
+/obj/structure/sign/poster/official/do_not_question{
+ pixel_y = 32
+ },
+/turf/open/floor/plating/asteroid,
+/area/security/prison)
+"ago" = (
+/obj/machinery/hydroponics/soil,
+/obj/machinery/light{
+ dir = 1
+ },
+/obj/effect/landmark/event_spawn,
+/turf/open/floor/plating/asteroid,
+/area/security/prison)
+"agp" = (
+/obj/machinery/hydroponics/soil,
+/obj/item/seeds/random,
+/turf/open/floor/plating/asteroid,
+/area/security/prison)
+"agq" = (
+/obj/structure/toilet,
+/obj/machinery/light/small{
+ dir = 1
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"agr" = (
+/turf/open/floor/plasteel/darkred/side{
+ icon_state = "darkred";
+ dir = 10;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/security/armory)
+"ags" = (
+/turf/open/floor/plasteel/darkred/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/security/armory)
+"agt" = (
+/obj/machinery/light,
+/turf/open/floor/plasteel/darkred/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/security/armory)
+"agu" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel/darkred/corner{
+ icon_state = "darkredcorners";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/security/armory)
+"agv" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/darkred/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/security/armory)
+"agw" = (
+/obj/machinery/light,
+/obj/vehicle/secway,
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/security/armory)
+"agx" = (
+/obj/machinery/flasher/portable,
+/obj/machinery/camera/motion{
+ c_tag = "Armory South";
+ dir = 1;
+ network = list("SS1`3")
+ },
+/turf/open/floor/plasteel/delivery{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/security/armory)
+"agy" = (
+/turf/closed/mineral,
+/area/security/transfer)
+"agz" = (
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/transfer)
+"agA" = (
+/turf/open/floor/plating/asteroid,
+/area/security/transfer)
+"agB" = (
+/obj/machinery/door/airlock/glass_external{
+ cyclelinkeddir = 1
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"agC" = (
+/obj/structure/disposalpipe/segment,
+/obj/effect/decal/cleanable/cobweb,
+/obj/structure/reagent_dispensers/fueltank,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"agD" = (
+/obj/machinery/light/small{
+ dir = 1
+ },
+/obj/structure/reagent_dispensers/watertank/high,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"agE" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
+/obj/structure/reagent_dispensers/fueltank,
+/obj/item/weapon/weldingtool,
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"agF" = (
+/obj/structure/disposalpipe/sortjunction{
+ dir = 8;
+ icon_state = "pipe-j2s";
+ name = "disposal pipe - Custodials";
+ sortType = 22
+ },
+/obj/machinery/light/small{
+ dir = 1
+ },
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"agG" = (
+/obj/structure/disposalpipe/sortjunction{
+ dir = 8;
+ icon_state = "pipe-j2s";
+ name = "disposal pipe - CE Office";
+ sortType = 5
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"agH" = (
+/obj/structure/disposalpipe/sortjunction{
+ dir = 8;
+ icon_state = "pipe-j2s";
+ name = "disposal pipe - RD Office";
+ sortType = 13
+ },
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"agI" = (
+/obj/structure/disposalpipe/sortjunction{
+ dir = 8;
+ icon_state = "pipe-j2s";
+ name = "disposal pipe - QM Office";
+ sortType = 3
+ },
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"agJ" = (
+/obj/structure/disposalpipe/sortjunction{
+ dir = 8;
+ icon_state = "pipe-j2s";
+ name = "disposal pipe - CMO Office";
+ sortType = 10
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"agK" = (
+/obj/structure/disposalpipe/sortjunction{
+ dir = 8;
+ icon_state = "pipe-j2s";
+ name = "disposal pipe - HoS Office";
+ sortType = 8
+ },
+/obj/structure/girder,
+/obj/structure/grille,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"agL" = (
+/obj/structure/disposalpipe/sortjunction{
+ dir = 8;
+ icon_state = "pipe-j2s";
+ name = "disposal pipe - HoP Office";
+ sortType = 15
+ },
+/obj/machinery/light/small{
+ dir = 1
+ },
+/obj/structure/rack,
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"agM" = (
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
+ },
+/obj/effect/decal/cleanable/cobweb/cobweb2,
+/obj/structure/table,
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"agN" = (
+/obj/machinery/light/small{
+ dir = 1
+ },
+/obj/structure/closet/crate,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"agO" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
+/obj/effect/decal/cleanable/cobweb/cobweb2,
+/obj/structure/closet,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"agP" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"agQ" = (
+/obj/machinery/disposal/deliveryChute{
+ dir = 4
+ },
+/obj/structure/disposalpipe/trunk{
+ dir = 8
+ },
+/turf/open/floor/plating/airless,
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"agR" = (
+/obj/structure/disposaloutlet{
+ dir = 8
+ },
+/obj/structure/disposalpipe/trunk{
+ dir = 4
+ },
+/turf/open/floor/plating/airless,
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"agS" = (
+/obj/structure/disposalpipe/trunk{
+ dir = 8
+ },
+/obj/machinery/disposal/deliveryChute{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"agT" = (
+/obj/machinery/conveyor/auto{
+ icon_state = "conveyor0";
+ dir = 8
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"agU" = (
+/obj/effect/decal/cleanable/cobweb/cobweb2,
+/obj/machinery/conveyor/auto{
+ dir = 6;
+ icon_state = "conveyor0";
+ verted = -1
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"agV" = (
+/obj/machinery/message_server,
+/turf/open/floor/circuit{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/tcommsat/server)
+"agW" = (
+/obj/machinery/telecomms/broadcaster/preset_left,
+/turf/open/floor/circuit{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/tcommsat/server)
+"agX" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/tcommsat/computer)
+"agY" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0
+ },
+/obj/machinery/holopad,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/tcommsat/computer)
+"agZ" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 6
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/tcommsat/computer)
+"aha" = (
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/tcommsat/computer)
+"ahb" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/tcommsat/computer)
+"ahc" = (
+/obj/machinery/door/airlock/engineering{
+ name = "Telecommunications";
+ req_access_txt = "61"
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/tcommsat/computer)
+"ahd" = (
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/AIsatextFP{
+ name = "AI Satellite Service"
+ })
+"ahe" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/mob/living/simple_animal/bot/secbot/pingsky,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/AIsatextFP{
+ name = "AI Satellite Service"
+ })
+"ahf" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/AIsatextFP{
+ name = "AI Satellite Service"
+ })
+"ahg" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/machinery/camera{
+ c_tag = "AI Asteroid Hallway 4";
+ dir = 1;
+ icon_state = "camera";
+ network = list("SS13")
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/AIsatextFP{
+ name = "AI Satellite Service"
+ })
+"ahh" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/AIsatextFP{
+ name = "AI Satellite Service"
+ })
+"ahi" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ dir = 8;
+ on = 1;
+ scrub_Toxins = 0
+ },
+/obj/machinery/ai_status_display{
+ pixel_x = 32
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/AIsatextFP{
+ name = "AI Satellite Service"
+ })
+"ahj" = (
+/obj/structure/sink{
+ icon_state = "sink";
+ dir = 8;
+ pixel_x = -12;
+ pixel_y = 2
+ },
+/obj/item/seeds/ambrosia,
+/obj/machinery/flasher{
+ id = "PermaCell";
+ pixel_x = -24;
+ pixel_y = 0
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"ahk" = (
+/obj/item/weapon/cultivator,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"ahl" = (
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"ahm" = (
+/obj/machinery/door/airlock{
+ name = "Bathroom"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"ahn" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/obj/structure/cable/orange{
+ d2 = 2;
+ icon_state = "0-2"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/security/armory)
+"aho" = (
+/obj/machinery/door/airlock/glass_security{
+ name = "Armory";
+ req_access_txt = "3"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel/darkred/side{
+ icon_state = "darkred";
+ dir = 5;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/security/armory)
+"ahp" = (
+/obj/machinery/door/airlock/glass_security{
+ name = "Armory";
+ req_access_txt = "3"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/darkred/side{
+ icon_state = "darkred";
+ dir = 9;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/security/armory)
+"ahq" = (
+/obj/machinery/light/small{
+ dir = 1
+ },
+/turf/open/floor/plating/asteroid,
+/area/security/transfer)
+"ahr" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"ahs" = (
+/obj/structure/disposalpipe/segment{
+ dir = 1;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aht" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"ahu" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/girder,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"ahv" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/grille,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"ahw" = (
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"ahx" = (
+/obj/structure/disposalpipe/segment{
+ dir = 1;
+ icon_state = "pipe-c"
+ },
+/obj/structure/grille/broken,
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"ahy" = (
+/obj/structure/disposalpipe/junction{
+ dir = 4;
+ icon_state = "pipe-j2"
+ },
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"ahz" = (
+/obj/structure/disposalpipe/junction,
+/obj/effect/landmark/blobstart,
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"ahA" = (
+/obj/structure/disposalpipe/junction{
+ icon_state = "pipe-j2";
+ dir = 2
+ },
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"ahB" = (
+/obj/structure/disposalpipe/junction{
+ icon_state = "pipe-j1";
+ dir = 8
+ },
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"ahC" = (
+/obj/structure/disposalpipe/junction{
+ icon_state = "pipe-j1";
+ dir = 8
+ },
+/obj/structure/girder,
+/obj/structure/grille,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"ahD" = (
+/obj/structure/disposalpipe/junction{
+ icon_state = "pipe-j1";
+ dir = 1
+ },
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"ahE" = (
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
+/obj/structure/closet/crate,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"ahF" = (
+/obj/machinery/light/small{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/floor/plating,
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"ahG" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/floor/plasteel/floorgrime,
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"ahH" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 5
+ },
+/turf/open/floor/plating,
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"ahI" = (
+/obj/machinery/conveyor/auto{
+ icon_state = "conveyor0";
+ dir = 1
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"ahJ" = (
+/obj/machinery/telecomms/server/presets/supply,
+/turf/open/floor/circuit{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/tcommsat/server)
+"ahK" = (
+/obj/machinery/telecomms/bus/preset_two,
+/turf/open/floor/circuit{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/tcommsat/server)
+"ahL" = (
+/obj/machinery/telecomms/receiver/preset_left,
+/turf/open/floor/circuit{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/tcommsat/server)
+"ahM" = (
+/obj/machinery/telecomms/server/presets/medical,
+/turf/open/floor/circuit{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/tcommsat/server)
+"ahN" = (
+/obj/structure/chair/office/dark,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/tcommsat/computer)
+"ahO" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ dir = 1;
+ on = 1
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/tcommsat/computer)
+"ahP" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/tcommsat/computer)
+"ahQ" = (
+/obj/machinery/door/airlock/hatch{
+ name = "AI Core";
+ req_one_access_txt = "65"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/AIsatextFP{
+ name = "AI Satellite Service"
+ })
+"ahR" = (
+/obj/machinery/door/airlock/hatch{
+ name = "AI Core";
+ req_one_access_txt = "65"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/AIsatextFP{
+ name = "AI Satellite Service"
+ })
+"ahS" = (
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/AIsatextFP{
+ name = "AI Satellite Service"
+ })
+"ahT" = (
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/mine/unexplored{
+ name = "AI Asteroid"
+ })
+"ahU" = (
+/obj/machinery/computer/arcade,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"ahV" = (
+/turf/open/floor/plasteel/airless/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"ahW" = (
+/obj/machinery/holopad,
+/obj/item/weapon/reagent_containers/glass/bucket,
+/turf/open/floor/plasteel/airless/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"ahX" = (
+/obj/structure/table,
+/obj/item/weapon/paper_bin,
+/obj/item/device/radio/intercom{
+ desc = "Talk through this. It looks like it has been modified to not broadcast.";
+ dir = 2;
+ name = "Prison Intercom (General)";
+ pixel_x = 0;
+ pixel_y = 24;
+ prison_radio = 1
+ },
+/obj/machinery/camera{
+ c_tag = "Brig Long-Term Cells"
+ },
+/obj/item/seeds/potato,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"ahY" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ dir = 4;
+ on = 1;
+ scrub_N2O = 0;
+ scrub_Toxins = 0
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"ahZ" = (
+/obj/structure/table,
+/obj/machinery/computer/libraryconsole/bookmanagement,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 10
+ },
+/obj/structure/sign/poster/official/obey{
+ pixel_y = 32
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"aia" = (
+/turf/open/floor/plating/asteroid,
+/area/mine/unexplored{
+ name = "Asteroid"
+ })
+"aib" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plating/asteroid,
+/area/mine/unexplored{
+ name = "Asteroid"
+ })
+"aic" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel/darkred/side{
+ icon_state = "darkred";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/security/armory)
+"aid" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/darkred/side{
+ icon_state = "darkred";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/security/armory)
+"aie" = (
+/obj/effect/landmark/blobstart,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/transfer)
+"aif" = (
+/obj/machinery/light/small{
+ dir = 4
+ },
+/turf/open/floor/plating/asteroid,
+/area/security/transfer)
+"aig" = (
+/turf/closed/wall/rust{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/transfer)
+"aih" = (
+/obj/machinery/light/small{
+ dir = 4
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aii" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aij" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
+/obj/item/weapon/wrench,
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aik" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/grille/broken,
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"ail" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/sign/poster/random{
+ name = "random contraband poster";
+ pixel_x = 0;
+ pixel_y = -32;
+ random_basetype = /obj/structure/sign/poster/contraband
+ },
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aim" = (
+/obj/structure/closet/emcloset,
+/obj/structure/sign/poster/random{
+ name = "random contraband poster";
+ pixel_x = -32;
+ pixel_y = 0;
+ random_basetype = /obj/structure/sign/poster/contraband
+ },
+/turf/open/floor/plasteel/floorgrime,
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"ain" = (
+/turf/open/floor/plasteel/floorgrime,
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aio" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/plasteel/floorgrime,
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aip" = (
+/obj/machinery/telecomms/server/presets/service,
+/turf/open/floor/circuit{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/tcommsat/server)
+"aiq" = (
+/obj/machinery/telecomms/processor/preset_two,
+/turf/open/floor/circuit{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/tcommsat/server)
+"air" = (
+/obj/machinery/telecomms/processor/preset_one,
+/turf/open/floor/circuit{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/tcommsat/server)
+"ais" = (
+/obj/machinery/telecomms/server/presets/science,
+/turf/open/floor/circuit{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/tcommsat/server)
+"ait" = (
+/obj/machinery/computer/telecomms/monitor{
+ network = "tcommsat"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/tcommsat/computer)
+"aiu" = (
+/obj/structure/table,
+/obj/item/device/radio/off,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/tcommsat/computer)
+"aiv" = (
+/obj/structure/filingcabinet/chestdrawer,
+/obj/machinery/light,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/tcommsat/computer)
+"aiw" = (
+/obj/machinery/power/apc{
+ dir = 2;
+ name = "Telecoms Control Room APC";
+ pixel_y = -24
+ },
+/obj/structure/cable,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/tcommsat/computer)
+"aix" = (
+/obj/structure/rack{
+ dir = 8;
+ layer = 2.9
+ },
+/obj/item/weapon/storage/toolbox/mechanical{
+ pixel_x = -2;
+ pixel_y = -1
+ },
+/obj/item/device/multitool,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/tcommsat/computer)
+"aiy" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 8
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/obj/structure/sign/map/left/ceres{
+ pixel_x = -32
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/AIsatextFP{
+ name = "AI Satellite Service"
+ })
+"aiz" = (
+/obj/machinery/light/small{
+ dir = 1
+ },
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ dir = 8;
+ on = 1;
+ scrub_Toxins = 0
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/AIsatextFP{
+ name = "AI Satellite Service"
+ })
+"aiA" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/ai_status_display{
+ pixel_x = 32
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/AIsatextFP{
+ name = "AI Satellite Service"
+ })
+"aiB" = (
+/obj/machinery/recharge_station,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/effect/landmark/start/cyborg,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/AIsatextFP{
+ name = "AI Satellite Service"
+ })
+"aiC" = (
+/obj/structure/chair/stool,
+/obj/structure/sign/poster/official/work_for_a_future{
+ pixel_x = -32
+ },
+/turf/open/floor/plasteel/airless/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"aiD" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 4;
+ on = 1
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"aiE" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/chair/stool,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"aiF" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/airless/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"aiG" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 10
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"aiH" = (
+/obj/structure/chair/stool,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"aiI" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/obj/structure/cable/orange{
+ d2 = 4;
+ icon_state = "0-4"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"aiJ" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/cable/orange{
+ d2 = 2;
+ icon_state = "0-2"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"aiK" = (
+/obj/machinery/door/airlock/glass_security{
+ name = "Armory";
+ req_access_txt = "3"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel/darkred/side{
+ icon_state = "darkred";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"aiL" = (
+/obj/machinery/door/airlock/glass_security{
+ name = "Armory";
+ req_access_txt = "3"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/darkred/side{
+ icon_state = "darkred";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"aiM" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/cable/orange{
+ d2 = 2;
+ icon_state = "0-2"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"aiN" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/obj/structure/cable/orange{
+ d2 = 8;
+ icon_state = "0-8"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"aiO" = (
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/transfer)
+"aiP" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/transfer)
+"aiQ" = (
+/obj/machinery/power/apc{
+ dir = 1;
+ name = "Security Transfer Range APC";
+ pixel_x = 0;
+ pixel_y = 24
+ },
+/obj/structure/cable/orange{
+ d2 = 8;
+ icon_state = "0-8"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/transfer)
+"aiR" = (
+/obj/structure/rack,
+/obj/item/weapon/pickaxe/mini,
+/turf/open/floor/plating/asteroid,
+/area/security/transfer)
+"aiS" = (
+/obj/structure/girder,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aiT" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/grille,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aiU" = (
+/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aiV" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aiW" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aiX" = (
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aiY" = (
+/obj/structure/table,
+/turf/open/floor/plasteel/floorgrime,
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aiZ" = (
+/turf/open/floor/plating,
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aja" = (
+/obj/machinery/conveyor/auto{
+ icon_state = "conveyor0";
+ dir = 9
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"ajb" = (
+/obj/machinery/conveyor/auto{
+ icon_state = "conveyor0";
+ dir = 8
+ },
+/obj/structure/plasticflaps,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"ajc" = (
+/obj/machinery/conveyor/auto{
+ dir = 6;
+ icon_state = "conveyor0";
+ verted = -1
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"ajd" = (
+/obj/effect/decal/cleanable/cobweb/cobweb2,
+/obj/structure/closet,
+/obj/effect/spawner/lootdrop/maintenance,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aje" = (
+/obj/machinery/light,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/tcommsat/server)
+"ajf" = (
+/obj/machinery/telecomms/bus/preset_one,
+/turf/open/floor/circuit{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/tcommsat/server)
+"ajg" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/obj/machinery/camera{
+ c_tag = "AI Asteroid Hallway 3";
+ dir = 4;
+ icon_state = "camera"
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/AIsatextFP{
+ name = "AI Satellite Service"
+ })
+"ajh" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 4;
+ on = 1
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/AIsatextFP{
+ name = "AI Satellite Service"
+ })
+"aji" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/AIsatextFP{
+ name = "AI Satellite Service"
+ })
+"ajj" = (
+/turf/closed/wall,
+/area/quartermaster/sorting)
+"ajk" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/sorting)
+"ajl" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/sorting)
+"ajm" = (
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/sorting)
+"ajn" = (
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/sorting)
+"ajo" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"ajp" = (
+/obj/effect/decal/cleanable/cobweb,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"ajq" = (
+/obj/machinery/light/small{
+ dir = 1
+ },
+/obj/structure/rack,
+/obj/effect/spawner/lootdrop/maintenance,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"ajr" = (
+/obj/structure/table,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"ajs" = (
+/obj/structure/table,
+/obj/item/weapon/storage/toolbox/mechanical,
+/obj/effect/decal/cleanable/cobweb/cobweb2,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"ajt" = (
+/obj/structure/closet/crate,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aju" = (
+/obj/machinery/light/small{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"ajv" = (
+/obj/machinery/camera{
+ c_tag = "Prison Screen Monitor";
+ dir = 4;
+ network = list("Prison")
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"ajw" = (
+/obj/structure/table,
+/turf/open/floor/plasteel/airless/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"ajx" = (
+/obj/structure/table,
+/obj/item/weapon/storage/pill_bottle/dice,
+/turf/open/floor/plasteel/airless/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"ajy" = (
+/obj/structure/chair/stool,
+/turf/open/floor/plasteel/airless/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"ajz" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel/airless/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"ajA" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plasteel/airless/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"ajB" = (
+/obj/structure/closet/secure_closet/brig,
+/turf/open/floor/plasteel/darkred{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"ajC" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/turf/open/floor/plasteel/darkred{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"ajD" = (
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/obj/structure/sign/nanotrasen{
+ pixel_y = 32
+ },
+/turf/open/floor/plasteel/darkred/side{
+ icon_state = "darkred";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"ajE" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/turf/open/floor/plasteel/red/side{
+ icon_state = "red";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"ajF" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/red/side{
+ icon_state = "red";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"ajG" = (
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/obj/machinery/camera{
+ c_tag = "Brig Prison Lockers"
+ },
+/obj/structure/sign/nanotrasen{
+ pixel_y = 32
+ },
+/turf/open/floor/plasteel/darkred/side{
+ icon_state = "darkred";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"ajH" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/turf/open/floor/plasteel/darkred{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"ajI" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/transfer)
+"ajJ" = (
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/transfer)
+"ajK" = (
+/obj/structure/rack,
+/obj/item/weapon/shovel,
+/turf/open/floor/plating/asteroid,
+/area/security/transfer)
+"ajL" = (
+/obj/structure/rack,
+/obj/effect/decal/cleanable/cobweb/cobweb2,
+/obj/effect/spawner/lootdrop/maintenance,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"ajM" = (
+/obj/structure/disposalpipe/segment,
+/obj/machinery/door/airlock/maintenance{
+ name = "Fore Asteroid Maintenance Access";
+ req_access_txt = "12"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"ajN" = (
+/obj/structure/table,
+/obj/item/weapon/storage/toolbox/emergency,
+/turf/open/floor/plating,
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"ajO" = (
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plasteel/floorgrime,
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"ajP" = (
+/obj/effect/turf_decal/stripes/corner{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plasteel/floorgrime,
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"ajQ" = (
+/obj/machinery/light/small{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 5
+ },
+/turf/open/floor/plating,
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"ajR" = (
+/obj/structure/disposalpipe/trunk{
+ dir = 4
+ },
+/obj/structure/disposaloutlet{
+ dir = 8
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"ajS" = (
+/obj/structure/disposaloutlet{
+ dir = 8
+ },
+/obj/structure/disposalpipe/trunk{
+ dir = 4
+ },
+/turf/open/floor/plating/asteroid/airless,
+/area/mine/unexplored{
+ name = "AI Asteroid"
+ })
+"ajT" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/tcommsat/server)
+"ajU" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/tcommsat/server)
+"ajV" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/mine/unexplored{
+ name = "AI Asteroid"
+ })
+"ajW" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/AIsatextFP{
+ name = "AI Satellite Service"
+ })
+"ajX" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/AIsatextFP{
+ name = "AI Satellite Service"
+ })
+"ajY" = (
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
+ },
+/obj/machinery/light/small{
+ dir = 1
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/AIsatextFP{
+ name = "AI Satellite Service"
+ })
+"ajZ" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
+/obj/machinery/light/small{
+ dir = 1
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/AIsatextFP{
+ name = "AI Satellite Service"
+ })
+"aka" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/mine/unexplored{
+ name = "AI Asteroid"
+ })
+"akb" = (
+/obj/machinery/disposal/deliveryChute{
+ dir = 4
+ },
+/obj/structure/disposalpipe/trunk{
+ dir = 8
+ },
+/turf/open/floor/plating/asteroid/airless,
+/area/mine/unexplored{
+ name = "AI Asteroid"
+ })
+"akc" = (
+/obj/structure/disposaloutlet{
+ dir = 8
+ },
+/obj/structure/disposalpipe/trunk{
+ dir = 4
+ },
+/turf/open/floor/plating/airless,
+/area/quartermaster/sorting)
+"akd" = (
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/sorting)
+"ake" = (
+/obj/machinery/conveyor{
+ dir = 5;
+ icon_state = "conveyor0";
+ id = "CargoWaste";
+ verted = -1
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/sorting)
+"akf" = (
+/obj/machinery/conveyor{
+ dir = 8;
+ id = "CargoWaste"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/sorting)
+"akg" = (
+/obj/machinery/conveyor{
+ dir = 8;
+ id = "CargoWaste"
+ },
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/sorting)
+"akh" = (
+/obj/structure/disposalpipe/trunk{
+ dir = 4
+ },
+/obj/structure/disposaloutlet{
+ dir = 8
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/sorting)
+"aki" = (
+/obj/structure/disposalpipe/wrapsortjunction{
+ icon_state = "pipe-j1s";
+ dir = 8
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/sorting)
+"akj" = (
+/obj/machinery/disposal/deliveryChute{
+ dir = 4
+ },
+/obj/structure/disposalpipe/trunk{
+ dir = 8
+ },
+/turf/open/floor/plating/airless,
+/area/quartermaster/sorting)
+"akk" = (
+/obj/structure/disposaloutlet{
+ dir = 8
+ },
+/obj/structure/disposalpipe/trunk{
+ dir = 4
+ },
+/turf/open/floor/plating/airless,
+/area/space)
+"akl" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/sign/poster/contraband/kss13{
+ pixel_x = -32
+ },
+/turf/open/floor/plating,
+/area/space)
+"akm" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/item/weapon/bedsheet,
+/obj/structure/sign/poster/contraband/communist_state{
+ pixel_y = 32
+ },
+/obj/effect/landmark/revenantspawn,
+/turf/open/floor/plating,
+/area/space)
+"akn" = (
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
+ },
+/obj/item/clothing/head/ushanka,
+/turf/open/floor/plating,
+/area/space)
+"ako" = (
+/obj/item/trash/can,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"akp" = (
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"akq" = (
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"akr" = (
+/obj/structure/chair/stool,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"aks" = (
+/obj/structure/bed,
+/turf/open/floor/plasteel/airless/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"akt" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"aku" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/machinery/door/poddoor/preopen{
+ id = "permatoggle";
+ name = "prisoner transfer door"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"akv" = (
+/obj/structure/closet/secure_closet/brig,
+/obj/machinery/light{
+ dir = 8
+ },
+/turf/open/floor/plasteel/darkred{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"akw" = (
+/turf/open/floor/plasteel/darkred{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"akx" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel/darkred/side{
+ icon_state = "darkred";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"aky" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel/red/side{
+ icon_state = "red";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"akz" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel/darkred/side{
+ icon_state = "darkred";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"akA" = (
+/obj/structure/closet/secure_closet/brig,
+/obj/machinery/light{
+ dir = 4;
+ icon_state = "tube1"
+ },
+/turf/open/floor/plasteel/darkred{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"akB" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/light/small{
+ dir = 8
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/transfer)
+"akC" = (
+/obj/machinery/light/small,
+/turf/open/floor/plating/asteroid,
+/area/security/transfer)
+"akD" = (
+/obj/effect/decal/cleanable/blood/old,
+/turf/open/floor/plating/asteroid,
+/area/security/transfer)
+"akE" = (
+/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/stripes/asteroid/line{
+ icon_state = "ast_warn";
+ dir = 1
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"akF" = (
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/captain)
+"akG" = (
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/mine/unexplored{
+ name = "Command Asteroid"
+ })
+"akH" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "Fore Asteroid Maintenance Access";
+ req_access_txt = "12"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"akI" = (
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/AIsatextFP{
+ name = "AI Satellite Service"
+ })
+"akJ" = (
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/AIsatextFP{
+ name = "AI Satellite Service"
+ })
+"akK" = (
+/obj/structure/disposalpipe/segment{
+ dir = 1;
+ icon_state = "pipe-c"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 6
+ },
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/AIsatextFP{
+ name = "AI Satellite Service"
+ })
+"akL" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "External Maintenance Access";
+ req_access_txt = "12"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/AIsatextFP{
+ name = "AI Satellite Service"
+ })
+"akM" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/AIsatextFP{
+ name = "AI Satellite Service"
+ })
+"akN" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ on = 1
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/AIsatextFP{
+ name = "AI Satellite Service"
+ })
+"akO" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 8
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/AIsatextFP{
+ name = "AI Satellite Service"
+ })
+"akP" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "External Maintenance Access";
+ req_access_txt = "12"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/AIsatextFP{
+ name = "AI Satellite Service"
+ })
+"akQ" = (
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 10
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/AIsatextFP{
+ name = "AI Satellite Service"
+ })
+"akR" = (
+/turf/open/floor/plating/asteroid/airless,
+/area/mine/unexplored{
+ name = "Cargo Asteroid"
+ })
+"akS" = (
+/obj/machinery/conveyor{
+ dir = 9;
+ icon_state = "conveyor0";
+ id = "CargoWaste";
+ verted = -1
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/sorting)
+"akT" = (
+/obj/machinery/conveyor{
+ dir = 4;
+ id = "CargoWaste"
+ },
+/obj/machinery/recycler,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/sorting)
+"akU" = (
+/obj/machinery/conveyor{
+ dir = 4;
+ id = "CargoWaste"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/sorting)
+"akV" = (
+/obj/machinery/mineral/stacking_machine{
+ input_dir = 8;
+ output_dir = 2
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/sorting)
+"akW" = (
+/obj/structure/disposalpipe/segment{
+ dir = 1;
+ icon_state = "pipe-c"
+ },
+/obj/machinery/mineral/stacking_unit_console{
+ dir = 2;
+ machinedir = 8
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/sorting)
+"akX" = (
+/obj/item/trash/candy,
+/turf/open/floor/plating,
+/area/space)
+"akY" = (
+/obj/effect/decal/remains/human,
+/obj/effect/landmark/xeno_spawn,
+/turf/open/floor/plating,
+/area/space)
+"akZ" = (
+/obj/structure/disposalpipe/segment,
+/obj/structure/glowshroom/single,
+/turf/open/floor/plating,
+/area/space)
+"ala" = (
+/obj/structure/chair{
+ dir = 8
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"alb" = (
+/obj/effect/turf_decal/stripes/asteroid/line{
+ icon_state = "ast_warn";
+ dir = 4
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"alc" = (
+/obj/structure/barricade/wooden,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"ald" = (
+/obj/effect/turf_decal/stripes/asteroid/line{
+ icon_state = "ast_warn";
+ dir = 8
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"ale" = (
+/obj/structure/disposalpipe/segment,
+/obj/effect/spawner/lootdrop/grille_or_trash,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"alf" = (
+/obj/machinery/status_display{
+ density = 0;
+ layer = 4
+ },
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"alg" = (
+/obj/machinery/biogenerator,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"alh" = (
+/obj/machinery/seed_extractor,
+/turf/open/floor/plasteel/airless/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"ali" = (
+/obj/structure/bed,
+/obj/machinery/flasher{
+ id = "PermaCell";
+ pixel_x = 0;
+ pixel_y = -24
+ },
+/turf/open/floor/plasteel/airless/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"alj" = (
+/obj/structure/bed,
+/obj/machinery/light,
+/turf/open/floor/plasteel/airless/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"alk" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/floor/plasteel/airless/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"all" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/transfer)
+"alm" = (
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/transfer)
+"aln" = (
+/obj/structure/mineral_door/iron{
+ name = "Transfer Center"
+ },
+/turf/open/floor/plating/asteroid,
+/area/security/transfer)
+"alo" = (
+/obj/structure/closet/crate,
+/obj/effect/spawner/lootdrop/maintenance,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"alp" = (
+/obj/structure/curtain,
+/obj/machinery/shower{
+ pixel_y = 24
+ },
+/turf/open/floor/plasteel/freezer{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/captain)
+"alq" = (
+/obj/structure/curtain,
+/obj/machinery/shower{
+ pixel_y = 24
+ },
+/obj/item/weapon/bikehorn/rubberducky,
+/turf/open/floor/plasteel/freezer{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/captain)
+"alr" = (
+/obj/effect/turf_decal/stripes/asteroid/line{
+ icon_state = "ast_warn";
+ dir = 1
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"als" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/AIsatextFP{
+ name = "AI Satellite Service"
+ })
+"alt" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/AIsatextFP{
+ name = "AI Satellite Service"
+ })
+"alu" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 5
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/AIsatextFP{
+ name = "AI Satellite Service"
+ })
+"alv" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 9;
+ pixel_y = 0
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/AIsatextFP{
+ name = "AI Satellite Service"
+ })
+"alw" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/effect/landmark/blobstart,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/AIsatextFP{
+ name = "AI Satellite Service"
+ })
+"alx" = (
+/turf/closed/mineral,
+/area/mine/unexplored{
+ name = "Cargo Asteroid"
+ })
+"aly" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/sorting)
+"alz" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/effect/landmark/blobstart,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/sorting)
+"alA" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/machinery/conveyor_switch{
+ id = "CargoWaste"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/sorting)
+"alB" = (
+/obj/effect/turf_decal/delivery,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/sorting)
+"alC" = (
+/obj/effect/turf_decal/stripes/corner{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/sorting)
+"alD" = (
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/sorting)
+"alE" = (
+/obj/structure/disposalpipe/segment,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/sorting)
+"alF" = (
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/mine/unexplored{
+ name = "Cargo Asteroid"
+ })
+"alG" = (
+/obj/item/trash/can,
+/turf/open/floor/plating,
+/area/space)
+"alH" = (
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"alI" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"alJ" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/machinery/door/airlock/glass_security{
+ name = "Long-Term Holding Cell";
+ req_access_txt = "2"
+ },
+/turf/open/floor/plasteel/red/side{
+ icon_state = "red";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"alK" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/door/airlock/security{
+ name = "Inmate Transfer Facility";
+ req_access_txt = "2"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/transfer)
+"alL" = (
+/obj/machinery/light/small{
+ dir = 8
+ },
+/obj/item/weapon/ore/glass,
+/turf/open/floor/plating/asteroid,
+/area/security/transfer)
+"alM" = (
+/obj/item/weapon/shovel,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/transfer)
+"alN" = (
+/obj/item/weapon/ore/glass,
+/turf/open/floor/plating/asteroid,
+/area/security/transfer)
+"alO" = (
+/obj/structure/closet/emcloset,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"alP" = (
+/obj/structure/rack,
+/obj/item/weapon/pickaxe/emergency,
+/obj/item/weapon/shovel,
+/obj/item/weapon/storage/bag/ore,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"alQ" = (
+/obj/structure/grille,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"alR" = (
+/obj/machinery/light/small{
+ dir = 1
+ },
+/turf/open/floor/plating/asteroid,
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"alS" = (
+/obj/effect/spawner/lootdrop/grille_or_trash,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"alT" = (
+/obj/structure/reagent_dispensers/fueltank,
+/obj/effect/decal/cleanable/cobweb/cobweb2,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"alU" = (
+/obj/structure/table/wood,
+/obj/item/weapon/paper_bin,
+/obj/item/weapon/stamp/captain,
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/captain)
+"alV" = (
+/obj/structure/table/wood,
+/obj/item/device/modular_computer/laptop/preset/civillian,
+/obj/machinery/light/small{
+ dir = 1
+ },
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/captain)
+"alW" = (
+/obj/machinery/light_switch{
+ pixel_y = 25
+ },
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ on = 1
+ },
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/captain)
+"alX" = (
+/obj/item/weapon/storage/secure/safe{
+ pixel_y = 32
+ },
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/captain)
+"alY" = (
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/captain)
+"alZ" = (
+/obj/structure/sink{
+ icon_state = "sink";
+ dir = 8;
+ pixel_x = -12;
+ pixel_y = 2
+ },
+/obj/structure/mirror{
+ pixel_x = -32
+ },
+/turf/open/floor/plasteel/freezer{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/captain)
+"ama" = (
+/obj/item/weapon/soap/deluxe,
+/turf/open/floor/plasteel/freezer{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/captain)
+"amb" = (
+/obj/machinery/light/small{
+ dir = 8
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"amc" = (
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/AIsatextFP{
+ name = "AI Satellite Service"
+ })
+"amd" = (
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/AIsatextFP{
+ name = "AI Satellite Service"
+ })
+"ame" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/AIsatextFP{
+ name = "AI Satellite Service"
+ })
+"amf" = (
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/sorting)
+"amg" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 4;
+ on = 1
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/sorting)
+"amh" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/sorting)
+"ami" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/camera{
+ c_tag = "Cargo Disposals";
+ dir = 1;
+ icon_state = "camera";
+ network = list("SS13","QM")
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/sorting)
+"amj" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 10
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/sorting)
+"amk" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ on = 1;
+ scrub_N2O = 0;
+ scrub_Toxins = 0
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/sorting)
+"aml" = (
+/obj/machinery/airalarm{
+ dir = 8;
+ icon_state = "alarm0";
+ pixel_x = 24
+ },
+/obj/structure/table,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/sorting)
+"amm" = (
+/obj/structure/bed,
+/obj/machinery/camera{
+ c_tag = "Brig Cell 4";
+ dir = 4;
+ network = list("SS13")
+ },
+/obj/item/weapon/bedsheet,
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"amn" = (
+/obj/machinery/flasher{
+ id = "Cell 4";
+ pixel_x = 0;
+ pixel_y = 24
+ },
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"amo" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 4;
+ on = 1
+ },
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"amp" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/structure/cable/orange{
+ d2 = 4;
+ icon_state = "0-4"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"amq" = (
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 8
+ },
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/obj/machinery/camera{
+ c_tag = "Brig Cells North 1"
+ },
+/obj/machinery/button/flasher{
+ id = "PermaCell";
+ name = "Perma Flash";
+ pixel_x = 0;
+ pixel_y = 32
+ },
+/obj/machinery/button/door{
+ id = "permatoggle";
+ name = "Perma Exchange";
+ pixel_y = 24
+ },
+/obj/machinery/computer/security/telescreen{
+ desc = "Used to watch criminial scum without fear of a rogue water puddle and prison shank.";
+ name = "Prison Monitor";
+ network = list("Prison");
+ pixel_x = -32;
+ pixel_y = 32
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"amr" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"ams" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"amt" = (
+/obj/machinery/airalarm{
+ frequency = 1439;
+ locked = 0;
+ pixel_y = 23
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"amu" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"amv" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 9
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel/red/side{
+ icon_state = "red";
+ dir = 6;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"amw" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 5
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/holopad,
+/turf/open/floor/plasteel/red/side{
+ icon_state = "red";
+ dir = 10;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"amx" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"amy" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"amz" = (
+/obj/machinery/firealarm{
+ pixel_y = 24
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"amA" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 10
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"amB" = (
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 6
+ },
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/obj/machinery/camera{
+ c_tag = "Brig Cells North 2"
+ },
+/obj/structure/extinguisher_cabinet{
+ pixel_y = 32
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"amC" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/structure/cable/orange{
+ d2 = 8;
+ icon_state = "0-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"amD" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 8;
+ layer = 2.4;
+ on = 1
+ },
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"amE" = (
+/obj/machinery/flasher{
+ id = "Cell 8";
+ pixel_x = 0;
+ pixel_y = 24
+ },
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"amF" = (
+/obj/structure/bed,
+/obj/machinery/camera{
+ c_tag = "Brig Cell 8";
+ dir = 9;
+ icon_state = "camera";
+ network = list("SS13");
+ tag = "icon-camera (NORTHWEST)"
+ },
+/obj/item/weapon/bedsheet,
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"amG" = (
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ icon_plating = "asteroid_dug";
+ icon_state = "asteroid_dug";
+ name = "ditch"
+ },
+/area/security/transfer)
+"amH" = (
+/obj/machinery/light/small{
+ dir = 8
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"amI" = (
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"amJ" = (
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"amK" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"amL" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/item/device/assembly/mousetrap/armed,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"amM" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/spawner/lootdrop/grille_or_trash,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"amN" = (
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"amO" = (
+/obj/structure/table/wood,
+/obj/item/device/flashlight/lamp,
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/captain)
+"amP" = (
+/obj/structure/chair{
+ dir = 1
+ },
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/captain)
+"amQ" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/captain)
+"amR" = (
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/captain)
+"amS" = (
+/obj/machinery/door/airlock{
+ name = "Bathroom"
+ },
+/turf/open/floor/plasteel/freezer{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/captain)
+"amT" = (
+/obj/machinery/light/small,
+/turf/open/floor/plasteel/freezer{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/captain)
+"amU" = (
+/turf/open/floor/plasteel/freezer{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/captain)
+"amV" = (
+/obj/machinery/door/airlock{
+ id_tag = "bc"
+ },
+/turf/open/floor/plasteel/freezer{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/captain)
+"amW" = (
+/obj/machinery/button/door{
+ id = "bc";
+ name = "Privacy Bolts";
+ normaldoorcontrol = 1;
+ pixel_x = 24
+ },
+/obj/structure/toilet{
+ icon_state = "toilet00";
+ dir = 8
+ },
+/obj/machinery/light/small{
+ dir = 1
+ },
+/turf/open/floor/plasteel/freezer{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/captain)
+"amX" = (
+/obj/machinery/camera/motion{
+ c_tag = "Bridge Escape Pod External";
+ dir = 8
+ },
+/turf/open/space,
+/area/space)
+"amY" = (
+/obj/machinery/power/apc{
+ dir = 2;
+ name = "AI Asteroid APC";
+ pixel_y = -24
+ },
+/obj/structure/cable{
+ icon_state = "0-4";
+ d2 = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/AIsatextFP{
+ name = "AI Satellite Service"
+ })
+"amZ" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/AIsatextFP{
+ name = "AI Satellite Service"
+ })
+"ana" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/machinery/camera{
+ c_tag = "AI Asteroid Hallway 2";
+ dir = 4;
+ icon_state = "camera"
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/AIsatextFP{
+ name = "AI Satellite Service"
+ })
+"anb" = (
+/obj/machinery/holopad,
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/AIsatextFP{
+ name = "AI Satellite Service"
+ })
+"anc" = (
+/obj/machinery/light{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/AIsatextFP{
+ name = "AI Satellite Service"
+ })
+"and" = (
+/turf/closed/mineral/random/labormineral,
+/area/mine/unexplored{
+ name = "Cargo Asteroid"
+ })
+"ane" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "Disposals";
+ req_access_txt = "12;31"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/sorting)
+"anf" = (
+/obj/structure/table,
+/obj/item/weapon/storage/box,
+/obj/item/weapon/storage/box,
+/obj/item/weapon/storage/box,
+/obj/item/weapon/storage/box,
+/obj/item/weapon/storage/box,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/sorting)
+"ang" = (
+/obj/structure/table,
+/obj/item/device/destTagger,
+/obj/item/stack/packageWrap,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/sorting)
+"anh" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/sorting)
+"ani" = (
+/obj/machinery/light,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/sorting)
+"anj" = (
+/obj/structure/filingcabinet/chestdrawer,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/sorting)
+"ank" = (
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/miningdock)
+"anl" = (
+/obj/machinery/disposal/deliveryChute,
+/obj/structure/disposalpipe/trunk{
+ dir = 1
+ },
+/turf/open/floor/plating/airless,
+/area/space)
+"anm" = (
+/obj/machinery/light/small{
+ dir = 8
+ },
+/obj/machinery/holopad,
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"ann" = (
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"ano" = (
+/obj/machinery/door/window/brigdoor/westleft{
+ id = "Cell 4";
+ name = "Cell Door 4";
+ req_access_txt = "1"
+ },
+/turf/open/floor/plasteel/red/side{
+ icon_state = "red";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"anp" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"anq" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/red/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"anr" = (
+/turf/open/floor/plasteel/red/side{
+ icon_state = "red";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"ans" = (
+/turf/open/floor/plasteel/red{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"ant" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/red/corner{
+ icon_state = "redcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"anu" = (
+/obj/machinery/door/window/brigdoor/eastleft{
+ id = "Cell 8";
+ name = "Cell Door 8";
+ req_access_txt = "1"
+ },
+/turf/open/floor/plasteel/red/side{
+ icon_state = "red";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"anv" = (
+/obj/effect/landmark/event_spawn,
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"anw" = (
+/obj/machinery/light/small{
+ dir = 4
+ },
+/obj/machinery/holopad,
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"anx" = (
+/obj/effect/decal/remains/human,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ icon_plating = "asteroid_dug";
+ icon_state = "asteroid_dug";
+ name = "ditch"
+ },
+/area/security/transfer)
+"any" = (
+/obj/structure/disposalpipe/sortjunction{
+ name = "disposal pipe - Custodials";
+ sortType = 22
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"anz" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"anA" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 1;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"anB" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"anC" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"anD" = (
+/obj/machinery/power/apc{
+ dir = 4;
+ name = "Captain's Private Quarters APC";
+ pixel_x = 23;
+ pixel_y = 2
+ },
+/obj/structure/cable/orange{
+ d2 = 8;
+ icon_state = "0-8"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/captain)
+"anE" = (
+/obj/structure/table/wood,
+/obj/item/weapon/pinpointer,
+/obj/item/weapon/disk/nuclear,
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/captain)
+"anF" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ on = 1
+ },
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/captain)
+"anG" = (
+/obj/structure/bed,
+/obj/item/weapon/bedsheet/captain,
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/captain)
+"anH" = (
+/obj/machinery/status_display{
+ density = 0;
+ layer = 4
+ },
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/captain)
+"anI" = (
+/obj/docking_port/stationary/random{
+ dir = 1;
+ id = "pod_asteroid1";
+ name = "asteroid"
+ },
+/turf/open/space,
+/area/space)
+"anJ" = (
+/obj/machinery/door/airlock/glass_external{
+ cyclelinkeddir = 2
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/AIsatextFP{
+ name = "AI Satellite Service"
+ })
+"anK" = (
+/obj/machinery/ai_status_display{
+ pixel_x = 32
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/AIsatextFP{
+ name = "AI Satellite Service"
+ })
+"anL" = (
+/obj/machinery/door/airlock/glass_external{
+ cyclelinkeddir = 2
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/AIsatextFP{
+ name = "AI Satellite Service"
+ })
+"anM" = (
+/obj/structure/cable/orange{
+ d2 = 2;
+ icon_state = "0-2"
+ },
+/obj/machinery/power/apc{
+ dir = 1;
+ name = "Disposals APC";
+ pixel_x = 0;
+ pixel_y = 24
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/sorting)
+"anN" = (
+/obj/structure/closet/firecloset/full,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"anO" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/sorting)
+"anP" = (
+/obj/machinery/door/airlock/glass_mining{
+ name = "Disposals";
+ req_access_txt = "31"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/sorting)
+"anQ" = (
+/obj/structure/disposalpipe/junction{
+ icon_state = "pipe-j1";
+ dir = 1
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/sorting)
+"anR" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"anS" = (
+/obj/structure/lattice/catwalk,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/space,
+/area/space)
+"anT" = (
+/obj/structure/disposalpipe/junction{
+ icon_state = "pipe-j2";
+ dir = 8
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"anU" = (
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"anV" = (
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"anW" = (
+/obj/structure/rack,
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/miningdock)
+"anX" = (
+/obj/structure/rack,
+/obj/item/weapon/shovel,
+/obj/item/clothing/glasses/material/mining,
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/miningdock)
+"anY" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ on = 1;
+ scrub_N2O = 0;
+ scrub_Toxins = 0
+ },
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/miningdock)
+"anZ" = (
+/obj/structure/closet/crate,
+/obj/item/device/flashlight/lantern,
+/obj/item/device/flashlight/lantern,
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/miningdock)
+"aoa" = (
+/obj/structure/closet/secure_closet/brig{
+ id = "Cell 4";
+ name = "Cell 4 Locker"
+ },
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"aob" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ dir = 4;
+ on = 1;
+ scrub_N2O = 0;
+ scrub_Toxins = 0
+ },
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"aoc" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/structure/cable/orange{
+ d2 = 4;
+ icon_state = "0-4"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"aod" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"aoe" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/red/side{
+ icon_state = "red";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"aof" = (
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"aog" = (
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/warden)
+"aoh" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/obj/structure/cable/orange{
+ d2 = 4;
+ icon_state = "0-4"
+ },
+/obj/machinery/door/poddoor/preopen{
+ id = "prisonbreak";
+ name = "emergency prisoner containment blast door"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/warden)
+"aoi" = (
+/obj/machinery/door/airlock/glass_security{
+ name = "Brig Control";
+ req_access_txt = "3"
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/turf/open/floor/plasteel/red{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/warden)
+"aoj" = (
+/obj/machinery/door/airlock/glass_security{
+ name = "Brig Control";
+ req_access_txt = "3"
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel/red{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/warden)
+"aok" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/obj/structure/cable/orange{
+ d2 = 8;
+ icon_state = "0-8"
+ },
+/obj/machinery/door/poddoor/preopen{
+ id = "prisonbreak";
+ name = "emergency prisoner containment blast door"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/warden)
+"aol" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 8
+ },
+/turf/open/floor/plasteel/red/side{
+ icon_state = "red";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"aom" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"aon" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/structure/cable/orange{
+ d2 = 8;
+ icon_state = "0-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"aoo" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ dir = 8;
+ on = 1;
+ scrub_Toxins = 0
+ },
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"aop" = (
+/obj/structure/closet/secure_closet/brig{
+ id = "Cell 8";
+ name = "Cell 8 Locker"
+ },
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"aoq" = (
+/obj/structure/closet/firecloset/full,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aor" = (
+/obj/machinery/light/small{
+ dir = 1
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aos" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/grille,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aot" = (
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aou" = (
+/obj/structure/disposalpipe/segment{
+ dir = 1;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aov" = (
+/obj/structure/disposalpipe/segment,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aow" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aox" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aoy" = (
+/obj/machinery/light/small{
+ dir = 4
+ },
+/turf/open/floor/plating/asteroid,
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aoz" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/captain)
+"aoA" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 5
+ },
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/captain)
+"aoB" = (
+/obj/structure/bed,
+/obj/item/weapon/bedsheet/captain,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/effect/landmark/start/captain,
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/captain)
+"aoC" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/captain)
+"aoD" = (
+/obj/machinery/suit_storage_unit/captain,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/captain)
+"aoE" = (
+/obj/machinery/light/small{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/machinery/holopad,
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/captain)
+"aoF" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/machinery/requests_console{
+ announcementConsole = 1;
+ department = "Captain's Desk";
+ departmentType = 5;
+ name = "Captain RC";
+ pixel_x = 0;
+ pixel_y = 30
+ },
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/captain)
+"aoG" = (
+/obj/machinery/door/window/eastright{
+ name = "Captain's Desk";
+ req_access_txt = "20"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/machinery/keycard_auth{
+ pixel_y = 24
+ },
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/captain)
+"aoH" = (
+/obj/machinery/airalarm{
+ frequency = 1439;
+ locked = 0;
+ pixel_y = 23
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 10
+ },
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/captain)
+"aoI" = (
+/obj/machinery/light{
+ dir = 1
+ },
+/obj/machinery/disposal/bin,
+/obj/structure/disposalpipe/trunk,
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/captain)
+"aoJ" = (
+/obj/structure/table/wood,
+/obj/item/weapon/storage/lockbox/medal,
+/obj/machinery/camera{
+ c_tag = "Captain's Office"
+ },
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/captain)
+"aoK" = (
+/obj/structure/table/wood,
+/obj/item/weapon/book/manual/wiki/security_space_law,
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/captain)
+"aoL" = (
+/obj/structure/displaycase/captain,
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/captain)
+"aoM" = (
+/turf/closed/wall/mineral/titanium,
+/area/shuttle/pod_1)
+"aoN" = (
+/obj/structure/grille,
+/obj/structure/window/shuttle,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/shuttle/pod_1)
+"aoO" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/machinery/light/small{
+ dir = 4
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/obj/structure/fans/tiny,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/AIsatextFP{
+ name = "AI Satellite Service"
+ })
+"aoP" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/light/small{
+ dir = 8
+ },
+/obj/structure/fans/tiny,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/AIsatextFP{
+ name = "AI Satellite Service"
+ })
+"aoQ" = (
+/obj/machinery/light/small{
+ dir = 8
+ },
+/turf/open/floor/plating/asteroid,
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aoR" = (
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aoS" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aoT" = (
+/obj/machinery/power/apc{
+ dir = 4;
+ name = "Cargo APC";
+ pixel_x = 23;
+ pixel_y = 2
+ },
+/obj/structure/cable/orange{
+ d2 = 8;
+ icon_state = "0-8"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"aoU" = (
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"aoV" = (
+/obj/machinery/light{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"aoW" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"aoX" = (
+/obj/machinery/disposal/bin,
+/obj/structure/disposalpipe/trunk{
+ dir = 1
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"aoY" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"aoZ" = (
+/turf/closed/wall/mineral/titanium,
+/area/shuttle/supply)
+"apa" = (
+/obj/structure/disposalpipe/segment{
+ dir = 1;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"apb" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"apc" = (
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"apd" = (
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"ape" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"apf" = (
+/obj/machinery/door/poddoor/shutters{
+ id = "MiningWarehouse"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/miningdock)
+"apg" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/miningdock)
+"aph" = (
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/miningdock)
+"api" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/effect/landmark/event_spawn,
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/miningdock)
+"apj" = (
+/obj/structure/closet/crate,
+/obj/item/weapon/ore/slag,
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/miningdock)
+"apk" = (
+/obj/machinery/door_timer{
+ id = "Cell 4";
+ name = "Cell 4";
+ pixel_x = -32;
+ pixel_y = 0
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"apl" = (
+/obj/machinery/light{
+ dir = 4;
+ icon_state = "tube1"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"apm" = (
+/obj/machinery/power/apc{
+ dir = 8;
+ name = "Brig Control APC";
+ pixel_x = -25;
+ pixel_y = 1
+ },
+/obj/structure/cable/orange{
+ d2 = 4;
+ icon_state = "0-4"
+ },
+/turf/open/floor/plasteel/showroomfloor{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/warden)
+"apn" = (
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel/showroomfloor{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/warden)
+"apo" = (
+/turf/open/floor/plasteel/showroomfloor{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/warden)
+"app" = (
+/obj/structure/rack,
+/obj/item/clothing/mask/gas/sechailer{
+ pixel_x = -3;
+ pixel_y = 3
+ },
+/obj/item/clothing/mask/gas/sechailer,
+/obj/item/clothing/mask/gas/sechailer{
+ pixel_x = 3;
+ pixel_y = -3
+ },
+/obj/machinery/button/door{
+ id = "prisonbreak";
+ name = "Cell Block Breach Emergency Lockdown";
+ pixel_x = 24
+ },
+/obj/machinery/button/door{
+ id = "frontbrig";
+ name = "External Brig Emergency Blastdoors";
+ pixel_x = 24;
+ pixel_y = -8
+ },
+/turf/open/floor/plasteel/showroomfloor{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/warden)
+"apq" = (
+/obj/machinery/light{
+ dir = 8
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"apr" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/red/side{
+ icon_state = "red";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"aps" = (
+/obj/machinery/door_timer{
+ id = "Cell 8";
+ name = "Cell 8";
+ pixel_x = 32;
+ pixel_y = 0
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"apt" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"apu" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"apv" = (
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/sleep_female)
+"apw" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/disposalpipe/segment,
+/obj/effect/spawner/lootdrop/grille_or_trash,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"apx" = (
+/obj/structure/grille,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"apy" = (
+/obj/structure/dresser,
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/captain)
+"apz" = (
+/obj/structure/closet/secure_closet/captains,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/captain)
+"apA" = (
+/obj/machinery/light/small,
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/captain)
+"apB" = (
+/obj/machinery/door/airlock/command{
+ name = "Captain's Quarters";
+ req_access = null;
+ req_access_txt = "20"
+ },
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/captain)
+"apC" = (
+/obj/structure/chair/office/dark,
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/captain)
+"apD" = (
+/obj/structure/table/wood,
+/obj/structure/window/reinforced{
+ dir = 4;
+ pixel_x = 0
+ },
+/obj/item/weapon/melee/chainofcommand,
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/captain)
+"apE" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/captain)
+"apF" = (
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/captain)
+"apG" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ on = 1
+ },
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/captain)
+"apH" = (
+/mob/living/simple_animal/pet/fox/Renault,
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/captain)
+"apI" = (
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/captain)
+"apJ" = (
+/obj/structure/chair{
+ dir = 1
+ },
+/obj/machinery/computer/shuttle/pod{
+ pixel_x = -32;
+ pixel_y = 0;
+ possible_destinations = "pod_asteroid1";
+ shuttleId = "pod1"
+ },
+/obj/machinery/light/small{
+ dir = 4
+ },
+/turf/open/floor/mineral/titanium/blue,
+/area/shuttle/pod_1)
+"apK" = (
+/obj/machinery/door/airlock/glass_external{
+ cyclelinkeddir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/AIsatextFP{
+ name = "AI Satellite Service"
+ })
+"apL" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 5
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/AIsatextFP{
+ name = "AI Satellite Service"
+ })
+"apM" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ dir = 8;
+ on = 1;
+ scrub_Toxins = 0
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/AIsatextFP{
+ name = "AI Satellite Service"
+ })
+"apN" = (
+/obj/machinery/door/airlock/glass_external{
+ cyclelinkeddir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/AIsatextFP{
+ name = "AI Satellite Service"
+ })
+"apO" = (
+/obj/structure/grille/broken,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"apP" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/effect/spawner/lootdrop/grille_or_trash,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"apQ" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"apR" = (
+/turf/open/floor/mineral/titanium/blue,
+/area/shuttle/supply)
+"apS" = (
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"apT" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 2;
+ on = 1
+ },
+/obj/effect/landmark/xeno_spawn,
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/miningdock)
+"apU" = (
+/obj/structure/closet/crate{
+ icon_state = "crateopen";
+ opened = 1
+ },
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/miningdock)
+"apV" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/miningdock)
+"apW" = (
+/obj/machinery/light/small{
+ dir = 4
+ },
+/obj/structure/ore_box,
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/miningdock)
+"apX" = (
+/obj/machinery/power/apc{
+ dir = 4;
+ name = "Cell Block APC";
+ pixel_x = 23;
+ pixel_y = 2
+ },
+/obj/structure/cable/orange,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"apY" = (
+/obj/structure/bed,
+/obj/machinery/camera{
+ c_tag = "Brig Cell 3";
+ dir = 4;
+ network = list("SS13")
+ },
+/obj/item/weapon/bedsheet,
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"apZ" = (
+/obj/machinery/flasher{
+ id = "Cell 3";
+ pixel_x = 0;
+ pixel_y = 24
+ },
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"aqa" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"aqb" = (
+/obj/structure/table,
+/obj/machinery/firealarm{
+ dir = 8;
+ pixel_x = -24
+ },
+/obj/machinery/light{
+ dir = 1
+ },
+/obj/item/weapon/storage/firstaid/regular{
+ pixel_x = 0
+ },
+/turf/open/floor/plasteel/showroomfloor{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/warden)
+"aqc" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel/showroomfloor{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/warden)
+"aqd" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 6
+ },
+/turf/open/floor/plasteel/showroomfloor{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/warden)
+"aqe" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 8;
+ layer = 2.4;
+ on = 1
+ },
+/turf/open/floor/plasteel/showroomfloor{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/warden)
+"aqf" = (
+/obj/structure/table,
+/obj/machinery/recharger,
+/obj/machinery/newscaster/security_unit{
+ pixel_x = 32
+ },
+/turf/open/floor/plasteel/showroomfloor{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/warden)
+"aqg" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 8
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"aqh" = (
+/obj/machinery/flasher{
+ id = "Cell 7";
+ pixel_x = 0;
+ pixel_y = 24
+ },
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"aqi" = (
+/obj/structure/bed,
+/obj/machinery/camera{
+ c_tag = "Brig Cell 7";
+ dir = 9;
+ icon_state = "camera";
+ network = list("SS13")
+ },
+/obj/item/weapon/bedsheet,
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"aqj" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/effect/spawner/lootdrop/grille_or_trash,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aqk" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/disposalpipe/segment,
+/obj/item/device/assembly/mousetrap/armed,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aql" = (
+/obj/machinery/power/apc{
+ dir = 2;
+ name = "Dorm APC";
+ pixel_y = -24
+ },
+/obj/structure/cable/orange,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/locker)
+"aqm" = (
+/obj/structure/closet/crate,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aqn" = (
+/obj/machinery/light/small{
+ dir = 1
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/sleep_female)
+"aqo" = (
+/obj/structure/bed,
+/obj/item/weapon/bedsheet/blue,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/sleep_female)
+"aqp" = (
+/obj/structure/bed,
+/obj/item/weapon/bedsheet/orange,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/sleep_female)
+"aqq" = (
+/obj/machinery/light/small{
+ dir = 1
+ },
+/obj/structure/sign/poster/random{
+ name = "random official poster";
+ pixel_x = -32;
+ random_basetype = /obj/structure/sign/poster/official
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/sleep_female)
+"aqr" = (
+/obj/structure/bed,
+/obj/item/weapon/bedsheet/purple,
+/obj/effect/landmark/start/assistant,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/sleep_female)
+"aqs" = (
+/obj/machinery/camera/motion{
+ c_tag = "Bridge Maintenance Eastl";
+ dir = 8
+ },
+/turf/open/floor/plating/asteroid,
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aqt" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 5
+ },
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/captain)
+"aqu" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/captain)
+"aqv" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 10
+ },
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/captain)
+"aqw" = (
+/obj/structure/table/wood,
+/obj/structure/window/reinforced,
+/obj/item/weapon/hand_tele,
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/captain)
+"aqx" = (
+/obj/structure/window/reinforced,
+/obj/machinery/computer/card,
+/obj/item/weapon/card/id/captains_spare,
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/captain)
+"aqy" = (
+/obj/structure/window/reinforced,
+/obj/machinery/computer/communications,
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/captain)
+"aqz" = (
+/obj/structure/table/wood,
+/obj/structure/window/reinforced{
+ dir = 4;
+ pixel_x = 0
+ },
+/obj/structure/window/reinforced,
+/obj/machinery/recharger,
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/captain)
+"aqA" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 5
+ },
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/captain)
+"aqB" = (
+/obj/structure/chair/comfy/brown{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/captain)
+"aqC" = (
+/obj/structure/table/wood,
+/obj/item/weapon/storage/photo_album,
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/captain)
+"aqD" = (
+/obj/structure/table/wood,
+/obj/item/toy/figure/captain,
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/captain)
+"aqE" = (
+/obj/structure/chair/comfy/brown{
+ dir = 8
+ },
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/captain)
+"aqF" = (
+/obj/structure/chair{
+ dir = 1
+ },
+/obj/item/weapon/storage/pod{
+ pixel_x = -24
+ },
+/obj/item/device/radio/intercom{
+ pixel_x = 32
+ },
+/turf/open/floor/mineral/titanium/blue,
+/area/shuttle/pod_1)
+"aqG" = (
+/obj/structure/girder,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aqH" = (
+/obj/effect/spawner/lootdrop/grille_or_trash,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aqI" = (
+/obj/structure/lattice/catwalk,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 5
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/turf/open/space,
+/area/space)
+"aqJ" = (
+/obj/machinery/door/airlock/glass,
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/AIsatextFP{
+ name = "AI Satellite Service"
+ })
+"aqK" = (
+/obj/machinery/door/airlock/glass,
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/AIsatextFP{
+ name = "AI Satellite Service"
+ })
+"aqL" = (
+/obj/machinery/door/airlock/glass,
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/AIsatextFP{
+ name = "AI Satellite Service"
+ })
+"aqM" = (
+/obj/structure/lattice/catwalk,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 9
+ },
+/turf/open/space,
+/area/space)
+"aqN" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/item/device/assembly/mousetrap/armed,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aqO" = (
+/obj/machinery/camera{
+ c_tag = "Cargo Western Loading Bay 2";
+ dir = 5;
+ icon_state = "camera";
+ network = list("SS13","QM")
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"aqP" = (
+/obj/machinery/computer/cargo,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"aqQ" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 6
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"aqR" = (
+/obj/machinery/door/airlock/mining{
+ req_access_txt = "48"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/miningdock)
+"aqS" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/miningdock)
+"aqT" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 10
+ },
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/miningdock)
+"aqU" = (
+/obj/structure/reagent_dispensers/watertank,
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/miningdock)
+"aqV" = (
+/obj/machinery/door/window/brigdoor/westleft{
+ id = "Cell 3";
+ name = "Cell Door 3";
+ req_access_txt = "1"
+ },
+/turf/open/floor/plasteel/red/side{
+ icon_state = "red";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"aqW" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/obj/structure/cable/orange{
+ d2 = 2;
+ icon_state = "0-2"
+ },
+/obj/machinery/door/poddoor/preopen{
+ id = "prisonbreak";
+ name = "emergency prisoner containment blast door"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/warden)
+"aqX" = (
+/obj/machinery/computer/prisoner,
+/turf/open/floor/plasteel/showroomfloor{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/warden)
+"aqY" = (
+/obj/structure/chair/office/light{
+ dir = 8
+ },
+/obj/effect/landmark/start/warden,
+/turf/open/floor/plasteel/showroomfloor{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/warden)
+"aqZ" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/holopad,
+/turf/open/floor/plasteel/showroomfloor{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/warden)
+"ara" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel/showroomfloor{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/warden)
+"arb" = (
+/obj/structure/chair/office/light{
+ dir = 4
+ },
+/turf/open/floor/plasteel/showroomfloor{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/warden)
+"arc" = (
+/obj/machinery/computer/crew,
+/turf/open/floor/plasteel/showroomfloor{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/warden)
+"ard" = (
+/obj/machinery/door/window/brigdoor/eastleft{
+ id = "Cell 7";
+ name = "Cell Door 7";
+ req_one_access_txt = "1"
+ },
+/turf/open/floor/plasteel/red/side{
+ icon_state = "red";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"are" = (
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/locker)
+"arf" = (
+/obj/machinery/status_display{
+ density = 0;
+ layer = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/locker)
+"arg" = (
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/sleep_female)
+"arh" = (
+/obj/structure/bed,
+/obj/item/weapon/bedsheet/blue,
+/obj/structure/window,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/sleep_female)
+"ari" = (
+/obj/structure/sign/poster/random{
+ name = "random official poster";
+ pixel_x = -32;
+ random_basetype = /obj/structure/sign/poster/official
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/sleep_female)
+"arj" = (
+/obj/structure/bed,
+/obj/item/weapon/bedsheet/orange,
+/obj/structure/window,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/sleep_female)
+"ark" = (
+/obj/structure/bed,
+/obj/item/weapon/bedsheet/purple,
+/obj/structure/window,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/sleep_female)
+"arl" = (
+/obj/machinery/camera{
+ c_tag = "Fore Asteroid Maintenance APCs 2";
+ dir = 5;
+ icon_state = "camera"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"arm" = (
+/obj/structure/rack,
+/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/decal/cleanable/cobweb/cobweb2,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"arn" = (
+/obj/machinery/computer/arcade,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/captain)
+"aro" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/captain)
+"arp" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 10
+ },
+/obj/machinery/holopad,
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/captain)
+"arq" = (
+/obj/structure/chair/comfy/brown{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/captain)
+"arr" = (
+/obj/structure/table/wood,
+/obj/item/weapon/folder/red{
+ pixel_x = 8;
+ pixel_y = 6
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/captain)
+"ars" = (
+/obj/structure/table/wood,
+/obj/item/device/camera,
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/captain)
+"art" = (
+/obj/structure/shuttle/engine/propulsion/burst,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/shuttle/pod_1)
+"aru" = (
+/obj/machinery/door/airlock/shuttle{
+ name = "Escape Pod Airlock"
+ },
+/obj/docking_port/mobile/pod{
+ dir = 1;
+ id = "pod1";
+ name = "escape pod 1";
+ port_angle = 90
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/shuttle/pod_1)
+"arv" = (
+/obj/structure/closet/crate,
+/obj/item/weapon/pickaxe/mini,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"arw" = (
+/obj/structure/lattice/catwalk,
+/turf/open/space,
+/area/space)
+"arx" = (
+/obj/structure/lattice/catwalk,
+/obj/structure/window/reinforced{
+ dir = 4;
+ pixel_x = 0
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/obj/structure/grille,
+/turf/open/space,
+/area/space)
+"ary" = (
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/turf/open/floor/engine,
+/area/space)
+"arz" = (
+/turf/open/floor/engine,
+/area/space)
+"arA" = (
+/obj/structure/window/reinforced{
+ dir = 4;
+ pixel_x = 0
+ },
+/turf/open/floor/engine,
+/area/space)
+"arB" = (
+/obj/structure/lattice/catwalk,
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/grille,
+/turf/open/space,
+/area/space)
+"arC" = (
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/storage)
+"arD" = (
+/obj/machinery/requests_console{
+ department = "Cargo Bay";
+ departmentType = 2;
+ name = "Cargo RC";
+ pixel_x = -30;
+ pixel_y = 0
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"arE" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/effect/turf_decal/delivery,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"arF" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/effect/turf_decal/delivery,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"arG" = (
+/obj/machinery/conveyor{
+ dir = 4;
+ id = "QMLoad"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"arH" = (
+/obj/machinery/conveyor{
+ dir = 4;
+ id = "QMLoad"
+ },
+/obj/machinery/door/poddoor{
+ id = "QMLoaddoor2";
+ name = "supply dock loading door"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"arI" = (
+/obj/machinery/conveyor{
+ dir = 4;
+ id = "QMLoad"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"arJ" = (
+/obj/machinery/conveyor{
+ dir = 4;
+ id = "QMLoad"
+ },
+/obj/machinery/door/poddoor{
+ id = "QMLoaddoor2";
+ name = "supply dock loading door"
+ },
+/turf/open/floor/plating,
+/area/shuttle/supply)
+"arK" = (
+/obj/machinery/door/airlock/shuttle{
+ name = "Supply Shuttle Airlock";
+ req_access_txt = "31"
+ },
+/turf/open/floor/plating,
+/area/shuttle/supply)
+"arL" = (
+/obj/machinery/door/airlock/external{
+ cyclelinkeddir = 8;
+ name = "Supply Dock Airlock";
+ req_access_txt = "31"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"arM" = (
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"arN" = (
+/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/delivery,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"arO" = (
+/obj/effect/turf_decal/delivery,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"arP" = (
+/obj/machinery/requests_console{
+ department = "Cargo Bay";
+ departmentType = 2;
+ name = "Cargo RC";
+ pixel_x = 30;
+ pixel_y = 0
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/camera{
+ c_tag = "Cargo Eastern Loading Bay 1";
+ dir = 8;
+ icon_state = "camera";
+ network = list("SS13","QM")
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"arQ" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/miningdock)
+"arR" = (
+/obj/machinery/button/door{
+ id = "MiningWarehouse";
+ name = "Mining Warehouse Shutters";
+ pixel_x = 0;
+ pixel_y = -24
+ },
+/obj/structure/reagent_dispensers/fueltank,
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/miningdock)
+"arS" = (
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/main)
+"arT" = (
+/obj/structure/closet/secure_closet/brig{
+ id = "Cell 3";
+ name = "Cell 3 Locker"
+ },
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"arU" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 4
+ },
+/obj/machinery/holopad,
+/turf/open/floor/plasteel/red/side{
+ icon_state = "red";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"arV" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/obj/structure/cable/orange{
+ d2 = 4;
+ icon_state = "0-4"
+ },
+/obj/machinery/door/poddoor/preopen{
+ id = "prisonbreak";
+ name = "emergency prisoner containment blast door"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/warden)
+"arW" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/filingcabinet/chestdrawer/wheeled,
+/turf/open/floor/plasteel/showroomfloor{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/warden)
+"arX" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel/showroomfloor{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/warden)
+"arY" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/obj/effect/landmark/event_spawn,
+/turf/open/floor/plasteel/showroomfloor{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/warden)
+"arZ" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel/showroomfloor{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/warden)
+"asa" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/obj/structure/cable/orange{
+ d2 = 8;
+ icon_state = "0-8"
+ },
+/obj/machinery/door/poddoor/preopen{
+ id = "prisonbreak";
+ name = "emergency prisoner containment blast door"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/warden)
+"asb" = (
+/obj/structure/closet/secure_closet/brig{
+ id = "Cell 7";
+ name = "Cell 7 Locker"
+ },
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"asc" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"asd" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 6
+ },
+/obj/machinery/camera{
+ c_tag = "Dorm Commons North";
+ dir = 4;
+ icon_state = "camera"
+ },
+/obj/item/weapon/twohanded/required/kirbyplants{
+ icon_state = "plant-22"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/locker)
+"ase" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/locker)
+"asf" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/item/device/radio/intercom{
+ broadcasting = 0;
+ name = "Station Intercom (General)";
+ pixel_y = 20
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/locker)
+"asg" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 1
+ },
+/obj/structure/extinguisher_cabinet{
+ pixel_y = 32
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/locker)
+"ash" = (
+/obj/machinery/airalarm{
+ frequency = 1439;
+ locked = 0;
+ pixel_y = 23
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/machinery/light{
+ dir = 4;
+ icon_state = "tube1"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/locker)
+"asi" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/sleep_female)
+"asj" = (
+/obj/machinery/light_switch{
+ pixel_x = -25
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral/side{
+ tag = "icon-neutral (SOUTHEAST)";
+ icon_state = "neutral";
+ dir = 6;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/sleep_female)
+"ask" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral/side{
+ tag = "icon-neutral (SOUTHEAST)";
+ icon_state = "neutral";
+ dir = 6;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/sleep_female)
+"asl" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral/side{
+ tag = "icon-neutral (SOUTHWEST)";
+ icon_state = "neutral";
+ dir = 10;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/sleep_female)
+"asm" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/item/device/radio/intercom{
+ broadcasting = 0;
+ name = "Station Intercom (General)";
+ pixel_y = 20
+ },
+/turf/open/floor/plasteel/neutral/side{
+ tag = "icon-neutral (SOUTHWEST)";
+ icon_state = "neutral";
+ dir = 10;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/sleep_female)
+"asn" = (
+/obj/machinery/airalarm{
+ dir = 8;
+ icon_state = "alarm0";
+ pixel_x = 24
+ },
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ dir = 8;
+ on = 1;
+ scrub_Toxins = 0
+ },
+/turf/open/floor/plasteel/neutral/side{
+ tag = "icon-neutral (SOUTHWEST)";
+ icon_state = "neutral";
+ dir = 10;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/sleep_female)
+"aso" = (
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/cmo{
+ name = "Chief Medical Officer's Private Quarters"
+ })
+"asp" = (
+/obj/machinery/vending/cigarette{
+ extended_inventory = 1
+ },
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/captain)
+"asq" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 4;
+ on = 1
+ },
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/captain)
+"asr" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/captain)
+"ass" = (
+/obj/structure/table/wood,
+/obj/item/weapon/folder/blue,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/captain)
+"ast" = (
+/obj/structure/table/wood,
+/obj/item/device/camera_film,
+/obj/item/device/camera_film,
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/captain)
+"asu" = (
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"asv" = (
+/obj/machinery/door/airlock/glass_external{
+ cyclelinkeddir = 4;
+ name = "Command Escape Pod"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"asw" = (
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/chief{
+ name = "Chief Engineer's Private Quarters"
+ })
+"asx" = (
+/obj/structure/closet/crate,
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/storage)
+"asy" = (
+/obj/machinery/light/small{
+ dir = 1
+ },
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/storage)
+"asz" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ on = 1;
+ scrub_N2O = 0;
+ scrub_Toxins = 0
+ },
+/obj/machinery/airalarm{
+ frequency = 1439;
+ locked = 0;
+ pixel_y = 23
+ },
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/storage)
+"asA" = (
+/obj/item/device/radio/intercom{
+ broadcasting = 0;
+ name = "Station Intercom (General)";
+ pixel_x = -28;
+ pixel_y = 0
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"asB" = (
+/obj/machinery/conveyor_switch{
+ id = "QMLoad"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"asC" = (
+/obj/machinery/door/airlock/external{
+ cyclelinkeddir = 8;
+ name = "Supply Dock Airlock";
+ req_access_txt = "31"
+ },
+/obj/machinery/door/poddoor{
+ id = "QMLoaddoor2";
+ name = "supply dock loading door"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"asD" = (
+/obj/machinery/door/airlock/external{
+ cyclelinkeddir = 4;
+ name = "Supply Dock Airlock";
+ req_access_txt = "31"
+ },
+/obj/machinery/door/poddoor{
+ id = "QMLoaddoor2";
+ name = "supply dock loading door"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"asE" = (
+/obj/machinery/door/airlock/shuttle{
+ name = "Supply Shuttle Airlock";
+ req_access_txt = "31"
+ },
+/obj/machinery/door/poddoor{
+ id = "QMLoaddoor2";
+ name = "supply dock loading door"
+ },
+/turf/open/floor/plating,
+/area/shuttle/supply)
+"asF" = (
+/obj/machinery/door/airlock/external{
+ cyclelinkeddir = 4;
+ name = "Supply Dock Airlock";
+ req_access_txt = "31"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"asG" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ on = 1;
+ scrub_N2O = 0;
+ scrub_Toxins = 0
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"asH" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/extinguisher_cabinet{
+ pixel_x = 24
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"asI" = (
+/obj/machinery/door/poddoor/shutters{
+ id = "MiningWarehouse"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/miningdock)
+"asJ" = (
+/obj/machinery/door/airlock/mining{
+ req_access_txt = "48"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/miningdock)
+"asK" = (
+/turf/closed/wall/mineral/titanium,
+/area/shuttle/mining)
+"asL" = (
+/obj/structure/grille,
+/obj/structure/window/shuttle,
+/turf/open/floor/plating,
+/area/shuttle/mining)
+"asM" = (
+/obj/machinery/iv_drip,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/main)
+"asN" = (
+/obj/structure/bed/roller,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/main)
+"asO" = (
+/obj/structure/table,
+/obj/machinery/light{
+ dir = 1
+ },
+/obj/item/clothing/neck/stethoscope,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/main)
+"asP" = (
+/obj/structure/table,
+/obj/item/weapon/storage/firstaid/toxin,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/main)
+"asQ" = (
+/obj/machinery/door_timer{
+ id = "Cell 3";
+ name = "Cell 3";
+ pixel_x = -32;
+ pixel_y = 0
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"asR" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/obj/structure/cable/orange,
+/obj/machinery/door/poddoor/preopen{
+ id = "prisonbreak";
+ name = "emergency prisoner containment blast door"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/warden)
+"asS" = (
+/obj/machinery/computer/secure_data,
+/turf/open/floor/plasteel/showroomfloor{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/warden)
+"asT" = (
+/obj/structure/chair/office/light{
+ dir = 8
+ },
+/turf/open/floor/plasteel/showroomfloor{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/warden)
+"asU" = (
+/obj/machinery/computer/security,
+/turf/open/floor/plasteel/showroomfloor{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/warden)
+"asV" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/machinery/holopad,
+/turf/open/floor/plasteel/red/side{
+ icon_state = "red";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"asW" = (
+/obj/machinery/door_timer{
+ id = "Cell 7";
+ name = "Cell 7";
+ pixel_x = 32;
+ pixel_y = 0
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"asX" = (
+/obj/structure/table,
+/obj/item/device/flashlight/lamp,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"asY" = (
+/obj/structure/closet,
+/obj/effect/decal/cleanable/cobweb/cobweb2,
+/obj/structure/sign/poster/random{
+ name = "random contraband poster";
+ pixel_x = 32;
+ pixel_y = 0;
+ random_basetype = /obj/structure/sign/poster/contraband
+ },
+/obj/effect/spawner/lootdrop/maintenance,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"asZ" = (
+/obj/structure/disposalpipe/segment,
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"ata" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/locker)
+"atb" = (
+/obj/structure/chair/stool,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/locker)
+"atc" = (
+/obj/structure/table/wood,
+/obj/item/toy/dummy,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/locker)
+"atd" = (
+/obj/structure/table/wood,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/locker)
+"ate" = (
+/obj/structure/chair/stool,
+/obj/effect/landmark/start/assistant,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/locker)
+"atf" = (
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/locker)
+"atg" = (
+/obj/machinery/door/airlock{
+ name = "Female Sleeping Quarters"
+ },
+/turf/open/floor/plasteel/neutral/side{
+ tag = "icon-neutral (EAST)";
+ icon_state = "neutral";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/sleep_female)
+"ath" = (
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/sleep_female)
+"ati" = (
+/obj/machinery/light{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/sleep_female)
+"atj" = (
+/obj/machinery/status_display{
+ density = 0;
+ layer = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/sleep_female)
+"atk" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/grille,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"atl" = (
+/obj/structure/bed,
+/obj/item/weapon/bedsheet/cmo,
+/obj/machinery/airalarm{
+ frequency = 1439;
+ locked = 0;
+ pixel_y = 23
+ },
+/obj/item/weapon/storage/secure/safe{
+ pixel_x = -28
+ },
+/obj/effect/landmark/start/chief_medical_officer,
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/cmo{
+ name = "Chief Medical Officer's Private Quarters"
+ })
+"atm" = (
+/obj/machinery/light_switch{
+ pixel_y = 25
+ },
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/cmo{
+ name = "Chief Medical Officer's Private Quarters"
+ })
+"atn" = (
+/obj/structure/table/wood,
+/obj/item/device/modular_computer/laptop/preset/civillian,
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/cmo{
+ name = "Chief Medical Officer's Private Quarters"
+ })
+"ato" = (
+/obj/structure/table/wood,
+/obj/item/weapon/paper_bin,
+/obj/item/weapon/stamp/cmo,
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/cmo{
+ name = "Chief Medical Officer's Private Quarters"
+ })
+"atp" = (
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/cmo{
+ name = "Chief Medical Officer's Private Quarters"
+ })
+"atq" = (
+/obj/machinery/vending/boozeomat,
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/captain)
+"atr" = (
+/obj/machinery/light,
+/obj/machinery/firealarm{
+ dir = 1;
+ pixel_y = -24
+ },
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/captain)
+"ats" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/captain)
+"att" = (
+/obj/machinery/light_switch{
+ pixel_y = -24
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/captain)
+"atu" = (
+/obj/structure/closet/emcloset,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"atv" = (
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"atw" = (
+/obj/structure/table/wood,
+/obj/item/weapon/paper_bin,
+/obj/item/weapon/stamp/ce,
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/chief{
+ name = "Chief Engineer's Private Quarters"
+ })
+"atx" = (
+/obj/structure/table/wood,
+/obj/item/device/modular_computer/laptop/preset/civillian,
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/chief{
+ name = "Chief Engineer's Private Quarters"
+ })
+"aty" = (
+/obj/machinery/light_switch{
+ pixel_y = 25
+ },
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/chief{
+ name = "Chief Engineer's Private Quarters"
+ })
+"atz" = (
+/obj/structure/bed,
+/obj/item/weapon/bedsheet/ce,
+/obj/machinery/airalarm{
+ frequency = 1439;
+ locked = 0;
+ pixel_y = 23
+ },
+/obj/structure/sign/poster/contraband/power{
+ pixel_x = 32
+ },
+/obj/effect/landmark/start/chief_engineer,
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/chief{
+ name = "Chief Engineer's Private Quarters"
+ })
+"atA" = (
+/obj/machinery/power/apc{
+ dir = 8;
+ name = "Chief Engineer's Private Quarters APC";
+ pixel_x = -23;
+ pixel_y = 2
+ },
+/obj/structure/cable/orange{
+ d2 = 2;
+ icon_state = "0-2"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/chief{
+ name = "Chief Engineer's Private Quarters"
+ })
+"atB" = (
+/obj/structure/sign/poster/random{
+ name = "random contraband poster";
+ pixel_x = -32;
+ pixel_y = 0;
+ random_basetype = /obj/structure/sign/poster/contraband
+ },
+/obj/structure/closet/crate,
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/storage)
+"atC" = (
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/storage)
+"atD" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/storage)
+"atE" = (
+/obj/machinery/light{
+ icon_state = "tube1";
+ dir = 8
+ },
+/obj/machinery/newscaster{
+ pixel_x = -28
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"atF" = (
+/obj/machinery/holopad,
+/obj/machinery/button/door{
+ dir = 2;
+ id = "QMLoaddoor2";
+ name = "Loading Doors";
+ pixel_x = 24;
+ pixel_y = 8
+ },
+/obj/machinery/button/door{
+ id = "QMLoaddoor";
+ name = "Loading Doors";
+ pixel_x = 24;
+ pixel_y = -8
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"atG" = (
+/obj/machinery/button/door{
+ dir = 2;
+ id = "QMLoaddoor2";
+ name = "Loading Doors";
+ pixel_x = -24;
+ pixel_y = 8
+ },
+/obj/machinery/button/door{
+ id = "QMLoaddoor";
+ name = "Loading Doors";
+ pixel_x = -24;
+ pixel_y = -8
+ },
+/turf/open/floor/mineral/titanium/blue,
+/area/shuttle/supply)
+"atH" = (
+/obj/machinery/holopad,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"atI" = (
+/obj/machinery/light{
+ icon_state = "tube1";
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/newscaster{
+ pixel_x = 28
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"atJ" = (
+/obj/structure/closet/secure_closet/miner,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/miningdock)
+"atK" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 1;
+ on = 1
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/miningdock)
+"atL" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/miningdock)
+"atM" = (
+/obj/structure/rack,
+/obj/item/weapon/shovel,
+/obj/item/weapon/pickaxe,
+/obj/item/weapon/storage/toolbox/mechanical,
+/obj/machinery/button/door{
+ id = "MiningWarehouse";
+ name = "Mining Warehouse Shutters";
+ pixel_x = 0;
+ pixel_y = 24
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/miningdock)
+"atN" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/miningdock)
+"atO" = (
+/obj/structure/table,
+/obj/machinery/light{
+ icon_state = "tube1";
+ dir = 8
+ },
+/turf/open/floor/mineral/titanium/blue,
+/area/shuttle/mining)
+"atP" = (
+/obj/machinery/computer/shuttle/mining,
+/turf/open/floor/mineral/titanium/blue,
+/area/shuttle/mining)
+"atQ" = (
+/obj/structure/table,
+/obj/machinery/light{
+ dir = 4;
+ icon_state = "tube1"
+ },
+/turf/open/floor/mineral/titanium/blue,
+/area/shuttle/mining)
+"atR" = (
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/processing)
+"atS" = (
+/obj/machinery/status_display{
+ density = 0;
+ layer = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/processing)
+"atT" = (
+/obj/structure/closet/crate/freezer/blood,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/main)
+"atU" = (
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/main)
+"atV" = (
+/obj/structure/table,
+/obj/item/weapon/storage/firstaid/regular,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/main)
+"atW" = (
+/obj/structure/bed,
+/obj/machinery/camera{
+ c_tag = "Brig Cell 2";
+ dir = 4;
+ network = list("SS13")
+ },
+/obj/item/weapon/bedsheet,
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"atX" = (
+/obj/machinery/flasher{
+ id = "Cell 2";
+ pixel_x = 0;
+ pixel_y = 24
+ },
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"atY" = (
+/obj/structure/table,
+/obj/item/key/security,
+/obj/item/clothing/glasses/sunglasses,
+/obj/item/clothing/ears/earmuffs,
+/obj/item/weapon/book/manual/wiki/security_space_law,
+/obj/machinery/camera{
+ c_tag = "Brig Control Center";
+ dir = 4;
+ icon_state = "camera"
+ },
+/turf/open/floor/plasteel/showroomfloor{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/warden)
+"atZ" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ dir = 4;
+ on = 1;
+ scrub_N2O = 0;
+ scrub_Toxins = 0
+ },
+/turf/open/floor/plasteel/showroomfloor{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/warden)
+"aua" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 10
+ },
+/turf/open/floor/plasteel/showroomfloor{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/warden)
+"aub" = (
+/obj/structure/table,
+/obj/machinery/light,
+/obj/machinery/recharger,
+/turf/open/floor/plasteel/showroomfloor{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/warden)
+"auc" = (
+/obj/machinery/flasher{
+ id = "Cell 6";
+ pixel_x = 0;
+ pixel_y = 24
+ },
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"aud" = (
+/obj/structure/bed,
+/obj/machinery/camera{
+ c_tag = "Brig Cell 6";
+ dir = 9;
+ icon_state = "camera";
+ network = list("SS13")
+ },
+/obj/item/weapon/bedsheet,
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"aue" = (
+/obj/structure/table,
+/obj/item/weapon/paper_bin{
+ pixel_x = -3;
+ pixel_y = 7
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"auf" = (
+/obj/structure/chair/stool,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aug" = (
+/obj/structure/rack,
+/obj/effect/spawner/lootdrop/maintenance,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"auh" = (
+/obj/machinery/light{
+ icon_state = "tube1";
+ dir = 8
+ },
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ dir = 1;
+ on = 1
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/locker)
+"aui" = (
+/obj/structure/table/wood,
+/obj/item/device/paicard,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/locker)
+"auj" = (
+/obj/structure/table/wood,
+/obj/item/weapon/storage/firstaid/brute,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/locker)
+"auk" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 6
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/locker)
+"aul" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/sleep_female)
+"aum" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral/side{
+ tag = "icon-neutral (NORTHEAST)";
+ icon_state = "neutral";
+ dir = 5;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/sleep_female)
+"aun" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 8;
+ layer = 2.4;
+ on = 1
+ },
+/turf/open/floor/plasteel/neutral/side{
+ tag = "icon-neutral (NORTHEAST)";
+ icon_state = "neutral";
+ dir = 5;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/sleep_female)
+"auo" = (
+/turf/open/floor/plasteel/neutral/side{
+ tag = "icon-neutral (NORTHEAST)";
+ icon_state = "neutral";
+ dir = 5;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/sleep_female)
+"aup" = (
+/turf/open/floor/plasteel/neutral/side{
+ tag = "icon-neutral (NORTHWEST)";
+ icon_state = "neutral";
+ dir = 9;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/sleep_female)
+"auq" = (
+/obj/structure/cable/orange{
+ d2 = 4;
+ icon_state = "0-4"
+ },
+/obj/machinery/power/apc{
+ dir = 8;
+ name = "Female Sleeping Quarters APC";
+ pixel_x = -25;
+ pixel_y = 1
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/sleep_female)
+"aur" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/item/device/assembly/mousetrap/armed,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aus" = (
+/obj/machinery/light/small{
+ dir = 4
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aut" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ on = 1
+ },
+/obj/machinery/keycard_auth{
+ pixel_x = -24
+ },
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/cmo{
+ name = "Chief Medical Officer's Private Quarters"
+ })
+"auu" = (
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/cmo{
+ name = "Chief Medical Officer's Private Quarters"
+ })
+"auv" = (
+/obj/structure/chair{
+ dir = 1
+ },
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/cmo{
+ name = "Chief Medical Officer's Private Quarters"
+ })
+"auw" = (
+/obj/structure/table/wood,
+/obj/item/device/flashlight/lamp,
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/cmo{
+ name = "Chief Medical Officer's Private Quarters"
+ })
+"aux" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/captain)
+"auy" = (
+/obj/machinery/door/airlock/command{
+ name = "Captain's Office";
+ req_access = null;
+ req_access_txt = "20"
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/captain)
+"auz" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/captain)
+"auA" = (
+/obj/structure/table/wood,
+/obj/item/device/flashlight/lamp,
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/chief{
+ name = "Chief Engineer's Private Quarters"
+ })
+"auB" = (
+/obj/structure/chair{
+ dir = 1
+ },
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/chief{
+ name = "Chief Engineer's Private Quarters"
+ })
+"auC" = (
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/chief{
+ name = "Chief Engineer's Private Quarters"
+ })
+"auD" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ on = 1
+ },
+/obj/item/weapon/storage/secure/safe{
+ pixel_x = 32
+ },
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/chief{
+ name = "Chief Engineer's Private Quarters"
+ })
+"auE" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/item/device/assembly/mousetrap/armed,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"auF" = (
+/obj/structure/closet/crate/medical,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/storage)
+"auG" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/storage)
+"auH" = (
+/obj/machinery/door/poddoor/shutters{
+ id = "CargoWarehouse"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/storage)
+"auI" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"auJ" = (
+/obj/machinery/door/airlock/external{
+ cyclelinkeddir = 8;
+ name = "Supply Dock Airlock";
+ req_access_txt = "31"
+ },
+/obj/machinery/door/poddoor{
+ id = "QMLoaddoor";
+ name = "supply dock loading door"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"auK" = (
+/obj/machinery/door/airlock/external{
+ cyclelinkeddir = 4;
+ name = "Supply Dock Airlock";
+ req_access_txt = "31"
+ },
+/obj/machinery/door/poddoor{
+ id = "QMLoaddoor";
+ name = "supply dock loading door"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"auL" = (
+/obj/machinery/door/airlock/shuttle{
+ name = "Supply Shuttle Airlock";
+ req_access_txt = "31"
+ },
+/obj/machinery/door/poddoor{
+ id = "QMLoaddoor";
+ name = "supply dock loading door"
+ },
+/turf/open/floor/plating,
+/area/shuttle/supply)
+"auM" = (
+/obj/machinery/door/airlock/shuttle{
+ name = "Supply Shuttle Airlock";
+ req_access_txt = "31"
+ },
+/obj/docking_port/mobile/supply{
+ dwidth = 5;
+ width = 12
+ },
+/obj/docking_port/stationary{
+ dir = 8;
+ dwidth = 5;
+ height = 7;
+ id = "supply_home";
+ name = "Cargo Bay";
+ width = 12
+ },
+/turf/open/floor/plating,
+/area/shuttle/supply)
+"auN" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/firealarm{
+ dir = 4;
+ pixel_x = 24
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"auO" = (
+/obj/effect/landmark/start/shaft_miner,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/miningdock)
+"auP" = (
+/obj/machinery/computer/security/mining{
+ network = list("MINE","AuxBase")
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/miningdock)
+"auQ" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/obj/machinery/door/firedoor,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/miningdock)
+"auR" = (
+/obj/structure/closet/crate,
+/obj/item/weapon/ore/silver,
+/obj/item/weapon/ore/silver,
+/obj/item/weapon/ore/silver,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/miningdock)
+"auS" = (
+/obj/structure/closet/emcloset,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/miningdock)
+"auT" = (
+/turf/open/floor/mineral/titanium/blue,
+/area/shuttle/mining)
+"auU" = (
+/obj/structure/chair{
+ dir = 1
+ },
+/turf/open/floor/mineral/titanium/blue,
+/area/shuttle/mining)
+"auV" = (
+/obj/machinery/gulag_teleporter,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/processing)
+"auW" = (
+/obj/machinery/computer/gulag_teleporter_computer,
+/obj/machinery/camera{
+ c_tag = "Labor Shuttle Dock North"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/processing)
+"auX" = (
+/obj/machinery/computer/security{
+ name = "Labor Camp Monitoring";
+ network = list("Labor")
+ },
+/obj/structure/sign/securearea{
+ pixel_x = 32;
+ pixel_y = 0
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/processing)
+"auY" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/stripes/asteroid/line,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"auZ" = (
+/obj/effect/turf_decal/stripes/asteroid/line,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"ava" = (
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/main)
+"avb" = (
+/obj/machinery/door/window/brigdoor/westleft{
+ id = "Cell 2";
+ name = "Cell Door 2";
+ req_access_txt = "1"
+ },
+/turf/open/floor/plasteel/red/side{
+ icon_state = "red";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"avc" = (
+/obj/structure/closet/secure_closet/warden{
+ pixel_x = 0
+ },
+/obj/item/device/radio/intercom{
+ broadcasting = 0;
+ name = "Station Intercom (General)";
+ pixel_x = -28;
+ pixel_y = 0
+ },
+/turf/open/floor/plasteel/showroomfloor{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/warden)
+"avd" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/showroomfloor{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/warden)
+"ave" = (
+/obj/machinery/disposal/bin,
+/obj/structure/disposalpipe/trunk,
+/obj/structure/extinguisher_cabinet{
+ pixel_x = 24
+ },
+/turf/open/floor/plasteel/showroomfloor{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/warden)
+"avf" = (
+/obj/machinery/door/window/brigdoor/eastleft{
+ id = "Cell 6";
+ name = "Cell Door 6";
+ req_access_txt = "1"
+ },
+/turf/open/floor/plasteel/red/side{
+ icon_state = "red";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"avg" = (
+/obj/structure/rack,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"avh" = (
+/obj/effect/turf_decal/stripes/asteroid/line,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"avi" = (
+/obj/structure/girder,
+/obj/item/stack/sheet/metal,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"avj" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 1;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"avk" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "Fore Asteroid Maintenance Access";
+ req_access_txt = "12"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"avl" = (
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/locker)
+"avm" = (
+/obj/structure/table/wood,
+/obj/item/weapon/storage/pill_bottle/dice,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/locker)
+"avn" = (
+/obj/structure/table/wood,
+/obj/item/device/instrument/guitar,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/locker)
+"avo" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/sign/poster/random{
+ name = "random official poster";
+ pixel_x = 32;
+ random_basetype = /obj/structure/sign/poster/official
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/locker)
+"avp" = (
+/obj/structure/bed,
+/obj/item/weapon/bedsheet/yellow,
+/obj/structure/window{
+ tag = "icon-window (NORTH)";
+ icon_state = "window";
+ dir = 1
+ },
+/obj/effect/landmark/start/assistant,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/sleep_female)
+"avq" = (
+/obj/structure/bed,
+/obj/item/weapon/bedsheet/green,
+/obj/structure/window{
+ tag = "icon-window (NORTH)";
+ icon_state = "window";
+ dir = 1
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/sleep_female)
+"avr" = (
+/obj/structure/bed,
+/obj/item/weapon/bedsheet/red,
+/obj/structure/window{
+ tag = "icon-window (NORTH)";
+ icon_state = "window";
+ dir = 1
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/sleep_female)
+"avs" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 5
+ },
+/obj/machinery/requests_console{
+ announcementConsole = 1;
+ department = "Chief Medical Officer's Desk";
+ departmentType = 5;
+ name = "Chief Medical Officer RC";
+ pixel_x = -30;
+ pixel_y = 0
+ },
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/cmo{
+ name = "Chief Medical Officer's Private Quarters"
+ })
+"avt" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/cmo{
+ name = "Chief Medical Officer's Private Quarters"
+ })
+"avu" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/cmo{
+ name = "Chief Medical Officer's Private Quarters"
+ })
+"avv" = (
+/obj/structure/table/wood,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 10
+ },
+/turf/open/floor/plasteel/darkblue/side{
+ tag = "icon-darkblue (NORTH)";
+ icon_state = "darkblue";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"avw" = (
+/obj/structure/table/wood,
+/obj/item/device/radio/intercom{
+ broadcasting = 0;
+ name = "Station Intercom (General)";
+ pixel_y = 20
+ },
+/obj/item/weapon/storage/fancy/donut_box,
+/turf/open/floor/plasteel/darkblue/side{
+ tag = "icon-darkblue (NORTH)";
+ icon_state = "darkblue";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"avx" = (
+/obj/structure/table/wood,
+/obj/machinery/vending/wallmed{
+ pixel_y = 32
+ },
+/turf/open/floor/plasteel/darkblue/side{
+ tag = "icon-darkblue (NORTH)";
+ icon_state = "darkblue";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"avy" = (
+/obj/structure/noticeboard{
+ pixel_y = 32
+ },
+/turf/open/floor/plasteel/darkblue/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 5;
+ tag = "icon-darkblue (NORTHEAST)"
+ },
+/area/bridge)
+"avz" = (
+/obj/machinery/light/small{
+ dir = 1
+ },
+/obj/machinery/door/window{
+ dir = 8;
+ icon_state = "right";
+ name = "Bridge Desk";
+ opacity = 1;
+ req_access_txt = "0";
+ req_one_access_txt = "19;41";
+ tag = "icon-right (WEST)"
+ },
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"avA" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"avB" = (
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"avC" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/machinery/button/door{
+ id = "bridge";
+ name = "Bridge Lockdown";
+ pixel_y = 24;
+ req_one_access_txt = "19;14"
+ },
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"avD" = (
+/obj/machinery/light/small{
+ dir = 1
+ },
+/obj/machinery/door/window/eastright{
+ name = "Bridge Desk";
+ req_access_txt = "0";
+ req_one_access_txt = "19;41"
+ },
+/obj/machinery/airalarm{
+ frequency = 1439;
+ locked = 0;
+ pixel_y = 23
+ },
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"avE" = (
+/obj/machinery/requests_console{
+ announcementConsole = 1;
+ department = "Bridge";
+ departmentType = 5;
+ name = "Bridge RC";
+ pixel_y = 30
+ },
+/turf/open/floor/plasteel/darkblue/side{
+ tag = "icon-darkblue (NORTHWEST)";
+ dir = 9
+ },
+/area/bridge)
+"avF" = (
+/obj/machinery/camera{
+ c_tag = "Bridge Main 1"
+ },
+/turf/open/floor/plasteel/darkblue/side{
+ tag = "icon-darkblue (NORTH)";
+ icon_state = "darkblue";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"avG" = (
+/obj/structure/sign/pods{
+ pixel_y = 32
+ },
+/turf/open/floor/plasteel/darkblue/side{
+ tag = "icon-darkblue (NORTH)";
+ icon_state = "darkblue";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"avH" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 6
+ },
+/turf/open/floor/plasteel/darkblue/side{
+ tag = "icon-darkblue (NORTH)";
+ icon_state = "darkblue";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"avI" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/chief{
+ name = "Chief Engineer's Private Quarters"
+ })
+"avJ" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/chief{
+ name = "Chief Engineer's Private Quarters"
+ })
+"avK" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 9
+ },
+/obj/machinery/requests_console{
+ announcementConsole = 1;
+ department = "Chief Engineer's Desk";
+ departmentType = 3;
+ name = "Chief Engineer RC";
+ pixel_x = 30;
+ pixel_y = 0
+ },
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/chief{
+ name = "Chief Engineer's Private Quarters"
+ })
+"avL" = (
+/obj/machinery/power/apc{
+ dir = 4;
+ name = "Cargo Warehouse APC";
+ pixel_x = 23;
+ pixel_y = 2
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/cable/orange{
+ d2 = 2;
+ icon_state = "0-2"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/storage)
+"avM" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 5
+ },
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/storage)
+"avN" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/storage)
+"avO" = (
+/obj/machinery/door/poddoor/shutters{
+ id = "CargoWarehouse"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/storage)
+"avP" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"avQ" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/effect/turf_decal/delivery,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"avR" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,
+/obj/effect/turf_decal/delivery,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"avS" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 4
+ },
+/obj/machinery/conveyor{
+ dir = 4;
+ id = "QMLoad"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"avT" = (
+/obj/machinery/conveyor{
+ dir = 4;
+ id = "QMLoad"
+ },
+/obj/machinery/door/poddoor{
+ id = "QMLoaddoor";
+ name = "supply dock loading door"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"avU" = (
+/obj/machinery/conveyor{
+ dir = 4;
+ id = "QMLoad"
+ },
+/obj/machinery/door/poddoor{
+ id = "QMLoaddoor";
+ name = "supply dock loading door"
+ },
+/turf/open/floor/plating,
+/area/shuttle/supply)
+"avV" = (
+/obj/structure/closet/secure_closet/miner,
+/obj/machinery/light{
+ icon_state = "tube1";
+ dir = 8
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/miningdock)
+"avW" = (
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/miningdock)
+"avX" = (
+/obj/machinery/holopad,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/miningdock)
+"avY" = (
+/obj/machinery/door/airlock/glass_mining{
+ cyclelinkeddir = 8;
+ name = "Mining Dock";
+ req_access_txt = "48"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/miningdock)
+"avZ" = (
+/obj/machinery/door/airlock/external{
+ cyclelinkeddir = 4;
+ name = "Mining Dock Airlock";
+ req_access = null;
+ req_access_txt = "48";
+ shuttledocked = 1
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/miningdock)
+"awa" = (
+/obj/machinery/door/airlock/titanium{
+ name = "Mining Shuttle Airlock";
+ req_access_txt = "0"
+ },
+/turf/open/floor/plating,
+/area/shuttle/mining)
+"awb" = (
+/obj/docking_port/mobile{
+ dir = 8;
+ dwidth = 3;
+ height = 5;
+ id = "mining";
+ name = "mining shuttle";
+ port_angle = 90;
+ width = 7
+ },
+/obj/docking_port/stationary{
+ dir = 8;
+ dwidth = 3;
+ height = 5;
+ id = "mining_home";
+ name = "mining shuttle bay";
+ width = 7
+ },
+/obj/machinery/door/airlock/titanium{
+ name = "Mining Shuttle Airlock";
+ req_access_txt = "0"
+ },
+/turf/open/floor/plating,
+/area/shuttle/mining)
+"awc" = (
+/turf/closed/wall/mineral/titanium,
+/area/shuttle/labor)
+"awd" = (
+/obj/structure/grille,
+/obj/structure/window/shuttle,
+/turf/open/floor/plating,
+/area/shuttle/labor)
+"awe" = (
+/obj/machinery/disposal/deliveryChute{
+ tag = "icon-intake (NORTH)";
+ icon_state = "intake";
+ dir = 1
+ },
+/obj/structure/disposalpipe/trunk,
+/turf/open/floor/plating/airless,
+/area/space)
+"awf" = (
+/obj/machinery/light{
+ icon_state = "tube1";
+ dir = 8
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/processing)
+"awg" = (
+/obj/structure/chair{
+ dir = 1
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/processing)
+"awh" = (
+/obj/structure/table,
+/obj/item/weapon/storage/box/prisoner,
+/obj/machinery/airalarm{
+ dir = 8;
+ icon_state = "alarm0";
+ pixel_x = 24
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/processing)
+"awi" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/disposalpipe/segment,
+/obj/machinery/door/airlock/maintenance{
+ name = "Fore Asteroid Maintenance Access";
+ req_access_txt = "12"
+ },
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"awj" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "Fore Asteroid Maintenance Access";
+ req_access_txt = "12"
+ },
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"awk" = (
+/obj/machinery/airalarm{
+ frequency = 1439;
+ locked = 0;
+ pixel_y = 23
+ },
+/obj/structure/closet/wardrobe/red,
+/turf/open/floor/plasteel/showroomfloor{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/main)
+"awl" = (
+/turf/open/floor/plasteel/showroomfloor{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/main)
+"awm" = (
+/obj/structure/sign/bluecross_2{
+ pixel_x = 32;
+ pixel_y = 32
+ },
+/turf/open/floor/plasteel/showroomfloor{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/main)
+"awn" = (
+/obj/structure/closet/secure_closet/security/sec,
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/plasteel/showroomfloor{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/main)
+"awo" = (
+/obj/structure/closet/secure_closet/brig{
+ id = "Cell 2";
+ name = "Cell 2 Locker"
+ },
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"awp" = (
+/obj/machinery/door/airlock/glass_security{
+ name = "Brig Control";
+ req_access_txt = "3"
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/red{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/warden)
+"awq" = (
+/obj/machinery/door/airlock/glass_security{
+ name = "Brig Control";
+ req_access_txt = "3"
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel/red{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/warden)
+"awr" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/obj/structure/cable/orange{
+ d2 = 8;
+ icon_state = "0-8"
+ },
+/obj/machinery/door/poddoor/preopen{
+ id = "prisonbreak";
+ name = "emergency prisoner containment blast door"
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/warden)
+"aws" = (
+/obj/machinery/airalarm{
+ frequency = 1439;
+ locked = 0;
+ pixel_y = 23
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"awt" = (
+/obj/structure/closet/secure_closet/brig{
+ id = "Cell 6";
+ name = "Cell 6 Locker"
+ },
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"awu" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "Fore Asteroid Maintenance Access";
+ req_access_txt = "12"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"awv" = (
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/obj/structure/disposalpipe/segment,
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aww" = (
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/locker)
+"awx" = (
+/obj/effect/landmark/event_spawn,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/locker)
+"awy" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/locker)
+"awz" = (
+/obj/machinery/light/small,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/sleep_female)
+"awA" = (
+/obj/structure/bed,
+/obj/item/weapon/bedsheet/yellow,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/sleep_female)
+"awB" = (
+/obj/structure/bed,
+/obj/item/weapon/bedsheet/green,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/sleep_female)
+"awC" = (
+/obj/structure/bed,
+/obj/item/weapon/bedsheet/red,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/sleep_female)
+"awD" = (
+/obj/structure/cable/orange{
+ d2 = 4;
+ icon_state = "0-4"
+ },
+/obj/machinery/power/apc{
+ dir = 2;
+ name = "Male Sleeping Quarters APC";
+ pixel_y = -24
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/sleep_male)
+"awE" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 1;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"awF" = (
+/obj/machinery/power/apc{
+ dir = 4;
+ name = "Chief Medical Officer's Private Quarters APC";
+ pixel_x = 23;
+ pixel_y = 2
+ },
+/obj/structure/cable/orange{
+ d2 = 8;
+ icon_state = "0-8"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/cmo{
+ name = "Chief Medical Officer's Private Quarters"
+ })
+"awG" = (
+/obj/structure/dresser,
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/cmo{
+ name = "Chief Medical Officer's Private Quarters"
+ })
+"awH" = (
+/obj/structure/closet/secure_closet/CMO,
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/cmo{
+ name = "Chief Medical Officer's Private Quarters"
+ })
+"awI" = (
+/obj/machinery/light/small,
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 4;
+ on = 1
+ },
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/cmo{
+ name = "Chief Medical Officer's Private Quarters"
+ })
+"awJ" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/cmo{
+ name = "Chief Medical Officer's Private Quarters"
+ })
+"awK" = (
+/obj/machinery/door/airlock/medical{
+ name = "Chief Medical Officer's Personal Quarters";
+ req_access_txt = "40"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/cmo{
+ name = "Chief Medical Officer's Private Quarters"
+ })
+"awL" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"awM" = (
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"awN" = (
+/turf/open/floor/plasteel/darkblue/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 4;
+ tag = "icon-darkblue (EAST)"
+ },
+/area/bridge)
+"awO" = (
+/obj/structure/table/wood,
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/obj/item/device/aicard,
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"awP" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"awQ" = (
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"awR" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"awS" = (
+/obj/structure/table/wood,
+/obj/structure/window/reinforced{
+ dir = 4;
+ pixel_x = 0
+ },
+/obj/item/weapon/folder,
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"awT" = (
+/turf/open/floor/plasteel/darkblue/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 8;
+ tag = "icon-darkblue (WEST)"
+ },
+/area/bridge)
+"awU" = (
+/obj/machinery/door/airlock/engineering{
+ name = "Chief Engineer's Personal Quarters";
+ req_access_txt = "56"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/chief{
+ name = "Chief Engineer's Private Quarters"
+ })
+"awV" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/chief{
+ name = "Chief Engineer's Private Quarters"
+ })
+"awW" = (
+/obj/machinery/light/small,
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 8;
+ layer = 2.4;
+ on = 1
+ },
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/chief{
+ name = "Chief Engineer's Private Quarters"
+ })
+"awX" = (
+/obj/structure/closet/secure_closet/engineering_chief,
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/chief{
+ name = "Chief Engineer's Private Quarters"
+ })
+"awY" = (
+/obj/structure/dresser,
+/obj/machinery/keycard_auth{
+ pixel_x = 24
+ },
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/chief{
+ name = "Chief Engineer's Private Quarters"
+ })
+"awZ" = (
+/obj/effect/spawner/lootdrop/maintenance,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"axa" = (
+/obj/structure/window/reinforced{
+ dir = 4;
+ pixel_x = 0
+ },
+/obj/machinery/camera{
+ c_tag = "Core-Command-Cargo Bridge 4";
+ dir = 8;
+ network = list("SS13")
+ },
+/turf/open/floor/engine,
+/area/space)
+"axb" = (
+/obj/effect/landmark/event_spawn,
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/storage)
+"axc" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/machinery/conveyor_switch{
+ id = "QMLoad"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"axd" = (
+/obj/machinery/mineral/equipment_vendor,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/miningdock)
+"axe" = (
+/obj/structure/reagent_dispensers/fueltank,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/miningdock)
+"axf" = (
+/obj/machinery/computer/shuttle/labor,
+/obj/structure/reagent_dispensers/peppertank{
+ pixel_x = -31;
+ pixel_y = 0
+ },
+/turf/open/floor/mineral/plastitanium,
+/area/shuttle/labor)
+"axg" = (
+/obj/structure/chair/office/dark{
+ dir = 1
+ },
+/turf/open/floor/mineral/plastitanium,
+/area/shuttle/labor)
+"axh" = (
+/obj/structure/table,
+/obj/item/weapon/folder/red{
+ pixel_x = 8;
+ pixel_y = 6
+ },
+/obj/item/weapon/restraints/handcuffs,
+/turf/open/floor/mineral/plastitanium,
+/area/shuttle/labor)
+"axi" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plating,
+/area/security/processing)
+"axj" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/turf/open/floor/plating,
+/area/security/processing)
+"axk" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/structure/sign/securearea{
+ desc = "A warning sign which reads 'EXTERNAL AIRLOCK'";
+ icon_state = "space";
+ layer = 4;
+ name = "EXTERNAL AIRLOCK";
+ pixel_x = 0;
+ pixel_y = 32
+ },
+/obj/machinery/door/firedoor,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/processing)
+"axl" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/processing)
+"axm" = (
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/processing)
+"axn" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ on = 1
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/processing)
+"axo" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/processing)
+"axp" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"axq" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"axr" = (
+/obj/machinery/status_display{
+ density = 0;
+ layer = 4
+ },
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/main)
+"axs" = (
+/obj/structure/closet/l3closet/scientist,
+/turf/open/floor/plasteel/showroomfloor{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/main)
+"axt" = (
+/obj/structure/closet/secure_closet/security/sec,
+/turf/open/floor/plasteel/showroomfloor{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/main)
+"axu" = (
+/obj/machinery/door_timer{
+ id = "Cell 2";
+ name = "Cell 2";
+ pixel_x = -32;
+ pixel_y = 0
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"axv" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 8
+ },
+/turf/open/floor/plasteel/red/corner{
+ tag = "icon-redcorner (EAST)";
+ icon_state = "redcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"axw" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/red/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"axx" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/effect/landmark/lightsout,
+/turf/open/floor/plasteel/red/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"axy" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden,
+/turf/open/floor/plasteel/red{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"axz" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/red{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"axA" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/red/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"axB" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/red/corner{
+ tag = "icon-redcorner (NORTH)";
+ icon_state = "redcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"axC" = (
+/obj/machinery/door_timer{
+ id = "Cell 6";
+ name = "Cell 6";
+ pixel_x = 32;
+ pixel_y = 0
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"axD" = (
+/obj/machinery/light/small{
+ dir = 1
+ },
+/obj/structure/closet/crate,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"axE" = (
+/obj/effect/spawner/lootdrop/grille_or_trash,
+/obj/effect/turf_decal/stripes/asteroid/line{
+ icon_state = "ast_warn";
+ dir = 1
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"axF" = (
+/obj/structure/disposalpipe/junction{
+ icon_state = "pipe-j1";
+ dir = 1
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/locker)
+"axG" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/locker)
+"axH" = (
+/obj/machinery/holopad,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/locker)
+"axI" = (
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/sleep_male)
+"axJ" = (
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/obj/structure/window/reinforced,
+/obj/machinery/computer/mecha,
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"axK" = (
+/obj/structure/chair/comfy/brown,
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"axL" = (
+/obj/structure/window/reinforced{
+ dir = 4;
+ pixel_x = 0
+ },
+/obj/structure/window/reinforced,
+/obj/machinery/computer/robotics,
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"axM" = (
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/chief{
+ name = "Chief Engineer's Private Quarters"
+ })
+"axN" = (
+/obj/structure/closet/crate/medical,
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/storage)
+"axO" = (
+/obj/structure/closet/crate/freezer,
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/storage)
+"axP" = (
+/obj/machinery/button/door{
+ id = "CargoWarehouse";
+ name = "Cargo Warehouse Shutters";
+ pixel_x = 24
+ },
+/obj/structure/closet/crate/freezer,
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/storage)
+"axQ" = (
+/obj/machinery/button/door{
+ id = "CargoWarehouse";
+ name = "Cargo Warehouse Shutters";
+ pixel_x = -24
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"axR" = (
+/obj/machinery/navbeacon{
+ codes_txt = "delivery;dir=8";
+ dir = 8;
+ freq = 1400;
+ location = "QM #1"
+ },
+/mob/living/simple_animal/bot/mulebot{
+ beacon_freq = 1400;
+ home_destination = "QM #1";
+ suffix = "#1"
+ },
+/turf/open/floor/plasteel/bot{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"axS" = (
+/turf/open/floor/mineral/titanium/blue,
+/turf/closed/wall/mineral/titanium/interior,
+/area/shuttle/supply)
+"axT" = (
+/obj/machinery/navbeacon{
+ codes_txt = "delivery;dir=4";
+ dir = 4;
+ freq = 1400;
+ location = "QM #4"
+ },
+/mob/living/simple_animal/bot/mulebot{
+ home_destination = "QM #4";
+ suffix = "#2"
+ },
+/turf/open/floor/plasteel/bot{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"axU" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 4;
+ on = 1
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"axV" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/brown/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"axW" = (
+/obj/machinery/airalarm{
+ dir = 4;
+ pixel_x = -23;
+ pixel_y = 0
+ },
+/turf/open/floor/plasteel/brown/corner{
+ tag = "icon-browncorner (WEST)";
+ icon_state = "browncorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/miningdock)
+"axX" = (
+/obj/machinery/computer/shuttle/mining,
+/obj/machinery/camera{
+ c_tag = "Mining Bay";
+ dir = 8;
+ icon_state = "camera";
+ network = list("SS13","QM");
+ tag = "icon-camera (WEST)"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/miningdock)
+"axY" = (
+/obj/structure/closet/crate,
+/turf/open/floor/mineral/titanium/blue,
+/area/shuttle/mining)
+"axZ" = (
+/obj/structure/shuttle/engine/heater,
+/turf/open/floor/plating,
+/area/shuttle/mining)
+"aya" = (
+/obj/structure/ore_box,
+/turf/open/floor/mineral/titanium/blue,
+/area/shuttle/mining)
+"ayb" = (
+/turf/open/floor/mineral/plastitanium,
+/area/shuttle/labor)
+"ayc" = (
+/obj/machinery/button/flasher{
+ id = "gulagshuttleflasher";
+ name = "Flash Control";
+ pixel_x = 0;
+ pixel_y = -26;
+ req_access_txt = "1"
+ },
+/turf/open/floor/mineral/plastitanium,
+/area/shuttle/labor)
+"ayd" = (
+/obj/machinery/mineral/labor_claim_console{
+ machinedir = 2;
+ pixel_x = 30;
+ pixel_y = 30
+ },
+/turf/open/floor/mineral/plastitanium,
+/area/shuttle/labor)
+"aye" = (
+/obj/machinery/door/airlock/titanium{
+ name = "Labor Shuttle Airlock";
+ req_access_txt = "2"
+ },
+/turf/open/floor/mineral/plastitanium,
+/area/shuttle/labor)
+"ayf" = (
+/obj/machinery/door/airlock/external{
+ cyclelinkeddir = 4;
+ name = "Labor Camp Shuttle Airlock";
+ req_access_txt = "2";
+ shuttledocked = 1
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plating,
+/area/security/processing)
+"ayg" = (
+/turf/open/floor/plating,
+/area/security/processing)
+"ayh" = (
+/obj/machinery/door/airlock/external{
+ cyclelinkeddir = 8;
+ name = "Labor Camp Shuttle Airlock";
+ req_access_txt = "2"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/processing)
+"ayi" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ on = 1;
+ scrub_N2O = 0;
+ scrub_Toxins = 0
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/processing)
+"ayj" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 5
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/processing)
+"ayk" = (
+/obj/machinery/door/airlock/security{
+ name = "Labor Shuttle";
+ req_access = null;
+ req_access_txt = "2"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/processing)
+"ayl" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/disposalpipe/segment,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 10
+ },
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aym" = (
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"ayn" = (
+/obj/structure/closet/bombcloset,
+/obj/structure/sign/map/left/ceres{
+ pixel_x = -32
+ },
+/turf/open/floor/plasteel/showroomfloor{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/main)
+"ayo" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ on = 1
+ },
+/obj/effect/landmark/start/security_officer,
+/turf/open/floor/plasteel/showroomfloor{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/main)
+"ayp" = (
+/obj/structure/bed,
+/obj/machinery/camera{
+ c_tag = "Brig Cell 1";
+ dir = 4;
+ network = list("SS13")
+ },
+/obj/item/weapon/bedsheet,
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"ayq" = (
+/obj/machinery/flasher{
+ id = "Cell 1";
+ pixel_x = 0;
+ pixel_y = 24
+ },
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"ayr" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"ays" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"ayt" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"ayu" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/holopad,
+/turf/open/floor/plasteel/red/side{
+ tag = "icon-red (NORTHEAST)";
+ icon_state = "red";
+ dir = 5;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"ayv" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden,
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plasteel/red/side{
+ tag = "icon-red (NORTHWEST)";
+ icon_state = "red";
+ dir = 9;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"ayw" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"ayx" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"ayy" = (
+/obj/machinery/flasher{
+ id = "Cell 5";
+ pixel_x = 0;
+ pixel_y = 24
+ },
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"ayz" = (
+/obj/structure/bed,
+/obj/machinery/camera{
+ c_tag = "Brig Cell 5";
+ dir = 9;
+ icon_state = "camera";
+ network = list("SS13");
+ tag = "icon-camera (NORTHWEST)"
+ },
+/obj/item/weapon/bedsheet,
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"ayA" = (
+/obj/machinery/power/apc{
+ dir = 2;
+ name = "Vault APC";
+ pixel_y = -24
+ },
+/obj/structure/cable/orange{
+ d2 = 4;
+ icon_state = "0-4"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/courtroom)
+"ayB" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/light/small,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"ayC" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/obj/structure/disposalpipe/segment,
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"ayD" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/light/small{
+ dir = 1
+ },
+/obj/effect/turf_decal/stripes/asteroid/line{
+ icon_state = "ast_warn";
+ dir = 4
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"ayE" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "Dorm SMES Access";
+ req_access_txt = "10;11;12"
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"ayF" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"ayG" = (
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/obj/effect/decal/cleanable/cobweb/cobweb2,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"ayH" = (
+/obj/machinery/disposal/bin,
+/obj/structure/disposalpipe/trunk{
+ dir = 1
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/locker)
+"ayI" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/effect/landmark/lightsout,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/locker)
+"ayJ" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 5
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/locker)
+"ayK" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/item/weapon/twohanded/required/kirbyplants{
+ icon_state = "plant-22"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/locker)
+"ayL" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 10
+ },
+/obj/machinery/vending/clothing,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/locker)
+"ayM" = (
+/obj/machinery/light/small{
+ dir = 1
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/sleep_male)
+"ayN" = (
+/obj/structure/bed,
+/obj/item/weapon/bedsheet/blue,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/sleep_male)
+"ayO" = (
+/obj/structure/bed,
+/obj/item/weapon/bedsheet/orange,
+/obj/effect/landmark/start/assistant,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/sleep_male)
+"ayP" = (
+/obj/structure/bed,
+/obj/item/weapon/bedsheet/purple,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/sleep_male)
+"ayQ" = (
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/hos{
+ name = "Head of Security's Private Quarters"
+ })
+"ayR" = (
+/obj/structure/bed,
+/obj/item/weapon/bedsheet/hos,
+/obj/machinery/airalarm{
+ frequency = 1439;
+ locked = 0;
+ pixel_y = 23
+ },
+/obj/item/weapon/storage/secure/safe{
+ pixel_x = -28
+ },
+/obj/effect/landmark/start/head_of_security,
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/hos{
+ name = "Head of Security's Private Quarters"
+ })
+"ayS" = (
+/obj/machinery/light_switch{
+ pixel_y = 25
+ },
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/hos{
+ name = "Head of Security's Private Quarters"
+ })
+"ayT" = (
+/obj/structure/table/wood,
+/obj/item/device/modular_computer/laptop/preset/civillian,
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/hos{
+ name = "Head of Security's Private Quarters"
+ })
+"ayU" = (
+/obj/structure/table/wood,
+/obj/item/weapon/paper_bin,
+/obj/item/weapon/stamp/hos,
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/hos{
+ name = "Head of Security's Private Quarters"
+ })
+"ayV" = (
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/hos{
+ name = "Head of Security's Private Quarters"
+ })
+"ayW" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"ayX" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"ayY" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 8;
+ layer = 2.4;
+ on = 1
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"ayZ" = (
+/obj/item/weapon/twohanded/required/kirbyplants{
+ tag = "icon-plant-21";
+ icon_state = "plant-21"
+ },
+/turf/open/floor/plasteel/darkblue{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"aza" = (
+/obj/structure/window/reinforced,
+/obj/machinery/computer/card,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/disposalpipe/segment,
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"azb" = (
+/obj/structure/window/reinforced,
+/obj/machinery/computer/communications,
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"azc" = (
+/obj/structure/window/reinforced,
+/obj/machinery/computer/security,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/window/reinforced{
+ dir = 4
+ },
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"azd" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ dir = 4;
+ on = 1
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"aze" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"azf" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"azg" = (
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/hor{
+ name = "Research Director's Private Quarters"
+ })
+"azh" = (
+/obj/structure/table/wood,
+/obj/item/weapon/paper_bin,
+/obj/item/weapon/stamp/rd,
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/hor{
+ name = "Research Director's Private Quarters"
+ })
+"azi" = (
+/obj/structure/table/wood,
+/obj/item/device/modular_computer/laptop/preset/civillian,
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/hor{
+ name = "Research Director's Private Quarters"
+ })
+"azj" = (
+/obj/machinery/light_switch{
+ pixel_y = 25
+ },
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/hor{
+ name = "Research Director's Private Quarters"
+ })
+"azk" = (
+/obj/structure/bed,
+/obj/item/weapon/bedsheet/rd,
+/obj/machinery/airalarm{
+ frequency = 1439;
+ locked = 0;
+ pixel_y = 23
+ },
+/obj/structure/sign/poster/contraband/lamarr{
+ pixel_x = 32
+ },
+/obj/effect/landmark/start/research_director,
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/hor{
+ name = "Research Director's Private Quarters"
+ })
+"azl" = (
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/hor{
+ name = "Research Director's Private Quarters"
+ })
+"azm" = (
+/obj/structure/rack,
+/obj/effect/decal/cleanable/cobweb,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"azn" = (
+/obj/structure/closet,
+/obj/machinery/light/small{
+ dir = 1
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"azo" = (
+/obj/structure/table,
+/obj/item/weapon/storage/toolbox/mechanical,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"azp" = (
+/obj/machinery/power/apc{
+ dir = 8;
+ name = "Fore Asteroid Maintenance APC";
+ pixel_x = -23;
+ pixel_y = 2
+ },
+/obj/structure/cable/orange{
+ d2 = 4;
+ icon_state = "0-4"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"azq" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"azr" = (
+/obj/structure/closet/crate/internals,
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/storage)
+"azs" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 2;
+ on = 1
+ },
+/obj/machinery/camera{
+ c_tag = "Cargo Western Loading Bay 1";
+ dir = 5;
+ icon_state = "camera";
+ network = list("SS13","QM")
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"azt" = (
+/obj/effect/landmark/event_spawn,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"azu" = (
+/obj/item/weapon/paper{
+ info = "Due to complications during station constructions, the associated navbeacons for machinery has not been fully installed. Please use the delievery chute system for package delievery until further notice.";
+ name = "MULEBOT Notice"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"azv" = (
+/obj/machinery/navbeacon{
+ codes_txt = "delivery;dir=8";
+ dir = 8;
+ freq = 1400;
+ location = "QM #2"
+ },
+/turf/open/floor/plasteel/bot{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"azw" = (
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/structure/shuttle/engine/heater,
+/turf/open/floor/plating/airless,
+/area/shuttle/supply)
+"azx" = (
+/obj/machinery/navbeacon{
+ codes_txt = "delivery;dir=4";
+ dir = 4;
+ freq = 1400;
+ location = "QM #5"
+ },
+/turf/open/floor/plasteel/bot{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"azy" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 8
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"azz" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/junction{
+ icon_state = "pipe-j1";
+ dir = 1
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"azA" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"azB" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"azC" = (
+/obj/machinery/door/airlock/mining{
+ req_access_txt = "48"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/miningdock)
+"azD" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/miningdock)
+"azE" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/miningdock)
+"azF" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/miningdock)
+"azG" = (
+/obj/structure/table,
+/obj/item/weapon/paper_bin{
+ pixel_x = -3;
+ pixel_y = 7
+ },
+/obj/machinery/firealarm{
+ dir = 4;
+ pixel_x = 24
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/miningdock)
+"azH" = (
+/obj/structure/shuttle/engine/propulsion/burst,
+/obj/structure/window/reinforced{
+ dir = 1;
+ layer = 2.9
+ },
+/turf/open/floor/plating/airless,
+/area/shuttle/mining)
+"azI" = (
+/obj/machinery/door/airlock/titanium{
+ name = "Labor Shuttle Airlock";
+ req_access_txt = "2"
+ },
+/turf/open/floor/plasteel/black,
+/area/shuttle/labor)
+"azJ" = (
+/obj/machinery/mineral/stacking_machine/laborstacker{
+ input_dir = 2;
+ output_dir = 1
+ },
+/turf/open/floor/plasteel/black,
+/area/shuttle/labor)
+"azK" = (
+/obj/machinery/computer/shuttle/labor,
+/obj/effect/turf_decal/stripes/line{
+ dir = 10
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 5
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/processing)
+"azL" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/processing)
+"azM" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/processing)
+"azN" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/disposalpipe/segment,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"azO" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 10
+ },
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"azP" = (
+/obj/machinery/vending/security,
+/turf/open/floor/plasteel/showroomfloor{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/main)
+"azQ" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/effect/landmark/start/security_officer,
+/turf/open/floor/plasteel/showroomfloor{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/main)
+"azR" = (
+/obj/machinery/holopad,
+/obj/effect/landmark/start/security_officer,
+/turf/open/floor/plasteel/showroomfloor{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/main)
+"azS" = (
+/obj/machinery/door/window/brigdoor/westleft{
+ id = "Cell 1";
+ name = "Cell Door 1";
+ req_access_txt = "1"
+ },
+/turf/open/floor/plasteel/red/side{
+ icon_state = "red";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"azT" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"azU" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"azV" = (
+/obj/machinery/door/airlock/glass_large{
+ name = "Cell Block";
+ req_access_txt = "0";
+ req_one_access_txt = "38;2"
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/red/corner{
+ tag = "icon-redcorner (NORTH)";
+ icon_state = "redcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"azW" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/red/corner{
+ tag = "icon-redcorner (EAST)";
+ icon_state = "redcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"azX" = (
+/obj/machinery/door/window/brigdoor/eastleft{
+ id = "Cell 5";
+ name = "Cell Door 5";
+ req_access_txt = "1"
+ },
+/turf/open/floor/plasteel/red/side{
+ icon_state = "red";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"azY" = (
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/courtroom)
+"azZ" = (
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aAa" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/effect/turf_decal/stripes/asteroid/line{
+ icon_state = "ast_warn";
+ dir = 4
+ },
+/obj/item/device/assembly/mousetrap/armed,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aAb" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "Dorm SMES Access";
+ req_access_txt = "10;11;12"
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aAc" = (
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8";
+ tag = ""
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aAd" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/light/small{
+ dir = 4
+ },
+/obj/machinery/power/apc{
+ dir = 4;
+ name = "Fore Maintenance APC";
+ pixel_x = 23;
+ pixel_y = 2
+ },
+/obj/structure/cable/orange{
+ d2 = 2;
+ icon_state = "0-2"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aAe" = (
+/obj/structure/disposalpipe/segment,
+/obj/structure/sign/map/left/ceres{
+ pixel_x = -32
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/locker)
+"aAf" = (
+/obj/structure/table/wood,
+/obj/item/weapon/storage/crayons,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/locker)
+"aAg" = (
+/obj/structure/table/wood,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 5
+ },
+/obj/item/weapon/coin/silver,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/locker)
+"aAh" = (
+/obj/structure/chair/stool,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/locker)
+"aAi" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 10
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/locker)
+"aAj" = (
+/obj/machinery/light{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/locker)
+"aAk" = (
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/sleep_male)
+"aAl" = (
+/obj/structure/bed,
+/obj/item/weapon/bedsheet/blue,
+/obj/structure/window,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/sleep_male)
+"aAm" = (
+/obj/structure/bed,
+/obj/item/weapon/bedsheet/orange,
+/obj/structure/window,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/sleep_male)
+"aAn" = (
+/obj/structure/bed,
+/obj/item/weapon/bedsheet/purple,
+/obj/structure/window,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/sleep_male)
+"aAo" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ dir = 4;
+ on = 1
+ },
+/obj/structure/sign/poster/contraband/fun_police{
+ pixel_x = -32
+ },
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/hos{
+ name = "Head of Security's Private Quarters"
+ })
+"aAp" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/hos{
+ name = "Head of Security's Private Quarters"
+ })
+"aAq" = (
+/obj/structure/chair{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/hos{
+ name = "Head of Security's Private Quarters"
+ })
+"aAr" = (
+/obj/structure/table/wood,
+/obj/item/device/flashlight/lamp,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/hos{
+ name = "Head of Security's Private Quarters"
+ })
+"aAs" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/hos{
+ name = "Head of Security's Private Quarters"
+ })
+"aAt" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,
+/obj/structure/sign/map/left/ceres{
+ pixel_x = -32
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"aAu" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/effect/landmark/lightsout,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"aAv" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/darkblue/side{
+ tag = "icon-darkblue (NORTH)";
+ icon_state = "darkblue";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"aAw" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/darkblue/side{
+ tag = "icon-darkblue (NORTH)";
+ icon_state = "darkblue";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"aAx" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/machinery/holopad,
+/turf/open/floor/plasteel/darkblue/side{
+ tag = "icon-darkblue (NORTH)";
+ icon_state = "darkblue";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"aAy" = (
+/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden,
+/turf/open/floor/plasteel/darkblue/side{
+ tag = "icon-darkblue (NORTH)";
+ icon_state = "darkblue";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"aAz" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"aAA" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/hor{
+ name = "Research Director's Private Quarters"
+ })
+"aAB" = (
+/obj/structure/table/wood,
+/obj/item/device/flashlight/lamp,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/hor{
+ name = "Research Director's Private Quarters"
+ })
+"aAC" = (
+/obj/structure/chair{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/hor{
+ name = "Research Director's Private Quarters"
+ })
+"aAD" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/hor{
+ name = "Research Director's Private Quarters"
+ })
+"aAE" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ dir = 8;
+ on = 1;
+ scrub_Toxins = 0
+ },
+/obj/item/weapon/storage/secure/safe{
+ pixel_x = 32
+ },
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/hor{
+ name = "Research Director's Private Quarters"
+ })
+"aAF" = (
+/obj/machinery/power/apc{
+ dir = 8;
+ name = "Research Director's Private Quarters APC";
+ pixel_x = -23;
+ pixel_y = 2
+ },
+/obj/structure/cable/orange{
+ d2 = 2;
+ icon_state = "0-2"
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/hor{
+ name = "Research Director's Private Quarters"
+ })
+"aAG" = (
+/obj/structure/chair{
+ dir = 1
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aAH" = (
+/obj/machinery/light/small,
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 4;
+ on = 1
+ },
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/storage)
+"aAI" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/storage)
+"aAJ" = (
+/obj/machinery/door/airlock/engineering{
+ name = "Cargo Warehouse";
+ req_access_txt = "31"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/storage)
+"aAK" = (
+/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"aAL" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 9
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"aAM" = (
+/obj/machinery/light,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"aAN" = (
+/obj/machinery/navbeacon{
+ codes_txt = "delivery;dir=8";
+ dir = 8;
+ freq = 1400;
+ location = "QM #3"
+ },
+/mob/living/simple_animal/bot/mulebot{
+ home_destination = "QM #3";
+ suffix = "#2"
+ },
+/turf/open/floor/plasteel/bot{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"aAO" = (
+/obj/structure/shuttle/engine/propulsion{
+ icon_state = "burst_l"
+ },
+/turf/open/floor/plating/airless,
+/area/shuttle/supply)
+"aAP" = (
+/obj/structure/shuttle/engine/propulsion,
+/turf/open/floor/plating/airless,
+/area/shuttle/supply)
+"aAQ" = (
+/obj/structure/shuttle/engine/propulsion{
+ icon_state = "burst_r"
+ },
+/turf/open/floor/plating/airless,
+/area/shuttle/supply)
+"aAR" = (
+/obj/machinery/navbeacon{
+ codes_txt = "delivery;dir=4";
+ dir = 4;
+ freq = 1400;
+ location = "QM #6"
+ },
+/mob/living/simple_animal/bot/mulebot{
+ home_destination = "QM #6";
+ suffix = "#2"
+ },
+/turf/open/floor/plasteel/bot{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"aAS" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/camera{
+ c_tag = "Cargo Eastern Loading Bay 2";
+ dir = 8;
+ icon_state = "camera";
+ network = list("SS13","QM")
+ },
+/turf/open/floor/plasteel/brown/corner{
+ tag = "icon-browncorner (EAST)";
+ icon_state = "browncorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"aAT" = (
+/obj/machinery/disposal/bin,
+/obj/item/device/radio/intercom{
+ broadcasting = 0;
+ name = "Station Intercom (General)";
+ pixel_x = -28;
+ pixel_y = 0
+ },
+/obj/structure/disposalpipe/trunk{
+ dir = 1
+ },
+/turf/open/floor/plasteel/brown/corner{
+ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface;
+ dir = 1;
+ tag = "icon-browncorner (NORTH)"
+ },
+/area/quartermaster/miningdock)
+"aAU" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ dir = 1;
+ on = 1
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/miningdock)
+"aAV" = (
+/obj/structure/table,
+/obj/item/weapon/folder,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/miningdock)
+"aAW" = (
+/turf/open/floor/mineral/titanium/blue,
+/area/shuttle/labor)
+"aAX" = (
+/obj/machinery/mineral/labor_claim_console{
+ machinedir = 1;
+ pixel_x = 30;
+ pixel_y = 0
+ },
+/turf/open/floor/mineral/titanium/blue,
+/area/shuttle/labor)
+"aAY" = (
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plating/airless,
+/area/space)
+"aAZ" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/processing)
+"aBa" = (
+/obj/machinery/door/airlock/glass_security{
+ name = "Prisoner Processing";
+ req_access_txt = "2"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/processing)
+"aBb" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/obj/structure/disposalpipe/segment,
+/obj/machinery/light{
+ icon_state = "tube1";
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aBc" = (
+/obj/machinery/power/apc{
+ dir = 4;
+ name = "Security Equipment APC";
+ pixel_x = 23;
+ pixel_y = 2
+ },
+/obj/structure/cable/orange{
+ d2 = 8;
+ icon_state = "0-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/main)
+"aBd" = (
+/obj/structure/table,
+/obj/machinery/recharger,
+/obj/machinery/camera{
+ c_tag = "Security Equipment Room";
+ dir = 4;
+ icon_state = "camera"
+ },
+/turf/open/floor/plasteel/showroomfloor{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/main)
+"aBe" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/holopad,
+/obj/effect/landmark/start/security_officer,
+/turf/open/floor/plasteel/showroomfloor{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/main)
+"aBf" = (
+/obj/structure/closet/secure_closet/brig{
+ id = "Cell 1";
+ name = "Cell 1 Locker"
+ },
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"aBg" = (
+/obj/machinery/door_timer{
+ id = "Cell 1";
+ name = "Cell 1";
+ pixel_y = -32
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/machinery/camera{
+ c_tag = "Brig Cells South 2";
+ dir = 1;
+ icon_state = "camera";
+ network = list("SS13")
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"aBh" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 9
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"aBi" = (
+/obj/machinery/light,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"aBj" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/obj/machinery/door/poddoor/preopen{
+ id = "prisonbreak";
+ name = "emergency prisoner containment blast door"
+ },
+/obj/structure/cable/orange{
+ d2 = 4;
+ icon_state = "0-4"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"aBk" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/red/corner{
+ tag = "icon-redcorner (NORTH)";
+ icon_state = "redcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"aBl" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/red/corner{
+ tag = "icon-redcorner (EAST)";
+ icon_state = "redcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"aBm" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/obj/machinery/door/poddoor/preopen{
+ id = "prisonbreak";
+ name = "emergency prisoner containment blast door"
+ },
+/obj/structure/cable/orange{
+ d2 = 8;
+ icon_state = "0-8"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"aBn" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 5
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"aBo" = (
+/obj/machinery/door_timer{
+ id = "Cell 5";
+ name = "Cell 5";
+ pixel_y = -32
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/machinery/camera{
+ c_tag = "Brig Cells South 1";
+ dir = 1;
+ icon_state = "camera";
+ network = list("SS13")
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"aBp" = (
+/obj/structure/closet/secure_closet/brig{
+ id = "Cell 5";
+ name = "Cell 5 Locker"
+ },
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"aBq" = (
+/obj/structure/closet/lawcloset,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/courtroom)
+"aBr" = (
+/obj/structure/chair,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/courtroom)
+"aBs" = (
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/courtroom)
+"aBt" = (
+/obj/structure/chair/comfy/brown,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/courtroom)
+"aBu" = (
+/obj/structure/chair/comfy/black,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/courtroom)
+"aBv" = (
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/obj/machinery/camera{
+ c_tag = "Courtroom Main North"
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/courtroom)
+"aBw" = (
+/obj/structure/chair{
+ dir = 8
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/courtroom)
+"aBx" = (
+/obj/structure/disposalpipe/segment,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aBy" = (
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aBz" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aBA" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aBB" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/camera{
+ c_tag = "Dorm SMES";
+ dir = 6;
+ icon_state = "camera"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aBC" = (
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aBD" = (
+/obj/structure/table/wood,
+/obj/item/toy/cards/deck,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/locker)
+"aBE" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 8
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/locker)
+"aBF" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/locker)
+"aBG" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/sleep_male)
+"aBH" = (
+/obj/machinery/light_switch{
+ pixel_x = -25
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral/side{
+ icon_state = "neutral";
+ dir = 6;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/sleep_male)
+"aBI" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral/side{
+ icon_state = "neutral";
+ dir = 6;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/sleep_male)
+"aBJ" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral/side{
+ icon_state = "neutral";
+ dir = 10;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/sleep_male)
+"aBK" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/item/device/radio/intercom{
+ broadcasting = 0;
+ name = "Station Intercom (General)";
+ pixel_y = 20
+ },
+/turf/open/floor/plasteel/neutral/side{
+ icon_state = "neutral";
+ dir = 10;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/sleep_male)
+"aBL" = (
+/obj/machinery/airalarm{
+ dir = 8;
+ icon_state = "alarm0";
+ pixel_x = 24
+ },
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ dir = 8;
+ on = 1;
+ scrub_Toxins = 0
+ },
+/turf/open/floor/plasteel/neutral/side{
+ icon_state = "neutral";
+ dir = 10;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/sleep_male)
+"aBM" = (
+/obj/machinery/requests_console{
+ announcementConsole = 1;
+ department = "Head of Security's Desk";
+ departmentType = 5;
+ name = "Head of Security RC";
+ pixel_x = -30;
+ pixel_y = 0
+ },
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/hos{
+ name = "Head of Security's Private Quarters"
+ })
+"aBN" = (
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/hos{
+ name = "Head of Security's Private Quarters"
+ })
+"aBO" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/chair/office/light,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"aBP" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"aBQ" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 1
+ },
+/obj/effect/landmark/event_spawn,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"aBR" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"aBS" = (
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/hor{
+ name = "Research Director's Private Quarters"
+ })
+"aBT" = (
+/obj/machinery/requests_console{
+ announcementConsole = 1;
+ department = "Research Director's Desk";
+ departmentType = 5;
+ name = "Research Director RC";
+ pixel_x = 30;
+ pixel_y = 0
+ },
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/hor{
+ name = "Research Director's Private Quarters"
+ })
+"aBU" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/camera/motion{
+ c_tag = "Bridge Mainteance East";
+ dir = 4
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aBV" = (
+/obj/structure/closet/crate,
+/obj/item/weapon/coin/silver,
+/obj/item/weapon/coin/silver,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aBW" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"aBX" = (
+/obj/machinery/door/firedoor,
+/obj/effect/turf_decal/stripes/line,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"aBY" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"aBZ" = (
+/obj/machinery/door/firedoor,
+/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/stripes/line,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"aCa" = (
+/obj/structure/chair{
+ dir = 8
+ },
+/obj/machinery/flasher{
+ id = "gulagshuttleflasher";
+ pixel_x = 25
+ },
+/turf/open/floor/mineral/titanium/blue,
+/area/shuttle/labor)
+"aCb" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 9
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/processing)
+"aCc" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/disposalpipe/segment,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aCd" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aCe" = (
+/obj/structure/table,
+/obj/machinery/recharger,
+/turf/open/floor/plasteel/showroomfloor{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/main)
+"aCf" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/obj/machinery/door/poddoor/preopen{
+ id = "prisonbreak";
+ name = "emergency prisoner containment blast door"
+ },
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/obj/structure/cable/orange{
+ d2 = 2;
+ icon_state = "0-2"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"aCg" = (
+/obj/structure/sign/map/left/ceres{
+ pixel_x = -32
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/courtroom)
+"aCh" = (
+/obj/structure/table/wood,
+/obj/item/device/taperecorder/empty,
+/obj/item/device/tape/random,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/courtroom)
+"aCi" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ on = 1
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/courtroom)
+"aCj" = (
+/obj/structure/table/wood,
+/obj/item/weapon/folder/blue{
+ pixel_x = 5;
+ pixel_y = 5
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/courtroom)
+"aCk" = (
+/obj/structure/table/wood,
+/obj/item/weapon/gavelblock,
+/obj/item/weapon/gavelhammer,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/courtroom)
+"aCl" = (
+/obj/structure/table/wood,
+/obj/item/weapon/paper_bin{
+ pixel_x = -3;
+ pixel_y = 7
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/courtroom)
+"aCm" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ on = 1;
+ scrub_N2O = 0;
+ scrub_Toxins = 0
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/courtroom)
+"aCn" = (
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/obj/machinery/door/window/southleft{
+ req_access_txt = "1"
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/courtroom)
+"aCo" = (
+/obj/structure/window/reinforced,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/courtroom)
+"aCp" = (
+/obj/structure/disposalpipe/segment,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/effect/spawner/lootdrop/grille_or_trash,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aCq" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/obj/structure/rack,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aCr" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aCs" = (
+/obj/structure/disposalpipe/segment{
+ dir = 1;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/locker)
+"aCt" = (
+/obj/structure/chair/stool,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/locker)
+"aCu" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/locker)
+"aCv" = (
+/obj/machinery/door/airlock{
+ name = "Male Sleeping Quarters"
+ },
+/turf/open/floor/plasteel/neutral/side{
+ icon_state = "neutral";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/sleep_male)
+"aCw" = (
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/sleep_male)
+"aCx" = (
+/obj/machinery/light{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/sleep_male)
+"aCy" = (
+/obj/machinery/status_display{
+ density = 0;
+ layer = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/sleep_male)
+"aCz" = (
+/obj/structure/dresser,
+/obj/machinery/keycard_auth{
+ pixel_x = -24
+ },
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/hos{
+ name = "Head of Security's Private Quarters"
+ })
+"aCA" = (
+/obj/structure/closet/secure_closet/hos,
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/hos{
+ name = "Head of Security's Private Quarters"
+ })
+"aCB" = (
+/obj/machinery/light/small,
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 4;
+ on = 1
+ },
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/hos{
+ name = "Head of Security's Private Quarters"
+ })
+"aCC" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/hos{
+ name = "Head of Security's Private Quarters"
+ })
+"aCD" = (
+/obj/machinery/door/airlock/security{
+ name = "Head of Security's Personal Quarters";
+ req_access_txt = "58"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/hos{
+ name = "Head of Security's Private Quarters"
+ })
+"aCE" = (
+/obj/machinery/camera{
+ c_tag = "Bridge Main 2";
+ dir = 1;
+ icon_state = "camera";
+ network = list("SS13")
+ },
+/turf/open/floor/plasteel/darkblue/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"aCF" = (
+/obj/machinery/computer/crew,
+/obj/machinery/firealarm{
+ dir = 1;
+ pixel_y = -24
+ },
+/turf/open/floor/plasteel/darkblue/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"aCG" = (
+/obj/machinery/computer/med_data,
+/turf/open/floor/plasteel/darkblue/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"aCH" = (
+/obj/structure/table,
+/obj/item/weapon/paper_bin,
+/obj/machinery/light,
+/turf/open/floor/plasteel/darkblue/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"aCI" = (
+/turf/open/floor/plasteel/darkblue/corner{
+ icon_state = "darkbluecorners";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"aCJ" = (
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"aCK" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/item/device/radio/beacon,
+/turf/open/floor/plasteel/darkblue/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"aCL" = (
+/turf/open/floor/plasteel/darkblue/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"aCM" = (
+/obj/machinery/computer/security,
+/turf/open/floor/plasteel/darkblue/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"aCN" = (
+/obj/machinery/computer/secure_data,
+/turf/open/floor/plasteel/darkblue/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"aCO" = (
+/turf/open/floor/plasteel/darkblue/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"aCP" = (
+/obj/machinery/door/airlock/research{
+ name = "Research Director's Personal Quarters";
+ req_access_txt = "30"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/hor{
+ name = "Research Director's Private Quarters"
+ })
+"aCQ" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/hor{
+ name = "Research Director's Private Quarters"
+ })
+"aCR" = (
+/obj/machinery/light/small,
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 8;
+ layer = 2.4;
+ on = 1
+ },
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/hor{
+ name = "Research Director's Private Quarters"
+ })
+"aCS" = (
+/obj/structure/closet/secure_closet/RD,
+/obj/item/clothing/mask/facehugger/lamarr,
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/hor{
+ name = "Research Director's Private Quarters"
+ })
+"aCT" = (
+/obj/structure/dresser,
+/obj/machinery/keycard_auth{
+ pixel_x = 24
+ },
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/hor{
+ name = "Research Director's Private Quarters"
+ })
+"aCU" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/firealarm{
+ dir = 8;
+ pixel_x = -24
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"aCV" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 5
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"aCW" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"aCX" = (
+/obj/machinery/light{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"aCY" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/machinery/status_display{
+ density = 0;
+ name = "cargo display";
+ pixel_x = 0;
+ pixel_y = 32;
+ supply_display = 1
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"aCZ" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/sign/poster/random{
+ name = "random official poster";
+ pixel_x = 0;
+ pixel_y = 32;
+ random_basetype = /obj/structure/sign/poster/official
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"aDa" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 1
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"aDb" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/effect/landmark/lightsout,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"aDc" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/machinery/airalarm{
+ frequency = 1439;
+ locked = 0;
+ pixel_y = 23
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"aDd" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 9
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"aDe" = (
+/obj/effect/landmark/event_spawn,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"aDf" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel/brown/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"aDg" = (
+/obj/machinery/power/apc{
+ dir = 1;
+ name = "Mining Dock APC";
+ pixel_x = 0;
+ pixel_y = 24
+ },
+/obj/structure/cable/orange{
+ d2 = 2;
+ icon_state = "0-2"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/miningdock)
+"aDh" = (
+/obj/structure/closet/crate,
+/turf/open/floor/mineral/titanium/blue,
+/area/shuttle/labor)
+"aDi" = (
+/obj/machinery/door/airlock/titanium{
+ id_tag = "prisonshuttle";
+ name = "Labor Shuttle Airlock"
+ },
+/obj/docking_port/mobile{
+ dir = 8;
+ dwidth = 2;
+ height = 5;
+ id = "laborcamp";
+ name = "labor camp shuttle";
+ port_angle = 90;
+ width = 9
+ },
+/obj/docking_port/stationary{
+ dir = 8;
+ dwidth = 2;
+ height = 5;
+ id = "laborcamp_home";
+ name = "fore bay 1";
+ width = 9
+ },
+/turf/open/floor/mineral/titanium/blue,
+/area/shuttle/labor)
+"aDj" = (
+/obj/machinery/door/airlock/external{
+ cyclelinkeddir = 4;
+ name = "Labor Camp Shuttle Airlock";
+ shuttledocked = 1
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plating,
+/area/security/processing)
+"aDk" = (
+/obj/machinery/door/airlock/external{
+ cyclelinkeddir = 8;
+ name = "Labor Camp Shuttle Airlock"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/processing)
+"aDl" = (
+/obj/machinery/holopad,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/processing)
+"aDm" = (
+/obj/machinery/door/airlock/security{
+ id_tag = "laborexit";
+ name = "Labor Shuttle";
+ req_access = null;
+ req_access_txt = "63"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/processing)
+"aDn" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/disposalpipe/segment,
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aDo" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/machinery/button/door{
+ id = "GulagCivExit";
+ name = "Gulag Door Exit";
+ normaldoorcontrol = 1;
+ pixel_x = 24
+ },
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aDp" = (
+/obj/structure/reagent_dispensers/peppertank{
+ pixel_x = -32
+ },
+/obj/structure/table,
+/obj/item/weapon/book/manual/wiki/security_space_law,
+/obj/item/device/assembly/flash,
+/obj/item/weapon/restraints/handcuffs,
+/obj/item/weapon/restraints/handcuffs,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 6
+ },
+/turf/open/floor/plasteel/showroomfloor{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/main)
+"aDq" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden,
+/turf/open/floor/plasteel/showroomfloor{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/main)
+"aDr" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/showroomfloor{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/main)
+"aDs" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/disposal/bin,
+/obj/structure/disposalpipe/trunk,
+/turf/open/floor/plasteel/showroomfloor{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/main)
+"aDt" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/obj/machinery/door/poddoor/preopen{
+ id = "prisonbreak";
+ name = "emergency prisoner containment blast door"
+ },
+/obj/structure/cable/orange{
+ d2 = 2;
+ icon_state = "0-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/main)
+"aDu" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 1
+ },
+/turf/open/floor/plasteel/red/corner{
+ icon_state = "redcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"aDv" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/red/corner{
+ icon_state = "redcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"aDw" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/red/corner{
+ tag = "icon-redcorner (NORTH)";
+ icon_state = "redcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"aDx" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"aDy" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"aDz" = (
+/obj/machinery/airalarm{
+ frequency = 1439;
+ locked = 0;
+ pixel_y = 23
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"aDA" = (
+/obj/structure/extinguisher_cabinet{
+ pixel_y = 32
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/red/corner{
+ tag = "icon-redcorner (NORTH)";
+ icon_state = "redcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"aDB" = (
+/obj/machinery/camera{
+ c_tag = "Brig Hall East"
+ },
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 1
+ },
+/turf/open/floor/plasteel/red/corner{
+ tag = "icon-redcorner (NORTH)";
+ icon_state = "redcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"aDC" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/red/side{
+ tag = "icon-red (NORTHEAST)";
+ icon_state = "red";
+ dir = 5;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"aDD" = (
+/obj/machinery/door/airlock/security{
+ name = "Courtroom";
+ req_access = null;
+ req_access_txt = "1"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"aDE" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/red/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/courtroom)
+"aDF" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/red/corner{
+ tag = "icon-redcorner (WEST)";
+ icon_state = "redcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/courtroom)
+"aDG" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/courtroom)
+"aDH" = (
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/courtroom)
+"aDI" = (
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/courtroom)
+"aDJ" = (
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/courtroom)
+"aDK" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/courtroom)
+"aDL" = (
+/turf/open/floor/plasteel/blue/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/courtroom)
+"aDM" = (
+/obj/machinery/airalarm{
+ dir = 8;
+ icon_state = "alarm0";
+ pixel_x = 24
+ },
+/turf/open/floor/plasteel/blue/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/courtroom)
+"aDN" = (
+/obj/structure/disposalpipe/segment,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/light/small{
+ dir = 8
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aDO" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/obj/structure/table,
+/obj/machinery/light/small{
+ dir = 8
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aDP" = (
+/obj/structure/sign/poster/random{
+ name = "random official poster";
+ pixel_x = -32;
+ random_basetype = /obj/structure/sign/poster/official
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/locker)
+"aDQ" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 4;
+ on = 1
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/locker)
+"aDR" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/locker)
+"aDS" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/camera{
+ c_tag = "Dorm Commons South";
+ dir = 10;
+ icon_state = "camera";
+ tag = "icon-camera (SOUTHWEST)"
+ },
+/obj/item/device/radio/intercom{
+ broadcasting = 0;
+ name = "Station Intercom (General)";
+ pixel_x = 0;
+ pixel_y = -28
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/locker)
+"aDT" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/locker)
+"aDU" = (
+/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/locker)
+"aDV" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/sleep_male)
+"aDW" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral/side{
+ tag = "icon-neutral (NORTHEAST)";
+ icon_state = "neutral";
+ dir = 5;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/sleep_male)
+"aDX" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 8;
+ layer = 2.4;
+ on = 1
+ },
+/turf/open/floor/plasteel/neutral/side{
+ tag = "icon-neutral (NORTHEAST)";
+ icon_state = "neutral";
+ dir = 5;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/sleep_male)
+"aDY" = (
+/turf/open/floor/plasteel/neutral/side{
+ tag = "icon-neutral (NORTHEAST)";
+ icon_state = "neutral";
+ dir = 5;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/sleep_male)
+"aDZ" = (
+/turf/open/floor/plasteel/neutral/side{
+ tag = "icon-neutral (NORTHWEST)";
+ icon_state = "neutral";
+ dir = 9;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/sleep_male)
+"aEa" = (
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/sleep_male)
+"aEb" = (
+/obj/structure/disposalpipe/segment,
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/hos{
+ name = "Head of Security's Private Quarters"
+ })
+"aEc" = (
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"aEd" = (
+/obj/machinery/status_display{
+ density = 0;
+ layer = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"aEe" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/obj/structure/cable/orange{
+ d2 = 2;
+ icon_state = "0-2"
+ },
+/obj/machinery/door/poddoor/preopen{
+ id = "bridge";
+ name = "Emergency Blast Door"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"aEf" = (
+/obj/machinery/door/airlock/glass_command{
+ cyclelinkeddir = null;
+ name = "Bridge";
+ req_access_txt = "0";
+ req_one_access = null;
+ req_one_access_txt = "19;41"
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"aEg" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/obj/structure/cable/orange{
+ d2 = 2;
+ icon_state = "0-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/door/poddoor/preopen{
+ id = "bridge";
+ name = "Emergency Blast Door"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"aEh" = (
+/obj/machinery/door/airlock/glass_command{
+ cyclelinkeddir = null;
+ name = "Bridge";
+ req_access_txt = "0";
+ req_one_access = null;
+ req_one_access_txt = "19;41"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"aEi" = (
+/obj/structure/girder,
+/obj/structure/grille,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aEj" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aEk" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/item/device/assembly/mousetrap/armed,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aEl" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 5
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"aEm" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/camera{
+ c_tag = "Cargo Hall West";
+ dir = 1;
+ icon_state = "camera";
+ network = list("SS13","QM")
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"aEn" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"aEo" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 1
+ },
+/turf/open/floor/plasteel/brown/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"aEp" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plasteel/brown{
+ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface
+ },
+/area/quartermaster/office)
+"aEq" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/brown{
+ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface
+ },
+/area/quartermaster/office)
+"aEr" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/brown/corner{
+ tag = "icon-browncorner (WEST)";
+ icon_state = "browncorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"aEs" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"aEt" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/camera{
+ c_tag = "Cargo Hall";
+ dir = 1;
+ icon_state = "camera";
+ network = list("SS13","QM")
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"aEu" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
+/obj/effect/landmark/start/cargo_technician,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"aEv" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 9
+ },
+/obj/machinery/camera{
+ c_tag = "Cargo Hall East";
+ dir = 8;
+ icon_state = "camera";
+ network = list("SS13","QM");
+ tag = "icon-camera (WEST)"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"aEw" = (
+/obj/structure/shuttle/engine/heater,
+/obj/structure/window/reinforced{
+ dir = 1;
+ layer = 2.9
+ },
+/turf/open/floor/plating/airless,
+/area/shuttle/labor)
+"aEx" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/structure/sign/securearea{
+ desc = "A warning sign which reads 'EXTERNAL AIRLOCK'";
+ icon_state = "space";
+ layer = 4;
+ name = "EXTERNAL AIRLOCK";
+ pixel_x = 0;
+ pixel_y = -32
+ },
+/obj/machinery/door/firedoor,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/processing)
+"aEy" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/obj/structure/disposalpipe/segment,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 5
+ },
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aEz" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aEA" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/door/airlock/security{
+ name = "Labor Shuttle";
+ req_access = null;
+ req_access_txt = "2"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/showroomfloor{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/main)
+"aEB" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 9;
+ pixel_y = 0
+ },
+/turf/open/floor/plasteel/showroomfloor{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/main)
+"aEC" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ on = 1;
+ scrub_N2O = 0;
+ scrub_Toxins = 0
+ },
+/turf/open/floor/plasteel/showroomfloor{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/main)
+"aED" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/showroomfloor{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/main)
+"aEE" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/disposalpipe/junction{
+ icon_state = "pipe-j1";
+ dir = 8
+ },
+/turf/open/floor/plasteel/showroomfloor{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/main)
+"aEF" = (
+/obj/machinery/door/airlock/glass_security{
+ name = "Equipment Room";
+ req_access_txt = "1"
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/showroomfloor{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/main)
+"aEG" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"aEH" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/obj/structure/disposalpipe/junction{
+ tag = "icon-pipe-j2 (WEST)";
+ icon_state = "pipe-j2";
+ dir = 8
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"aEI" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"aEJ" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ on = 1;
+ scrub_N2O = 0;
+ scrub_Toxins = 0
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"aEK" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"aEL" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/disposalpipe/junction{
+ tag = "icon-pipe-j2 (WEST)";
+ icon_state = "pipe-j2";
+ dir = 8
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"aEM" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"aEN" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/holopad,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"aEO" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/disposalpipe/junction{
+ icon_state = "pipe-j1";
+ dir = 8
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"aEP" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"aEQ" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 1;
+ on = 1
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"aER" = (
+/obj/machinery/power/apc{
+ dir = 4;
+ name = "Brig APC";
+ pixel_x = 23;
+ pixel_y = 2
+ },
+/obj/structure/cable/orange{
+ d2 = 8;
+ icon_state = "0-8"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plasteel/red/side{
+ icon_state = "red";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"aES" = (
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"aET" = (
+/obj/structure/chair{
+ dir = 4
+ },
+/turf/open/floor/plasteel/red/side{
+ icon_state = "red";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/courtroom)
+"aEU" = (
+/obj/structure/table/wood,
+/turf/open/floor/plasteel/red/side{
+ tag = "icon-red (NORTHEAST)";
+ icon_state = "red";
+ dir = 5;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/courtroom)
+"aEV" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/courtroom)
+"aEW" = (
+/obj/machinery/holopad,
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/courtroom)
+"aEX" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/courtroom)
+"aEY" = (
+/obj/structure/table/wood,
+/turf/open/floor/plasteel/blue/side{
+ tag = "icon-blue (NORTHWEST)";
+ icon_state = "blue";
+ dir = 9;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/courtroom)
+"aEZ" = (
+/obj/structure/chair{
+ dir = 8
+ },
+/turf/open/floor/plasteel/blue/side{
+ tag = "icon-blue (NORTH)";
+ icon_state = "blue";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/courtroom)
+"aFa" = (
+/obj/structure/disposalpipe/segment,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/grille/broken,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aFb" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/obj/structure/table,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aFc" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/cable{
+ icon_state = "0-4";
+ d2 = 4
+ },
+/obj/machinery/power/apc{
+ dir = 2;
+ name = "Dorm Toilets APC";
+ pixel_y = -24
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/toilet)
+"aFd" = (
+/obj/machinery/power/terminal{
+ tag = "icon-term (EAST)";
+ icon_state = "term";
+ dir = 4
+ },
+/obj/structure/cable{
+ d2 = 8;
+ icon_state = "0-8"
+ },
+/obj/structure/sign/electricshock{
+ pixel_y = -32
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aFe" = (
+/obj/machinery/power/smes/engineering,
+/obj/structure/cable/orange,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aFf" = (
+/turf/open/floor/plasteel/neutral/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/locker)
+"aFg" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/locker)
+"aFh" = (
+/obj/structure/bed,
+/obj/item/weapon/bedsheet/yellow,
+/obj/structure/window{
+ tag = "icon-window (NORTH)";
+ icon_state = "window";
+ dir = 1
+ },
+/obj/effect/landmark/start/assistant,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/sleep_male)
+"aFi" = (
+/obj/structure/bed,
+/obj/item/weapon/bedsheet/green,
+/obj/structure/window{
+ tag = "icon-window (NORTH)";
+ icon_state = "window";
+ dir = 1
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/sleep_male)
+"aFj" = (
+/obj/structure/bed,
+/obj/item/weapon/bedsheet/red,
+/obj/structure/window{
+ tag = "icon-window (NORTH)";
+ icon_state = "window";
+ dir = 1
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/sleep_male)
+"aFk" = (
+/obj/structure/disposalpipe/segment,
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"aFl" = (
+/obj/structure/rack,
+/obj/item/device/flashlight,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"aFm" = (
+/obj/machinery/power/apc{
+ dir = 1;
+ name = "Head of Security's Personal Quarters APC";
+ pixel_x = 0;
+ pixel_y = 24
+ },
+/obj/structure/cable/orange{
+ d2 = 2;
+ icon_state = "0-2"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/hos{
+ name = "Head of Security's Private Quarters"
+ })
+"aFn" = (
+/obj/structure/closet/crate,
+/obj/effect/spawner/lootdrop/maintenance,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"aFo" = (
+/obj/machinery/power/apc{
+ dir = 4;
+ name = "Bridge APC";
+ pixel_x = 23;
+ pixel_y = 2
+ },
+/obj/structure/cable/orange{
+ d2 = 2;
+ icon_state = "0-2"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"aFp" = (
+/turf/open/floor/plasteel/darkblue/side{
+ tag = "icon-darkblue (NORTH)";
+ icon_state = "darkblue";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"aFq" = (
+/obj/machinery/camera{
+ c_tag = "Bridge Midway 1"
+ },
+/obj/machinery/airalarm{
+ frequency = 1439;
+ locked = 0;
+ pixel_y = 23
+ },
+/turf/open/floor/plasteel/darkblue/side{
+ tag = "icon-darkblue (NORTH)";
+ icon_state = "darkblue";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"aFr" = (
+/obj/structure/table,
+/obj/item/stack/packageWrap,
+/obj/item/device/destTagger,
+/turf/open/floor/plasteel/darkblue/side{
+ tag = "icon-darkblue (NORTH)";
+ icon_state = "darkblue";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"aFs" = (
+/obj/structure/table,
+/obj/machinery/cell_charger,
+/turf/open/floor/plasteel/darkblue/side{
+ tag = "icon-darkblue (NORTH)";
+ icon_state = "darkblue";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"aFt" = (
+/obj/structure/table,
+/obj/machinery/recharger,
+/turf/open/floor/plasteel/darkblue/side{
+ tag = "icon-darkblue (NORTH)";
+ icon_state = "darkblue";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"aFu" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel/darkblue/corner{
+ tag = "icon-darkbluecorners (NORTH)";
+ icon_state = "darkbluecorners";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"aFv" = (
+/obj/structure/disposalpipe/junction{
+ icon_state = "pipe-j2";
+ dir = 2
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"aFw" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 8
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/darkblue/side{
+ tag = "icon-darkblue (NORTH)";
+ icon_state = "darkblue";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"aFx" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"aFy" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/darkblue/corner{
+ tag = "icon-darkbluecorners (EAST)";
+ icon_state = "darkbluecorners";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"aFz" = (
+/obj/structure/table,
+/obj/item/weapon/storage/firstaid/regular{
+ pixel_x = 0
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/item/device/radio/intercom{
+ broadcasting = 0;
+ name = "Station Intercom (General)";
+ pixel_y = 20
+ },
+/turf/open/floor/plasteel/darkblue/side{
+ tag = "icon-darkblue (NORTH)";
+ icon_state = "darkblue";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"aFA" = (
+/obj/structure/table,
+/obj/item/weapon/storage/firstaid/o2,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/darkblue/side{
+ tag = "icon-darkblue (NORTH)";
+ icon_state = "darkblue";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"aFB" = (
+/obj/structure/table,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/darkblue/side{
+ tag = "icon-darkblue (NORTH)";
+ icon_state = "darkblue";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"aFC" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 10
+ },
+/obj/machinery/disposal/bin,
+/obj/structure/disposalpipe/trunk{
+ dir = 8
+ },
+/turf/open/floor/plasteel/darkblue/side{
+ tag = "icon-darkblue (NORTH)";
+ icon_state = "darkblue";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"aFD" = (
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/qm{
+ name = "Quartermaster's Private Quarters"
+ })
+"aFE" = (
+/obj/structure/table/wood,
+/obj/item/weapon/paper_bin,
+/obj/item/weapon/stamp/qm,
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/qm{
+ name = "Quartermaster's Private Quarters"
+ })
+"aFF" = (
+/obj/structure/table/wood,
+/obj/item/device/flashlight/lamp,
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/qm{
+ name = "Quartermaster's Private Quarters"
+ })
+"aFG" = (
+/obj/structure/dresser,
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/qm{
+ name = "Quartermaster's Private Quarters"
+ })
+"aFH" = (
+/obj/structure/bed,
+/obj/item/weapon/bedsheet/qm,
+/obj/machinery/airalarm{
+ frequency = 1439;
+ locked = 0;
+ pixel_y = 23
+ },
+/obj/item/weapon/storage/secure/safe{
+ pixel_x = 32
+ },
+/obj/effect/landmark/start/quartermaster,
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/qm{
+ name = "Quartermaster's Private Quarters"
+ })
+"aFI" = (
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/qm{
+ name = "Quartermaster's Private Quarters"
+ })
+"aFJ" = (
+/obj/machinery/door/airlock/glass_mining{
+ name = "Cargo Bay";
+ req_access_txt = "0";
+ req_one_access_txt = "31;48"
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"aFK" = (
+/obj/machinery/door/airlock/glass_mining{
+ name = "Cargo Bay";
+ req_access_txt = "0";
+ req_one_access_txt = "31;48"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"aFL" = (
+/obj/structure/table,
+/obj/item/weapon/paper_bin{
+ pixel_x = -3;
+ pixel_y = 7
+ },
+/obj/item/weapon/pen/fourcolor,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"aFM" = (
+/obj/structure/table,
+/obj/item/clothing/gloves/fingerless,
+/obj/item/clothing/head/soft,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"aFN" = (
+/obj/structure/closet/wardrobe/cargotech,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"aFO" = (
+/obj/structure/table,
+/obj/machinery/cell_charger,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"aFP" = (
+/obj/structure/table,
+/obj/item/weapon/hand_labeler,
+/obj/item/hand_labeler_refill,
+/obj/item/hand_labeler_refill,
+/obj/item/stack/packageWrap,
+/obj/item/device/destTagger,
+/turf/open/floor/plasteel/brown/corner{
+ tag = "icon-browncorner (EAST)";
+ icon_state = "browncorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"aFQ" = (
+/obj/structure/shuttle/engine/propulsion,
+/turf/open/floor/plating/airless,
+/area/shuttle/labor)
+"aFR" = (
+/obj/machinery/light{
+ icon_state = "tube1";
+ dir = 8
+ },
+/obj/structure/closet/emcloset,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/processing)
+"aFS" = (
+/obj/machinery/camera{
+ c_tag = "Labor Shuttle Dock South";
+ dir = 1
+ },
+/obj/machinery/firealarm{
+ dir = 1;
+ pixel_y = -24
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/processing)
+"aFT" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ dir = 4;
+ on = 1;
+ scrub_N2O = 0;
+ scrub_Toxins = 0
+ },
+/obj/machinery/airalarm{
+ dir = 8;
+ icon_state = "alarm0";
+ pixel_x = 24
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/processing)
+"aFU" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/processing)
+"aFV" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/disposalpipe/segment,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/machinery/door/airlock/maintenance{
+ id_tag = "GulagCivExit";
+ name = "Fore Asteroid Maintenance Access";
+ req_access_txt = "12"
+ },
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aFW" = (
+/obj/structure/disposalpipe/segment,
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,
+/obj/machinery/door/airlock/maintenance{
+ id_tag = "GulagCivExit";
+ name = "Fore Asteroid Maintenance Access";
+ req_access_txt = "12"
+ },
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aFX" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/main)
+"aFY" = (
+/obj/effect/landmark/secequipment,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/extinguisher_cabinet{
+ pixel_y = -32
+ },
+/turf/open/floor/plasteel/showroomfloor{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/main)
+"aFZ" = (
+/obj/effect/landmark/secequipment,
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,
+/obj/machinery/light,
+/turf/open/floor/plasteel/showroomfloor{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/main)
+"aGa" = (
+/obj/effect/landmark/secequipment,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/showroomfloor{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/main)
+"aGb" = (
+/obj/machinery/firealarm{
+ dir = 1;
+ pixel_y = -24
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/effect/landmark/secequipment,
+/turf/open/floor/plasteel/showroomfloor{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/main)
+"aGc" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/obj/machinery/door/poddoor/preopen{
+ id = "prisonbreak";
+ name = "emergency prisoner containment blast door"
+ },
+/obj/structure/cable/orange,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/main)
+"aGd" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel/red/corner{
+ tag = "icon-redcorner (WEST)";
+ icon_state = "redcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"aGe" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/red/corner{
+ tag = "icon-redcorner (WEST)";
+ icon_state = "redcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"aGf" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 1
+ },
+/turf/open/floor/plasteel/red/corner{
+ tag = "icon-redcorner (WEST)";
+ icon_state = "redcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"aGg" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/machinery/camera{
+ c_tag = "Brig Hall West";
+ dir = 1;
+ icon_state = "camera";
+ network = list("SS13")
+ },
+/turf/open/floor/plasteel/red/corner{
+ tag = "icon-redcorner (WEST)";
+ icon_state = "redcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"aGh" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,
+/turf/open/floor/plasteel/red/corner{
+ tag = "icon-redcorner (WEST)";
+ icon_state = "redcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"aGi" = (
+/obj/machinery/light,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/red/corner{
+ tag = "icon-redcorner (WEST)";
+ icon_state = "redcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"aGj" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/red/corner{
+ tag = "icon-redcorner (WEST)";
+ icon_state = "redcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"aGk" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/red/corner{
+ tag = "icon-redcorner (WEST)";
+ icon_state = "redcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"aGl" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/red/corner{
+ tag = "icon-redcorner (WEST)";
+ icon_state = "redcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"aGm" = (
+/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden,
+/turf/open/floor/plasteel/red/corner{
+ tag = "icon-redcorner (WEST)";
+ icon_state = "redcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"aGn" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"aGo" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/machinery/light,
+/turf/open/floor/plasteel/red/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"aGp" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 10
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel/red/corner{
+ tag = "icon-redcorner (WEST)";
+ icon_state = "redcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"aGq" = (
+/turf/open/floor/plasteel/red/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"aGr" = (
+/obj/structure/sign/goldenplaque{
+ pixel_y = -32
+ },
+/turf/open/floor/plasteel/red/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"aGs" = (
+/turf/open/floor/plasteel/red/corner{
+ tag = "icon-redcorner (WEST)";
+ icon_state = "redcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"aGt" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel/red/corner{
+ tag = "icon-redcorner (WEST)";
+ icon_state = "redcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"aGu" = (
+/obj/machinery/disposal/bin,
+/obj/structure/disposalpipe/trunk{
+ dir = 1
+ },
+/turf/open/floor/plasteel/red/side{
+ icon_state = "red";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"aGv" = (
+/obj/machinery/status_display{
+ density = 0;
+ layer = 4
+ },
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"aGw" = (
+/obj/structure/chair{
+ dir = 4
+ },
+/turf/open/floor/plasteel/red/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/courtroom)
+"aGx" = (
+/obj/structure/table/wood,
+/obj/item/weapon/book/manual/wiki/security_space_law,
+/turf/open/floor/plasteel/red/side{
+ icon_state = "red";
+ dir = 6;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/courtroom)
+"aGy" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/courtroom)
+"aGz" = (
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/courtroom)
+"aGA" = (
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/courtroom)
+"aGB" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/courtroom)
+"aGC" = (
+/obj/structure/table/wood,
+/turf/open/floor/plasteel/blue/side{
+ tag = "icon-blue (SOUTHWEST)";
+ icon_state = "blue";
+ dir = 10;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/courtroom)
+"aGD" = (
+/obj/structure/chair{
+ dir = 8
+ },
+/turf/open/floor/plasteel/blue/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/courtroom)
+"aGE" = (
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/toilet)
+"aGF" = (
+/obj/structure/closet/secure_closet/personal,
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/locker)
+"aGG" = (
+/obj/structure/closet/secure_closet/personal,
+/obj/machinery/light,
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/locker)
+"aGH" = (
+/obj/machinery/light/small,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/sleep_male)
+"aGI" = (
+/obj/structure/bed,
+/obj/item/weapon/bedsheet/yellow,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/sleep_male)
+"aGJ" = (
+/obj/machinery/light/small,
+/obj/structure/sign/poster/random{
+ name = "random official poster";
+ pixel_x = -32;
+ random_basetype = /obj/structure/sign/poster/official
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/sleep_male)
+"aGK" = (
+/obj/structure/bed,
+/obj/item/weapon/bedsheet/green,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/sleep_male)
+"aGL" = (
+/obj/structure/bed,
+/obj/item/weapon/bedsheet/red,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/sleep_male)
+"aGM" = (
+/obj/structure/disposalpipe/segment{
+ dir = 1;
+ icon_state = "pipe-c"
+ },
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"aGN" = (
+/obj/structure/disposalpipe/trunk{
+ dir = 8
+ },
+/obj/structure/disposaloutlet{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"aGO" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"aGP" = (
+/obj/machinery/light/small,
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/power/apc{
+ dir = 2;
+ name = "Head of Personnel's Office APC";
+ pixel_y = -24
+ },
+/obj/structure/cable/orange{
+ d2 = 4;
+ icon_state = "0-4"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/heads)
+"aGQ" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"aGR" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "Bridge APC Access";
+ req_access_txt = "10;11;12"
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"aGS" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 6
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"aGT" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"aGU" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 1
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"aGV" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/junction,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"aGW" = (
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"aGX" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 8
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"aGY" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"aGZ" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/qm{
+ name = "Quartermaster's Private Quarters"
+ })
+"aHa" = (
+/obj/structure/table/wood,
+/obj/item/device/modular_computer/laptop/preset/civillian,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/qm{
+ name = "Quartermaster's Private Quarters"
+ })
+"aHb" = (
+/obj/structure/chair{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/qm{
+ name = "Quartermaster's Private Quarters"
+ })
+"aHc" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/qm{
+ name = "Quartermaster's Private Quarters"
+ })
+"aHd" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ dir = 8;
+ on = 1;
+ scrub_Toxins = 0
+ },
+/obj/machinery/requests_console{
+ department = "Cargo Bay";
+ departmentType = 2;
+ name = "Quartermaster RC";
+ pixel_x = 30;
+ pixel_y = 0
+ },
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/qm{
+ name = "Quartermaster's Private Quarters"
+ })
+"aHe" = (
+/obj/machinery/power/apc{
+ dir = 8;
+ name = "Quartermaster's Private Quarters APC";
+ pixel_x = -23;
+ pixel_y = 2
+ },
+/obj/structure/cable/orange{
+ d2 = 2;
+ icon_state = "0-2"
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/qm{
+ name = "Quartermaster's Private Quarters"
+ })
+"aHf" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/extinguisher_cabinet{
+ pixel_x = -24
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plasteel/brown/corner{
+ tag = "icon-browncorner (EAST)";
+ icon_state = "browncorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"aHg" = (
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plasteel/brown{
+ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface;
+ dir = 1
+ },
+/area/quartermaster/office)
+"aHh" = (
+/turf/open/floor/plasteel/brown{
+ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface;
+ dir = 1
+ },
+/area/quartermaster/office)
+"aHi" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 5
+ },
+/turf/open/floor/plasteel/brown/corner{
+ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface;
+ dir = 1;
+ tag = "icon-browncorner (NORTH)"
+ },
+/area/quartermaster/office)
+"aHj" = (
+/obj/machinery/requests_console{
+ department = "Cargo Bay";
+ departmentType = 2;
+ name = "Cargo RC";
+ pixel_x = 0;
+ pixel_y = 30
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 10
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"aHk" = (
+/obj/machinery/autolathe,
+/obj/machinery/light{
+ dir = 1
+ },
+/obj/machinery/newscaster{
+ pixel_y = 32
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"aHl" = (
+/obj/structure/table,
+/obj/item/device/multitool,
+/obj/machinery/camera{
+ c_tag = "Cargo Desk";
+ dir = 6;
+ icon_state = "camera";
+ network = list("SS13","QM")
+ },
+/obj/machinery/status_display{
+ density = 0;
+ name = "cargo display";
+ pixel_x = 0;
+ pixel_y = 32;
+ supply_display = 1
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"aHm" = (
+/obj/structure/table,
+/obj/item/weapon/folder,
+/obj/item/weapon/stamp/denied{
+ pixel_x = 5;
+ pixel_y = 3
+ },
+/obj/item/weapon/stamp,
+/obj/item/device/radio/intercom{
+ broadcasting = 0;
+ name = "Station Intercom (General)";
+ pixel_y = 20
+ },
+/obj/item/stack/packageWrap,
+/obj/item/device/destTagger,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"aHn" = (
+/obj/structure/table,
+/obj/item/weapon/storage/firstaid/regular,
+/obj/structure/noticeboard{
+ pixel_y = 32
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"aHo" = (
+/obj/structure/table,
+/obj/machinery/computer/stockexchange,
+/obj/structure/sign/poster/random{
+ name = "random official poster";
+ pixel_x = 0;
+ pixel_y = 32;
+ random_basetype = /obj/structure/sign/poster/official
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"aHp" = (
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint/supply)
+"aHq" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint/supply)
+"aHr" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/stripes/asteroid/line{
+ icon_state = "ast_warn";
+ dir = 1
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aHs" = (
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/detectives_office)
+"aHt" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/obj/structure/cable/orange{
+ d2 = 4;
+ icon_state = "0-4"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/detectives_office)
+"aHu" = (
+/obj/machinery/door/airlock/security{
+ name = "Detective's Office";
+ req_access_txt = "4"
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/grimy,
+/area/security/detectives_office)
+"aHv" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/obj/structure/cable/orange{
+ d2 = 8;
+ icon_state = "0-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/detectives_office)
+"aHw" = (
+/obj/machinery/status_display{
+ density = 0;
+ layer = 4
+ },
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/lawoffice)
+"aHx" = (
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/lawoffice)
+"aHy" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/obj/structure/cable/orange{
+ d2 = 4;
+ icon_state = "0-4"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/disposalpipe/segment,
+/obj/machinery/door/poddoor/shutters{
+ id = "lawyerinterior";
+ name = "privacy shutters"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/lawoffice)
+"aHz" = (
+/obj/machinery/door/airlock{
+ name = "Law Office";
+ req_access_txt = "38"
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/lawoffice)
+"aHA" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/obj/structure/cable/orange{
+ d2 = 8;
+ icon_state = "0-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/machinery/door/poddoor/shutters{
+ id = "lawyerinterior";
+ name = "privacy shutters"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/lawoffice)
+"aHB" = (
+/turf/open/floor/plasteel/red/side{
+ icon_state = "red";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"aHC" = (
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"aHD" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel/red/side{
+ icon_state = "red";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"aHE" = (
+/obj/machinery/door/airlock/glass_security{
+ cyclelinkeddir = 2;
+ id_tag = "innerbrig";
+ name = "Brig";
+ req_access_txt = "0";
+ req_one_access_txt = "38;63"
+ },
+/turf/open/floor/plasteel/red/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"aHF" = (
+/obj/machinery/door/airlock/glass_security{
+ cyclelinkeddir = 2;
+ id_tag = "innerbrig";
+ name = "Brig";
+ req_access_txt = "0";
+ req_one_access_txt = "38;63"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel/red/corner{
+ tag = "icon-redcorner (EAST)";
+ icon_state = "redcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"aHG" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel/red/side{
+ icon_state = "red";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"aHH" = (
+/obj/machinery/firealarm{
+ dir = 4;
+ pixel_x = 24
+ },
+/turf/open/floor/plasteel/red/side{
+ icon_state = "red";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"aHI" = (
+/obj/machinery/camera{
+ c_tag = "Courtroom Main South";
+ dir = 1
+ },
+/turf/open/floor/plasteel/red/side{
+ icon_state = "red";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/courtroom)
+"aHJ" = (
+/turf/open/floor/plasteel/red/corner{
+ tag = "icon-redcorner (NORTH)";
+ icon_state = "redcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/courtroom)
+"aHK" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/courtroom)
+"aHL" = (
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/courtroom)
+"aHM" = (
+/turf/open/floor/plasteel/blue/corner{
+ tag = "icon-bluecorner (EAST)";
+ icon_state = "bluecorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/courtroom)
+"aHN" = (
+/obj/machinery/firealarm{
+ dir = 4;
+ pixel_x = 24
+ },
+/obj/structure/extinguisher_cabinet{
+ pixel_y = -32
+ },
+/turf/open/floor/plasteel/blue/side{
+ tag = "icon-blue (NORTH)";
+ icon_state = "blue";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/courtroom)
+"aHO" = (
+/obj/machinery/recharge_station,
+/turf/open/floor/plasteel/freezer{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/toilet)
+"aHP" = (
+/turf/open/floor/plasteel/freezer{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/toilet)
+"aHQ" = (
+/obj/machinery/door/airlock/glass{
+ name = "Dormitories"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/locker)
+"aHR" = (
+/obj/machinery/door/airlock/glass{
+ name = "Dormitories"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/locker)
+"aHS" = (
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/heads)
+"aHT" = (
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/heads)
+"aHU" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/darkblue/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"aHV" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 1;
+ on = 1
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"aHW" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/holopad,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"aHX" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 8
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"aHY" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ dir = 8;
+ on = 1;
+ scrub_Toxins = 0
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"aHZ" = (
+/obj/machinery/door/airlock/mining{
+ name = "Quartermaster's Private Quarters";
+ req_access_txt = "41"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/qm{
+ name = "Quartermaster's Private Quarters"
+ })
+"aIa" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/qm{
+ name = "Quartermaster's Private Quarters"
+ })
+"aIb" = (
+/obj/machinery/light/small,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/qm{
+ name = "Quartermaster's Private Quarters"
+ })
+"aIc" = (
+/obj/machinery/light_switch{
+ pixel_y = -25
+ },
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 8;
+ layer = 2.4;
+ on = 1
+ },
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/qm{
+ name = "Quartermaster's Private Quarters"
+ })
+"aId" = (
+/obj/structure/closet/secure_closet/quartermaster,
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/qm{
+ name = "Quartermaster's Private Quarters"
+ })
+"aIe" = (
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/obj/effect/spawner/lootdrop/grille_or_trash,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aIf" = (
+/obj/machinery/power/apc{
+ dir = 2;
+ name = "Gravity Generator APC";
+ pixel_y = -24
+ },
+/turf/closed/mineral,
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aIg" = (
+/obj/structure/table,
+/obj/item/stack/sheet/glass/fifty,
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 8
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"aIh" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 8;
+ layer = 2.4;
+ on = 1
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"aIi" = (
+/obj/machinery/holopad,
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 8
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"aIj" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint/supply)
+"aIk" = (
+/obj/machinery/computer/secure_data,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/red/side{
+ tag = "icon-red (NORTHWEST)";
+ icon_state = "red";
+ dir = 9;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint/supply)
+"aIl" = (
+/obj/structure/chair/office/dark{
+ dir = 8
+ },
+/obj/effect/landmark/start/depsec/supply,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/red/side{
+ icon_state = "red";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint/supply)
+"aIm" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/red/side{
+ icon_state = "red";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint/supply)
+"aIn" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ dir = 8;
+ on = 1;
+ scrub_Toxins = 0
+ },
+/obj/structure/reagent_dispensers/peppertank{
+ pixel_x = 32
+ },
+/turf/open/floor/plasteel/red/side{
+ tag = "icon-red (NORTHEAST)";
+ icon_state = "red";
+ dir = 5;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint/supply)
+"aIo" = (
+/obj/structure/cable/orange{
+ d2 = 4;
+ icon_state = "0-4"
+ },
+/obj/machinery/power/apc{
+ dir = 1;
+ name = "Labor Shuttle Dock APC";
+ pixel_x = 0;
+ pixel_y = 24
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/processing)
+"aIp" = (
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aIq" = (
+/obj/structure/closet/secure_closet/detective,
+/obj/item/weapon/reagent_containers/food/drinks/bottle/whiskey,
+/turf/open/floor/plasteel/grimy{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/detectives_office)
+"aIr" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 1;
+ on = 1
+ },
+/turf/open/floor/plasteel/grimy{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/detectives_office)
+"aIs" = (
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/grimy{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/detectives_office)
+"aIt" = (
+/obj/structure/table/wood,
+/obj/machinery/computer/security/wooden_tv,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/detectives_office)
+"aIu" = (
+/obj/structure/filingcabinet,
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/detectives_office)
+"aIv" = (
+/obj/machinery/computer/secure_data,
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/detectives_office)
+"aIw" = (
+/obj/structure/filingcabinet,
+/obj/item/device/radio/intercom{
+ broadcasting = 0;
+ name = "Station Intercom (General)";
+ pixel_y = 20
+ },
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/lawoffice)
+"aIx" = (
+/obj/machinery/button/door{
+ id = "lawyerinterior";
+ name = "Privacy Shutters";
+ pixel_x = 0;
+ pixel_y = 24
+ },
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/lawoffice)
+"aIy" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 1;
+ on = 1
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/lawoffice)
+"aIz" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/lawoffice)
+"aIA" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/machinery/power/apc{
+ dir = 4;
+ name = "Lawyer's Office APC";
+ pixel_x = 23;
+ pixel_y = 2
+ },
+/obj/structure/cable/orange{
+ d2 = 8;
+ icon_state = "0-8"
+ },
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/lawoffice)
+"aIB" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/machinery/button/flasher{
+ id = "HoldingCell";
+ name = "Holding Cell Flash";
+ pixel_x = -24;
+ pixel_y = 0
+ },
+/turf/open/floor/plasteel/red/side{
+ icon_state = "red";
+ dir = 10;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"aIC" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel/red/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"aID" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel/red/side{
+ icon_state = "red";
+ dir = 6;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"aIE" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/obj/structure/table,
+/obj/item/stack/packageWrap,
+/obj/item/device/destTagger,
+/turf/open/floor/plasteel/red/side{
+ icon_state = "red";
+ dir = 6;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"aIF" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/obj/structure/cable/orange{
+ d2 = 4;
+ icon_state = "0-4"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"aIG" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel/red/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"aIH" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel/red/corner{
+ tag = "icon-redcorner (EAST)";
+ icon_state = "redcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"aII" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/vending/coffee,
+/turf/open/floor/plasteel/red/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"aIJ" = (
+/obj/machinery/vending/cigarette,
+/turf/open/floor/plasteel/red/side{
+ icon_state = "red";
+ dir = 6;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"aIK" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/courtroom)
+"aIL" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/courtroom)
+"aIM" = (
+/obj/machinery/door/airlock/glass{
+ name = "Courtroom";
+ req_access_txt = "1"
+ },
+/turf/open/floor/plasteel/vault{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 5
+ },
+/area/crew_quarters/courtroom)
+"aIN" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/courtroom)
+"aIO" = (
+/obj/machinery/light/small{
+ dir = 8
+ },
+/turf/open/floor/plasteel/freezer{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/toilet)
+"aIP" = (
+/obj/machinery/door/airlock{
+ id_tag = "b3"
+ },
+/turf/open/floor/plasteel/freezer{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/toilet)
+"aIQ" = (
+/obj/structure/urinal{
+ pixel_x = 32
+ },
+/turf/open/floor/plasteel/freezer{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/toilet)
+"aIR" = (
+/obj/machinery/washing_machine,
+/turf/open/floor/plasteel/barber{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/locker)
+"aIS" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/disposalpipe/junction{
+ icon_state = "pipe-j1";
+ dir = 1
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/locker)
+"aIT" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/locker)
+"aIU" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/extinguisher_cabinet{
+ pixel_y = 32
+ },
+/turf/open/floor/plasteel/neutral/side{
+ tag = "icon-neutral (EAST)";
+ icon_state = "neutral";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/locker)
+"aIV" = (
+/obj/machinery/disposal/bin,
+/obj/structure/disposalpipe/trunk{
+ dir = 8
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/locker)
+"aIW" = (
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/locker)
+"aIX" = (
+/obj/structure/closet/wardrobe/pjs,
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/locker)
+"aIY" = (
+/obj/structure/bed,
+/obj/item/weapon/bedsheet/hop,
+/obj/effect/landmark/start/head_of_personnel,
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/heads)
+"aIZ" = (
+/obj/machinery/light_switch{
+ pixel_y = 25
+ },
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ dir = 4;
+ on = 1
+ },
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/heads)
+"aJa" = (
+/obj/structure/closet/secure_closet/hop,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/item/weapon/storage/secure/safe{
+ pixel_y = 32
+ },
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/heads)
+"aJb" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/heads)
+"aJc" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/machinery/requests_console{
+ announcementConsole = 1;
+ department = "Head of Personnel's Desk";
+ departmentType = 5;
+ name = "Head of Personnel RC";
+ pixel_y = 30
+ },
+/obj/machinery/disposal/bin,
+/obj/structure/disposalpipe/trunk,
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/heads)
+"aJd" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 1
+ },
+/obj/machinery/airalarm{
+ frequency = 1439;
+ locked = 0;
+ pixel_y = 23
+ },
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/heads)
+"aJe" = (
+/obj/structure/bed/dogbed,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/item/device/radio/intercom{
+ broadcasting = 0;
+ name = "Station Intercom (General)";
+ pixel_y = 20
+ },
+/mob/living/simple_animal/pet/dog/corgi/Ian,
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/heads)
+"aJf" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/machinery/status_display{
+ density = 0;
+ layer = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/heads)
+"aJg" = (
+/obj/machinery/door/airlock/glass_command{
+ cyclelinkeddir = null;
+ name = "Head of Personnel's Office";
+ req_access_txt = "57";
+ req_one_access = null;
+ req_one_access_txt = "0"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/heads)
+"aJh" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"aJi" = (
+/obj/machinery/light,
+/obj/item/weapon/twohanded/required/kirbyplants{
+ tag = "icon-plant-21";
+ icon_state = "plant-21"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/darkblue/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"aJj" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/darkblue/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"aJk" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"aJl" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"aJm" = (
+/obj/machinery/camera{
+ c_tag = "Bridge Midway 2";
+ dir = 1;
+ icon_state = "camera";
+ network = list("SS13")
+ },
+/turf/open/floor/plasteel/darkblue/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"aJn" = (
+/obj/machinery/light,
+/obj/item/weapon/twohanded/required/kirbyplants{
+ tag = "icon-plant-21";
+ icon_state = "plant-21"
+ },
+/turf/open/floor/plasteel/darkblue/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"aJo" = (
+/obj/structure/window/reinforced{
+ dir = 4;
+ pixel_x = 0
+ },
+/obj/machinery/camera{
+ c_tag = "Core-Command-Cargo Bridge 1";
+ dir = 8;
+ network = list("SS13")
+ },
+/turf/open/floor/engine,
+/area/space)
+"aJp" = (
+/obj/structure/table,
+/obj/item/stack/sheet/metal/fifty,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"aJq" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ dir = 8;
+ on = 1;
+ scrub_Toxins = 0
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"aJr" = (
+/mob/living/simple_animal/sloth/paperwork,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"aJs" = (
+/obj/machinery/door/airlock/glass_security{
+ name = "Security Office";
+ req_access_txt = "63"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint/supply)
+"aJt" = (
+/turf/open/floor/plasteel/red/side{
+ icon_state = "red";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint/supply)
+"aJu" = (
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint/supply)
+"aJv" = (
+/obj/machinery/airalarm{
+ dir = 8;
+ icon_state = "alarm0";
+ pixel_x = 24
+ },
+/turf/open/floor/plasteel/red/side{
+ icon_state = "red";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint/supply)
+"aJw" = (
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/obj/structure/cable/orange{
+ d2 = 2;
+ icon_state = "0-2"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint/supply)
+"aJx" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aJy" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aJz" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aJA" = (
+/obj/structure/cable/orange{
+ d2 = 8;
+ icon_state = "0-8"
+ },
+/obj/machinery/power/apc{
+ dir = 4;
+ name = "Detective's Office APC";
+ pixel_x = 23;
+ pixel_y = 2
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/detectives_office)
+"aJB" = (
+/obj/machinery/airalarm{
+ dir = 4;
+ icon_state = "alarm0";
+ pixel_x = -22
+ },
+/turf/open/floor/plasteel/grimy{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/detectives_office)
+"aJC" = (
+/turf/open/floor/plasteel/grimy{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/detectives_office)
+"aJD" = (
+/obj/structure/chair{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/grimy{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/detectives_office)
+"aJE" = (
+/obj/structure/table/wood,
+/obj/item/weapon/storage/fancy/cigarettes,
+/obj/item/clothing/glasses/sunglasses,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/detectives_office)
+"aJF" = (
+/obj/structure/chair/comfy/brown{
+ dir = 8
+ },
+/obj/effect/landmark/start/detective,
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/detectives_office)
+"aJG" = (
+/obj/item/device/radio/intercom{
+ broadcasting = 0;
+ name = "Station Intercom (General)";
+ pixel_x = 28;
+ pixel_y = 0
+ },
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/detectives_office)
+"aJH" = (
+/obj/structure/rack,
+/obj/item/weapon/storage/briefcase,
+/obj/item/weapon/storage/briefcase,
+/obj/machinery/camera{
+ c_tag = "Lawyer's Office";
+ dir = 4;
+ icon_state = "camera"
+ },
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/lawoffice)
+"aJI" = (
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/lawoffice)
+"aJJ" = (
+/obj/structure/table/wood,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/lawoffice)
+"aJK" = (
+/obj/structure/table/wood,
+/obj/item/weapon/book/manual/wiki/security_space_law,
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/lawoffice)
+"aJL" = (
+/obj/structure/table/wood,
+/obj/item/device/flashlight/lamp/green,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/lawoffice)
+"aJM" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/structure/cable/orange,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"aJN" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/door/poddoor/preopen{
+ id = "frontbrig";
+ name = "Emergency External Blast Doors"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"aJO" = (
+/obj/structure/chair{
+ dir = 1
+ },
+/obj/machinery/camera{
+ c_tag = "Courtroom Jury West";
+ dir = 4;
+ network = list("SS13")
+ },
+/obj/effect/landmark/start/assistant,
+/turf/open/floor/plasteel/vault{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 5
+ },
+/area/crew_quarters/courtroom)
+"aJP" = (
+/obj/structure/chair{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel/vault{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 5
+ },
+/area/crew_quarters/courtroom)
+"aJQ" = (
+/obj/structure/chair{
+ dir = 1
+ },
+/turf/open/floor/plasteel/vault{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 5
+ },
+/area/crew_quarters/courtroom)
+"aJR" = (
+/turf/open/floor/plasteel/vault{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 5
+ },
+/area/crew_quarters/courtroom)
+"aJS" = (
+/obj/structure/chair{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/vault{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 5
+ },
+/area/crew_quarters/courtroom)
+"aJT" = (
+/obj/structure/disposalpipe/segment,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/item/device/assembly/mousetrap/armed,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aJU" = (
+/obj/machinery/button/door{
+ id = "b3";
+ name = "Privacy Bolts";
+ normaldoorcontrol = 1;
+ pixel_x = 24
+ },
+/obj/machinery/recharge_station,
+/turf/open/floor/plasteel/freezer{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/toilet)
+"aJV" = (
+/obj/structure/sign/poster/random{
+ name = "random official poster";
+ pixel_x = -32;
+ random_basetype = /obj/structure/sign/poster/official
+ },
+/turf/open/floor/plasteel/barber{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/locker)
+"aJW" = (
+/obj/effect/landmark/start/assistant,
+/turf/open/floor/plasteel/barber{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/locker)
+"aJX" = (
+/turf/open/floor/plasteel/barber{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/locker)
+"aJY" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/disposalpipe/segment,
+/obj/item/device/radio/intercom{
+ name = "Station Intercom (General)";
+ pixel_x = -29;
+ pixel_y = 0
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/locker)
+"aJZ" = (
+/turf/open/floor/plasteel/neutral/side{
+ tag = "icon-neutral (EAST)";
+ icon_state = "neutral";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/locker)
+"aKa" = (
+/obj/structure/closet/wardrobe/grey,
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/locker)
+"aKb" = (
+/obj/structure/dresser,
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/heads)
+"aKc" = (
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/heads)
+"aKd" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 6
+ },
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/heads)
+"aKe" = (
+/obj/machinery/door/airlock/command{
+ name = "Head of Personnel's Private Quarters";
+ req_access = null;
+ req_access_txt = "57"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/heads)
+"aKf" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 1;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/heads)
+"aKg" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/heads)
+"aKh" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/heads)
+"aKi" = (
+/obj/machinery/light{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/heads)
+"aKj" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/heads)
+"aKk" = (
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/darkblue/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"aKl" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel/darkblue/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"aKm" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/darkblue/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"aKn" = (
+/obj/structure/cable/orange{
+ d2 = 4;
+ icon_state = "0-4"
+ },
+/obj/machinery/power/apc{
+ dir = 8;
+ name = "Fore Asteroid Maintenance APC";
+ pixel_x = -23;
+ pixel_y = 2
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aKo" = (
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/teleporter{
+ name = "Cargo Quantum Pad"
+ })
+"aKp" = (
+/obj/machinery/status_display{
+ density = 0;
+ layer = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/teleporter{
+ name = "Cargo Quantum Pad"
+ })
+"aKq" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 8
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"aKr" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/bot{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"aKs" = (
+/obj/machinery/photocopier,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"aKt" = (
+/obj/machinery/computer/cargo,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"aKu" = (
+/obj/structure/chair/office/dark,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/effect/landmark/start/cargo_technician,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"aKv" = (
+/obj/structure/table,
+/obj/machinery/computer/stockexchange,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"aKw" = (
+/obj/structure/filingcabinet/chestdrawer,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"aKx" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/disposal/bin,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"aKy" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint/supply)
+"aKz" = (
+/obj/structure/closet/secure_closet/security/engine,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/red/side{
+ icon_state = "red";
+ dir = 10;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint/supply)
+"aKA" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 8;
+ layer = 2.4;
+ on = 1
+ },
+/obj/machinery/computer/security/telescreen{
+ desc = "Used for making sure Cargo isn't hiding an armory bigger than Security's.";
+ name = "Cargo Monitor";
+ network = list("QM");
+ pixel_y = -32
+ },
+/obj/structure/table,
+/obj/item/weapon/paper_bin{
+ pixel_x = -3;
+ pixel_y = 7
+ },
+/obj/item/weapon/pen,
+/turf/open/floor/plasteel/red/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint/supply)
+"aKB" = (
+/obj/structure/filingcabinet,
+/obj/machinery/light,
+/turf/open/floor/plasteel/red/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint/supply)
+"aKC" = (
+/obj/structure/table,
+/obj/machinery/recharger,
+/obj/machinery/newscaster/security_unit{
+ pixel_y = -32
+ },
+/turf/open/floor/plasteel/red/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint/supply)
+"aKD" = (
+/obj/machinery/camera{
+ c_tag = "Cargo Security Checkpoint";
+ dir = 8;
+ icon_state = "camera";
+ network = list("SS13","QM");
+ tag = "icon-camera (WEST)"
+ },
+/turf/open/floor/plasteel/red/side{
+ icon_state = "red";
+ dir = 6;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint/supply)
+"aKE" = (
+/obj/machinery/light/small{
+ dir = 4
+ },
+/obj/structure/closet/crate,
+/obj/item/weapon/coin/silver,
+/obj/effect/spawner/lootdrop/maintenance,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aKF" = (
+/obj/structure/closet/emcloset,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aKG" = (
+/obj/machinery/light/small,
+/obj/structure/closet/crate,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aKH" = (
+/obj/structure/table/wood,
+/obj/item/weapon/storage/box/evidence,
+/obj/item/weapon/hand_labeler,
+/obj/item/hand_labeler_refill{
+ pixel_x = 3;
+ pixel_y = 2
+ },
+/obj/machinery/camera{
+ c_tag = "Detective's Office";
+ dir = 4;
+ icon_state = "camera"
+ },
+/turf/open/floor/plasteel/grimy{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/detectives_office)
+"aKI" = (
+/obj/structure/disposalpipe/segment,
+/obj/effect/landmark/event_spawn,
+/turf/open/floor/plasteel/grimy{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/detectives_office)
+"aKJ" = (
+/obj/structure/table/wood,
+/obj/machinery/computer/med_data/laptop,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/detectives_office)
+"aKK" = (
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/detectives_office)
+"aKL" = (
+/obj/machinery/airalarm{
+ dir = 4;
+ icon_state = "alarm0";
+ pixel_x = -22
+ },
+/obj/machinery/holopad,
+/obj/effect/landmark/start/lawyer,
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/lawoffice)
+"aKM" = (
+/obj/structure/chair/office/dark{
+ dir = 8
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/effect/landmark/start/lawyer,
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/lawoffice)
+"aKN" = (
+/obj/structure/filingcabinet,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/lawoffice)
+"aKO" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 1;
+ on = 1
+ },
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"aKP" = (
+/obj/structure/chair{
+ dir = 4
+ },
+/turf/open/floor/plasteel/red/corner{
+ tag = "icon-redcorner (WEST)";
+ icon_state = "redcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"aKQ" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/sign/map/left/ceres{
+ pixel_x = -32
+ },
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 8
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"aKR" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ dir = 8;
+ on = 1;
+ scrub_N2O = 0;
+ scrub_Toxins = 0
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"aKS" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"aKT" = (
+/turf/open/floor/plasteel/red/corner{
+ tag = "icon-redcorner (EAST)";
+ icon_state = "redcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"aKU" = (
+/obj/structure/chair{
+ dir = 8
+ },
+/obj/machinery/airalarm{
+ dir = 8;
+ icon_state = "alarm0";
+ pixel_x = 24
+ },
+/turf/open/floor/plasteel/red/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"aKV" = (
+/obj/structure/chair{
+ dir = 1
+ },
+/obj/machinery/airalarm{
+ dir = 4;
+ pixel_x = -23;
+ pixel_y = 0
+ },
+/turf/open/floor/plasteel/vault{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 5
+ },
+/area/crew_quarters/courtroom)
+"aKW" = (
+/obj/machinery/light{
+ dir = 4
+ },
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 4;
+ on = 1
+ },
+/turf/open/floor/plasteel/freezer{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/toilet)
+"aKX" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/toilet)
+"aKY" = (
+/obj/structure/table,
+/obj/structure/bedsheetbin,
+/obj/machinery/light{
+ icon_state = "tube1";
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/barber{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/locker)
+"aKZ" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/barber{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/locker)
+"aLa" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/holopad,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/locker)
+"aLb" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral/side{
+ tag = "icon-neutral (EAST)";
+ icon_state = "neutral";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/locker)
+"aLc" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 8;
+ layer = 2.4;
+ on = 1
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/locker)
+"aLd" = (
+/obj/structure/closet/wardrobe/mixed,
+/obj/machinery/light{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/locker)
+"aLe" = (
+/obj/structure/table/wood,
+/obj/item/device/flashlight/lamp,
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/heads)
+"aLf" = (
+/obj/structure/chair,
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/heads)
+"aLg" = (
+/obj/machinery/light/small{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/heads)
+"aLh" = (
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/heads)
+"aLi" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ dir = 1;
+ on = 1
+ },
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/heads)
+"aLj" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 1;
+ on = 1
+ },
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/heads)
+"aLk" = (
+/obj/structure/sign/map/left/ceres{
+ pixel_y = 32
+ },
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/heads)
+"aLl" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/cable/orange{
+ d2 = 2;
+ icon_state = "0-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/door/poddoor/preopen{
+ id = "bridge";
+ name = "Emergency Blast Door"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"aLm" = (
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aLn" = (
+/turf/closed/wall/rust{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aLo" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/teleporter{
+ name = "Cargo Quantum Pad"
+ })
+"aLp" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 9
+ },
+/obj/structure/cable/orange{
+ d2 = 2;
+ icon_state = "0-2"
+ },
+/obj/machinery/power/apc{
+ dir = 1;
+ name = "Cargo Quantum Pad APC";
+ pixel_y = 24
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/teleporter{
+ name = "Cargo Quantum Pad"
+ })
+"aLq" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/structure/sign/securearea{
+ desc = "A warning sign which reads 'KEEP CLEAR OF PAD WHEN IN USE'.";
+ name = "KEEP CLEAR OF PAD WHEN IN USE";
+ pixel_x = 0;
+ pixel_y = 32
+ },
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/teleporter{
+ name = "Cargo Quantum Pad"
+ })
+"aLr" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 5
+ },
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ on = 1;
+ scrub_N2O = 0;
+ scrub_Toxins = 0
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/teleporter{
+ name = "Cargo Quantum Pad"
+ })
+"aLs" = (
+/obj/machinery/door/airlock/glass_mining{
+ name = "Cargo Office";
+ req_access_txt = "0";
+ req_one_access_txt = "50;48"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"aLt" = (
+/obj/machinery/mineral/ore_redemption,
+/obj/machinery/door/firedoor,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"aLu" = (
+/obj/structure/table/reinforced,
+/obj/machinery/door/window/northright{
+ name = "Cargo Desk";
+ req_one_access_txt = "50;48"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"aLv" = (
+/obj/structure/disposalpipe/trunk,
+/obj/machinery/disposal/deliveryChute{
+ tag = "icon-intake (NORTH)";
+ icon_state = "intake";
+ dir = 1
+ },
+/turf/open/floor/plating/airless,
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aLw" = (
+/obj/structure/table/wood,
+/obj/item/device/tape/random,
+/obj/item/device/tape/random{
+ pixel_x = 2;
+ pixel_y = 3
+ },
+/obj/machinery/light{
+ dir = 8
+ },
+/turf/open/floor/plasteel/grimy{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/detectives_office)
+"aLx" = (
+/obj/machinery/holopad,
+/turf/open/floor/plasteel/grimy{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/detectives_office)
+"aLy" = (
+/obj/structure/table/wood,
+/obj/item/device/flashlight/lamp,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/detectives_office)
+"aLz" = (
+/obj/structure/table/wood,
+/obj/item/device/camera/detective,
+/obj/item/weapon/lighter,
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/detectives_office)
+"aLA" = (
+/obj/machinery/light{
+ dir = 4;
+ icon_state = "tube1"
+ },
+/obj/machinery/newscaster/security_unit{
+ pixel_x = 32
+ },
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/detectives_office)
+"aLB" = (
+/obj/machinery/light{
+ dir = 8
+ },
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/lawoffice)
+"aLC" = (
+/obj/structure/table/wood,
+/obj/item/weapon/folder/red{
+ pixel_x = 8;
+ pixel_y = 6
+ },
+/obj/item/weapon/folder/blue{
+ pixel_x = 5;
+ pixel_y = 5
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/lawoffice)
+"aLD" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/lawoffice)
+"aLE" = (
+/obj/machinery/photocopier,
+/obj/machinery/light{
+ dir = 4;
+ icon_state = "tube1"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/lawoffice)
+"aLF" = (
+/obj/structure/chair{
+ dir = 4
+ },
+/obj/item/device/radio/intercom{
+ name = "Station Intercom (General)";
+ pixel_x = -29;
+ pixel_y = 0
+ },
+/turf/open/floor/plasteel/red/corner{
+ tag = "icon-redcorner (WEST)";
+ icon_state = "redcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"aLG" = (
+/obj/structure/chair{
+ dir = 8
+ },
+/turf/open/floor/plasteel/red/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"aLH" = (
+/obj/machinery/light/small{
+ dir = 8
+ },
+/obj/structure/toilet{
+ dir = 4
+ },
+/obj/machinery/button/door{
+ id = "b2";
+ name = "Privacy Bolts";
+ normaldoorcontrol = 1;
+ pixel_x = -24
+ },
+/turf/open/floor/plasteel/freezer{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/toilet)
+"aLI" = (
+/obj/machinery/door/airlock{
+ id_tag = "b2"
+ },
+/turf/open/floor/plasteel/freezer{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/toilet)
+"aLJ" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ dir = 4;
+ on = 1
+ },
+/turf/open/floor/plasteel/freezer{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/toilet)
+"aLK" = (
+/obj/structure/sink{
+ dir = 4;
+ icon_state = "sink";
+ pixel_x = 11;
+ pixel_y = 0
+ },
+/obj/structure/mirror{
+ pixel_x = 32;
+ pixel_y = 0
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/freezer{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/toilet)
+"aLL" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/toilet)
+"aLM" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/barber{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/locker)
+"aLN" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 1
+ },
+/turf/open/floor/plasteel/barber{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/locker)
+"aLO" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/locker)
+"aLP" = (
+/obj/structure/closet/wardrobe/mixed,
+/obj/structure/sign/poster/random{
+ name = "random official poster";
+ pixel_x = 32;
+ random_basetype = /obj/structure/sign/poster/official
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/locker)
+"aLQ" = (
+/obj/structure/table/wood,
+/obj/item/weapon/paper_bin,
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/heads)
+"aLR" = (
+/obj/structure/table/wood,
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/heads)
+"aLS" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 1;
+ on = 1
+ },
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/heads)
+"aLT" = (
+/obj/structure/table,
+/obj/item/weapon/folder/red{
+ pixel_x = 8;
+ pixel_y = 6
+ },
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/heads)
+"aLU" = (
+/obj/structure/table,
+/obj/machinery/camera{
+ c_tag = "Head of Personnel's Office";
+ dir = 1;
+ icon_state = "camera";
+ network = list("SS13")
+ },
+/obj/machinery/recharger,
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/heads)
+"aLV" = (
+/obj/structure/filingcabinet,
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/heads)
+"aLW" = (
+/obj/structure/table,
+/obj/item/weapon/paper_bin,
+/obj/item/weapon/stamp/hop,
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/heads)
+"aLX" = (
+/obj/machinery/computer/card,
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/heads)
+"aLY" = (
+/obj/structure/chair/comfy,
+/obj/machinery/button/flasher{
+ id = "hopflash";
+ name = "Line Flash";
+ pixel_x = 32;
+ pixel_y = 0
+ },
+/obj/machinery/button/door{
+ id = "hopshutter";
+ name = "Desk Shutters";
+ pixel_x = 24;
+ pixel_y = 8;
+ req_access_txt = "57"
+ },
+/obj/machinery/button/door{
+ id = "hopexternal";
+ name = "External Lockdown";
+ pixel_x = 24;
+ pixel_y = 0;
+ req_access_txt = "57"
+ },
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/heads)
+"aLZ" = (
+/obj/item/weapon/twohanded/required/kirbyplants{
+ tag = "icon-plant-21";
+ icon_state = "plant-21"
+ },
+/turf/open/floor/plasteel/darkblue/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 8;
+ tag = "icon-darkblue (WEST)"
+ },
+/area/bridge)
+"aMa" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"aMb" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/darkblue/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"aMc" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"aMd" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/darkblue/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"aMe" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"aMf" = (
+/obj/machinery/airalarm{
+ frequency = 1439;
+ locked = 0;
+ pixel_y = 23
+ },
+/obj/item/weapon/twohanded/required/kirbyplants{
+ tag = "icon-plant-21";
+ icon_state = "plant-21"
+ },
+/turf/open/floor/plasteel/darkblue/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 4;
+ tag = "icon-darkblue (EAST)"
+ },
+/area/bridge)
+"aMg" = (
+/obj/structure/table,
+/obj/machinery/cell_charger,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aMh" = (
+/obj/machinery/camera{
+ c_tag = "Command SMES";
+ dir = 6;
+ icon_state = "camera"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aMi" = (
+/obj/machinery/light/small{
+ dir = 1
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aMj" = (
+/obj/machinery/power/apc{
+ dir = 1;
+ name = "Fore Asteroid Hallway APC";
+ pixel_x = 0;
+ pixel_y = 24
+ },
+/obj/structure/cable/orange{
+ d2 = 4;
+ icon_state = "0-4"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aMk" = (
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/sign/electricshock{
+ pixel_y = 32
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aMl" = (
+/obj/machinery/power/smes/engineering,
+/obj/structure/cable/orange{
+ d2 = 8;
+ icon_state = "0-8"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aMm" = (
+/obj/structure/table,
+/obj/machinery/light/small{
+ dir = 8
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aMn" = (
+/obj/structure/table,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aMo" = (
+/obj/structure/closet/emcloset,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aMp" = (
+/obj/structure/tank_dispenser/oxygen,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aMq" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 2;
+ on = 1
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/teleporter{
+ name = "Cargo Quantum Pad"
+ })
+"aMr" = (
+/obj/machinery/quantumpad,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/teleporter{
+ name = "Cargo Quantum Pad"
+ })
+"aMs" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/machinery/camera{
+ c_tag = "Docking Quantum Pad";
+ dir = 8;
+ icon_state = "camera";
+ network = list("SS13","QM");
+ tag = "icon-camera (WEST)"
+ },
+/obj/machinery/airalarm{
+ dir = 8;
+ icon_state = "alarm0";
+ pixel_x = 24
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/teleporter{
+ name = "Cargo Quantum Pad"
+ })
+"aMt" = (
+/obj/structure/chair{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 6
+ },
+/turf/open/floor/plasteel/brown/corner{
+ tag = "icon-browncorner (EAST)";
+ icon_state = "browncorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"aMu" = (
+/obj/machinery/light{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/brown/corner{
+ tag = "icon-browncorner (EAST)";
+ icon_state = "browncorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"aMv" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden,
+/obj/structure/disposalpipe/segment{
+ dir = 1;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plasteel/brown/corner{
+ tag = "icon-browncorner (EAST)";
+ icon_state = "browncorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"aMw" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/brown/corner{
+ tag = "icon-browncorner (EAST)";
+ icon_state = "browncorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"aMx" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/turf_decal/delivery,
+/turf/open/floor/plasteel/brown/corner{
+ tag = "icon-browncorner (EAST)";
+ icon_state = "browncorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"aMy" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 8;
+ layer = 2.4;
+ on = 1
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/brown/corner{
+ tag = "icon-browncorner (EAST)";
+ icon_state = "browncorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"aMz" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/brown/corner{
+ tag = "icon-browncorner (EAST)";
+ icon_state = "browncorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"aMA" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/turf_decal/delivery,
+/turf/open/floor/plasteel/brown/corner{
+ tag = "icon-browncorner (EAST)";
+ icon_state = "browncorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"aMB" = (
+/obj/machinery/computer/cargo/request,
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plasteel/brown/corner{
+ tag = "icon-browncorner (EAST)";
+ icon_state = "browncorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"aMC" = (
+/obj/structure/disposalpipe/segment,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aMD" = (
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/obj/structure/cable/orange{
+ d2 = 4;
+ icon_state = "0-4"
+ },
+/obj/machinery/power/apc{
+ dir = 8;
+ name = "Fore Maintenance APC";
+ pixel_x = -25;
+ pixel_y = 1
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aME" = (
+/obj/machinery/power/apc{
+ dir = 1;
+ name = "Fore Asteroid Hallway APC";
+ pixel_x = 0;
+ pixel_y = 24
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/cable/orange{
+ d2 = 4;
+ icon_state = "0-4"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aMF" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/camera{
+ c_tag = "Security SMES";
+ dir = 6;
+ icon_state = "camera"
+ },
+/obj/structure/chair/stool,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aMG" = (
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/obj/structure/cable/orange{
+ d2 = 8;
+ icon_state = "0-8"
+ },
+/obj/machinery/computer/station_alert,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aMH" = (
+/obj/structure/rack,
+/obj/item/weapon/storage/briefcase,
+/obj/item/weapon/storage/briefcase,
+/turf/open/floor/plasteel/grimy{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/detectives_office)
+"aMI" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 5
+ },
+/turf/open/floor/plasteel/grimy{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/detectives_office)
+"aMJ" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/grimy{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/detectives_office)
+"aMK" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ dir = 8;
+ on = 1;
+ scrub_Toxins = 0
+ },
+/turf/open/floor/plasteel/grimy{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/detectives_office)
+"aML" = (
+/obj/effect/landmark/start/lawyer,
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/lawoffice)
+"aMM" = (
+/obj/structure/table/wood,
+/obj/item/weapon/paper_bin{
+ pixel_x = -3;
+ pixel_y = 7
+ },
+/obj/item/weapon/pen,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/lawoffice)
+"aMN" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ dir = 1;
+ on = 1;
+ scrub_N2O = 0;
+ scrub_Toxins = 0
+ },
+/obj/machinery/newscaster/security_unit{
+ pixel_x = 32
+ },
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/lawoffice)
+"aMO" = (
+/obj/machinery/light{
+ dir = 8
+ },
+/obj/structure/chair{
+ dir = 4
+ },
+/turf/open/floor/plasteel/red/corner{
+ tag = "icon-redcorner (WEST)";
+ icon_state = "redcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"aMP" = (
+/obj/machinery/light{
+ dir = 4;
+ icon_state = "tube1"
+ },
+/obj/structure/chair{
+ dir = 8
+ },
+/turf/open/floor/plasteel/red/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"aMQ" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 5
+ },
+/turf/open/floor/plasteel/vault{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 5
+ },
+/area/crew_quarters/courtroom)
+"aMR" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 8;
+ layer = 2.4;
+ on = 1
+ },
+/turf/open/floor/plasteel/vault{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 5
+ },
+/area/crew_quarters/courtroom)
+"aMS" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ dir = 4;
+ on = 1;
+ scrub_N2O = 0;
+ scrub_Toxins = 0
+ },
+/turf/open/floor/plasteel/vault{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 5
+ },
+/area/crew_quarters/courtroom)
+"aMT" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/vault{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 5
+ },
+/area/crew_quarters/courtroom)
+"aMU" = (
+/obj/machinery/camera{
+ c_tag = "Courtroom Jury East";
+ dir = 9;
+ icon_state = "camera";
+ tag = "icon-camera (NORTHWEST)"
+ },
+/turf/open/floor/plasteel/vault{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 5
+ },
+/area/crew_quarters/courtroom)
+"aMV" = (
+/obj/structure/reagent_dispensers/fueltank,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aMW" = (
+/obj/machinery/door/airlock{
+ name = "Bathroom"
+ },
+/turf/open/floor/plasteel/freezer{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/toilet)
+"aMX" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ dir = 1;
+ on = 1
+ },
+/turf/open/floor/plasteel/barber{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/locker)
+"aMY" = (
+/obj/item/weapon/twohanded/required/kirbyplants{
+ icon_state = "plant-22"
+ },
+/turf/open/floor/plasteel/neutral/side{
+ tag = "icon-neutral (EAST)";
+ icon_state = "neutral";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/locker)
+"aMZ" = (
+/obj/item/device/radio/intercom{
+ broadcasting = 0;
+ name = "Station Intercom (General)";
+ pixel_x = 0;
+ pixel_y = -28
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/locker)
+"aNa" = (
+/obj/structure/closet/wardrobe/mixed,
+/obj/machinery/camera{
+ c_tag = "Dorm Lockers";
+ dir = 9;
+ icon_state = "camera";
+ tag = "icon-camera (NORTHWEST)"
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/locker)
+"aNb" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/obj/machinery/door/poddoor/shutters/preopen{
+ id = "hopshutter"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/heads)
+"aNc" = (
+/obj/structure/table/reinforced,
+/obj/machinery/door/window/northleft{
+ layer = 2.9;
+ level = 2;
+ name = "Desk Door";
+ req_access_txt = "57"
+ },
+/obj/machinery/door/poddoor/shutters/preopen{
+ id = "hopshutter"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/heads)
+"aNd" = (
+/obj/machinery/light{
+ dir = 8
+ },
+/turf/open/floor/plasteel/darkblue/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 8;
+ tag = "icon-darkblue (WEST)"
+ },
+/area/bridge)
+"aNe" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 4;
+ on = 1
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"aNf" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/darkblue/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"aNg" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/holopad,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"aNh" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 8
+ },
+/turf/open/floor/plasteel/darkblue/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"aNi" = (
+/obj/machinery/light{
+ dir = 4
+ },
+/turf/open/floor/plasteel/darkblue/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 4;
+ tag = "icon-darkblue (EAST)"
+ },
+/area/bridge)
+"aNj" = (
+/obj/structure/table,
+/obj/item/weapon/storage/toolbox/mechanical,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aNk" = (
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aNl" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aNm" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aNn" = (
+/obj/machinery/power/terminal{
+ icon_state = "term";
+ dir = 1
+ },
+/obj/structure/cable{
+ d2 = 8;
+ icon_state = "0-8"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aNo" = (
+/obj/item/chair,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aNp" = (
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aNq" = (
+/obj/structure/sign/securearea{
+ desc = "A warning sign which reads 'EXTERNAL AIRLOCK'";
+ icon_state = "space";
+ layer = 4;
+ name = "EXTERNAL AIRLOCK";
+ pixel_x = 32;
+ pixel_y = 0
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aNr" = (
+/obj/structure/sign/securearea{
+ desc = "A warning sign which reads 'EXTERNAL AIRLOCK'";
+ icon_state = "space";
+ layer = 4;
+ name = "EXTERNAL AIRLOCK";
+ pixel_x = -32;
+ pixel_y = 0
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 10
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/teleporter{
+ name = "Cargo Quantum Pad"
+ })
+"aNs" = (
+/obj/effect/turf_decal/stripes/line,
+/obj/effect/landmark/event_spawn,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/teleporter{
+ name = "Cargo Quantum Pad"
+ })
+"aNt" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 6
+ },
+/obj/structure/noticeboard{
+ dir = 8;
+ icon_state = "nboard00";
+ pixel_x = 32;
+ pixel_y = 0;
+ tag = "icon-nboard00 (WEST)"
+ },
+/obj/item/weapon/paper{
+ info = "
Dummies Guide To Quantum Pads Do you hate the concept of having to use your legs, let alone walk to places? Well, with the Quantum Pad (tm), never again will the fear of cardio keep you from going places!How to set up your Quantum Pad(tm) 1.Unscrew the Quantum Pad(tm) you wish to link. 2. Use your multi-tool to cache the buffer of the Quantum Pad(tm) you wish to link. 3. Apply the multi-tool to the secondary Quantum Pad(tm) you wish to link to the first Quantum Pad(tm)If you followed these instructions carefully, your Quantum Pad(tm) should now be properly linked together for near-instant movement across the station! Bear in mind that this is technically a one-way teleport, so you'll need to do the same process with the secondary pad to the first one if you wish to travel between both. ";
+ name = "Quantum Pad For Dummies"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/teleporter{
+ name = "Cargo Quantum Pad"
+ })
+"aNu" = (
+/obj/structure/chair{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/effect/landmark/start/assistant,
+/turf/open/floor/plasteel/brown/corner{
+ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface;
+ dir = 1;
+ tag = "icon-browncorner (NORTH)"
+ },
+/area/quartermaster/office)
+"aNv" = (
+/obj/machinery/firealarm{
+ dir = 4;
+ pixel_x = 24
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/brown/corner{
+ tag = "icon-browncorner (EAST)";
+ icon_state = "browncorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"aNw" = (
+/obj/structure/rack,
+/obj/item/clothing/suit/space/fragile,
+/obj/item/clothing/head/helmet/space/fragile,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aNx" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aNy" = (
+/obj/machinery/power/apc{
+ dir = 4;
+ name = "Fore Asteroid Maintenance APC";
+ pixel_x = 23;
+ pixel_y = 2
+ },
+/obj/structure/cable/orange{
+ d2 = 8;
+ icon_state = "0-8"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aNz" = (
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aNA" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aNB" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/stripes/asteroid/line{
+ icon_state = "ast_warn";
+ dir = 4
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aNC" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "Security SMES Access";
+ req_access_txt = "10;11;12"
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aND" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aNE" = (
+/obj/machinery/power/terminal{
+ tag = "icon-term (EAST)";
+ icon_state = "term";
+ dir = 4
+ },
+/obj/structure/cable{
+ icon_state = "0-2";
+ pixel_y = 1;
+ d2 = 2
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aNF" = (
+/obj/machinery/power/smes/engineering,
+/obj/structure/cable/orange,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aNG" = (
+/obj/structure/table/wood,
+/obj/item/device/taperecorder,
+/turf/open/floor/plasteel/grimy{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/detectives_office)
+"aNH" = (
+/obj/machinery/disposal/bin,
+/obj/structure/disposalpipe/trunk{
+ dir = 1
+ },
+/turf/open/floor/plasteel/grimy{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/detectives_office)
+"aNI" = (
+/obj/machinery/firealarm{
+ dir = 1;
+ pixel_y = -24
+ },
+/turf/open/floor/plasteel/grimy{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/detectives_office)
+"aNJ" = (
+/obj/structure/table/wood,
+/obj/item/weapon/paper_bin{
+ pixel_x = -3;
+ pixel_y = 7
+ },
+/obj/item/weapon/pen,
+/turf/open/floor/plasteel/grimy{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/detectives_office)
+"aNK" = (
+/obj/machinery/photocopier,
+/turf/open/floor/plasteel/grimy{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/detectives_office)
+"aNL" = (
+/obj/machinery/disposal/bin,
+/obj/structure/disposalpipe/trunk{
+ dir = 4
+ },
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/lawoffice)
+"aNM" = (
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/lawoffice)
+"aNN" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/lawoffice)
+"aNO" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/machinery/button/door{
+ id = "lawyerexterior";
+ name = "Privacy Shutters";
+ pixel_x = 0;
+ pixel_y = -24
+ },
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/lawoffice)
+"aNP" = (
+/obj/structure/closet/lawcloset,
+/obj/machinery/firealarm{
+ dir = 1;
+ pixel_y = -24
+ },
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/lawoffice)
+"aNQ" = (
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
+ },
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"aNR" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/red/corner{
+ icon_state = "redcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"aNS" = (
+/obj/structure/table,
+/obj/item/weapon/book/manual/wiki/security_space_law,
+/turf/open/floor/plasteel/vault{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 5
+ },
+/area/crew_quarters/courtroom)
+"aNT" = (
+/obj/machinery/light,
+/obj/structure/table,
+/obj/machinery/firealarm{
+ dir = 1;
+ pixel_y = -24
+ },
+/turf/open/floor/plasteel/vault{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 5
+ },
+/area/crew_quarters/courtroom)
+"aNU" = (
+/obj/structure/reagent_dispensers/water_cooler,
+/turf/open/floor/plasteel/vault{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 5
+ },
+/area/crew_quarters/courtroom)
+"aNV" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/vault{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 5
+ },
+/area/crew_quarters/courtroom)
+"aNW" = (
+/obj/machinery/vending/coffee,
+/obj/structure/extinguisher_cabinet{
+ pixel_y = -32
+ },
+/turf/open/floor/plasteel/vault{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 5
+ },
+/area/crew_quarters/courtroom)
+"aNX" = (
+/obj/machinery/light/small,
+/obj/structure/closet/emcloset,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aNY" = (
+/obj/machinery/light/small{
+ dir = 8
+ },
+/obj/structure/toilet{
+ dir = 4
+ },
+/obj/machinery/button/door{
+ id = "b1";
+ name = "Privacy Bolts";
+ normaldoorcontrol = 1;
+ pixel_x = -24
+ },
+/turf/open/floor/plasteel/freezer{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/toilet)
+"aNZ" = (
+/obj/machinery/door/airlock{
+ id_tag = "b1"
+ },
+/turf/open/floor/plasteel/freezer{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/toilet)
+"aOa" = (
+/obj/machinery/airalarm{
+ dir = 8;
+ icon_state = "alarm0";
+ pixel_x = 24
+ },
+/obj/machinery/camera{
+ c_tag = "Dorm Bathroom";
+ dir = 1;
+ icon_state = "camera";
+ network = list("SS13")
+ },
+/turf/open/floor/plasteel/freezer{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/toilet)
+"aOb" = (
+/obj/structure/table,
+/obj/machinery/camera{
+ c_tag = "Dorm Laundry Room";
+ dir = 1;
+ icon_state = "camera";
+ network = list("SS13")
+ },
+/turf/open/floor/plasteel/barber{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/locker)
+"aOc" = (
+/obj/structure/table,
+/turf/open/floor/plasteel/barber{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/locker)
+"aOd" = (
+/obj/structure/closet/crate/bin{
+ name = "laundry bin"
+ },
+/turf/open/floor/plasteel/barber{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/locker)
+"aOe" = (
+/obj/machinery/light/small{
+ dir = 8
+ },
+/turf/open/floor/plasteel/blue/side{
+ tag = "icon-blue (NORTHWEST)";
+ icon_state = "blue";
+ dir = 9;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/heads)
+"aOf" = (
+/turf/open/floor/plasteel/blue/side{
+ tag = "icon-blue (NORTH)";
+ icon_state = "blue";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/heads)
+"aOg" = (
+/obj/machinery/light/small{
+ dir = 4
+ },
+/obj/machinery/flasher{
+ id = "hopflash";
+ pixel_x = 24
+ },
+/turf/open/floor/plasteel/blue/side{
+ tag = "icon-blue (NORTHEAST)";
+ icon_state = "blue";
+ dir = 5;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/heads)
+"aOh" = (
+/obj/machinery/camera{
+ c_tag = "Bridge Midway 3";
+ dir = 1;
+ icon_state = "camera";
+ network = list("SS13")
+ },
+/turf/open/floor/plasteel/darkblue/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 8;
+ tag = "icon-darkblue (WEST)"
+ },
+/area/bridge)
+"aOi" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"aOj" = (
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aOk" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aOl" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aOm" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/obj/structure/chair/stool,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aOn" = (
+/obj/structure/cable/orange{
+ d2 = 8;
+ icon_state = "0-8"
+ },
+/obj/machinery/computer/station_alert,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aOo" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/effect/turf_decal/stripes/asteroid/line,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aOp" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 6
+ },
+/obj/machinery/light/small{
+ dir = 1
+ },
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aOq" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aOr" = (
+/obj/machinery/door/airlock/glass_external{
+ cyclelinkeddir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aOs" = (
+/obj/machinery/light/small,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0
+ },
+/obj/structure/fans/tiny,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aOt" = (
+/obj/machinery/door/airlock/glass_external{
+ cyclelinkeddir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aOu" = (
+/obj/structure/lattice/catwalk,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 10
+ },
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/turf/open/space,
+/area/space)
+"aOv" = (
+/obj/structure/lattice/catwalk,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 6
+ },
+/turf/open/space,
+/area/space)
+"aOw" = (
+/obj/machinery/door/airlock/glass_external{
+ cyclelinkeddir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/teleporter{
+ name = "Cargo Quantum Pad"
+ })
+"aOx" = (
+/obj/machinery/light/small,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/fans/tiny,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/teleporter{
+ name = "Cargo Quantum Pad"
+ })
+"aOy" = (
+/obj/machinery/door/airlock/glass_external{
+ cyclelinkeddir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/teleporter{
+ name = "Cargo Quantum Pad"
+ })
+"aOz" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden,
+/turf/open/floor/plasteel/vault{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 5
+ },
+/area/teleporter{
+ name = "Cargo Quantum Pad"
+ })
+"aOA" = (
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 10
+ },
+/turf/open/floor/plasteel/vault{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 5
+ },
+/area/teleporter{
+ name = "Cargo Quantum Pad"
+ })
+"aOB" = (
+/obj/structure/table,
+/obj/item/device/multitool,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/item/weapon/screwdriver,
+/turf/open/floor/plasteel/vault{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 5
+ },
+/area/teleporter{
+ name = "Cargo Quantum Pad"
+ })
+"aOC" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel/brown/corner{
+ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface;
+ dir = 1;
+ tag = "icon-browncorner (NORTH)"
+ },
+/area/quartermaster/office)
+"aOD" = (
+/obj/structure/table,
+/obj/structure/disposalpipe/segment,
+/obj/item/device/radio/intercom{
+ broadcasting = 0;
+ name = "Station Intercom (General)";
+ pixel_x = 28;
+ pixel_y = 0
+ },
+/turf/open/floor/plasteel/brown/corner{
+ tag = "icon-browncorner (EAST)";
+ icon_state = "browncorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"aOE" = (
+/obj/effect/landmark/blobstart,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aOF" = (
+/obj/structure/closet,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aOG" = (
+/obj/machinery/light/small{
+ dir = 1
+ },
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aOH" = (
+/obj/structure/girder,
+/obj/structure/grille,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aOI" = (
+/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/stripes/asteroid/line{
+ icon_state = "ast_warn";
+ dir = 4
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aOJ" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "Security SMES Access";
+ req_access_txt = "10;11;12"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aOK" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aOL" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/light/small{
+ dir = 4
+ },
+/obj/structure/sign/electricshock{
+ pixel_x = 32
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aOM" = (
+/obj/machinery/status_display{
+ density = 0;
+ layer = 4
+ },
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/detectives_office)
+"aON" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/obj/structure/cable/orange{
+ d2 = 4;
+ icon_state = "0-4"
+ },
+/obj/machinery/door/poddoor/shutters{
+ id = "lawyerexterior";
+ name = "privacy shutters"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/lawoffice)
+"aOO" = (
+/obj/machinery/door/airlock{
+ name = "Law Office";
+ req_access_txt = "38"
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/lawoffice)
+"aOP" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/obj/structure/cable/orange{
+ d2 = 8;
+ icon_state = "0-8"
+ },
+/obj/machinery/door/poddoor/shutters{
+ id = "lawyerexterior";
+ name = "privacy shutters"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/lawoffice)
+"aOQ" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/machinery/door/airlock/glass{
+ name = "Brig Lobby"
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"aOR" = (
+/obj/machinery/door/airlock/glass{
+ name = "Brig Lobby"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"aOS" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/effect/turf_decal/stripes/line,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/machinery/door/firedoor,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"aOT" = (
+/obj/structure/grille,
+/obj/machinery/door/firedoor,
+/obj/structure/window/fulltile,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/courtroom)
+"aOU" = (
+/obj/machinery/door/airlock/glass{
+ name = "Courtroom"
+ },
+/turf/open/floor/plasteel/vault{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 5
+ },
+/area/crew_quarters/courtroom)
+"aOV" = (
+/obj/structure/grille,
+/obj/machinery/door/firedoor,
+/obj/structure/window/fulltile,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/courtroom)
+"aOW" = (
+/obj/structure/disposalpipe/segment,
+/obj/machinery/door/airlock/maintenance{
+ name = "Fore Asteroid Maintenance Access";
+ req_access_txt = "12"
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aOX" = (
+/obj/machinery/door/airlock/glass{
+ name = "Locker Room"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/locker)
+"aOY" = (
+/obj/structure/grille,
+/obj/machinery/door/firedoor,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/window/fulltile,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/locker)
+"aOZ" = (
+/obj/machinery/door/airlock/glass{
+ name = "Locker Room"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/locker)
+"aPa" = (
+/obj/machinery/vending/cigarette,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aPb" = (
+/obj/machinery/vending/cola,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aPc" = (
+/obj/machinery/vending/snack,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aPd" = (
+/obj/machinery/door/poddoor/preopen{
+ id = "hopexternal"
+ },
+/turf/open/floor/plasteel/blue/corner{
+ tag = "icon-bluecorner (NORTH)";
+ icon_state = "bluecorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/heads)
+"aPe" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/obj/machinery/door/poddoor/preopen{
+ id = "hopexternal"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/heads)
+"aPf" = (
+/obj/machinery/door/poddoor/preopen{
+ id = "hopexternal"
+ },
+/turf/open/floor/plasteel/blue/corner{
+ tag = "icon-bluecorner (EAST)";
+ icon_state = "bluecorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/heads)
+"aPg" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aPh" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/door/airlock/maintenance{
+ name = "Command SMES Access";
+ req_access_txt = "10;11;12"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aPi" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "Fore Asteroid Maintenance Access";
+ req_access_txt = "12"
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aPj" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "Fore Asteroid Maintenance Access";
+ req_access_txt = "12"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aPk" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "External Maintenance Access";
+ req_access_txt = "12"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aPl" = (
+/obj/machinery/status_display{
+ density = 0;
+ layer = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aPm" = (
+/obj/structure/lattice/catwalk,
+/obj/structure/window/reinforced,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 5
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/obj/structure/grille,
+/turf/open/space,
+/area/space)
+"aPn" = (
+/obj/structure/lattice/catwalk,
+/obj/structure/window/reinforced,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0
+ },
+/obj/structure/grille,
+/turf/open/space,
+/area/space)
+"aPo" = (
+/obj/structure/lattice/catwalk,
+/obj/structure/window/reinforced,
+/obj/structure/window/reinforced{
+ dir = 4;
+ pixel_x = 0
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 9
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/structure/grille,
+/turf/open/space,
+/area/space)
+"aPp" = (
+/obj/structure/lattice/catwalk,
+/obj/structure/window/reinforced,
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 5
+ },
+/obj/structure/grille,
+/turf/open/space,
+/area/space)
+"aPq" = (
+/obj/structure/lattice/catwalk,
+/obj/structure/window/reinforced,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/grille,
+/turf/open/space,
+/area/space)
+"aPr" = (
+/obj/structure/lattice/catwalk,
+/obj/structure/window/reinforced,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 9
+ },
+/obj/structure/grille,
+/turf/open/space,
+/area/space)
+"aPs" = (
+/obj/structure/grille,
+/obj/machinery/door/firedoor,
+/obj/structure/window/fulltile,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/teleporter{
+ name = "Cargo Quantum Pad"
+ })
+"aPt" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/door/airlock/glass{
+ name = "Cargo Quantum Pad"
+ },
+/turf/open/floor/plasteel/vault{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 5
+ },
+/area/teleporter{
+ name = "Cargo Quantum Pad"
+ })
+"aPu" = (
+/obj/structure/grille,
+/obj/machinery/door/firedoor,
+/obj/structure/window/fulltile,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/teleporter{
+ name = "Cargo Quantum Pad"
+ })
+"aPv" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "External Maintenance Access";
+ req_access_txt = "12"
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aPw" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "External Maintenance Access";
+ req_access_txt = "12"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aPx" = (
+/obj/machinery/door/firedoor,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/effect/turf_decal/stripes/line,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/floor/plasteel/brown/corner{
+ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface;
+ dir = 1;
+ tag = "icon-browncorner (NORTH)"
+ },
+/area/quartermaster/office)
+"aPy" = (
+/obj/structure/grille,
+/obj/machinery/door/firedoor,
+/obj/structure/window/fulltile,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"aPz" = (
+/obj/structure/chair{
+ dir = 8
+ },
+/obj/machinery/camera{
+ c_tag = "Cargo Lobby";
+ dir = 8;
+ icon_state = "camera";
+ network = list("SS13","QM");
+ tag = "icon-camera (WEST)"
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/brown/corner{
+ tag = "icon-browncorner (EAST)";
+ icon_state = "browncorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"aPA" = (
+/obj/machinery/status_display{
+ density = 0;
+ layer = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"aPB" = (
+/obj/structure/reagent_dispensers/watertank,
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aPC" = (
+/obj/structure/disposalpipe/sortjunction{
+ dir = 2;
+ icon_state = "pipe-j2s";
+ name = "disposal pipe - Security";
+ sortType = 7
+ },
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aPD" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/girder,
+/obj/structure/grille,
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aPE" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aPF" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "Port Asteroid Maintenance";
+ req_access_txt = "12"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aPG" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/asteroid/line{
+ icon_state = "ast_warn";
+ dir = 8
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aPH" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aPI" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aPJ" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aPK" = (
+/obj/machinery/camera{
+ c_tag = "Command Asteroid Hall 10";
+ dir = 6;
+ icon_state = "camera"
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aPL" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aPM" = (
+/obj/structure/extinguisher_cabinet{
+ pixel_y = 32
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aPN" = (
+/obj/machinery/camera{
+ c_tag = "Command Asteroid Hall 2";
+ dir = 6;
+ icon_state = "camera"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 6
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aPO" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 1
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aPP" = (
+/obj/machinery/light{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel/red/corner{
+ tag = "icon-redcorner (EAST)";
+ icon_state = "redcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aPQ" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aPR" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/sign/nanotrasen{
+ pixel_y = 32
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/red/corner{
+ tag = "icon-redcorner (EAST)";
+ icon_state = "redcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aPS" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/red/corner{
+ tag = "icon-redcorner (EAST)";
+ icon_state = "redcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aPT" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/sign/nanotrasen{
+ pixel_y = 32
+ },
+/turf/open/floor/plasteel/red/corner{
+ tag = "icon-redcorner (EAST)";
+ icon_state = "redcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aPU" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel/red/corner{
+ tag = "icon-redcorner (EAST)";
+ icon_state = "redcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aPV" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/item/device/radio/intercom{
+ broadcasting = 0;
+ name = "Station Intercom (General)";
+ pixel_y = 20
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aPW" = (
+/obj/machinery/door/firedoor,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/machinery/door/airlock/glass,
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aPX" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/extinguisher_cabinet{
+ pixel_y = 32
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aPY" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aPZ" = (
+/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden,
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aQa" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aQb" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aQc" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/machinery/camera{
+ c_tag = "Command Asteroid Hall 4";
+ dir = 6;
+ icon_state = "camera"
+ },
+/obj/machinery/newscaster{
+ pixel_y = 32
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aQd" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aQe" = (
+/obj/machinery/light{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aQf" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 1
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aQg" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aQh" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aQi" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/camera{
+ c_tag = "Command Asteroid Hall 5";
+ dir = 6;
+ icon_state = "camera"
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aQj" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,
+/obj/structure/disposalpipe/junction{
+ icon_state = "pipe-j2";
+ dir = 1
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aQk" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aQl" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 1
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aQm" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/extinguisher_cabinet{
+ pixel_y = 32
+ },
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 1
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aQn" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/machinery/door/firedoor,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/machinery/door/airlock/glass,
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aQo" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/item/device/radio/intercom{
+ broadcasting = 0;
+ name = "Station Intercom (General)";
+ pixel_y = 20
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aQp" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/camera{
+ c_tag = "Command Asteroid Hall 6";
+ dir = 6;
+ icon_state = "camera"
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aQq" = (
+/obj/machinery/light{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aQr" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aQs" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/camera{
+ c_tag = "Command Asteroid Hall 7";
+ dir = 6;
+ icon_state = "camera"
+ },
+/turf/open/floor/plasteel/blue/corner{
+ tag = "icon-bluecorner (EAST)";
+ icon_state = "bluecorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aQt" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 1
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/blue/corner{
+ tag = "icon-bluecorner (EAST)";
+ icon_state = "bluecorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aQu" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plasteel/blue/corner{
+ tag = "icon-bluecorner (EAST)";
+ icon_state = "bluecorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aQv" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel/blue/corner{
+ tag = "icon-bluecorner (EAST)";
+ icon_state = "bluecorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aQw" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,
+/turf/open/floor/plasteel/blue/corner{
+ tag = "icon-bluecorner (EAST)";
+ icon_state = "bluecorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aQx" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/blue/corner{
+ tag = "icon-bluecorner (EAST)";
+ icon_state = "bluecorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aQy" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/blue/corner{
+ tag = "icon-bluecorner (EAST)";
+ icon_state = "bluecorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aQz" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/light{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aQA" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/extinguisher_cabinet{
+ pixel_y = 32
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aQB" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aQC" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/item/device/radio/intercom{
+ broadcasting = 0;
+ name = "Station Intercom (General)";
+ pixel_y = 20
+ },
+/obj/machinery/navbeacon{
+ codes_txt = "patrol;next_patrol=Security";
+ location = "CommandMiddle2";
+ name = "navigation beacon (Command-Middle 2)"
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aQD" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/machinery/camera{
+ c_tag = "Command Asteroid Hall 8";
+ dir = 6;
+ icon_state = "camera"
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aQE" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aQF" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aQG" = (
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8";
+ tag = ""
+ },
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 1
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aQH" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aQI" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/sign/map/left/ceres{
+ pixel_y = 32
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aQJ" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aQK" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 9
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aQL" = (
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aQM" = (
+/obj/machinery/door/firedoor,
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aQN" = (
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aQO" = (
+/obj/machinery/camera{
+ c_tag = "Command Asteroid Hall 9";
+ dir = 6;
+ icon_state = "camera"
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aQP" = (
+/obj/item/device/radio/intercom{
+ broadcasting = 0;
+ name = "Station Intercom (General)";
+ pixel_y = 20
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aQQ" = (
+/obj/structure/extinguisher_cabinet{
+ pixel_y = 32
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aQR" = (
+/obj/machinery/door/airlock/glass,
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aQS" = (
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/turf/open/floor/engine,
+/area/space)
+"aQT" = (
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/machinery/camera{
+ c_tag = "Core-Command-Cargo Bridge 2";
+ network = list("SS13")
+ },
+/turf/open/floor/engine,
+/area/space)
+"aQU" = (
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/machinery/camera{
+ c_tag = "Core-Command-Cargo Bridge 3";
+ network = list("SS13")
+ },
+/turf/open/floor/engine,
+/area/space)
+"aQV" = (
+/obj/machinery/door/airlock/glass,
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aQW" = (
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aQX" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 5
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aQY" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aQZ" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aRa" = (
+/obj/machinery/door/firedoor,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aRb" = (
+/obj/machinery/light{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aRc" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 1
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aRd" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aRe" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aRf" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aRg" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aRh" = (
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 10
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aRi" = (
+/obj/structure/chair{
+ dir = 8
+ },
+/obj/machinery/light{
+ icon_state = "tube1";
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/brown/corner{
+ tag = "icon-browncorner (EAST)";
+ icon_state = "browncorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"aRj" = (
+/obj/structure/reagent_dispensers/fueltank,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aRk" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aRl" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "Port Asteroid Maintenance";
+ req_access_txt = "12"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aRm" = (
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
+/obj/effect/spawner/lootdrop/grille_or_trash,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aRn" = (
+/obj/structure/table,
+/obj/item/weapon/storage/toolbox/electrical{
+ pixel_x = 1;
+ pixel_y = 5
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aRo" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aRp" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "Security SMES Access";
+ req_access_txt = "10;11;12"
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aRq" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aRr" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0
+ },
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ on = 1
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aRs" = (
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8";
+ tag = ""
+ },
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aRt" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aRu" = (
+/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/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aRv" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aRw" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ dir = 1;
+ on = 1
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aRx" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aRy" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ on = 1
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aRz" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/door/firedoor,
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/machinery/door/airlock/glass,
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aRA" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aRB" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ dir = 1;
+ on = 1
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aRC" = (
+/obj/structure/disposalpipe/segment,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aRD" = (
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aRE" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ on = 1
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aRF" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aRG" = (
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aRH" = (
+/obj/structure/disposalpipe/segment{
+ dir = 1;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aRI" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aRJ" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ dir = 1;
+ on = 1
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aRK" = (
+/obj/machinery/door/firedoor,
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aRL" = (
+/obj/effect/landmark/lightsout,
+/obj/machinery/holopad,
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aRM" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aRN" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aRO" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aRP" = (
+/obj/machinery/door/airlock/glass,
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aRQ" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ on = 1;
+ scrub_N2O = 0;
+ scrub_Toxins = 0
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aRR" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 6
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aRS" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 9;
+ pixel_y = 0
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aRT" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aRU" = (
+/obj/effect/landmark/lightsout,
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aRV" = (
+/obj/machinery/holopad,
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aRW" = (
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aRX" = (
+/obj/machinery/door/firedoor,
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"aRY" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"aRZ" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"aSa" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/brown/corner{
+ tag = "icon-browncorner (EAST)";
+ icon_state = "browncorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"aSb" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "Fore Asteroid Maintenance Access";
+ req_access_txt = "12"
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aSc" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/effect/turf_decal/stripes/asteroid/line{
+ icon_state = "ast_warn";
+ dir = 8
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aSd" = (
+/obj/structure/table,
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aSe" = (
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aSf" = (
+/obj/structure/girder,
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aSg" = (
+/obj/structure/girder,
+/obj/structure/grille,
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aSh" = (
+/obj/structure/table,
+/obj/machinery/cell_charger,
+/obj/item/weapon/stock_parts/cell/high,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aSi" = (
+/obj/machinery/firealarm{
+ dir = 1;
+ pixel_y = -24
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aSj" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 5
+ },
+/obj/machinery/airalarm{
+ dir = 1;
+ pixel_y = -22
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aSk" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aSl" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aSm" = (
+/obj/machinery/light,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aSn" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aSo" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aSp" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/sign/directions/science{
+ pixel_x = 32;
+ pixel_y = -24
+ },
+/obj/structure/sign/directions/supply{
+ dir = 4;
+ icon_state = "direction_supply";
+ pixel_x = 32;
+ pixel_y = -32;
+ tag = "icon-direction_supply (EAST)"
+ },
+/obj/structure/sign/directions/medical{
+ dir = 4;
+ icon_state = "direction_med";
+ pixel_x = 32;
+ pixel_y = -40;
+ tag = "icon-direction_med (EAST)"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aSq" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 1
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aSr" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aSs" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aSt" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden,
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aSu" = (
+/obj/machinery/light,
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden,
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aSv" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/airalarm{
+ dir = 1;
+ pixel_y = -22
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aSw" = (
+/obj/machinery/door/firedoor,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aSx" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/firealarm{
+ dir = 1;
+ pixel_y = -24
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aSy" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aSz" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aSA" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 1
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aSB" = (
+/obj/machinery/airalarm{
+ dir = 1;
+ pixel_y = -22
+ },
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 1
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aSC" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/door/firedoor,
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/machinery/door/airlock/glass,
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aSD" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/sign/directions/engineering{
+ pixel_x = -32;
+ pixel_y = -24
+ },
+/obj/structure/sign/directions/security{
+ dir = 8;
+ icon_state = "direction_sec";
+ pixel_x = -32;
+ pixel_y = -32;
+ tag = "icon-direction_sec (WEST)"
+ },
+/obj/structure/sign/directions/medical{
+ dir = 4;
+ icon_state = "direction_med";
+ pixel_x = -32;
+ pixel_y = -40;
+ tag = "icon-direction_med (EAST)"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aSE" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden,
+/obj/machinery/navbeacon{
+ codes_txt = "patrol;next_patrol=EngineeringMiddle";
+ location = "CommandMiddle";
+ name = "navigation beacon (Command-Middle)"
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aSF" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/sign/directions/supply{
+ dir = 4;
+ icon_state = "direction_supply";
+ pixel_x = 32;
+ pixel_y = -24;
+ tag = "icon-direction_supply (EAST)"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aSG" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aSH" = (
+/obj/machinery/light,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aSI" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aSJ" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0
+ },
+/obj/machinery/airalarm{
+ dir = 1;
+ pixel_y = -22
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aSK" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/firealarm{
+ dir = 1;
+ pixel_y = -24
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aSL" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aSM" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 10
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aSN" = (
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aSO" = (
+/obj/machinery/light,
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aSP" = (
+/obj/machinery/door/airlock/glass,
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aSQ" = (
+/obj/structure/window/reinforced,
+/turf/open/floor/engine,
+/area/space)
+"aSR" = (
+/obj/machinery/door/airlock/glass,
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aSS" = (
+/obj/machinery/light,
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aST" = (
+/obj/machinery/firealarm{
+ dir = 1;
+ pixel_y = -24
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aSU" = (
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aSV" = (
+/obj/machinery/camera{
+ c_tag = "Cargo Asteroid Hall 1";
+ dir = 1;
+ icon_state = "camera";
+ network = list("SS13")
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aSW" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 5
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aSX" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aSY" = (
+/obj/machinery/door/firedoor,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aSZ" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aTa" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aTb" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/machinery/firealarm{
+ dir = 1;
+ pixel_y = -24
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aTc" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aTd" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 1
+ },
+/obj/structure/sign/directions/evac{
+ pixel_x = -32;
+ pixel_y = -24
+ },
+/obj/structure/sign/directions/medical{
+ pixel_x = -32;
+ pixel_y = -32
+ },
+/obj/structure/sign/directions/security{
+ dir = 8;
+ icon_state = "direction_sec";
+ pixel_x = -32;
+ pixel_y = -40;
+ tag = "icon-direction_sec (WEST)"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aTe" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/machinery/navbeacon{
+ codes_txt = "patrol;next_patrol=CommandMiddle";
+ location = "Cargo";
+ name = "navigation beacon (Cargo)"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aTf" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aTg" = (
+/obj/machinery/door/firedoor,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"aTh" = (
+/obj/structure/disposalpipe/segment,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/brown/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"aTi" = (
+/obj/machinery/light/small,
+/obj/effect/spawner/lootdrop/grille_or_trash,
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aTj" = (
+/obj/effect/spawner/lootdrop/grille_or_trash,
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aTk" = (
+/obj/structure/rack,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aTl" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/door/airlock/maintenance{
+ id_tag = "GulagCivExit3";
+ name = "External Maintenance Access";
+ req_access_txt = "12"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aTm" = (
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/teleporter{
+ name = "Security Quantum Pad"
+ })
+"aTn" = (
+/obj/structure/grille,
+/obj/machinery/door/firedoor,
+/obj/structure/window/fulltile,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/teleporter{
+ name = "Security Quantum Pad"
+ })
+"aTo" = (
+/obj/machinery/door/airlock/glass{
+ name = "Security Quantum Pad"
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel/vault{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 5
+ },
+/area/teleporter{
+ name = "Security Quantum Pad"
+ })
+"aTp" = (
+/obj/structure/grille,
+/obj/machinery/door/firedoor,
+/obj/structure/window/fulltile,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/teleporter{
+ name = "Security Quantum Pad"
+ })
+"aTq" = (
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/janitor)
+"aTr" = (
+/obj/structure/disposalpipe/segment,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/janitor)
+"aTs" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/janitor)
+"aTt" = (
+/obj/machinery/door/airlock{
+ name = "Custodial Closet";
+ req_access_txt = "26"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/janitor)
+"aTu" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aTv" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aTw" = (
+/obj/machinery/door/airlock/vault{
+ icon_state = "door_locked";
+ locked = 1;
+ req_access_txt = "53"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aTx" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aTy" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aTz" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/door/airlock/atmos{
+ name = "Command Atmospherics Checkpoint";
+ req_access_txt = "24"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aTA" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/obj/machinery/door/airlock/maintenance{
+ name = "External Maintenance Access";
+ req_access_txt = "12"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aTB" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/door/airlock/maintenance{
+ name = "External Maintenance Access";
+ req_access_txt = "12"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aTC" = (
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/structure/lattice/catwalk,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 6
+ },
+/obj/structure/grille,
+/turf/open/space,
+/area/space)
+"aTD" = (
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/structure/lattice/catwalk,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/grille,
+/turf/open/space,
+/area/space)
+"aTE" = (
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/structure/lattice/catwalk,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 10
+ },
+/obj/structure/grille,
+/turf/open/space,
+/area/space)
+"aTF" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/door/airlock/atmos{
+ name = "Cargo Atmospherics Checkpoint";
+ req_access_txt = "24"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aTG" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aTH" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aTI" = (
+/obj/machinery/door/firedoor,
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/plasteel/brown/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"aTJ" = (
+/turf/open/floor/plasteel/brown/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"aTK" = (
+/obj/machinery/disposal/bin,
+/obj/structure/disposalpipe/trunk{
+ dir = 1
+ },
+/turf/open/floor/plasteel/brown/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"aTL" = (
+/obj/structure/closet/crate,
+/obj/effect/spawner/lootdrop/maintenance,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aTM" = (
+/obj/structure/disposalpipe/segment,
+/obj/structure/rack,
+/obj/item/weapon/storage/toolbox/electrical{
+ pixel_x = 1;
+ pixel_y = 5
+ },
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aTN" = (
+/obj/machinery/door/airlock/maintenance{
+ id_tag = "GulagCivExit2";
+ name = "Fore Asteroid Maintenance Access";
+ req_access_txt = "12"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aTO" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aTP" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aTQ" = (
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8";
+ tag = ""
+ },
+/obj/machinery/light/small{
+ dir = 1
+ },
+/obj/machinery/button/door{
+ id = "GulagCivExit3";
+ name = "Gulag Door Exit";
+ normaldoorcontrol = 1;
+ pixel_x = 0;
+ pixel_y = 24
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aTR" = (
+/obj/machinery/door/firedoor,
+/obj/effect/turf_decal/stripes/line,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aTS" = (
+/obj/machinery/door/firedoor,
+/obj/effect/turf_decal/stripes/line,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aTT" = (
+/obj/machinery/door/firedoor,
+/obj/effect/turf_decal/stripes/line,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aTU" = (
+/obj/structure/table,
+/obj/item/device/multitool,
+/obj/item/device/radio/intercom{
+ broadcasting = 0;
+ name = "Station Intercom (General)";
+ pixel_x = -28;
+ pixel_y = 0
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/item/weapon/screwdriver,
+/turf/open/floor/plasteel/vault{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 5
+ },
+/area/teleporter{
+ name = "Security Quantum Pad"
+ })
+"aTV" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel/vault{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 5
+ },
+/area/teleporter{
+ name = "Security Quantum Pad"
+ })
+"aTW" = (
+/obj/structure/noticeboard{
+ dir = 8;
+ pixel_x = 27;
+ pixel_y = 0
+ },
+/obj/item/weapon/paper{
+ info = "Dummies Guide To Quantum Pads Do you hate the concept of having to use your legs, let alone walk to places? Well, with the Quantum Pad (tm), never again will the fear of cardio keep you from going places!How to set up your Quantum Pad(tm) 1.Unscrew the Quantum Pad(tm) you wish to link. 2. Use your multi-tool to cache the buffer of the Quantum Pad(tm) you wish to link. 3. Apply the multi-tool to the secondary Quantum Pad(tm) you wish to link to the first Quantum Pad(tm)If you followed these instructions carefully, your Quantum Pad(tm) should now be properly linked together for near-instant movement across the station! Bear in mind that this is technically a one-way teleport, so you'll need to do the same process with the secondary pad to the first one if you wish to travel between both. ";
+ name = "Quantum Pad For Dummies"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/vault{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 5
+ },
+/area/teleporter{
+ name = "Security Quantum Pad"
+ })
+"aTX" = (
+/obj/effect/turf_decal/stripes/asteroid/line{
+ icon_state = "ast_warn";
+ dir = 1
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aTY" = (
+/obj/effect/turf_decal/stripes/asteroid/line{
+ icon_state = "ast_warn";
+ dir = 1
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aTZ" = (
+/obj/structure/cable/orange{
+ d2 = 8;
+ icon_state = "0-8"
+ },
+/obj/machinery/power/apc{
+ dir = 4;
+ name = "Command Asteroid Solars Maintenance APC";
+ pixel_x = 23;
+ pixel_y = 2
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aUa" = (
+/obj/structure/disposalpipe/trunk{
+ dir = 1
+ },
+/obj/structure/disposaloutlet{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/janitor)
+"aUb" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/machinery/door/window/eastright{
+ req_access_txt = "26"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/janitor)
+"aUc" = (
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/janitor)
+"aUd" = (
+/obj/structure/bed/dogbed,
+/mob/living/simple_animal/hostile/lizard{
+ name = "Wags-His-Tail";
+ real_name = "Wags-His-Tail"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/janitor)
+"aUe" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ dir = 4;
+ on = 1
+ },
+/obj/vehicle/janicart,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/janitor)
+"aUf" = (
+/obj/vehicle/janicart,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/sign/map/left/ceres{
+ pixel_y = 32
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/janitor)
+"aUg" = (
+/obj/structure/table,
+/obj/item/weapon/storage/box/mousetraps,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/item/device/radio/intercom{
+ broadcasting = 0;
+ name = "Station Intercom (General)";
+ pixel_y = 20
+ },
+/obj/item/weapon/storage/box/mousetraps,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/janitor)
+"aUh" = (
+/obj/structure/table,
+/obj/machinery/light{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/item/weapon/paper{
+ info = "You got a big job ahead of you, pal. This is a big station, lots of floors and assholes to dirty said floors without any thought for you. It might not be a bad idea to check on the external waste belts every now and again to make sure some foriegn object hasn't clogged the disposal loop, either.";
+ name = "Janitor Notice"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/janitor)
+"aUi" = (
+/obj/machinery/light_switch{
+ pixel_y = 25
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 9
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/janitor)
+"aUj" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/janitor)
+"aUk" = (
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/nuke_storage)
+"aUl" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/machinery/camera{
+ c_tag = "Vault Airlock";
+ dir = 5;
+ icon_state = "camera";
+ tag = "icon-camera (NORTHEAST)"
+ },
+/obj/machinery/holopad,
+/turf/open/floor/plasteel/black,
+/area/ai_monitored/nuke_storage)
+"aUm" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 4;
+ on = 1
+ },
+/turf/open/floor/plasteel/black,
+/area/ai_monitored/nuke_storage)
+"aUn" = (
+/obj/structure/table,
+/obj/item/weapon/phone,
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/black,
+/area/ai_monitored/nuke_storage)
+"aUo" = (
+/obj/structure/table,
+/obj/item/weapon/wrench,
+/obj/item/clothing/glasses/meson,
+/obj/effect/turf_decal/stripes/line{
+ dir = 9
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aUp" = (
+/obj/machinery/atmospherics/components/binary/pump{
+ dir = 1;
+ name = "Mix Output";
+ on = 1
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aUq" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 5
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aUr" = (
+/obj/machinery/door/firedoor,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aUs" = (
+/obj/machinery/door/firedoor,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/effect/turf_decal/stripes/line,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aUt" = (
+/obj/machinery/door/firedoor,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aUu" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 6
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aUv" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 9
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aUw" = (
+/obj/structure/closet/firecloset/full,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aUx" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 5
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aUy" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aUz" = (
+/obj/machinery/door/airlock/glass_external{
+ cyclelinkeddir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aUA" = (
+/obj/machinery/light/small{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/fans/tiny,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aUB" = (
+/obj/structure/lattice/catwalk,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 9;
+ pixel_y = 0
+ },
+/turf/open/space,
+/area/space)
+"aUC" = (
+/obj/structure/lattice/catwalk,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 5
+ },
+/turf/open/space,
+/area/space)
+"aUD" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/door/airlock/glass_external{
+ cyclelinkeddir = 8;
+ name = "Cargo Atmospherics Checkpoint";
+ req_access_txt = "24"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aUE" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/light/small{
+ dir = 1
+ },
+/obj/structure/fans/tiny,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aUF" = (
+/obj/machinery/door/airlock/glass_external{
+ cyclelinkeddir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aUG" = (
+/obj/machinery/atmospherics/components/binary/pump{
+ dir = 4;
+ name = "Mix Input";
+ on = 1
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 9
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aUH" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 10
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aUI" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aUJ" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 6
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aUK" = (
+/obj/machinery/atmospherics/components/binary/pump{
+ dir = 4;
+ name = "Mix Output";
+ on = 1
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 5
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aUL" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 9
+ },
+/obj/machinery/light/small,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aUM" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/effect/turf_decal/stripes/asteroid/line{
+ icon_state = "ast_warn";
+ dir = 1
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aUN" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/machinery/camera{
+ c_tag = "Cargo Asteroid Hall 2";
+ dir = 4;
+ icon_state = "camera"
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aUO" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 4;
+ on = 1
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aUP" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 9
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aUQ" = (
+/obj/machinery/button/door{
+ id = "GulagCivExit2";
+ name = "Gulag Door Exit";
+ normaldoorcontrol = 1;
+ pixel_x = 0;
+ pixel_y = -24
+ },
+/obj/effect/turf_decal/stripes/asteroid/line{
+ icon_state = "ast_warn";
+ dir = 4
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aUR" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aUS" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 9
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/airalarm{
+ dir = 4;
+ icon_state = "alarm0";
+ pixel_x = -22
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/teleporter{
+ name = "Security Quantum Pad"
+ })
+"aUT" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/teleporter{
+ name = "Security Quantum Pad"
+ })
+"aUU" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 5
+ },
+/obj/machinery/power/apc{
+ dir = 4;
+ name = "Security Quantum Pad APC";
+ pixel_x = 23;
+ pixel_y = 2
+ },
+/obj/structure/cable{
+ d2 = 8;
+ icon_state = "0-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/teleporter{
+ name = "Security Quantum Pad"
+ })
+"aUV" = (
+/obj/structure/rack,
+/obj/effect/spawner/lootdrop/maintenance,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aUW" = (
+/obj/structure/girder,
+/obj/item/stack/sheet/metal,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aUX" = (
+/obj/structure/rack,
+/obj/item/clothing/suit/space/fragile,
+/obj/item/clothing/head/helmet/space/fragile,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/janitor)
+"aUY" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 4;
+ on = 1
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/janitor)
+"aUZ" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 9;
+ pixel_y = 0
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/janitor)
+"aVa" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 8
+ },
+/obj/item/device/radio/intercom{
+ name = "Station Intercom (General)";
+ pixel_x = -29;
+ pixel_y = 0
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/nuke_storage)
+"aVb" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ dir = 8;
+ on = 1;
+ scrub_Toxins = 0
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/nuke_storage)
+"aVc" = (
+/obj/machinery/light/small{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/nuke_storage)
+"aVd" = (
+/obj/machinery/atmospherics/components/unary/portables_connector/visible{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/machinery/camera{
+ c_tag = "Command Atmospherics Checkpoint";
+ dir = 5;
+ icon_state = "camera";
+ tag = "icon-camera (NORTHEAST)"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aVe" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aVf" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aVg" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/table,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aVh" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aVi" = (
+/obj/machinery/light/small,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aVj" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/structure/sign/securearea{
+ desc = "A warning sign which reads 'EXTERNAL AIRLOCK'";
+ icon_state = "space";
+ layer = 4;
+ name = "EXTERNAL AIRLOCK";
+ pixel_x = -32;
+ pixel_y = 0
+ },
+/obj/machinery/camera{
+ c_tag = "Cargo Atmospherics Checkpoint";
+ dir = 5;
+ icon_state = "camera";
+ tag = "icon-camera (NORTHEAST)"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aVk" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 8
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aVl" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 1
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aVm" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/extinguisher_cabinet{
+ pixel_x = 24
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aVn" = (
+/obj/structure/disposalpipe/trunk{
+ dir = 1
+ },
+/obj/structure/disposaloutlet,
+/turf/open/floor/plating/airless,
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aVo" = (
+/obj/machinery/light/small,
+/obj/item/device/assembly/mousetrap/armed,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aVp" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/light{
+ icon_state = "tube1";
+ dir = 8
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/teleporter{
+ name = "Security Quantum Pad"
+ })
+"aVq" = (
+/obj/machinery/quantumpad,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/teleporter{
+ name = "Security Quantum Pad"
+ })
+"aVr" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/teleporter{
+ name = "Security Quantum Pad"
+ })
+"aVs" = (
+/obj/machinery/status_display{
+ density = 0;
+ layer = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/teleporter{
+ name = "Security Quantum Pad"
+ })
+"aVt" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/machinery/light/small{
+ dir = 4
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aVu" = (
+/obj/structure/closet/jcloset,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/janitor)
+"aVv" = (
+/obj/structure/chair/stool,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/janitor)
+"aVw" = (
+/obj/item/weapon/mop,
+/obj/item/weapon/reagent_containers/glass/bucket,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/janitor)
+"aVx" = (
+/obj/structure/window/reinforced{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/nuke_storage)
+"aVy" = (
+/turf/open/floor/plasteel/stairs{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/nuke_storage)
+"aVz" = (
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/nuke_storage)
+"aVA" = (
+/obj/machinery/atmospherics/components/unary/portables_connector/visible{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/machinery/portable_atmospherics/canister/air,
+/obj/machinery/light/small{
+ dir = 8
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aVB" = (
+/obj/machinery/firealarm{
+ dir = 8;
+ pixel_x = -24
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aVC" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/table,
+/obj/machinery/light/small{
+ dir = 8
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aVD" = (
+/obj/structure/table,
+/obj/item/weapon/wrench,
+/obj/item/clothing/glasses/meson,
+/obj/effect/turf_decal/stripes/line{
+ dir = 10
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aVE" = (
+/obj/machinery/atmospherics/components/unary/portables_connector/visible{
+ dir = 1
+ },
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aVF" = (
+/obj/machinery/atmospherics/components/unary/portables_connector/visible{
+ dir = 1
+ },
+/obj/machinery/portable_atmospherics/canister/air,
+/obj/effect/turf_decal/stripes/line,
+/obj/machinery/light/small,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aVG" = (
+/obj/machinery/atmospherics/components/unary/portables_connector/visible{
+ dir = 1
+ },
+/obj/machinery/portable_atmospherics/canister/air,
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aVH" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 6
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aVI" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aVJ" = (
+/obj/machinery/camera{
+ c_tag = "Command Asteroid Hallway 1";
+ dir = 4;
+ icon_state = "camera"
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aVK" = (
+/obj/machinery/light{
+ icon_state = "tube1";
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aVL" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 10
+ },
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 1;
+ on = 1
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/teleporter{
+ name = "Security Quantum Pad"
+ })
+"aVM" = (
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/teleporter{
+ name = "Security Quantum Pad"
+ })
+"aVN" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 6
+ },
+/obj/structure/sign/securearea{
+ desc = "A warning sign which reads 'KEEP CLEAR OF PAD WHEN IN USE'.";
+ name = "KEEP CLEAR OF PAD WHEN IN USE";
+ pixel_x = 32;
+ pixel_y = 0
+ },
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ dir = 1;
+ on = 1
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/teleporter{
+ name = "Security Quantum Pad"
+ })
+"aVO" = (
+/obj/effect/turf_decal/stripes/asteroid/line,
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aVP" = (
+/obj/structure/reagent_dispensers/fueltank,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aVQ" = (
+/obj/structure/table,
+/obj/item/weapon/paper_bin{
+ pixel_x = -3;
+ pixel_y = 7
+ },
+/obj/item/weapon/pen,
+/obj/item/key/janitor,
+/obj/machinery/camera{
+ c_tag = "Custodials";
+ dir = 5;
+ icon_state = "camera";
+ tag = "icon-camera (NORTHEAST)"
+ },
+/obj/item/key/janitor,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/janitor)
+"aVR" = (
+/obj/structure/table,
+/obj/item/weapon/grenade/chem_grenade/cleaner,
+/obj/item/weapon/grenade/chem_grenade/cleaner,
+/obj/item/weapon/grenade/chem_grenade/cleaner,
+/obj/machinery/requests_console{
+ department = "Janitorial";
+ departmentType = 1;
+ pixel_y = -29
+ },
+/obj/item/weapon/reagent_containers/spray/cleaner,
+/obj/item/weapon/grenade/chem_grenade/cleaner,
+/obj/item/weapon/grenade/chem_grenade/cleaner,
+/obj/item/weapon/grenade/chem_grenade/cleaner,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/janitor)
+"aVS" = (
+/obj/structure/table,
+/obj/item/weapon/storage/box/lights/mixed,
+/obj/item/weapon/storage/box/lights/mixed,
+/obj/item/weapon/storage/box/lights/mixed,
+/obj/item/weapon/storage/box/lights/mixed,
+/obj/machinery/light,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/janitor)
+"aVT" = (
+/obj/structure/reagent_dispensers/watertank/high,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/janitor)
+"aVU" = (
+/obj/machinery/disposal/bin,
+/obj/structure/disposalpipe/trunk{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/janitor)
+"aVV" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/portable_atmospherics/canister/water_vapor,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/janitor)
+"aVW" = (
+/obj/structure/janitorialcart,
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/janitor)
+"aVX" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/nuke_storage)
+"aVY" = (
+/obj/machinery/door/airlock/vault{
+ icon_state = "door_locked";
+ locked = 1;
+ req_access_txt = "53"
+ },
+/turf/open/floor/plasteel/black,
+/area/ai_monitored/nuke_storage)
+"aVZ" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/nuke_storage)
+"aWa" = (
+/obj/machinery/atmospherics/components/unary/portables_connector/visible{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/machinery/portable_atmospherics/canister/air,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aWb" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aWc" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 10
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aWd" = (
+/obj/machinery/light{
+ icon_state = "tube1";
+ dir = 8
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aWe" = (
+/obj/machinery/camera{
+ c_tag = "Command Asteroid Hall 10";
+ dir = 8;
+ icon_state = "camera";
+ tag = "icon-camera (WEST)"
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aWf" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aWg" = (
+/obj/structure/rack,
+/obj/item/clothing/suit/space/fragile,
+/obj/item/clothing/head/helmet/space/fragile,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aWh" = (
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/obj/effect/spawner/lootdrop/grille_or_trash,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aWi" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aWj" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_y = 0
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aWk" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_y = 0
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aWl" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_y = 0
+ },
+/obj/machinery/door/airlock/maintenance{
+ name = "Cargo SMES Access";
+ req_access_txt = "10;11;12"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aWm" = (
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8";
+ tag = ""
+ },
+/obj/machinery/light/small{
+ dir = 1
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aWn" = (
+/obj/machinery/camera{
+ c_tag = "Cargo Bay SMES";
+ dir = 6;
+ icon_state = "camera"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aWo" = (
+/obj/structure/closet,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aWp" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/sign/securearea{
+ desc = "A warning sign which reads 'EXTERNAL AIRLOCK'";
+ icon_state = "space";
+ layer = 4;
+ name = "EXTERNAL AIRLOCK";
+ pixel_x = 32;
+ pixel_y = 0
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aWq" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/obj/machinery/door/firedoor,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/teleporter{
+ name = "Security Quantum Pad"
+ })
+"aWr" = (
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/portsolar{
+ name = "Command Asteroid Solar Maintenance"
+ })
+"aWs" = (
+/turf/closed/wall/r_wall/rust{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/portsolar{
+ name = "Command Asteroid Solar Maintenance"
+ })
+"aWt" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/door/airlock/maintenance{
+ name = "Command Asteroid Solars";
+ req_access_txt = "10;11;12"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/portsolar{
+ name = "Command Asteroid Solar Maintenance"
+ })
+"aWu" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/janitor)
+"aWv" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/black,
+/area/ai_monitored/nuke_storage)
+"aWw" = (
+/turf/open/floor/plasteel/black,
+/area/ai_monitored/nuke_storage)
+"aWx" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel/black,
+/area/ai_monitored/nuke_storage)
+"aWy" = (
+/turf/open/space,
+/area/mine/unexplored{
+ name = "Command Asteroid"
+ })
+"aWz" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 10
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aWA" = (
+/obj/effect/turf_decal/stripes/line,
+/obj/structure/sign/securearea{
+ desc = "A warning sign which reads 'EXTERNAL AIRLOCK'";
+ icon_state = "space";
+ layer = 4;
+ name = "EXTERNAL AIRLOCK";
+ pixel_x = 0;
+ pixel_y = -32
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aWB" = (
+/obj/machinery/atmospherics/components/binary/pump{
+ dir = 1;
+ name = "Mix Input";
+ on = 1
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 6
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aWC" = (
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aWD" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/structure/sign/securearea{
+ desc = "A warning sign which reads 'EXTERNAL AIRLOCK'";
+ icon_state = "space";
+ layer = 4;
+ name = "EXTERNAL AIRLOCK";
+ pixel_x = 0;
+ pixel_y = -32
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aWE" = (
+/obj/machinery/light{
+ icon_state = "tube1";
+ dir = 4
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aWF" = (
+/obj/machinery/power/apc{
+ dir = 4;
+ name = "Cargo Hallway APC";
+ pixel_x = 23;
+ pixel_y = 2
+ },
+/obj/structure/cable/orange{
+ d2 = 2;
+ icon_state = "0-2"
+ },
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aWG" = (
+/obj/machinery/door/airlock/glass_external{
+ cyclelinkeddir = 2
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aWH" = (
+/obj/machinery/power/smes,
+/obj/structure/cable/orange{
+ d2 = 4;
+ icon_state = "0-4"
+ },
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/portsolar{
+ name = "Command Asteroid Solar Maintenance"
+ })
+"aWI" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/portsolar{
+ name = "Command Asteroid Solar Maintenance"
+ })
+"aWJ" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/portsolar{
+ name = "Command Asteroid Solar Maintenance"
+ })
+"aWK" = (
+/obj/structure/closet/crate{
+ name = "Gold Crate"
+ },
+/obj/item/stack/sheet/mineral/gold{
+ pixel_x = -1;
+ pixel_y = 5
+ },
+/obj/item/stack/sheet/mineral/gold{
+ pixel_y = 2
+ },
+/obj/item/stack/sheet/mineral/gold{
+ pixel_x = 1;
+ pixel_y = -2
+ },
+/obj/item/weapon/storage/belt/champion,
+/obj/machinery/camera{
+ c_tag = "Vault"
+ },
+/turf/open/floor/circuit,
+/area/ai_monitored/nuke_storage)
+"aWL" = (
+/turf/open/floor/circuit,
+/area/ai_monitored/nuke_storage)
+"aWM" = (
+/obj/machinery/computer/bank_machine,
+/turf/open/floor/circuit,
+/area/ai_monitored/nuke_storage)
+"aWN" = (
+/obj/structure/safe,
+/obj/item/weapon/twohanded/fireaxe,
+/obj/item/clothing/head/bearpelt,
+/obj/item/bear_armor,
+/obj/item/weapon/reagent_containers/food/drinks/bottle/vodka/badminka,
+/obj/item/weapon/dice/d20{
+ desc = "A die with twenty sides. You feel absolutely normal while looking at this.";
+ name = "Die of Mediocre Rolling Capability"
+ },
+/turf/open/floor/circuit,
+/area/ai_monitored/nuke_storage)
+"aWO" = (
+/obj/machinery/door/airlock/glass_external{
+ cyclelinkeddir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aWP" = (
+/obj/machinery/door/airlock/glass_external{
+ cyclelinkeddir = 2
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aWQ" = (
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/obj/effect/turf_decal/stripes/asteroid/line,
+/obj/effect/spawner/lootdrop/grille_or_trash,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aWR" = (
+/obj/machinery/door/firedoor,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/effect/turf_decal/stripes/line,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aWS" = (
+/obj/machinery/door/firedoor,
+/obj/effect/turf_decal/stripes/line,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aWT" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aWU" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/light/small{
+ dir = 4
+ },
+/obj/structure/fans/tiny,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aWV" = (
+/obj/machinery/power/terminal{
+ icon_state = "term";
+ dir = 1
+ },
+/obj/structure/cable{
+ icon_state = "0-4"
+ },
+/obj/machinery/light/small{
+ dir = 8
+ },
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/portsolar{
+ name = "Command Asteroid Solar Maintenance"
+ })
+"aWW" = (
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/portsolar{
+ name = "Command Asteroid Solar Maintenance"
+ })
+"aWX" = (
+/obj/structure/cable/orange,
+/obj/machinery/power/apc{
+ dir = 4;
+ name = "Command Asteroid Solars APC";
+ pixel_x = 23;
+ pixel_y = 2
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/portsolar{
+ name = "Command Asteroid Solar Maintenance"
+ })
+"aWY" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/light/small{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aWZ" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/machinery/light/small{
+ dir = 8
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aXa" = (
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/portsolar{
+ name = "Fore Asteroid Solar Maintenance"
+ })
+"aXb" = (
+/turf/closed/wall/r_wall/rust{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/portsolar{
+ name = "Fore Asteroid Solar Maintenance"
+ })
+"aXc" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "Fore Asteroid Solars";
+ req_access_txt = "10;11;12"
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/portsolar{
+ name = "Fore Asteroid Solar Maintenance"
+ })
+"aXd" = (
+/obj/machinery/firealarm{
+ dir = 4;
+ pixel_x = 24
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aXe" = (
+/obj/structure/chair/stool,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aXf" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/computer/station_alert,
+/obj/structure/cable/orange{
+ d2 = 2;
+ icon_state = "0-2"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aXg" = (
+/obj/effect/landmark/event_spawn,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aXh" = (
+/obj/machinery/light/small,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aXi" = (
+/obj/structure/rack,
+/obj/effect/spawner/lootdrop/maintenance,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aXj" = (
+/obj/machinery/door/airlock/glass_external{
+ cyclelinkeddir = 1
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aXk" = (
+/obj/structure/cable{
+ icon_state = "0-4";
+ d2 = 4
+ },
+/obj/machinery/power/solar_control{
+ id = "commandsolar";
+ name = "Command Asteroid Solar Control";
+ track = 0
+ },
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/portsolar{
+ name = "Command Asteroid Solar Maintenance"
+ })
+"aXl" = (
+/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/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/portsolar{
+ name = "Command Asteroid Solar Maintenance"
+ })
+"aXm" = (
+/obj/structure/table,
+/obj/item/weapon/storage/toolbox/electrical,
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/portsolar{
+ name = "Command Asteroid Solar Maintenance"
+ })
+"aXn" = (
+/obj/structure/grille,
+/turf/open/space,
+/area/space)
+"aXo" = (
+/obj/item/weapon/coin/silver{
+ pixel_x = 7;
+ pixel_y = 12
+ },
+/obj/item/weapon/coin/silver{
+ pixel_x = 12;
+ pixel_y = 7
+ },
+/obj/item/weapon/coin/silver{
+ pixel_x = 4;
+ pixel_y = 8
+ },
+/obj/item/weapon/coin/silver{
+ pixel_x = -6;
+ pixel_y = 5
+ },
+/obj/item/weapon/coin/silver{
+ pixel_x = 5;
+ pixel_y = -8
+ },
+/obj/structure/closet/crate{
+ name = "Silver Crate"
+ },
+/obj/machinery/light{
+ dir = 8
+ },
+/turf/open/floor/circuit,
+/area/ai_monitored/nuke_storage)
+"aXp" = (
+/obj/machinery/nuclearbomb/selfdestruct,
+/turf/open/floor/circuit,
+/area/ai_monitored/nuke_storage)
+"aXq" = (
+/obj/structure/filingcabinet,
+/obj/item/weapon/folder/documents,
+/obj/machinery/light{
+ icon_state = "tube1";
+ dir = 4
+ },
+/turf/open/floor/circuit,
+/area/ai_monitored/nuke_storage)
+"aXr" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/door/airlock/glass_external{
+ cyclelinkeddir = 1;
+ name = "Command Atmospherics Checkpoint";
+ req_access_txt = "24"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aXs" = (
+/obj/machinery/door/airlock/glass_external{
+ cyclelinkeddir = 1
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aXt" = (
+/obj/machinery/power/smes,
+/obj/structure/cable/orange{
+ d2 = 4;
+ icon_state = "0-4"
+ },
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/portsolar{
+ name = "Fore Asteroid Solar Maintenance"
+ })
+"aXu" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/portsolar{
+ name = "Fore Asteroid Solar Maintenance"
+ })
+"aXv" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/portsolar{
+ name = "Fore Asteroid Solar Maintenance"
+ })
+"aXw" = (
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 6
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aXx" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "External Maintenance Access";
+ req_access_txt = "12"
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_y = 0
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aXy" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aXz" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4";
+ tag = ""
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aXA" = (
+/obj/machinery/power/terminal{
+ tag = "icon-term (EAST)";
+ icon_state = "term";
+ dir = 4
+ },
+/obj/structure/cable{
+ d2 = 8;
+ icon_state = "0-8"
+ },
+/obj/structure/sign/electricshock{
+ pixel_y = -32
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aXB" = (
+/obj/structure/lattice/catwalk,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/turf/open/space,
+/area/space)
+"aXC" = (
+/obj/structure/lattice/catwalk,
+/obj/structure/window/reinforced{
+ dir = 4;
+ pixel_x = 0
+ },
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8";
+ tag = ""
+ },
+/obj/structure/girder,
+/obj/structure/grille,
+/turf/open/space,
+/area/space)
+"aXD" = (
+/obj/structure/lattice/catwalk,
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/obj/structure/grille,
+/turf/open/space,
+/area/space)
+"aXE" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/portsolar{
+ name = "Command Asteroid Solar Maintenance"
+ })
+"aXF" = (
+/obj/machinery/door/airlock/external{
+ cyclelinkeddir = 4;
+ name = "Solar Maintenance";
+ req_access = null;
+ req_access_txt = "10; 13"
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/portsolar{
+ name = "Command Asteroid Solar Maintenance"
+ })
+"aXG" = (
+/obj/machinery/camera{
+ c_tag = "Vault";
+ dir = 5;
+ icon_state = "camera";
+ tag = "icon-camera (NORTHEAST)"
+ },
+/turf/open/floor/circuit,
+/area/ai_monitored/nuke_storage)
+"aXH" = (
+/obj/machinery/holopad,
+/turf/open/floor/plasteel/black,
+/area/ai_monitored/nuke_storage)
+"aXI" = (
+/obj/structure/lattice/catwalk,
+/obj/structure/window/reinforced{
+ dir = 4;
+ pixel_x = 0
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 10
+ },
+/obj/structure/grille,
+/turf/open/space,
+/area/space)
+"aXJ" = (
+/obj/structure/lattice/catwalk,
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 6
+ },
+/obj/structure/grille,
+/turf/open/space,
+/area/space)
+"aXK" = (
+/obj/structure/lattice/catwalk,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 9
+ },
+/turf/open/space,
+/area/space)
+"aXL" = (
+/obj/machinery/power/terminal{
+ icon_state = "term";
+ dir = 1
+ },
+/obj/structure/cable{
+ icon_state = "0-4"
+ },
+/obj/machinery/light/small{
+ dir = 8
+ },
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/portsolar{
+ name = "Fore Asteroid Solar Maintenance"
+ })
+"aXM" = (
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/portsolar{
+ name = "Fore Asteroid Solar Maintenance"
+ })
+"aXN" = (
+/obj/structure/cable/orange,
+/obj/machinery/power/apc{
+ dir = 4;
+ name = "Fore Asteroid Solars APC";
+ pixel_x = 23;
+ pixel_y = 2
+ },
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/portsolar{
+ name = "Fore Asteroid Solar Maintenance"
+ })
+"aXO" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aXP" = (
+/obj/item/device/radio/intercom{
+ broadcasting = 0;
+ name = "Station Intercom (General)";
+ pixel_x = 28;
+ pixel_y = 0
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aXQ" = (
+/obj/machinery/light/small{
+ dir = 1
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"aXR" = (
+/obj/structure/girder,
+/obj/structure/grille,
+/turf/open/floor/plating/airless,
+/area/space)
+"aXS" = (
+/obj/structure/lattice/catwalk,
+/obj/structure/window/reinforced{
+ dir = 4;
+ pixel_x = 0
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/girder,
+/obj/structure/grille,
+/turf/open/space,
+/area/space)
+"aXT" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/portsolar{
+ name = "Command Asteroid Solar Maintenance"
+ })
+"aXU" = (
+/obj/item/weapon/twohanded/required/kirbyplants{
+ icon_state = "plant-09"
+ },
+/turf/open/floor/circuit,
+/area/ai_monitored/nuke_storage)
+"aXV" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ dir = 1;
+ on = 1
+ },
+/turf/open/floor/circuit,
+/area/ai_monitored/nuke_storage)
+"aXW" = (
+/obj/machinery/computer/bank_machine,
+/obj/machinery/light,
+/turf/open/floor/circuit,
+/area/ai_monitored/nuke_storage)
+"aXX" = (
+/obj/structure/lattice/catwalk,
+/obj/structure/window/reinforced{
+ dir = 4;
+ pixel_x = 0
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/grille,
+/turf/open/space,
+/area/space)
+"aXY" = (
+/obj/structure/lattice/catwalk,
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/grille,
+/turf/open/space,
+/area/space)
+"aXZ" = (
+/obj/machinery/power/solar_control{
+ id = "foresolar";
+ name = "Fore Asteroid Solar Control";
+ track = 0
+ },
+/obj/structure/cable{
+ icon_state = "0-4";
+ d2 = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/portsolar{
+ name = "Fore Asteroid Solar Maintenance"
+ })
+"aYa" = (
+/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/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/portsolar{
+ name = "Fore Asteroid Solar Maintenance"
+ })
+"aYb" = (
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/portsolar{
+ name = "Fore Asteroid Solar Maintenance"
+ })
+"aYc" = (
+/obj/structure/reagent_dispensers/watertank,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aYd" = (
+/obj/structure/sign/securearea{
+ desc = "A warning sign which reads 'EXTERNAL AIRLOCK'";
+ icon_state = "space";
+ layer = 4;
+ name = "EXTERNAL AIRLOCK";
+ pixel_x = 0;
+ pixel_y = -32
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aYe" = (
+/obj/structure/cable{
+ icon_state = "0-4";
+ d2 = 4
+ },
+/obj/machinery/power/solar{
+ id = "commandsolar";
+ name = "Fore Solar Array"
+ },
+/turf/open/floor/plasteel/airless/solarpanel,
+/area/space)
+"aYf" = (
+/obj/structure/lattice/catwalk,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/turf/open/space,
+/area/space)
+"aYg" = (
+/obj/structure/cable{
+ d2 = 8;
+ icon_state = "0-8"
+ },
+/obj/machinery/power/solar{
+ id = "commandsolar";
+ name = "Fore Solar Array"
+ },
+/turf/open/floor/plasteel/airless/solarpanel,
+/area/space)
+"aYh" = (
+/obj/machinery/status_display{
+ density = 0;
+ layer = 4
+ },
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/nuke_storage)
+"aYi" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/portsolar{
+ name = "Fore Asteroid Solar Maintenance"
+ })
+"aYj" = (
+/obj/machinery/door/airlock/external{
+ cyclelinkeddir = 4;
+ name = "Solar Maintenance";
+ req_access = null;
+ req_access_txt = "10; 13"
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/portsolar{
+ name = "Fore Asteroid Solar Maintenance"
+ })
+"aYk" = (
+/obj/machinery/door/airlock/glass_external{
+ cyclelinkeddir = 2
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aYl" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 5
+ },
+/obj/machinery/camera{
+ c_tag = "Cargo Asteroid Hall 3";
+ dir = 4;
+ icon_state = "camera"
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aYm" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ dir = 8;
+ on = 1;
+ scrub_Toxins = 0
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aYn" = (
+/obj/structure/lattice/catwalk,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/space,
+/area/space)
+"aYo" = (
+/obj/structure/cable{
+ icon_state = "0-4";
+ d2 = 4
+ },
+/obj/machinery/power/solar{
+ id = "foresolar";
+ name = "Fore Solar Array"
+ },
+/turf/open/floor/plasteel/airless/solarpanel,
+/area/space)
+"aYp" = (
+/obj/structure/lattice/catwalk,
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/turf/open/space,
+/area/space)
+"aYq" = (
+/obj/structure/cable{
+ d2 = 8;
+ icon_state = "0-8"
+ },
+/obj/machinery/power/solar{
+ id = "foresolar";
+ name = "Fore Solar Array"
+ },
+/turf/open/floor/plasteel/airless/solarpanel,
+/area/space)
+"aYr" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/portsolar{
+ name = "Fore Asteroid Solar Maintenance"
+ })
+"aYs" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/machinery/light/small{
+ dir = 4
+ },
+/obj/structure/fans/tiny,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aYt" = (
+/obj/machinery/light{
+ icon_state = "tube1";
+ dir = 8
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aYu" = (
+/obj/structure/lattice/catwalk,
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/space,
+/area/space)
+"aYv" = (
+/obj/machinery/door/airlock/glass_external{
+ cyclelinkeddir = 1
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"aYw" = (
+/obj/structure/lattice/catwalk,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4";
+ tag = ""
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 5
+ },
+/turf/open/space,
+/area/space)
+"aYx" = (
+/obj/structure/lattice/catwalk,
+/obj/structure/window/reinforced{
+ dir = 4;
+ pixel_x = 0
+ },
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8";
+ tag = ""
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 10
+ },
+/obj/structure/grille,
+/turf/open/space,
+/area/space)
+"aYy" = (
+/obj/structure/lattice/catwalk,
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/obj/structure/girder,
+/obj/structure/grille,
+/turf/open/space,
+/area/space)
+"aYz" = (
+/obj/structure/lattice/catwalk,
+/obj/structure/window/reinforced{
+ dir = 4;
+ pixel_x = 0
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/grille,
+/turf/open/space,
+/area/space)
+"aYA" = (
+/obj/structure/lattice/catwalk,
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/space,
+/area/space)
+"aYB" = (
+/obj/structure/lattice/catwalk,
+/obj/item/stack/cable_coil{
+ amount = 2
+ },
+/turf/open/space,
+/area/space)
+"aYC" = (
+/obj/structure/lattice/catwalk,
+/obj/item/stack/cable_coil{
+ amount = 30
+ },
+/turf/open/space,
+/area/space)
+"aYD" = (
+/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/space)
+"aYE" = (
+/obj/structure/lattice/catwalk,
+/obj/machinery/power/tracker,
+/obj/structure/cable{
+ d2 = 8;
+ icon_state = "0-8"
+ },
+/turf/open/space,
+/area/space)
+"aYF" = (
+/obj/structure/lattice/catwalk,
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/turf/open/space,
+/area/space)
+"aYG" = (
+/obj/structure/lattice/catwalk,
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_y = 0
+ },
+/turf/open/space,
+/area/space)
+"aYH" = (
+/obj/structure/lattice/catwalk,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/turf/open/space,
+/area/space)
+"aYI" = (
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/obj/machinery/camera{
+ c_tag = "Command-Service Bridge";
+ dir = 4;
+ icon_state = "camera"
+ },
+/turf/open/floor/engine,
+/area/space)
+"aYJ" = (
+/obj/structure/lattice/catwalk,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/turf/open/space,
+/area/space)
+"aYK" = (
+/obj/structure/window/reinforced{
+ dir = 4;
+ pixel_x = 0
+ },
+/obj/machinery/camera{
+ c_tag = "Command-Engineering Bridge";
+ dir = 8;
+ network = list("SS13")
+ },
+/turf/open/floor/engine,
+/area/space)
+"aYL" = (
+/obj/structure/lattice/catwalk,
+/obj/structure/cable{
+ icon_state = "0-4"
+ },
+/obj/machinery/power/tracker,
+/turf/open/space,
+/area/space)
+"aYM" = (
+/obj/structure/lattice/catwalk,
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_y = 0
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/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/space)
+"aYN" = (
+/turf/closed/wall,
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"aYO" = (
+/obj/structure/disposalpipe/trunk,
+/obj/machinery/disposal/deliveryChute{
+ tag = "icon-intake (NORTH)";
+ icon_state = "intake";
+ dir = 1
+ },
+/turf/open/floor/plating/airless,
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"aYP" = (
+/turf/closed/mineral,
+/area/mine/unexplored{
+ name = "Civilian Asteroid"
+ })
+"aYQ" = (
+/obj/structure/lattice/catwalk,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/space,
+/area/space)
+"aYR" = (
+/obj/structure/disposalpipe/segment,
+/turf/closed/wall,
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"aYS" = (
+/obj/structure/disposalpipe/trunk{
+ dir = 1
+ },
+/obj/structure/disposaloutlet,
+/turf/open/floor/plating,
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"aYT" = (
+/turf/closed/mineral/random/labormineral,
+/area/mine/unexplored{
+ name = "Civilian Asteroid"
+ })
+"aYU" = (
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/obj/machinery/camera{
+ c_tag = "Medbay-Cargo Bridge";
+ dir = 4;
+ icon_state = "camera"
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/engine,
+/area/space)
+"aYV" = (
+/obj/machinery/conveyor/auto{
+ tag = "icon-conveyor0 (EAST)";
+ icon_state = "conveyor0";
+ dir = 4
+ },
+/turf/open/floor/plating,
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"aYW" = (
+/obj/machinery/conveyor/auto{
+ tag = "icon-conveyor0 (SOUTHEAST)";
+ icon_state = "conveyor0";
+ dir = 6
+ },
+/turf/open/floor/plating,
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"aYX" = (
+/turf/closed/wall/rust{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"aYY" = (
+/obj/machinery/conveyor/auto,
+/obj/structure/plasticflaps,
+/turf/open/floor/plating,
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"aYZ" = (
+/obj/structure/lattice/catwalk,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/turf/open/space,
+/area/space)
+"aZa" = (
+/obj/machinery/light/small{
+ dir = 8
+ },
+/obj/machinery/conveyor/auto{
+ dir = 5;
+ icon_state = "conveyor0";
+ verted = -1
+ },
+/turf/open/floor/plating,
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"aZb" = (
+/obj/machinery/conveyor/auto{
+ tag = "icon-conveyor0 (SOUTHWEST)";
+ icon_state = "conveyor0";
+ dir = 10
+ },
+/turf/open/floor/plating,
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"aZc" = (
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/mine/unexplored{
+ name = "Civilian Asteroid"
+ })
+"aZd" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters{
+ name = "Rehabilitation Dome"
+ })
+"aZe" = (
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters{
+ name = "Rehabilitation Dome"
+ })
+"aZf" = (
+/turf/open/floor/plating/asteroid/airless,
+/area/mine/unexplored{
+ name = "Engineering Asteroid"
+ })
+"aZg" = (
+/obj/structure/disposalpipe/trunk{
+ dir = 4
+ },
+/obj/structure/disposaloutlet{
+ dir = 8
+ },
+/turf/open/floor/plating/airless,
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"aZh" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall,
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"aZi" = (
+/obj/structure/disposalpipe/trunk{
+ dir = 8
+ },
+/obj/machinery/disposal/deliveryChute{
+ dir = 4
+ },
+/turf/open/floor/plating,
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"aZj" = (
+/obj/machinery/conveyor/auto{
+ icon_state = "conveyor0";
+ dir = 8
+ },
+/turf/open/floor/plating,
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"aZk" = (
+/obj/machinery/conveyor/auto{
+ icon_state = "conveyor0";
+ dir = 8
+ },
+/obj/machinery/light/small{
+ dir = 1
+ },
+/turf/open/floor/plating,
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"aZl" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 9
+ },
+/turf/open/floor/plasteel/floorgrime,
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"aZm" = (
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"aZn" = (
+/turf/closed/mineral,
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"aZo" = (
+/turf/closed/mineral/random/labormineral,
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"aZp" = (
+/obj/machinery/vending/hydronutrients,
+/turf/open/floor/grass{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters{
+ name = "Rehabilitation Dome"
+ })
+"aZq" = (
+/obj/machinery/hydroponics/soil,
+/turf/open/floor/grass{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters{
+ name = "Rehabilitation Dome"
+ })
+"aZr" = (
+/obj/structure/flora/ausbushes/lavendergrass,
+/turf/open/floor/grass{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters{
+ name = "Rehabilitation Dome"
+ })
+"aZs" = (
+/obj/machinery/hydroponics/soil,
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/grass{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters{
+ name = "Rehabilitation Dome"
+ })
+"aZt" = (
+/turf/closed/mineral,
+/area/mine/unexplored{
+ name = "Engineering Asteroid"
+ })
+"aZu" = (
+/obj/structure/sign/securearea{
+ desc = "A warning sign which reads 'EXTERNAL AIRLOCK'";
+ icon_state = "space";
+ layer = 4;
+ name = "EXTERNAL AIRLOCK";
+ pixel_x = -32;
+ pixel_y = 0
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/floor/plasteel/floorgrime,
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"aZv" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/floor/plating,
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"aZw" = (
+/obj/effect/turf_decal/stripes/corner{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/plasteel/floorgrime,
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"aZx" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "Port Asteroid Maintenance";
+ req_access_txt = "12"
+ },
+/turf/open/floor/plating,
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"aZy" = (
+/obj/effect/turf_decal/stripes/asteroid/line{
+ icon_state = "ast_warn";
+ dir = 8
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"aZz" = (
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"aZA" = (
+/turf/open/floor/plating/asteroid,
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"aZB" = (
+/obj/structure/closet/firecloset/full,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"aZC" = (
+/obj/structure/flora/ausbushes/fullgrass,
+/turf/open/floor/grass{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters{
+ name = "Rehabilitation Dome"
+ })
+"aZD" = (
+/obj/structure/table/wood,
+/obj/item/seeds/apple,
+/obj/item/seeds/cherry,
+/obj/item/seeds/grape,
+/obj/item/seeds/poppy,
+/obj/item/seeds/tea,
+/turf/open/floor/grass{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters{
+ name = "Rehabilitation Dome"
+ })
+"aZE" = (
+/obj/structure/table/wood,
+/obj/item/weapon/cultivator,
+/obj/item/weapon/shovel/spade,
+/obj/item/weapon/reagent_containers/glass/bucket,
+/obj/item/weapon/storage/bag/plants/portaseeder,
+/turf/open/floor/grass{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters{
+ name = "Rehabilitation Dome"
+ })
+"aZF" = (
+/obj/structure/flora/ausbushes/brflowers,
+/turf/open/floor/grass{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters{
+ name = "Rehabilitation Dome"
+ })
+"aZG" = (
+/obj/machinery/hydroponics/soil,
+/obj/machinery/airalarm{
+ dir = 8;
+ icon_state = "alarm0";
+ pixel_x = 24
+ },
+/obj/machinery/camera{
+ c_tag = "Rehabilitation Dome East 1";
+ dir = 8;
+ network = list("SS13")
+ },
+/turf/open/floor/grass{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters{
+ name = "Rehabilitation Dome"
+ })
+"aZH" = (
+/turf/closed/mineral/random/labormineral,
+/area/mine/unexplored{
+ name = "Engineering Asteroid"
+ })
+"aZI" = (
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/mine/unexplored{
+ name = "Engineering Asteroid"
+ })
+"aZJ" = (
+/obj/machinery/door/airlock/glass_external{
+ cyclelinkeddir = 2
+ },
+/turf/open/floor/plating,
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"aZK" = (
+/obj/structure/closet/crate,
+/obj/effect/spawner/lootdrop/maintenance,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"aZL" = (
+/obj/machinery/light/small{
+ dir = 1
+ },
+/turf/open/floor/plating/asteroid,
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"aZM" = (
+/obj/structure/lattice/catwalk,
+/obj/structure/window/reinforced{
+ dir = 4;
+ pixel_x = 0
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/structure/girder,
+/obj/structure/grille,
+/turf/open/space,
+/area/space)
+"aZN" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/turf/open/floor/grass{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters{
+ name = "Rehabilitation Dome"
+ })
+"aZO" = (
+/obj/structure/flora/ausbushes/fullgrass,
+/obj/machinery/camera{
+ c_tag = "Rehabilitation Dome North";
+ network = list("SS13")
+ },
+/turf/open/floor/grass{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters{
+ name = "Rehabilitation Dome"
+ })
+"aZP" = (
+/obj/structure/flora/ausbushes/ywflowers,
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/grass{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters{
+ name = "Rehabilitation Dome"
+ })
+"aZQ" = (
+/turf/open/floor/grass{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters{
+ name = "Rehabilitation Dome"
+ })
+"aZR" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 2;
+ on = 1
+ },
+/turf/open/floor/grass{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters{
+ name = "Rehabilitation Dome"
+ })
+"aZS" = (
+/obj/machinery/hydroponics/soil,
+/obj/machinery/firealarm{
+ dir = 4;
+ pixel_x = 24
+ },
+/mob/living/simple_animal/butterfly,
+/turf/open/floor/grass{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters{
+ name = "Rehabilitation Dome"
+ })
+"aZT" = (
+/obj/structure/lattice/catwalk,
+/obj/structure/window/reinforced{
+ dir = 4;
+ pixel_x = 0
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 9
+ },
+/obj/structure/grille,
+/turf/open/space,
+/area/space)
+"aZU" = (
+/obj/structure/lattice/catwalk,
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 5
+ },
+/obj/structure/grille,
+/turf/open/space,
+/area/space)
+"aZV" = (
+/obj/structure/lattice/catwalk,
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8";
+ tag = ""
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 10
+ },
+/turf/open/space,
+/area/space)
+"aZW" = (
+/turf/open/floor/plating,
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"aZX" = (
+/obj/structure/closet/emcloset,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"aZY" = (
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"aZZ" = (
+/obj/machinery/door/airlock/glass_external{
+ cyclelinkeddir = 2
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"baa" = (
+/obj/machinery/door/airlock/glass,
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"bab" = (
+/obj/machinery/door/airlock/glass,
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"bac" = (
+/obj/machinery/door/airlock/glass,
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"bad" = (
+/obj/structure/closet/crate,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bae" = (
+/obj/machinery/light/small{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/cobweb/cobweb2,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"baf" = (
+/obj/structure/flora/ausbushes/fullgrass,
+/mob/living/simple_animal/butterfly,
+/turf/open/floor/grass{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters{
+ name = "Rehabilitation Dome"
+ })
+"bag" = (
+/obj/structure/flora/ausbushes/sparsegrass,
+/turf/open/floor/grass{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters{
+ name = "Rehabilitation Dome"
+ })
+"bah" = (
+/obj/structure/flora/ausbushes/pointybush,
+/turf/open/floor/grass{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters{
+ name = "Rehabilitation Dome"
+ })
+"bai" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/grass{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters{
+ name = "Rehabilitation Dome"
+ })
+"baj" = (
+/obj/structure/flora/ausbushes/ywflowers,
+/turf/open/floor/grass{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters{
+ name = "Rehabilitation Dome"
+ })
+"bak" = (
+/obj/structure/flora/ausbushes/fullgrass,
+/obj/structure/sign/nosmoking_2{
+ pixel_x = 32
+ },
+/turf/open/floor/grass{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters{
+ name = "Rehabilitation Dome"
+ })
+"bal" = (
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bam" = (
+/obj/machinery/door/airlock/glass_external{
+ cyclelinkeddir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"ban" = (
+/obj/machinery/door/airlock/glass,
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bao" = (
+/obj/machinery/door/airlock/glass,
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bap" = (
+/obj/machinery/door/airlock/glass,
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"baq" = (
+/obj/machinery/door/airlock/glass_external{
+ cyclelinkeddir = 2
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bar" = (
+/obj/structure/lattice/catwalk,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 6
+ },
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/turf/open/space,
+/area/space)
+"bas" = (
+/obj/structure/lattice/catwalk,
+/obj/structure/window/reinforced{
+ dir = 4;
+ pixel_x = 0
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 9
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/structure/grille,
+/turf/open/space,
+/area/space)
+"bat" = (
+/obj/structure/disposalpipe/trunk{
+ dir = 1
+ },
+/obj/structure/disposaloutlet,
+/turf/open/floor/plating/airless,
+/area/space)
+"bau" = (
+/obj/structure/girder,
+/obj/structure/grille,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bav" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/light/small{
+ dir = 4
+ },
+/obj/structure/fans/tiny,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"baw" = (
+/obj/machinery/firealarm{
+ dir = 8;
+ pixel_x = -24
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"bax" = (
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"bay" = (
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"baz" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "Port Asteroid Maintenance";
+ req_access_txt = "12"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"baA" = (
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 6
+ },
+/obj/machinery/light/small{
+ dir = 1
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"baB" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"baC" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/sortjunction{
+ tag = "icon-pipe-j1s (EAST)";
+ name = "disposal pipe - Bar";
+ icon_state = "pipe-j1s";
+ dir = 4;
+ sortType = 19
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"baD" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/spawner/lootdrop/grille_or_trash,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"baE" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/light/small,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"baF" = (
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8";
+ tag = ""
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 10
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"baG" = (
+/obj/structure/flora/ausbushes/fullgrass,
+/obj/machinery/light{
+ icon_state = "tube1";
+ dir = 8
+ },
+/turf/open/floor/grass{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters{
+ name = "Rehabilitation Dome"
+ })
+"baH" = (
+/turf/open/floor/plasteel/redblue{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters{
+ name = "Rehabilitation Dome"
+ })
+"baI" = (
+/obj/structure/flora/ausbushes/leafybush,
+/turf/open/floor/grass{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters{
+ name = "Rehabilitation Dome"
+ })
+"baJ" = (
+/obj/structure/flora/ausbushes/grassybush,
+/turf/open/floor/grass{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters{
+ name = "Rehabilitation Dome"
+ })
+"baK" = (
+/mob/living/simple_animal/chicken/rabbit/normal,
+/turf/open/floor/grass{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters{
+ name = "Rehabilitation Dome"
+ })
+"baL" = (
+/obj/structure/flora/ausbushes/reedbush,
+/mob/living/simple_animal/butterfly,
+/turf/open/floor/grass{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters{
+ name = "Rehabilitation Dome"
+ })
+"baM" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/light/small{
+ dir = 4
+ },
+/obj/structure/fans/tiny,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"baN" = (
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"baO" = (
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"baP" = (
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"baQ" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/obj/machinery/light/small{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/fans/tiny,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"baR" = (
+/obj/structure/lattice/catwalk,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/space,
+/area/space)
+"baS" = (
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"baT" = (
+/obj/machinery/door/airlock/glass,
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"baU" = (
+/obj/machinery/door/airlock/glass,
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"baV" = (
+/obj/machinery/door/airlock/glass,
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"baW" = (
+/turf/open/floor/plating/asteroid/airless,
+/area/mine/unexplored{
+ name = "Medical Asteroid"
+ })
+"baX" = (
+/obj/machinery/door/airlock/glass_external{
+ cyclelinkeddir = 1
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"baY" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 6
+ },
+/obj/item/device/radio/intercom{
+ broadcasting = 0;
+ name = "Station Intercom (General)";
+ pixel_x = -28;
+ pixel_y = 0
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"baZ" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ dir = 8;
+ on = 1;
+ scrub_Toxins = 0
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"bba" = (
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 6
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"bbb" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/door/airlock/maintenance{
+ name = "Port Asteroid Maintenance";
+ req_access_txt = "12"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bbc" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/asteroid/line{
+ icon_state = "ast_warn";
+ dir = 8
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bbd" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/item/device/assembly/mousetrap/armed,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bbe" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 9
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
+/obj/effect/turf_decal/stripes/asteroid/line,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bbf" = (
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bbg" = (
+/obj/structure/girder,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bbh" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 5
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 1;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bbi" = (
+/obj/machinery/light/small{
+ dir = 4
+ },
+/turf/open/floor/plating/asteroid,
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bbj" = (
+/obj/structure/flora/ausbushes/reedbush,
+/turf/open/floor/grass{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters{
+ name = "Rehabilitation Dome"
+ })
+"bbk" = (
+/obj/structure/sink/puddle,
+/turf/open/floor/grass{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters{
+ name = "Rehabilitation Dome"
+ })
+"bbl" = (
+/obj/structure/flora/ausbushes/stalkybush,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/grass{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters{
+ name = "Rehabilitation Dome"
+ })
+"bbm" = (
+/turf/closed/mineral,
+/area/hallway/primary/central)
+"bbn" = (
+/obj/machinery/door/airlock/glass_external{
+ cyclelinkeddir = 1
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bbo" = (
+/turf/closed/mineral,
+/area/mine/unexplored{
+ name = "Medical Asteroid"
+ })
+"bbp" = (
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/mine/unexplored{
+ name = "Medical Asteroid"
+ })
+"bbq" = (
+/turf/closed/mineral/random/labormineral,
+/area/mine/unexplored{
+ name = "Medical Asteroid"
+ })
+"bbr" = (
+/obj/structure/sign/map/left/ceres{
+ pixel_x = -32
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bbs" = (
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bbt" = (
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bbu" = (
+/obj/structure/grille/broken,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bbv" = (
+/obj/structure/cable/orange{
+ d2 = 2;
+ icon_state = "0-2"
+ },
+/obj/machinery/power/apc{
+ dir = 1;
+ name = "Port Hallway APC";
+ pixel_x = 0;
+ pixel_y = 24
+ },
+/obj/effect/decal/cleanable/cobweb,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"bbw" = (
+/obj/structure/table,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"bbx" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/sign/securearea{
+ desc = "A warning sign which reads 'EXTERNAL AIRLOCK'";
+ icon_state = "space";
+ layer = 4;
+ name = "EXTERNAL AIRLOCK";
+ pixel_x = 32;
+ pixel_y = 0
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"bby" = (
+/obj/machinery/light{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"bbz" = (
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"bbA" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"bbB" = (
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar)
+"bbC" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "Bar Backroom";
+ req_access_txt = "25"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar)
+"bbD" = (
+/obj/structure/disposalpipe/segment,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar)
+"bbE" = (
+/obj/effect/turf_decal/stripes/asteroid/line,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bbF" = (
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8";
+ tag = ""
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 10
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
+ },
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bbG" = (
+/obj/machinery/power/apc{
+ dir = 1;
+ name = "Port Asteroid Maintence APC";
+ pixel_x = 0;
+ pixel_y = 24
+ },
+/obj/structure/cable{
+ d2 = 8;
+ icon_state = "0-8"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bbH" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/sign/map/left/ceres{
+ pixel_x = 32;
+ pixel_y = -32
+ },
+/obj/structure/flora/ausbushes/reedbush,
+/turf/open/floor/grass{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters{
+ name = "Rehabilitation Dome"
+ })
+"bbI" = (
+/obj/structure/flora/ausbushes/sparsegrass,
+/obj/machinery/light,
+/turf/open/floor/grass{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters{
+ name = "Rehabilitation Dome"
+ })
+"bbJ" = (
+/turf/open/floor/plating/asteroid,
+/area/hallway/primary/central)
+"bbK" = (
+/obj/structure/table,
+/obj/effect/decal/cleanable/cobweb,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bbL" = (
+/obj/structure/sign/securearea{
+ desc = "A warning sign which reads 'EXTERNAL AIRLOCK'";
+ icon_state = "space";
+ layer = 4;
+ name = "EXTERNAL AIRLOCK";
+ pixel_x = 0;
+ pixel_y = 32
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bbM" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bbN" = (
+/obj/machinery/camera{
+ c_tag = "Engineering Asteroid Hallway 7";
+ dir = 4;
+ icon_state = "camera";
+ network = list("SS13")
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bbO" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 5
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bbP" = (
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8";
+ tag = ""
+ },
+/obj/machinery/light/small{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 10
+ },
+/obj/structure/sign/securearea{
+ desc = "A warning sign which reads 'EXTERNAL AIRLOCK'";
+ icon_state = "space";
+ layer = 4;
+ name = "EXTERNAL AIRLOCK";
+ pixel_x = 0;
+ pixel_y = 32
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bbQ" = (
+/obj/structure/closet/emcloset,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bbR" = (
+/obj/machinery/door/airlock/glass_external{
+ cyclelinkeddir = 2
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bbS" = (
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bbT" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ dir = 4;
+ on = 1
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bbU" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 10
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bbV" = (
+/obj/structure/rack,
+/obj/effect/spawner/lootdrop/maintenance,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bbW" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"bbX" = (
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"bbY" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/airalarm{
+ dir = 8;
+ icon_state = "alarm0";
+ pixel_x = 24
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"bbZ" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/machinery/camera{
+ c_tag = "Service Asteroid Hallway 1";
+ dir = 4;
+ icon_state = "camera"
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"bca" = (
+/obj/machinery/power/apc{
+ dir = 1;
+ name = "Bar APC";
+ pixel_x = 0;
+ pixel_y = 24
+ },
+/obj/structure/cable/orange{
+ d2 = 4;
+ icon_state = "0-4"
+ },
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar)
+"bcb" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/table/wood,
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar)
+"bcc" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/table/wood,
+/obj/machinery/reagentgrinder,
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar)
+"bcd" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar)
+"bce" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/light/small{
+ dir = 1
+ },
+/obj/structure/closet/secure_closet/bar{
+ req_access_txt = "25"
+ },
+/obj/machinery/newscaster{
+ pixel_y = 32
+ },
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar)
+"bcf" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/reagent_dispensers/beerkeg,
+/obj/structure/window/reinforced{
+ dir = 4
+ },
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar)
+"bcg" = (
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/obj/structure/disposalpipe/trunk{
+ dir = 1
+ },
+/obj/structure/disposaloutlet,
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar)
+"bch" = (
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/kitchen)
+"bci" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "Freezer";
+ req_access_txt = "28"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/kitchen)
+"bcj" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bck" = (
+/obj/structure/flora/ausbushes/ppflowers,
+/turf/open/floor/grass{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters{
+ name = "Rehabilitation Dome"
+ })
+"bcl" = (
+/obj/structure/flora/ausbushes/lavendergrass,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/camera{
+ c_tag = "Rehabilitation Dome East 2";
+ dir = 8;
+ network = list("SS13")
+ },
+/turf/open/floor/grass{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters{
+ name = "Rehabilitation Dome"
+ })
+"bcm" = (
+/obj/machinery/power/apc{
+ dir = 8;
+ name = "Rehabilitation Dome APC";
+ pixel_x = -25
+ },
+/obj/structure/cable{
+ icon_state = "0-2";
+ pixel_y = 1;
+ d2 = 2
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters{
+ name = "Rehabilitation Dome"
+ })
+"bcn" = (
+/obj/structure/rack,
+/obj/effect/spawner/lootdrop/maintenance,
+/turf/open/floor/plating/asteroid,
+/area/hallway/primary/central)
+"bco" = (
+/obj/structure/table,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bcp" = (
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bcq" = (
+/obj/machinery/light{
+ dir = 4
+ },
+/obj/item/device/radio/intercom{
+ name = "Station Intercom (General)";
+ pixel_x = 29;
+ pixel_y = 0
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bcr" = (
+/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"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bcs" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bct" = (
+/obj/machinery/power/apc{
+ dir = 4;
+ name = "Central Primary Hallway APC";
+ pixel_x = 23;
+ pixel_y = 2
+ },
+/obj/structure/cable{
+ d2 = 8;
+ icon_state = "0-8"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bcu" = (
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/storage/eva)
+"bcv" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/light/small{
+ dir = 4
+ },
+/obj/structure/fans/tiny,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bcw" = (
+/obj/machinery/firealarm{
+ dir = 8;
+ pixel_x = -24
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bcx" = (
+/obj/machinery/light{
+ icon_state = "tube1";
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bcy" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/closet/emcloset,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"bcz" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"bcA" = (
+/obj/machinery/status_display{
+ density = 0;
+ layer = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"bcB" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"bcC" = (
+/obj/machinery/camera{
+ c_tag = "Bar Backroom";
+ dir = 5;
+ icon_state = "camera";
+ tag = "icon-camera (NORTHEAST)"
+ },
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar)
+"bcD" = (
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar)
+"bcE" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ on = 1
+ },
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar)
+"bcF" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 4;
+ on = 1
+ },
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar)
+"bcG" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar)
+"bcH" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 10
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar)
+"bcI" = (
+/obj/structure/kitchenspike,
+/obj/effect/decal/cleanable/blood/old,
+/turf/open/floor/plasteel/freezer{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/kitchen)
+"bcJ" = (
+/obj/machinery/light/small{
+ dir = 1
+ },
+/turf/open/floor/plasteel/freezer{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/kitchen)
+"bcK" = (
+/obj/structure/kitchenspike,
+/turf/open/floor/plasteel/freezer{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/kitchen)
+"bcL" = (
+/obj/machinery/camera{
+ c_tag = "Freezer"
+ },
+/turf/open/floor/plasteel/freezer{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/kitchen)
+"bcM" = (
+/obj/machinery/power/apc{
+ dir = 1;
+ name = "Kitchen APC";
+ pixel_x = 0;
+ pixel_y = 24
+ },
+/obj/structure/cable/orange{
+ d2 = 2;
+ icon_state = "0-2"
+ },
+/turf/open/floor/plasteel/freezer{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/kitchen)
+"bcN" = (
+/turf/open/floor/plasteel/freezer{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/kitchen)
+"bcO" = (
+/obj/structure/flora/ausbushes/stalkybush,
+/obj/machinery/camera{
+ c_tag = "Rehabilitation Dome West 1";
+ dir = 4;
+ network = list("SS13")
+ },
+/turf/open/floor/grass{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters{
+ name = "Rehabilitation Dome"
+ })
+"bcP" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 5
+ },
+/turf/open/floor/grass{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters{
+ name = "Rehabilitation Dome"
+ })
+"bcQ" = (
+/obj/structure/grille,
+/obj/machinery/door/firedoor,
+/obj/structure/window/fulltile,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters{
+ name = "Rehabilitation Dome"
+ })
+"bcR" = (
+/obj/structure/table,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters{
+ name = "Rehabilitation Dome"
+ })
+"bcS" = (
+/obj/machinery/light{
+ dir = 1
+ },
+/obj/structure/table,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 10
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters{
+ name = "Rehabilitation Dome"
+ })
+"bcT" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bcU" = (
+/obj/machinery/light/small{
+ dir = 4
+ },
+/turf/open/floor/plating/asteroid,
+/area/hallway/primary/central)
+"bcV" = (
+/obj/machinery/light/small{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/rack,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bcW" = (
+/obj/structure/reagent_dispensers/watertank,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bcX" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bcY" = (
+/obj/structure/rack,
+/obj/item/clothing/suit/space/fragile,
+/obj/item/clothing/head/helmet/space/fragile,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bcZ" = (
+/obj/structure/table,
+/obj/item/stack/sheet/rglass{
+ amount = 20
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/storage/eva)
+"bda" = (
+/obj/machinery/camera{
+ c_tag = "EVA Equipment";
+ dir = 6;
+ icon_state = "camera"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/storage/eva)
+"bdb" = (
+/obj/machinery/suit_storage_unit/standard_unit,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/storage/eva)
+"bdc" = (
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/storage/eva)
+"bdd" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bde" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/light/small{
+ dir = 8
+ },
+/obj/structure/closet/emcloset,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"bdf" = (
+/obj/structure/rack,
+/obj/item/clothing/suit/space/fragile,
+/obj/item/clothing/head/helmet/space/fragile,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"bdg" = (
+/obj/structure/table/wood,
+/obj/item/stack/packageWrap,
+/obj/item/device/destTagger,
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar)
+"bdh" = (
+/obj/machinery/light/small,
+/obj/structure/table/wood,
+/obj/item/weapon/gun/ballistic/revolver/doublebarrel,
+/obj/item/weapon/storage/belt/bandolier,
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar)
+"bdi" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar)
+"bdj" = (
+/obj/structure/sign/poster/random{
+ name = "random contraband poster";
+ pixel_x = 0;
+ pixel_y = -32;
+ random_basetype = /obj/structure/sign/poster/contraband
+ },
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar)
+"bdk" = (
+/obj/effect/landmark/blobstart,
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar)
+"bdl" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar)
+"bdm" = (
+/mob/living/simple_animal/hostile/retaliate/goat{
+ name = "Pete"
+ },
+/turf/open/floor/plasteel/freezer{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/kitchen)
+"bdn" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 2;
+ on = 1
+ },
+/turf/open/floor/plasteel/freezer{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/kitchen)
+"bdo" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/disposalpipe/segment,
+/obj/item/device/assembly/mousetrap/armed,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bdp" = (
+/obj/structure/grille,
+/obj/machinery/door/firedoor,
+/obj/structure/window/fulltile,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters{
+ name = "Rehabilitation Dome"
+ })
+"bdq" = (
+/obj/machinery/door/airlock/glass{
+ name = "Rehabilitation Dome"
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters{
+ name = "Rehabilitation Dome"
+ })
+"bdr" = (
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters{
+ name = "Rehabilitation Dome"
+ })
+"bds" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/camera{
+ c_tag = "Rehabilitation Dome Lobby East";
+ dir = 8;
+ network = list("SS13")
+ },
+/obj/item/weapon/twohanded/required/kirbyplants{
+ icon_state = "plant-21";
+ layer = 4.1
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters{
+ name = "Rehabilitation Dome"
+ })
+"bdt" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/obj/structure/sign/poster/random{
+ name = "random contraband poster";
+ pixel_x = -32;
+ pixel_y = 0;
+ random_basetype = /obj/structure/sign/poster/contraband
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bdu" = (
+/obj/effect/turf_decal/stripes/asteroid/line{
+ icon_state = "ast_warn";
+ dir = 4
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_y = 0
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bdv" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "External Maintenance Access";
+ req_access_txt = "12"
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_y = 0
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bdw" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_y = 0
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bdx" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_y = 0
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bdy" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 5
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_y = 0
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bdz" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "External Maintenance Access";
+ req_access_txt = "12"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_y = 0
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bdA" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 10
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_y = 0
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bdB" = (
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8";
+ tag = ""
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bdC" = (
+/obj/structure/table,
+/obj/item/stack/sheet/plasteel/fifty{
+ amount = 20
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/storage/eva)
+"bdD" = (
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/storage/eva)
+"bdE" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ on = 1
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/storage/eva)
+"bdF" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 2;
+ on = 1
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/storage/eva)
+"bdG" = (
+/obj/structure/closet/emcloset,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bdH" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 6
+ },
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bdI" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_y = 0
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bdJ" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 9
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/structure/sign/securearea{
+ desc = "A warning sign which reads 'EXTERNAL AIRLOCK'";
+ icon_state = "space";
+ layer = 4;
+ name = "EXTERNAL AIRLOCK";
+ pixel_x = 32;
+ pixel_y = 0
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bdK" = (
+/obj/machinery/status_display{
+ density = 0;
+ layer = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bdL" = (
+/obj/structure/reagent_dispensers/fueltank,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bdM" = (
+/obj/structure/reagent_dispensers/fueltank,
+/obj/effect/decal/cleanable/cobweb,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bdN" = (
+/obj/structure/table,
+/obj/machinery/cell_charger,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bdO" = (
+/obj/machinery/camera{
+ c_tag = "Service SMES";
+ dir = 6;
+ icon_state = "camera";
+ network = list("SS13","QM")
+ },
+/obj/structure/table,
+/obj/item/weapon/storage/toolbox/mechanical,
+/obj/item/weapon/storage/toolbox/electrical{
+ pixel_x = 1;
+ pixel_y = 5
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bdP" = (
+/obj/machinery/power/apc{
+ dir = 1;
+ name = "Port Asteroid Maintence APC";
+ pixel_x = 0;
+ pixel_y = 24
+ },
+/obj/structure/cable/orange{
+ d2 = 2;
+ icon_state = "0-2"
+ },
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bdQ" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "Serivce SMES Access";
+ req_access_txt = "10;11;12"
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bdR" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"bdS" = (
+/obj/structure/tank_dispenser/oxygen,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"bdT" = (
+/obj/machinery/door/firedoor,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"bdU" = (
+/obj/machinery/door/firedoor,
+/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"bdV" = (
+/obj/machinery/door/firedoor,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"bdW" = (
+/obj/machinery/vending/boozeomat,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar)
+"bdX" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/door/airlock{
+ name = "Bar Backroom";
+ req_access_txt = "25"
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar)
+"bdY" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ on = 1
+ },
+/turf/open/floor/plasteel/freezer{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/kitchen)
+"bdZ" = (
+/obj/effect/landmark/event_spawn,
+/turf/open/floor/plasteel/freezer{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/kitchen)
+"bea" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/effect/decal/cleanable/blood/gibs/old,
+/turf/open/floor/plasteel/freezer{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/kitchen)
+"beb" = (
+/obj/machinery/gibber,
+/obj/machinery/light/small{
+ dir = 4
+ },
+/turf/open/floor/plasteel/freezer{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/kitchen)
+"bec" = (
+/obj/effect/spawner/lootdrop/grille_or_trash,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bed" = (
+/obj/structure/flora/ausbushes/reedbush,
+/obj/machinery/light{
+ icon_state = "tube1";
+ dir = 8
+ },
+/turf/open/floor/grass{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters{
+ name = "Rehabilitation Dome"
+ })
+"bee" = (
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters{
+ name = "Rehabilitation Dome"
+ })
+"bef" = (
+/turf/open/floor/plasteel/neutral/side{
+ tag = "icon-neutral (SOUTHWEST)";
+ icon_state = "neutral";
+ dir = 10;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters{
+ name = "Rehabilitation Dome"
+ })
+"beg" = (
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters{
+ name = "Rehabilitation Dome"
+ })
+"beh" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/firealarm{
+ dir = 4;
+ pixel_x = 24
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters{
+ name = "Rehabilitation Dome"
+ })
+"bei" = (
+/obj/machinery/door/firedoor,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bej" = (
+/obj/machinery/door/firedoor,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/effect/turf_decal/stripes/line,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bek" = (
+/obj/machinery/door/firedoor,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bel" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bem" = (
+/obj/machinery/light/small,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"ben" = (
+/obj/structure/tank_dispenser/oxygen,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"beo" = (
+/obj/structure/closet/crate/rcd,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/storage/eva)
+"bep" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/storage/eva)
+"beq" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/storage/eva)
+"ber" = (
+/obj/structure/table,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bes" = (
+/obj/structure/table,
+/obj/machinery/cell_charger,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bet" = (
+/obj/machinery/camera{
+ c_tag = "Medical SMES";
+ dir = 6;
+ icon_state = "camera"
+ },
+/obj/structure/chair/stool,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"beu" = (
+/obj/machinery/computer/station_alert,
+/obj/structure/cable/orange{
+ d2 = 2;
+ icon_state = "0-2"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bev" = (
+/obj/machinery/light/small{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bew" = (
+/obj/structure/closet/emcloset,
+/obj/machinery/light/small{
+ dir = 8
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bex" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bey" = (
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bez" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/machinery/camera{
+ c_tag = "Medbay Asteroid Hallway 6";
+ dir = 8;
+ icon_state = "camera";
+ network = list("SS13","QM");
+ tag = "icon-camera (WEST)"
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"beA" = (
+/obj/structure/girder,
+/obj/structure/grille/broken,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"beB" = (
+/obj/machinery/light/small{
+ dir = 8
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"beC" = (
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"beD" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"beE" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/light{
+ dir = 4;
+ icon_state = "tube1"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"beF" = (
+/obj/structure/table,
+/obj/item/weapon/reagent_containers/food/drinks/shaker,
+/obj/item/weapon/reagent_containers/glass/rag,
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar)
+"beG" = (
+/obj/structure/table,
+/obj/item/weapon/book/manual/barman_recipes,
+/obj/item/device/radio/intercom{
+ broadcasting = 0;
+ name = "Station Intercom (General)";
+ pixel_y = 20
+ },
+/obj/item/weapon/coin/silver,
+/obj/item/weapon/coin/silver,
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar)
+"beH" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/machinery/holopad,
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar)
+"beI" = (
+/obj/structure/table,
+/obj/machinery/chem_dispenser/drinks,
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar)
+"beJ" = (
+/obj/structure/table,
+/obj/machinery/chem_dispenser/drinks/beer,
+/obj/structure/extinguisher_cabinet{
+ pixel_y = 32
+ },
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar)
+"beK" = (
+/obj/structure/sign/securearea{
+ desc = "Under the painting a plaque reads: 'While the meat grinder may not have spared you, fear not. Not one part of you has gone to waste... You were delicious.'";
+ icon_state = "monkey_painting";
+ name = "Mr. Deempisi portrait";
+ pixel_x = 4;
+ pixel_y = 28
+ },
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar)
+"beL" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/firealarm{
+ dir = 4;
+ pixel_x = 24
+ },
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar)
+"beM" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/freezer{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/kitchen)
+"beN" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel/freezer{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/kitchen)
+"beO" = (
+/obj/effect/decal/cleanable/blood/gibs/old,
+/turf/open/floor/plasteel/freezer{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/kitchen)
+"beP" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ dir = 4;
+ on = 1
+ },
+/turf/open/floor/grass{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters{
+ name = "Rehabilitation Dome"
+ })
+"beQ" = (
+/obj/structure/chair/stool,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/grass{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters{
+ name = "Rehabilitation Dome"
+ })
+"beR" = (
+/obj/structure/table/wood,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/grass{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters{
+ name = "Rehabilitation Dome"
+ })
+"beS" = (
+/obj/structure/flora/ausbushes/lavendergrass,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/grass{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters{
+ name = "Rehabilitation Dome"
+ })
+"beT" = (
+/obj/structure/flora/ausbushes/fullgrass,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/sign/map/left/ceres{
+ pixel_x = 32;
+ pixel_y = -32
+ },
+/turf/open/floor/grass{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters{
+ name = "Rehabilitation Dome"
+ })
+"beU" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/machinery/camera{
+ c_tag = "Rehabilitation Dome South 1";
+ dir = 1
+ },
+/turf/open/floor/grass{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters{
+ name = "Rehabilitation Dome"
+ })
+"beV" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 10
+ },
+/turf/open/floor/grass{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters{
+ name = "Rehabilitation Dome"
+ })
+"beW" = (
+/turf/open/floor/plasteel/neutral/side{
+ tag = "icon-neutral (NORTHEAST)";
+ icon_state = "neutral";
+ dir = 5;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters{
+ name = "Rehabilitation Dome"
+ })
+"beX" = (
+/obj/machinery/door/firedoor,
+/obj/effect/turf_decal/stripes/line{
+ dir = 9
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral/side{
+ tag = "icon-neutral (SOUTHWEST)";
+ icon_state = "neutral";
+ dir = 10;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters{
+ name = "Rehabilitation Dome"
+ })
+"beY" = (
+/obj/machinery/door/firedoor,
+/obj/effect/turf_decal/stripes/line,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters{
+ name = "Rehabilitation Dome"
+ })
+"beZ" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/door/firedoor,
+/obj/effect/turf_decal/stripes/line,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters{
+ name = "Rehabilitation Dome"
+ })
+"bfa" = (
+/obj/machinery/status_display{
+ density = 0;
+ layer = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bfb" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bfc" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 2;
+ on = 1
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bfd" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/obj/machinery/door/airlock/maintenance{
+ name = "External Maintenance Access";
+ req_access_txt = "12"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bfe" = (
+/obj/structure/rack,
+/obj/item/weapon/tank/jetpack/carbondioxide,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/storage/eva)
+"bff" = (
+/obj/structure/rack,
+/obj/structure/window/reinforced{
+ dir = 4;
+ pixel_x = 0
+ },
+/obj/item/weapon/tank/jetpack/carbondioxide,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/storage/eva)
+"bfg" = (
+/obj/structure/rack,
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/obj/item/clothing/shoes/magboots,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/storage/eva)
+"bfh" = (
+/obj/structure/rack,
+/obj/item/clothing/shoes/magboots,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/storage/eva)
+"bfi" = (
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bfj" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bfk" = (
+/obj/machinery/power/apc{
+ dir = 4;
+ name = "Starboard Hallway APC";
+ pixel_x = 23;
+ pixel_y = 2
+ },
+/obj/structure/cable/orange{
+ d2 = 8;
+ icon_state = "0-8"
+ },
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bfl" = (
+/obj/structure/rack,
+/obj/item/clothing/suit/space/fragile,
+/obj/item/clothing/head/helmet/space/fragile,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bfm" = (
+/obj/machinery/door/firedoor,
+/obj/effect/turf_decal/stripes/line,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bfn" = (
+/obj/machinery/door/firedoor,
+/obj/effect/turf_decal/stripes/line,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bfo" = (
+/obj/machinery/door/firedoor,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/effect/turf_decal/stripes/line,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bfp" = (
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bfq" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/item/device/assembly/mousetrap/armed,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bfr" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bfs" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/structure/chair/stool,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bft" = (
+/obj/machinery/light/small{
+ dir = 4
+ },
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/obj/machinery/computer/station_alert,
+/obj/structure/cable/orange{
+ d2 = 2;
+ icon_state = "0-2"
+ },
+/obj/effect/decal/cleanable/cobweb/cobweb2,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bfu" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/obj/machinery/light/small{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"bfv" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "External Maintenance Access";
+ req_access_txt = "12"
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"bfw" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"bfx" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"bfy" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/machinery/firealarm{
+ dir = 4;
+ pixel_x = 24
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"bfz" = (
+/obj/machinery/disposal/bin,
+/obj/structure/disposalpipe/trunk{
+ dir = 4
+ },
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar)
+"bfA" = (
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar)
+"bfB" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 8
+ },
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar)
+"bfC" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ dir = 8;
+ on = 1;
+ scrub_Toxins = 0
+ },
+/mob/living/carbon/monkey/punpun,
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar)
+"bfD" = (
+/obj/effect/landmark/start/bartender,
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar)
+"bfE" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden,
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar)
+"bfF" = (
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 10
+ },
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar)
+"bfG" = (
+/obj/machinery/icecream_vat,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/freezer{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/kitchen)
+"bfH" = (
+/obj/structure/closet/secure_closet/freezer/meat,
+/turf/open/floor/plasteel/freezer{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/kitchen)
+"bfI" = (
+/obj/structure/closet/chefcloset,
+/turf/open/floor/plasteel/freezer{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/kitchen)
+"bfJ" = (
+/obj/machinery/chem_master/condimaster,
+/turf/open/floor/plasteel/freezer{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/kitchen)
+"bfK" = (
+/obj/structure/chair/stool,
+/mob/living/simple_animal/butterfly,
+/turf/open/floor/grass{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters{
+ name = "Rehabilitation Dome"
+ })
+"bfL" = (
+/obj/structure/table/wood,
+/turf/open/floor/grass{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters{
+ name = "Rehabilitation Dome"
+ })
+"bfM" = (
+/obj/structure/chair/stool,
+/turf/open/floor/grass{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters{
+ name = "Rehabilitation Dome"
+ })
+"bfN" = (
+/obj/structure/grille,
+/obj/machinery/door/firedoor,
+/obj/structure/window/fulltile,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters{
+ name = "Rehabilitation Dome"
+ })
+"bfO" = (
+/obj/machinery/door/firedoor,
+/obj/effect/turf_decal/stripes/line{
+ dir = 9
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/neutral/side{
+ tag = "icon-neutral (NORTHEAST)";
+ icon_state = "neutral";
+ dir = 5;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters{
+ name = "Rehabilitation Dome"
+ })
+"bfP" = (
+/obj/machinery/door/firedoor,
+/obj/effect/turf_decal/stripes/line{
+ dir = 6
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters{
+ name = "Rehabilitation Dome"
+ })
+"bfQ" = (
+/turf/open/floor/plasteel/neutral/side{
+ tag = "icon-neutral (SOUTHWEST)";
+ icon_state = "neutral";
+ dir = 10;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bfR" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bfS" = (
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bfT" = (
+/obj/structure/sign/map/left/ceres{
+ pixel_y = 32
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bfU" = (
+/obj/machinery/airalarm{
+ frequency = 1439;
+ locked = 0;
+ pixel_y = 23
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bfV" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 5
+ },
+/obj/structure/sign/directions/security{
+ dir = 1;
+ icon_state = "direction_sec";
+ pixel_x = -32;
+ pixel_y = 24;
+ tag = "icon-direction_sec (NORTH)"
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bfW" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 4
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/navbeacon{
+ codes_txt = "patrol;next_patrol=EngineeringEast";
+ location = "EngineeringMiddle";
+ name = "navigation beacon (Engineering-Middle)"
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bfX" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 6
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bfY" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bfZ" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bga" = (
+/obj/machinery/light{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bgb" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 10
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bgc" = (
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/storage/eva)
+"bgd" = (
+/obj/structure/cable{
+ icon_state = "0-2";
+ d2 = 2
+ },
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/storage/eva)
+"bge" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/door/airlock/glass_command{
+ name = "EVA";
+ req_access_txt = "18"
+ },
+/turf/open/floor/plasteel/blue{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/storage/eva)
+"bgf" = (
+/obj/structure/cable{
+ icon_state = "0-2";
+ d2 = 2
+ },
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/storage/eva)
+"bgg" = (
+/obj/structure/closet/secure_closet/engineering_electrical,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bgh" = (
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bgi" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_y = 0
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bgj" = (
+/obj/structure/cable{
+ d2 = 8;
+ icon_state = "0-8"
+ },
+/obj/machinery/power/terminal{
+ tag = "icon-term (EAST)";
+ icon_state = "term";
+ dir = 4
+ },
+/obj/structure/sign/electricshock{
+ pixel_y = -32
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bgk" = (
+/obj/machinery/power/smes/engineering,
+/obj/structure/cable/orange,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bgl" = (
+/obj/structure/closet/crate,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bgm" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bgn" = (
+/obj/machinery/light/small,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bgo" = (
+/obj/structure/tank_dispenser/oxygen,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bgp" = (
+/turf/closed/mineral/random/labormineral,
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bgq" = (
+/turf/closed/mineral,
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bgr" = (
+/turf/closed/wall/rust{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bgs" = (
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bgt" = (
+/obj/machinery/power/terminal{
+ tag = "icon-term (EAST)";
+ icon_state = "term";
+ dir = 4
+ },
+/obj/structure/cable{
+ icon_state = "0-2";
+ d2 = 2
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bgu" = (
+/obj/machinery/power/smes/engineering,
+/obj/structure/cable/orange,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bgv" = (
+/obj/structure/disposalpipe/segment,
+/obj/effect/landmark/start/bartender,
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar)
+"bgw" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/machinery/door/firedoor,
+/obj/structure/table/wood/poker,
+/obj/item/clothing/head/collectable/tophat,
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar)
+"bgx" = (
+/obj/structure/table/reinforced,
+/obj/machinery/door/firedoor,
+/turf/open/floor/plasteel/bar{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar)
+"bgy" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/door/airlock{
+ name = "Bar Access";
+ req_access_txt = "25"
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel/bar{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar)
+"bgz" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/kitchen)
+"bgA" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/door/airlock{
+ name = "Freezer";
+ req_access_txt = "28"
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel/freezer{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/kitchen)
+"bgB" = (
+/obj/structure/flora/ausbushes/sparsegrass,
+/mob/living/simple_animal/chicken/rabbit/normal,
+/turf/open/floor/grass{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters{
+ name = "Rehabilitation Dome"
+ })
+"bgC" = (
+/obj/structure/flora/ausbushes/fullgrass,
+/obj/machinery/light{
+ dir = 4;
+ icon_state = "tube1"
+ },
+/turf/open/floor/grass{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters{
+ name = "Rehabilitation Dome"
+ })
+"bgD" = (
+/obj/structure/table,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters{
+ name = "Rehabilitation Dome"
+ })
+"bgE" = (
+/obj/machinery/door/firedoor,
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters{
+ name = "Rehabilitation Dome"
+ })
+"bgF" = (
+/turf/open/floor/plasteel/neutral/side{
+ tag = "icon-neutral (NORTHEAST)";
+ icon_state = "neutral";
+ dir = 5;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bgG" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bgH" = (
+/obj/effect/landmark/lightsout,
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bgI" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 5
+ },
+/obj/machinery/holopad,
+/obj/effect/landmark/observer_start,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/obj/machinery/navbeacon{
+ codes_txt = "patrol;next_patrol=CommandMiddle2";
+ location = "EngineeringMiddle2";
+ name = "navigation beacon (Engineering-Middle 2)"
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bgJ" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_y = 0
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bgK" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_y = 0
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bgL" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bgM" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bgN" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 10
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bgO" = (
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8";
+ tag = ""
+ },
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/obj/machinery/navbeacon{
+ codes_txt = "patrol;next_patrol=EngineeringEast2";
+ location = "EngineeringEast";
+ name = "navigation beacon (Engineering-East)"
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bgP" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/blue/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bgQ" = (
+/obj/structure/cable{
+ d2 = 8;
+ icon_state = "0-8"
+ },
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/storage/eva)
+"bgR" = (
+/obj/machinery/holopad,
+/turf/open/floor/plasteel/blue/side{
+ tag = "icon-blue (NORTHWEST)";
+ icon_state = "blue";
+ dir = 9;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/storage/eva)
+"bgS" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/blue/side{
+ tag = "icon-blue (NORTH)";
+ icon_state = "blue";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/storage/eva)
+"bgT" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel/blue/side{
+ tag = "icon-blue (NORTH)";
+ icon_state = "blue";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/storage/eva)
+"bgU" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel/blue/side{
+ tag = "icon-blue (NORTH)";
+ icon_state = "blue";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/storage/eva)
+"bgV" = (
+/obj/structure/tank_dispenser/oxygen,
+/turf/open/floor/plasteel/blue/side{
+ tag = "icon-blue (NORTHEAST)";
+ icon_state = "blue";
+ dir = 5;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/storage/eva)
+"bgW" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/obj/machinery/door/airlock/maintenance{
+ name = "Medbay SMES Access";
+ req_access_txt = "10;11;12"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bgX" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bgY" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "External Maintenance Access";
+ req_access_txt = "12"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bgZ" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "Starboard Asteroid Maintenance Access";
+ req_access_txt = "12"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bha" = (
+/obj/effect/turf_decal/stripes/asteroid/line{
+ icon_state = "ast_warn";
+ dir = 8
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bhb" = (
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bhc" = (
+/obj/effect/spawner/lootdrop/grille_or_trash,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bhd" = (
+/turf/open/floor/plating/asteroid,
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bhe" = (
+/obj/machinery/light/small{
+ dir = 1
+ },
+/turf/open/floor/plating/asteroid,
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bhf" = (
+/obj/structure/grille/broken,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bhg" = (
+/obj/structure/grille,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bhh" = (
+/obj/structure/reagent_dispensers/watertank,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bhi" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bhj" = (
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bhk" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_y = 0
+ },
+/obj/structure/closet/secure_closet/engineering_electrical,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bhl" = (
+/obj/structure/cable{
+ d2 = 8;
+ icon_state = "0-8"
+ },
+/obj/machinery/power/terminal{
+ tag = "icon-term (EAST)";
+ icon_state = "term";
+ dir = 4
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/structure/sign/electricshock{
+ pixel_y = -32
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bhm" = (
+/obj/structure/extinguisher_cabinet{
+ pixel_x = -24
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"bhn" = (
+/obj/structure/sign/poster/random{
+ name = "random official poster";
+ pixel_x = -32;
+ random_basetype = /obj/structure/sign/poster/official
+ },
+/obj/structure/table/wood/poker,
+/obj/machinery/door/firedoor,
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar)
+"bho" = (
+/obj/structure/disposalpipe/segment,
+/obj/structure/table/wood/poker,
+/obj/item/toy/cards/deck,
+/obj/machinery/door/firedoor,
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar)
+"bhp" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/table/wood/poker,
+/obj/machinery/door/firedoor,
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar)
+"bhq" = (
+/obj/structure/chair/stool/bar,
+/turf/open/floor/plasteel/bar{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar)
+"bhr" = (
+/obj/machinery/newscaster{
+ pixel_y = 32
+ },
+/turf/open/floor/plasteel/bar{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar)
+"bhs" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/light{
+ icon_state = "tube1";
+ dir = 4
+ },
+/obj/structure/sign/poster/random{
+ name = "random official poster";
+ pixel_x = 32;
+ random_basetype = /obj/structure/sign/poster/official
+ },
+/turf/open/floor/plasteel/bar{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar)
+"bht" = (
+/obj/structure/table,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/item/stack/packageWrap,
+/obj/item/device/destTagger,
+/turf/open/floor/plasteel/cafeteria{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/kitchen)
+"bhu" = (
+/obj/structure/table,
+/obj/structure/table,
+/obj/machinery/reagentgrinder,
+/obj/item/device/radio/intercom{
+ broadcasting = 0;
+ name = "Station Intercom (General)";
+ pixel_y = 20
+ },
+/turf/open/floor/plasteel/cafeteria{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/kitchen)
+"bhv" = (
+/obj/machinery/processor,
+/obj/machinery/camera{
+ c_tag = "Kitchen"
+ },
+/turf/open/floor/plasteel/cafeteria{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/kitchen)
+"bhw" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel/cafeteria{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/kitchen)
+"bhx" = (
+/obj/structure/sink/kitchen{
+ pixel_y = 32
+ },
+/turf/open/floor/plasteel/cafeteria{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/kitchen)
+"bhy" = (
+/obj/structure/extinguisher_cabinet{
+ pixel_y = 32
+ },
+/turf/open/floor/plasteel/cafeteria{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/kitchen)
+"bhz" = (
+/obj/structure/disposalpipe/segment,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/effect/turf_decal/stripes/asteroid/line,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bhA" = (
+/obj/structure/flora/ausbushes/fullgrass,
+/obj/machinery/camera{
+ c_tag = "Rehabilitation Dome South 2";
+ dir = 1
+ },
+/turf/open/floor/grass{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters{
+ name = "Rehabilitation Dome"
+ })
+"bhB" = (
+/obj/structure/flora/ausbushes/fullgrass,
+/obj/machinery/airalarm{
+ dir = 1;
+ icon_state = "alarm0";
+ pixel_y = -22
+ },
+/turf/open/floor/grass{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters{
+ name = "Rehabilitation Dome"
+ })
+"bhC" = (
+/obj/structure/flora/ausbushes/sparsegrass,
+/obj/machinery/firealarm{
+ dir = 1;
+ pixel_x = 0;
+ pixel_y = -26
+ },
+/turf/open/floor/grass{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters{
+ name = "Rehabilitation Dome"
+ })
+"bhD" = (
+/obj/structure/flora/ausbushes/grassybush,
+/obj/structure/sign/nosmoking_2{
+ pixel_y = -32
+ },
+/turf/open/floor/grass{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters{
+ name = "Rehabilitation Dome"
+ })
+"bhE" = (
+/obj/machinery/light,
+/turf/open/floor/grass{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters{
+ name = "Rehabilitation Dome"
+ })
+"bhF" = (
+/obj/machinery/light{
+ icon_state = "tube1";
+ dir = 8
+ },
+/obj/structure/table,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 5
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters{
+ name = "Rehabilitation Dome"
+ })
+"bhG" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/machinery/camera{
+ c_tag = "Rehabilitation Dome Lobby South";
+ dir = 1
+ },
+/obj/item/weapon/twohanded/required/kirbyplants{
+ icon_state = "plant-21";
+ layer = 4.1
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters{
+ name = "Rehabilitation Dome"
+ })
+"bhH" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters{
+ name = "Rehabilitation Dome"
+ })
+"bhI" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/machinery/door/firedoor,
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters{
+ name = "Rehabilitation Dome"
+ })
+"bhJ" = (
+/obj/structure/sign/securearea{
+ pixel_x = 32;
+ pixel_y = -32
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bhK" = (
+/obj/machinery/camera{
+ c_tag = "Engineering Asteroid Hallway 3";
+ dir = 1;
+ icon_state = "camera";
+ network = list("SS13")
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bhL" = (
+/obj/item/device/radio/intercom{
+ broadcasting = 0;
+ name = "Station Intercom (General)";
+ pixel_x = 0;
+ pixel_y = -28
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bhM" = (
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bhN" = (
+/obj/machinery/light,
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ dir = 4;
+ on = 1
+ },
+/turf/open/floor/plasteel/neutral/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bhO" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 9
+ },
+/obj/machinery/camera{
+ c_tag = "Engineering Asteroid Hallway 4";
+ dir = 1;
+ icon_state = "camera";
+ network = list("SS13")
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bhP" = (
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bhQ" = (
+/obj/item/device/radio/intercom{
+ broadcasting = 0;
+ name = "Station Intercom (General)";
+ pixel_x = 0;
+ pixel_y = -28
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bhR" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 8
+ },
+/obj/structure/sign/securearea{
+ pixel_x = -32;
+ pixel_y = -32
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bhS" = (
+/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"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/navbeacon{
+ codes_txt = "patrol;next_patrol=EngineeringWest";
+ location = "EngineeringEast3";
+ name = "navigation beacon (Engineering-East 3)"
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bhT" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/blue/side{
+ tag = "icon-blue (EAST)";
+ icon_state = "blue";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bhU" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/door/airlock/glass_command{
+ name = "EVA";
+ req_access_txt = "18"
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/blue{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/storage/eva)
+"bhV" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/blue/side{
+ tag = "icon-blue (WEST)";
+ icon_state = "blue";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/storage/eva)
+"bhW" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/storage/eva)
+"bhX" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/storage/eva)
+"bhY" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 8;
+ layer = 2.4;
+ on = 1
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/storage/eva)
+"bhZ" = (
+/obj/structure/cable{
+ d2 = 8;
+ icon_state = "0-8"
+ },
+/obj/machinery/power/apc{
+ dir = 4;
+ name = "EVA APC";
+ pixel_x = 23;
+ pixel_y = 2
+ },
+/turf/open/floor/plasteel/blue/side{
+ tag = "icon-blue (EAST)";
+ icon_state = "blue";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/storage/eva)
+"bia" = (
+/obj/machinery/vending/coffee,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bib" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 6
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bic" = (
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bid" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_y = 0
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bie" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8";
+ tag = ""
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bif" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/obj/machinery/light{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"big" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bih" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bii" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 10
+ },
+/obj/structure/extinguisher_cabinet{
+ pixel_y = 32
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bij" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/item/device/radio/intercom{
+ broadcasting = 0;
+ name = "Station Intercom (General)";
+ pixel_y = 20
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bik" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bil" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bim" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bin" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "Starboard Asteroid Maintenance Access";
+ req_access_txt = "12"
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bio" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/effect/turf_decal/stripes/asteroid/line{
+ icon_state = "ast_warn";
+ dir = 8
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bip" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"biq" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bir" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/item/device/assembly/mousetrap/armed,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bis" = (
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bit" = (
+/obj/structure/closet/crate,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"biu" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "Serivce SMES Access";
+ req_access_txt = "10;11;12"
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"biv" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/door/airlock/maintenance{
+ name = "Serivce SMES Access";
+ req_access_txt = "10;11;12"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"biw" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 4;
+ on = 1
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"bix" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"biy" = (
+/obj/machinery/camera{
+ c_tag = "Bar";
+ dir = 5;
+ icon_state = "camera";
+ tag = "icon-camera (NORTHEAST)"
+ },
+/obj/machinery/computer/security/telescreen/entertainment{
+ pixel_x = -32
+ },
+/obj/structure/chair/stool/bar,
+/turf/open/floor/plasteel/bar{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar)
+"biz" = (
+/obj/structure/disposalpipe/junction{
+ icon_state = "pipe-j2";
+ dir = 2
+ },
+/obj/structure/chair/stool/bar,
+/turf/open/floor/plasteel/bar{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar)
+"biA" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/chair/stool/bar,
+/turf/open/floor/plasteel/bar{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar)
+"biB" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/bar{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar)
+"biC" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 6
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/bar{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar)
+"biD" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden,
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/bar{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar)
+"biE" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/door/airlock{
+ name = "Kitchen Access";
+ req_access_txt = "28"
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/cafeteria{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/kitchen)
+"biF" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/cafeteria{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/kitchen)
+"biG" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/cafeteria{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/kitchen)
+"biH" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 4
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/cafeteria{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/kitchen)
+"biI" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/cafeteria{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/kitchen)
+"biJ" = (
+/obj/machinery/disposal/bin,
+/obj/structure/disposalpipe/trunk{
+ dir = 8
+ },
+/obj/machinery/newscaster{
+ pixel_x = 32
+ },
+/turf/open/floor/plasteel/cafeteria{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/kitchen)
+"biK" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/disposalpipe/segment,
+/obj/machinery/door/airlock/atmos{
+ name = "Service Atmospherics Checkpoint";
+ req_access_txt = "24"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"biL" = (
+/obj/machinery/door/airlock/atmos{
+ name = "Service Atmospherics Checkpoint";
+ req_access_txt = "24"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"biM" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"biN" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"biO" = (
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engineering)
+"biP" = (
+/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/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"biQ" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 8
+ },
+/turf/open/floor/plasteel/blue/corner{
+ tag = "icon-bluecorner (EAST)";
+ icon_state = "bluecorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"biR" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/blue/side{
+ tag = "icon-blue (WEST)";
+ icon_state = "blue";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/storage/eva)
+"biS" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/storage/eva)
+"biT" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/storage/eva)
+"biU" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ dir = 8;
+ on = 1;
+ scrub_N2O = 0;
+ scrub_Toxins = 0
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/storage/eva)
+"biV" = (
+/obj/machinery/camera{
+ c_tag = "EVA Storage";
+ dir = 9;
+ icon_state = "camera";
+ tag = "icon-camera (NORTHWEST)"
+ },
+/turf/open/floor/plasteel/blue/side{
+ tag = "icon-blue (EAST)";
+ icon_state = "blue";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/storage/eva)
+"biW" = (
+/obj/machinery/vending/cola/random,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"biX" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"biY" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"biZ" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4";
+ tag = ""
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bja" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_y = 0
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bjb" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ on = 1;
+ scrub_N2O = 0;
+ scrub_Toxins = 0
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_y = 0
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bjc" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bjd" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 1;
+ on = 1
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bje" = (
+/obj/machinery/light/small{
+ dir = 8
+ },
+/obj/structure/closet/crate,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bjf" = (
+/obj/structure/closet/firecloset/full,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bjg" = (
+/obj/structure/girder,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bjh" = (
+/obj/machinery/power/apc{
+ dir = 2;
+ name = "Surgery APC";
+ pixel_y = -24
+ },
+/obj/structure/cable/orange,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/surgery)
+"bji" = (
+/obj/machinery/light/small,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bjj" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/obj/structure/grille/broken,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bjk" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/effect/turf_decal/stripes/asteroid/line{
+ icon_state = "ast_warn";
+ dir = 1
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bjl" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/effect/turf_decal/stripes/asteroid/line{
+ icon_state = "ast_warn";
+ dir = 1
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bjm" = (
+/obj/machinery/firealarm{
+ dir = 8;
+ pixel_x = -24
+ },
+/turf/open/floor/plasteel/bar{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar)
+"bjn" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ dir = 4;
+ on = 1;
+ scrub_N2O = 0;
+ scrub_Toxins = 0
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/bar{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar)
+"bjo" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/bar{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar)
+"bjp" = (
+/turf/open/floor/plasteel/bar{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar)
+"bjq" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel/bar{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar)
+"bjr" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/airalarm{
+ dir = 8;
+ icon_state = "alarm0";
+ pixel_x = 24
+ },
+/turf/open/floor/plasteel/bar{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar)
+"bjs" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/machinery/button/door{
+ id = "kitchen";
+ name = "Privacy Shutters";
+ pixel_x = -24
+ },
+/turf/open/floor/plasteel/cafeteria{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/kitchen)
+"bjt" = (
+/obj/effect/landmark/start/cook,
+/turf/open/floor/plasteel/cafeteria{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/kitchen)
+"bju" = (
+/obj/structure/table,
+/obj/item/weapon/reagent_containers/food/condiment/peppermill,
+/turf/open/floor/plasteel/cafeteria{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/kitchen)
+"bjv" = (
+/obj/structure/table,
+/obj/item/weapon/book/manual/chef_recipes,
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 1;
+ on = 1
+ },
+/turf/open/floor/plasteel/cafeteria{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/kitchen)
+"bjw" = (
+/turf/open/floor/plasteel/cafeteria{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/kitchen)
+"bjx" = (
+/obj/machinery/vending/dinnerware,
+/turf/open/floor/plasteel/cafeteria{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/kitchen)
+"bjy" = (
+/obj/structure/disposalpipe/segment,
+/obj/machinery/atmospherics/components/binary/pump{
+ dir = 1;
+ name = "Mix Output";
+ on = 1
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 9
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bjz" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bjA" = (
+/obj/structure/table,
+/obj/item/weapon/wrench,
+/obj/item/clothing/glasses/meson,
+/obj/effect/turf_decal/stripes/line{
+ dir = 5
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bjB" = (
+/turf/open/floor/plating/asteroid/airless,
+/area/mine/unexplored{
+ name = "Civilian Asteroid"
+ })
+"bjC" = (
+/obj/machinery/atmospherics/pipe/heat_exchanging/simple{
+ dir = 6
+ },
+/obj/structure/lattice,
+/turf/open/space,
+/area/space)
+"bjD" = (
+/obj/machinery/atmospherics/pipe/heat_exchanging/simple{
+ dir = 4
+ },
+/obj/structure/lattice,
+/turf/open/space,
+/area/space)
+"bjE" = (
+/obj/machinery/atmospherics/pipe/heat_exchanging/simple{
+ dir = 10
+ },
+/obj/structure/lattice,
+/turf/open/space,
+/area/space)
+"bjF" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/camera{
+ c_tag = "SEngineering Asteroid Hallway 5";
+ dir = 4;
+ icon_state = "camera"
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bjG" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bjH" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bjI" = (
+/obj/structure/table,
+/obj/item/stack/rods{
+ amount = 50
+ },
+/obj/item/stack/sheet/metal/fifty,
+/turf/open/floor/plasteel/blue/side{
+ tag = "icon-blue (SOUTHWEST)";
+ icon_state = "blue";
+ dir = 10;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/storage/eva)
+"bjJ" = (
+/obj/structure/table,
+/obj/item/stack/sheet/glass/fifty,
+/turf/open/floor/plasteel/blue/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/storage/eva)
+"bjK" = (
+/obj/machinery/light,
+/obj/structure/reagent_dispensers/fueltank,
+/turf/open/floor/plasteel/blue/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/storage/eva)
+"bjL" = (
+/obj/structure/table,
+/obj/item/weapon/storage/toolbox/electrical{
+ pixel_x = 1;
+ pixel_y = 5
+ },
+/turf/open/floor/plasteel/blue/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/storage/eva)
+"bjM" = (
+/obj/structure/table,
+/obj/item/weapon/storage/toolbox/mechanical,
+/turf/open/floor/plasteel/blue/side{
+ tag = "icon-blue (SOUTHEAST)";
+ icon_state = "blue";
+ dir = 6;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/storage/eva)
+"bjN" = (
+/obj/machinery/vending/snack/random,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bjO" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 6
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bjP" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bjQ" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/machinery/camera{
+ c_tag = "Medbay Asteroid Hallway 4";
+ dir = 1;
+ icon_state = "camera";
+ network = list("SS13")
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bjR" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bjS" = (
+/obj/machinery/light,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bjT" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/machinery/camera{
+ c_tag = "Medbay Asteroid Hallway 5";
+ dir = 1;
+ icon_state = "camera";
+ network = list("SS13")
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bjU" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/machinery/firealarm{
+ dir = 1;
+ pixel_y = -24
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bjV" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 9
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bjW" = (
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/surgery)
+"bjX" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "Surgey Observation";
+ req_access_txt = "5"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/surgery)
+"bjY" = (
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/virology)
+"bjZ" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bka" = (
+/obj/effect/spawner/lootdrop/grille_or_trash,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bkb" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bkc" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/item/device/assembly/mousetrap/armed,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bkd" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/machinery/camera{
+ c_tag = "Service Asteroid Hallway 2";
+ dir = 4;
+ icon_state = "camera"
+ },
+/obj/structure/sign/map/left/ceres{
+ pixel_x = -32
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"bke" = (
+/obj/machinery/light{
+ dir = 8
+ },
+/obj/structure/sign/poster/random{
+ name = "random official poster";
+ pixel_x = -32;
+ random_basetype = /obj/structure/sign/poster/official
+ },
+/turf/open/floor/plasteel/bar{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar)
+"bkf" = (
+/obj/structure/chair{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/bar{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar)
+"bkg" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 8
+ },
+/obj/structure/table/wood,
+/obj/item/weapon/kitchen/fork,
+/turf/open/floor/plasteel/bar{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar)
+"bkh" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/chair{
+ dir = 8
+ },
+/obj/effect/landmark/start/mime,
+/turf/open/floor/plasteel/bar{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar)
+"bki" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/chair{
+ dir = 4
+ },
+/turf/open/floor/plasteel/bar{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar)
+"bkj" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/table/wood,
+/obj/item/weapon/reagent_containers/food/condiment/peppermill,
+/obj/item/weapon/reagent_containers/food/condiment/saltshaker{
+ pixel_x = 5
+ },
+/turf/open/floor/plasteel/bar{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar)
+"bkk" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/chair{
+ dir = 8
+ },
+/turf/open/floor/plasteel/bar{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar)
+"bkl" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/bar{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar)
+"bkm" = (
+/obj/structure/table/reinforced,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/machinery/door/firedoor,
+/obj/machinery/door/poddoor/shutters/preopen{
+ id = "kitchen"
+ },
+/turf/open/floor/plasteel/cafeteria{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/kitchen)
+"bkn" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,
+/turf/open/floor/plasteel/cafeteria{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/kitchen)
+"bko" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ dir = 8;
+ on = 1;
+ scrub_Toxins = 0
+ },
+/turf/open/floor/plasteel/cafeteria{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/kitchen)
+"bkp" = (
+/obj/structure/table,
+/obj/item/weapon/reagent_containers/food/condiment/saltshaker,
+/turf/open/floor/plasteel/cafeteria{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/kitchen)
+"bkq" = (
+/obj/structure/table,
+/obj/item/weapon/kitchen/rollingpin,
+/turf/open/floor/plasteel/cafeteria{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/kitchen)
+"bkr" = (
+/obj/structure/table,
+/obj/machinery/microwave,
+/obj/machinery/light{
+ dir = 4;
+ icon_state = "tube1"
+ },
+/turf/open/floor/plasteel/cafeteria{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/kitchen)
+"bks" = (
+/obj/structure/disposalpipe/segment,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 5
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/machinery/camera{
+ c_tag = "Service Atmospherics Checkpoint";
+ dir = 5;
+ icon_state = "camera";
+ tag = "icon-camera (NORTHEAST)"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bkt" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 1
+ },
+/obj/effect/landmark/blobstart,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bku" = (
+/obj/machinery/atmospherics/components/unary/portables_connector/visible{
+ icon_state = "connector_map";
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bkv" = (
+/obj/structure/lattice,
+/obj/machinery/atmospherics/pipe/heat_exchanging/simple,
+/turf/open/space,
+/area/space)
+"bkw" = (
+/obj/structure/lattice,
+/obj/machinery/atmospherics/pipe/heat_exchanging/simple{
+ dir = 6
+ },
+/turf/open/space,
+/area/space)
+"bkx" = (
+/obj/structure/lattice,
+/obj/machinery/atmospherics/pipe/heat_exchanging/simple{
+ dir = 4
+ },
+/turf/open/space,
+/area/space)
+"bky" = (
+/obj/structure/lattice,
+/obj/machinery/atmospherics/pipe/heat_exchanging/simple{
+ dir = 10
+ },
+/turf/open/space,
+/area/space)
+"bkz" = (
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bkA" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bkB" = (
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/morgue)
+"bkC" = (
+/obj/machinery/status_display{
+ density = 0;
+ layer = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/morgue)
+"bkD" = (
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/patients_rooms)
+"bkE" = (
+/obj/structure/table,
+/obj/item/weapon/surgicaldrill,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/surgery)
+"bkF" = (
+/obj/structure/table,
+/obj/item/weapon/hemostat,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/surgery)
+"bkG" = (
+/obj/structure/table,
+/obj/item/weapon/scalpel{
+ pixel_y = 12
+ },
+/obj/item/weapon/circular_saw,
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/surgery)
+"bkH" = (
+/obj/structure/table,
+/obj/item/weapon/retractor,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/surgery)
+"bkI" = (
+/obj/structure/table,
+/obj/item/weapon/cautery{
+ pixel_x = 4
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/surgery)
+"bkJ" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/surgery)
+"bkK" = (
+/obj/structure/chair{
+ dir = 8
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/surgery)
+"bkL" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 2;
+ on = 1
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/surgery)
+"bkM" = (
+/obj/structure/chair{
+ dir = 8
+ },
+/obj/machinery/light/small{
+ dir = 4
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/surgery)
+"bkN" = (
+/obj/structure/bed,
+/obj/item/weapon/bedsheet,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/virology)
+"bkO" = (
+/obj/machinery/light/small{
+ dir = 1
+ },
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 2;
+ on = 1
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/virology)
+"bkP" = (
+/obj/structure/closet/secure_closet/personal/patient,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/virology)
+"bkQ" = (
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/virology)
+"bkR" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bkS" = (
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/obj/item/device/assembly/mousetrap/armed,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bkT" = (
+/obj/machinery/light/small{
+ dir = 8
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bkU" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bkV" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bkW" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0
+ },
+/obj/machinery/light/small{
+ dir = 1
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bkX" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/asteroid/line{
+ icon_state = "ast_warn";
+ dir = 4
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bkY" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0
+ },
+/obj/machinery/door/airlock/maintenance{
+ name = "Port Asteroid Maintenance";
+ req_access_txt = "12"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bkZ" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"bla" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"blb" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"blc" = (
+/obj/structure/grille,
+/obj/machinery/door/firedoor,
+/obj/structure/window/fulltile,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar)
+"bld" = (
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/bar{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar)
+"ble" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/effect/landmark/event_spawn,
+/turf/open/floor/plasteel/bar{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar)
+"blf" = (
+/obj/machinery/holopad,
+/turf/open/floor/plasteel/bar{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar)
+"blg" = (
+/obj/effect/landmark/xmastree,
+/turf/open/floor/plasteel/bar{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar)
+"blh" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel/bar{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar)
+"bli" = (
+/obj/structure/table/reinforced,
+/obj/machinery/door/firedoor,
+/obj/machinery/door/poddoor/shutters/preopen{
+ id = "kitchen"
+ },
+/turf/open/floor/plasteel/cafeteria{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/kitchen)
+"blj" = (
+/obj/structure/table,
+/obj/item/weapon/reagent_containers/glass/beaker,
+/obj/item/weapon/reagent_containers/food/condiment/enzyme,
+/turf/open/floor/plasteel/cafeteria{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/kitchen)
+"blk" = (
+/obj/structure/table,
+/obj/item/weapon/reagent_containers/food/snacks/mint,
+/turf/open/floor/plasteel/cafeteria{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/kitchen)
+"bll" = (
+/obj/structure/table,
+/obj/machinery/microwave,
+/turf/open/floor/plasteel/cafeteria{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/kitchen)
+"blm" = (
+/obj/structure/disposalpipe/segment,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bln" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 8
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"blo" = (
+/obj/machinery/atmospherics/components/unary/portables_connector/visible{
+ icon_state = "connector_map";
+ dir = 8
+ },
+/obj/machinery/portable_atmospherics/canister/air,
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/machinery/light/small{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"blp" = (
+/obj/structure/extinguisher_cabinet{
+ pixel_x = -32
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"blq" = (
+/obj/structure/lattice,
+/obj/machinery/atmospherics/pipe/heat_exchanging/simple{
+ dir = 5
+ },
+/turf/open/space,
+/area/space)
+"blr" = (
+/turf/closed/wall/r_wall,
+/area/engine/engineering)
+"bls" = (
+/obj/structure/lattice,
+/obj/machinery/atmospherics/pipe/heat_exchanging/simple{
+ dir = 9
+ },
+/turf/open/space,
+/area/space)
+"blt" = (
+/obj/structure/extinguisher_cabinet{
+ pixel_x = 24
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"blu" = (
+/obj/structure/tank_dispenser/oxygen,
+/obj/effect/decal/cleanable/cobweb,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"blv" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/door/firedoor,
+/obj/item/device/radio/intercom{
+ broadcasting = 0;
+ name = "Station Intercom (General)";
+ pixel_x = -28;
+ pixel_y = 0
+ },
+/obj/effect/turf_decal/stripes/line,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/machinery/door/airlock/glass,
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"blw" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/obj/machinery/door/firedoor,
+/obj/effect/turf_decal/stripes/line,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/machinery/door/airlock/glass,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"blx" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/machinery/door/firedoor,
+/obj/effect/turf_decal/stripes/line,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/machinery/door/airlock/glass,
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bly" = (
+/obj/structure/bodycontainer/morgue,
+/obj/effect/landmark/revenantspawn,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/morgue)
+"blz" = (
+/obj/machinery/light/small{
+ dir = 1
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/morgue)
+"blA" = (
+/obj/machinery/airalarm{
+ frequency = 1439;
+ locked = 0;
+ pixel_y = 23
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/morgue)
+"blB" = (
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 2;
+ on = 1
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/morgue)
+"blC" = (
+/obj/machinery/power/apc{
+ dir = 1;
+ name = "Morgue APC";
+ pixel_x = 0;
+ pixel_y = 24
+ },
+/obj/structure/table,
+/obj/item/weapon/storage/box/bodybags,
+/obj/item/weapon/pen,
+/obj/structure/cable/orange{
+ d2 = 8;
+ icon_state = "0-8"
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/morgue)
+"blD" = (
+/obj/structure/bed,
+/obj/item/weapon/bedsheet,
+/obj/machinery/airalarm{
+ frequency = 1439;
+ locked = 0;
+ pixel_y = 23
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/patients_rooms)
+"blE" = (
+/obj/machinery/light/small{
+ dir = 1
+ },
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 2;
+ on = 1
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/patients_rooms)
+"blF" = (
+/obj/structure/closet/secure_closet/personal/patient,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/patients_rooms)
+"blG" = (
+/obj/structure/bed,
+/obj/item/weapon/bedsheet,
+/obj/machinery/firealarm{
+ pixel_y = 24
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/patients_rooms)
+"blH" = (
+/obj/structure/table,
+/obj/item/clothing/gloves/color/latex,
+/obj/item/clothing/mask/surgical,
+/obj/item/clothing/suit/apron/surgical,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/surgery)
+"blI" = (
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/surgery)
+"blJ" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 2;
+ on = 1
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/surgery)
+"blK" = (
+/obj/structure/table,
+/obj/item/weapon/surgical_drapes,
+/obj/item/weapon/razor,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/surgery)
+"blL" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/surgery)
+"blM" = (
+/obj/structure/chair{
+ dir = 8
+ },
+/obj/structure/extinguisher_cabinet{
+ pixel_x = 24
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/surgery)
+"blN" = (
+/obj/structure/table,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/virology)
+"blO" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/effect/landmark/xeno_spawn,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/virology)
+"blP" = (
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/virology)
+"blQ" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/effect/landmark/blobstart,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/virology)
+"blR" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/effect/spawner/lootdrop/grille_or_trash,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"blS" = (
+/obj/machinery/light/small{
+ dir = 4
+ },
+/turf/open/floor/plating/asteroid,
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"blT" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"blU" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"blV" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"blW" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"blX" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/asteroid/line{
+ icon_state = "ast_warn";
+ dir = 4
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"blY" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "Port Asteroid Maintenance";
+ req_access_txt = "12"
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"blZ" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"bma" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"bmb" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"bmc" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/door/airlock/glass{
+ name = "Bar"
+ },
+/obj/machinery/door/firedoor,
+/turf/open/floor/plasteel/bar{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar)
+"bmd" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel/bar{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar)
+"bme" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/chair{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/bar{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar)
+"bmf" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/table/wood,
+/turf/open/floor/plasteel/bar{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar)
+"bmg" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 2;
+ on = 1
+ },
+/obj/structure/chair{
+ dir = 8
+ },
+/turf/open/floor/plasteel/bar{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar)
+"bmh" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/chair{
+ dir = 4
+ },
+/turf/open/floor/plasteel/bar{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar)
+"bmi" = (
+/obj/structure/table/wood,
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel/bar{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar)
+"bmj" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/chair{
+ dir = 8
+ },
+/turf/open/floor/plasteel/bar{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar)
+"bmk" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/turf/open/floor/plasteel/bar{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar)
+"bml" = (
+/obj/machinery/deepfryer,
+/turf/open/floor/plasteel/cafeteria{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/kitchen)
+"bmm" = (
+/obj/structure/table,
+/obj/item/weapon/storage/box/donkpockets,
+/turf/open/floor/plasteel/cafeteria{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/kitchen)
+"bmn" = (
+/obj/structure/closet/secure_closet/freezer/fridge,
+/obj/machinery/airalarm{
+ dir = 8;
+ icon_state = "alarm0";
+ pixel_x = 24
+ },
+/turf/open/floor/plasteel/cafeteria{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/kitchen)
+"bmo" = (
+/obj/structure/disposalpipe/segment,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 6
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 10
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bmp" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden,
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bmq" = (
+/obj/machinery/atmospherics/components/unary/portables_connector/visible{
+ icon_state = "connector_map";
+ dir = 8
+ },
+/obj/machinery/portable_atmospherics/canister/air,
+/obj/effect/turf_decal/stripes/line{
+ dir = 6
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bmr" = (
+/obj/machinery/light/small{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bms" = (
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/supermatter)
+"bmt" = (
+/obj/machinery/power/emitter{
+ state = 2
+ },
+/obj/structure/cable{
+ icon_state = "0-2";
+ pixel_y = 1;
+ d2 = 2
+ },
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/supermatter)
+"bmu" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/supermatter)
+"bmv" = (
+/obj/machinery/power/emitter{
+ state = 2
+ },
+/obj/structure/cable{
+ d2 = 8;
+ icon_state = "0-8"
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/supermatter)
+"bmw" = (
+/obj/machinery/power/emitter{
+ state = 2
+ },
+/obj/structure/cable{
+ d2 = 8;
+ icon_state = "0-8"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/supermatter)
+"bmx" = (
+/obj/machinery/light/small{
+ dir = 8
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bmy" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bmz" = (
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/morgue)
+"bmA" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/morgue)
+"bmB" = (
+/obj/structure/table,
+/obj/item/weapon/paper/morguereminder,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/morgue)
+"bmC" = (
+/obj/structure/table,
+/obj/item/weapon/folder/red{
+ pixel_x = 8;
+ pixel_y = 6
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/patients_rooms)
+"bmD" = (
+/obj/structure/chair/office/light{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/patients_rooms)
+"bmE" = (
+/obj/machinery/vending/wallmed{
+ pixel_x = 24
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/patients_rooms)
+"bmF" = (
+/obj/structure/table,
+/obj/item/weapon/folder/white,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/patients_rooms)
+"bmG" = (
+/obj/effect/landmark/xeno_spawn,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/surgery)
+"bmH" = (
+/obj/structure/table/optable,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/effect/landmark/blobstart,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/surgery)
+"bmI" = (
+/obj/machinery/holopad,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/surgery)
+"bmJ" = (
+/obj/structure/chair{
+ dir = 8
+ },
+/obj/machinery/airalarm{
+ dir = 8;
+ icon_state = "alarm0";
+ pixel_x = 24
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/surgery)
+"bmK" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/virology)
+"bmL" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ on = 1;
+ scrub_N2O = 0;
+ scrub_Toxins = 0
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/virology)
+"bmM" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bmN" = (
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bmO" = (
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/storage/primary)
+"bmP" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"bmQ" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 8
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"bmR" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/door/airlock/glass{
+ name = "Bar"
+ },
+/obj/machinery/door/firedoor,
+/turf/open/floor/plasteel/bar{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar)
+"bmS" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/bar{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar)
+"bmT" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/bar{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar)
+"bmU" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/bar{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar)
+"bmV" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden,
+/turf/open/floor/plasteel/bar{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar)
+"bmW" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 9
+ },
+/turf/open/floor/plasteel/bar{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar)
+"bmX" = (
+/obj/machinery/holopad,
+/turf/open/floor/plasteel/cafeteria{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/kitchen)
+"bmY" = (
+/obj/structure/closet/secure_closet/freezer/kitchen,
+/obj/structure/window/reinforced,
+/turf/open/floor/plasteel/cafeteria{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/kitchen)
+"bmZ" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/obj/structure/disposalpipe/segment,
+/obj/structure/sign/securearea{
+ desc = "A warning sign which reads 'EXTERNAL AIRLOCK'";
+ icon_state = "space";
+ layer = 4;
+ name = "EXTERNAL AIRLOCK";
+ pixel_x = 32;
+ pixel_y = 0
+ },
+/obj/machinery/atmospherics/components/binary/pump{
+ dir = 1;
+ name = "Mix Input";
+ on = 1
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bna" = (
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/obj/machinery/light/small{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 6
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bnb" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bnc" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bnd" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0
+ },
+/obj/machinery/door/airlock/maintenance{
+ name = "External Maintenance Access";
+ req_access_txt = "12"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bne" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bnf" = (
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8";
+ tag = ""
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bng" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bnh" = (
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/supermatter)
+"bni" = (
+/obj/machinery/light,
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/supermatter)
+"bnj" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/supermatter)
+"bnk" = (
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engineering)
+"bnl" = (
+/obj/machinery/light,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/supermatter)
+"bnm" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bnn" = (
+/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"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bno" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0
+ },
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 8
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bnp" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0
+ },
+/obj/machinery/door/airlock/maintenance{
+ name = "External Maintenance Access";
+ req_access_txt = "12"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bnq" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bnr" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bns" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bnt" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bnu" = (
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8";
+ tag = ""
+ },
+/obj/machinery/light/small{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 10
+ },
+/obj/structure/sign/securearea{
+ desc = "A warning sign which reads 'EXTERNAL AIRLOCK'";
+ icon_state = "space";
+ layer = 4;
+ name = "EXTERNAL AIRLOCK";
+ pixel_x = 32;
+ pixel_y = 0
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bnv" = (
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
+/obj/structure/sign/securearea{
+ desc = "A warning sign which reads 'EXTERNAL AIRLOCK'";
+ icon_state = "space";
+ layer = 4;
+ name = "EXTERNAL AIRLOCK";
+ pixel_x = -32;
+ pixel_y = 0
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bnw" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bnx" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 6
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bny" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/door/airlock/maintenance{
+ name = "External Maintenance Access";
+ req_access_txt = "12"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bnz" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_y = 0
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bnA" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0;
+ tag = ""
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bnB" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8";
+ tag = ""
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bnC" = (
+/obj/machinery/light/small{
+ dir = 4
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/morgue)
+"bnD" = (
+/obj/machinery/button/door{
+ id = "medp1";
+ name = "Privacy Shutters";
+ pixel_x = -24
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/patients_rooms)
+"bnE" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/patients_rooms)
+"bnF" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ on = 1;
+ scrub_N2O = 0;
+ scrub_Toxins = 0
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/patients_rooms)
+"bnG" = (
+/obj/machinery/button/door{
+ id = "medp2";
+ name = "Privacy Shutters";
+ pixel_x = -24
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/patients_rooms)
+"bnH" = (
+/obj/machinery/computer/operating,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/surgery)
+"bnI" = (
+/obj/structure/closet/crate/freezer/surplus_limbs,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/surgery)
+"bnJ" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/effect/landmark/event_spawn,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/surgery)
+"bnK" = (
+/obj/structure/chair{
+ dir = 8
+ },
+/obj/machinery/camera{
+ c_tag = "Surgery Observation";
+ dir = 9;
+ icon_state = "camera";
+ tag = "icon-camera (NORTHWEST)"
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/surgery)
+"bnL" = (
+/obj/machinery/status_display{
+ density = 0;
+ layer = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/surgery)
+"bnM" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/virology)
+"bnN" = (
+/obj/machinery/door/airlock/glass_virology{
+ name = "Isolation A";
+ req_access_txt = "39"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/virology)
+"bnO" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/virology)
+"bnP" = (
+/obj/machinery/door/airlock/glass_virology{
+ name = "Isolation B";
+ req_access_txt = "39"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/virology)
+"bnQ" = (
+/obj/structure/bed,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/virology)
+"bnR" = (
+/obj/structure/table,
+/obj/item/weapon/storage/box/donkpockets,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/virology)
+"bnS" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/turf/closed/mineral/random/labormineral,
+/area/mine/unexplored{
+ name = "Civilian Asteroid"
+ })
+"bnT" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bnU" = (
+/obj/machinery/disposal/bin,
+/obj/structure/disposalpipe/trunk{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/storage/primary)
+"bnV" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/storage/primary)
+"bnW" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/vending/cigarette,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/storage/primary)
+"bnX" = (
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
+ },
+/obj/machinery/vending/snack/random,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/storage/primary)
+"bnY" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"bnZ" = (
+/obj/machinery/disposal/bin,
+/obj/structure/disposalpipe/trunk{
+ dir = 4
+ },
+/turf/open/floor/plasteel/bar{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar)
+"boa" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 6
+ },
+/obj/structure/disposalpipe/junction,
+/turf/open/floor/plasteel/bar{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar)
+"bob" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 9
+ },
+/turf/open/floor/plasteel/bar{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar)
+"boc" = (
+/obj/machinery/light,
+/turf/open/floor/plasteel/bar{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar)
+"bod" = (
+/obj/machinery/vending/coffee,
+/turf/open/floor/plasteel/bar{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar)
+"boe" = (
+/obj/machinery/vending/cola,
+/obj/structure/sign/poster/random{
+ name = "random official poster";
+ pixel_x = 32;
+ random_basetype = /obj/structure/sign/poster/official
+ },
+/obj/item/device/radio/intercom{
+ broadcasting = 0;
+ name = "Station Intercom (General)";
+ pixel_x = 0;
+ pixel_y = -28
+ },
+/turf/open/floor/plasteel/bar{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar)
+"bof" = (
+/obj/machinery/food_cart,
+/obj/machinery/light_switch{
+ pixel_x = -25
+ },
+/turf/open/floor/plasteel/cafeteria{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/kitchen)
+"bog" = (
+/obj/machinery/firealarm{
+ dir = 1;
+ pixel_y = -24
+ },
+/turf/open/floor/plasteel/cafeteria{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/kitchen)
+"boh" = (
+/obj/structure/disposaloutlet{
+ dir = 8
+ },
+/obj/structure/disposalpipe/trunk{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/kitchen)
+"boi" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/kitchen)
+"boj" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 5
+ },
+/obj/structure/disposalpipe/sortjunction{
+ dir = 2;
+ icon_state = "pipe-j1s";
+ name = "disposal pipe - Kitchen";
+ sortType = 20
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bok" = (
+/obj/machinery/door/airlock/glass_external{
+ cyclelinkeddir = 4
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bol" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/light/small,
+/obj/structure/fans/tiny,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bom" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/door/airlock/glass_external{
+ cyclelinkeddir = 8;
+ name = "Service Atmospherics Checkpoint";
+ req_access_txt = "24"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bon" = (
+/obj/structure/lattice/catwalk,
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8";
+ tag = ""
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 10
+ },
+/turf/open/space,
+/area/space)
+"boo" = (
+/obj/structure/lattice/catwalk,
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 6
+ },
+/obj/structure/lattice/catwalk,
+/turf/open/space,
+/area/space)
+"bop" = (
+/obj/machinery/door/airlock/glass_external{
+ cyclelinkeddir = 4
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"boq" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0
+ },
+/obj/machinery/light/small,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/fans/tiny,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bor" = (
+/obj/machinery/door/airlock/glass_external{
+ cyclelinkeddir = 8
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bos" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 9
+ },
+/obj/structure/sign/securearea{
+ desc = "A warning sign which reads 'EXTERNAL AIRLOCK'";
+ icon_state = "space";
+ layer = 4;
+ name = "EXTERNAL AIRLOCK";
+ pixel_x = 0;
+ pixel_y = -32
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bot" = (
+/obj/machinery/firealarm{
+ dir = 8;
+ pixel_x = -24
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bou" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/camera{
+ c_tag = "Engineering Asteroid Hallway 2";
+ dir = 9;
+ icon_state = "camera";
+ tag = "icon-camera (NORTHWEST)"
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bov" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/supermatter)
+"bow" = (
+/obj/structure/reflector/single{
+ anchored = 1;
+ dir = 4;
+ icon_state = "reflector";
+ tag = "icon-reflector (NORTH)"
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/supermatter)
+"box" = (
+/obj/structure/reflector/box{
+ anchored = 1
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/supermatter)
+"boy" = (
+/obj/structure/reflector/single{
+ anchored = 1;
+ dir = 1;
+ icon_state = "reflector";
+ tag = "icon-reflector (NORTH)"
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/supermatter)
+"boz" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"boA" = (
+/obj/machinery/firealarm{
+ dir = 4;
+ pixel_x = 24
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"boB" = (
+/obj/structure/disposalpipe/segment{
+ dir = 1;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"boC" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"boD" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 5
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"boE" = (
+/obj/machinery/door/airlock/glass_external{
+ cyclelinkeddir = 4
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"boF" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0
+ },
+/obj/machinery/light/small,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/fans/tiny,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"boG" = (
+/obj/machinery/door/airlock/glass_external{
+ cyclelinkeddir = 8
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"boH" = (
+/obj/structure/lattice/catwalk,
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8";
+ tag = ""
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 10
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
+ },
+/turf/open/space,
+/area/space)
+"boI" = (
+/obj/structure/lattice/catwalk,
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 6
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
+/turf/open/space,
+/area/space)
+"boJ" = (
+/obj/structure/lattice/catwalk,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/space,
+/area/space)
+"boK" = (
+/obj/machinery/door/airlock/glass_external{
+ cyclelinkeddir = 4
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"boL" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/machinery/light/small,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"boM" = (
+/obj/machinery/door/airlock/glass_external{
+ cyclelinkeddir = 8
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"boN" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"boO" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/machinery/light/small,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"boP" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 9
+ },
+/obj/structure/table,
+/obj/item/weapon/storage/toolbox/electrical,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"boQ" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/sign/map/left/ceres{
+ pixel_x = -32
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"boR" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"boS" = (
+/obj/machinery/door/airlock/medical{
+ name = "Morgue";
+ req_access_txt = "6;5"
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/morgue)
+"boT" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ dir = 4;
+ on = 1
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/morgue)
+"boU" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/morgue)
+"boV" = (
+/obj/machinery/light/small,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/morgue)
+"boW" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/machinery/camera{
+ c_tag = "Morgue";
+ dir = 10;
+ icon_state = "camera";
+ network = list("SS13","CMO");
+ tag = "icon-camera (SOUTHWEST)"
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/morgue)
+"boX" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 10
+ },
+/obj/machinery/firealarm{
+ dir = 1;
+ pixel_y = -24
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/morgue)
+"boY" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/obj/machinery/door/poddoor/shutters/preopen{
+ id = "medp1"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/patients_rooms)
+"boZ" = (
+/obj/machinery/door/airlock/medical{
+ name = "Patient Room";
+ req_access_txt = "5"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/patients_rooms)
+"bpa" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/machinery/door/poddoor/shutters/preopen{
+ id = "medp1"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/patients_rooms)
+"bpb" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/obj/machinery/door/poddoor/shutters/preopen{
+ id = "medp2"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/patients_rooms)
+"bpc" = (
+/obj/machinery/door/airlock/medical{
+ name = "Patient Room 2";
+ req_access_txt = "5"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/patients_rooms)
+"bpd" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/machinery/door/poddoor/shutters/preopen{
+ id = "medp2"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/patients_rooms)
+"bpe" = (
+/obj/structure/closet/secure_closet/medical2,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/surgery)
+"bpf" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ on = 1;
+ scrub_N2O = 0;
+ scrub_Toxins = 0
+ },
+/obj/machinery/camera{
+ c_tag = "Surgery";
+ dir = 10;
+ icon_state = "camera";
+ network = list("SS13","CMO");
+ tag = "icon-camera (SOUTHWEST)"
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/surgery)
+"bpg" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/surgery)
+"bph" = (
+/obj/machinery/firealarm{
+ dir = 1;
+ pixel_y = -24
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/surgery)
+"bpi" = (
+/obj/structure/closet/crate/freezer,
+/obj/item/weapon/reagent_containers/blood/empty,
+/obj/item/weapon/reagent_containers/blood/empty,
+/obj/item/weapon/reagent_containers/blood/AMinus,
+/obj/item/weapon/reagent_containers/blood/BMinus{
+ pixel_x = -4;
+ pixel_y = 4
+ },
+/obj/item/weapon/reagent_containers/blood/BPlus{
+ pixel_x = 1;
+ pixel_y = 2
+ },
+/obj/item/weapon/reagent_containers/blood/OMinus,
+/obj/item/weapon/reagent_containers/blood/OPlus{
+ pixel_x = -2;
+ pixel_y = -1
+ },
+/obj/item/weapon/reagent_containers/blood/random,
+/obj/item/weapon/reagent_containers/blood/random,
+/obj/item/weapon/reagent_containers/blood/APlus,
+/obj/item/weapon/reagent_containers/blood/random,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/surgery)
+"bpj" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ on = 1;
+ scrub_N2O = 0;
+ scrub_Toxins = 0
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/surgery)
+"bpk" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ dir = 4;
+ on = 1
+ },
+/obj/machinery/firealarm{
+ dir = 8;
+ pixel_x = -24
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/virology)
+"bpl" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/virology)
+"bpm" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/virology)
+"bpn" = (
+/obj/machinery/light{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 1
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/virology)
+"bpo" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/trunk,
+/obj/machinery/disposal/bin,
+/obj/structure/sign/deathsposal{
+ pixel_x = 32
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/virology)
+"bpp" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/virology)
+"bpq" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/machinery/camera{
+ c_tag = "Virology Breakroom";
+ dir = 5;
+ icon_state = "camera";
+ network = list("SS13","CMO");
+ tag = "icon-camera (NORTHEAST)"
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/virology)
+"bpr" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/virology)
+"bps" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ dir = 8;
+ on = 1;
+ scrub_Toxins = 0
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/virology)
+"bpt" = (
+/obj/structure/table,
+/obj/machinery/microwave,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/virology)
+"bpu" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bpv" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall,
+/area/mine/unexplored{
+ name = "Medical Asteroid"
+ })
+"bpw" = (
+/obj/structure/disposaloutlet{
+ dir = 4
+ },
+/obj/structure/disposalpipe/trunk{
+ dir = 8
+ },
+/turf/open/floor/plating/airless,
+/area/mine/unexplored{
+ name = "Medical Asteroid"
+ })
+"bpx" = (
+/obj/machinery/status_display{
+ density = 0;
+ layer = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/storage/primary)
+"bpy" = (
+/obj/structure/table,
+/obj/machinery/camera{
+ c_tag = "Primary Tool Storage North";
+ dir = 5;
+ icon_state = "camera";
+ tag = "icon-camera (NORTHEAST)"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/storage/primary)
+"bpz" = (
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/storage/primary)
+"bpA" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 6
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/storage/primary)
+"bpB" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/storage/primary)
+"bpC" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 1;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/storage/primary)
+"bpD" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/door/airlock/glass{
+ name = "Primary Tool Storage"
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/door/firedoor,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/storage/primary)
+"bpE" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"bpF" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"bpG" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 4
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/disposalpipe/junction{
+ icon_state = "pipe-j2";
+ dir = 1
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"bpH" = (
+/obj/machinery/door/airlock/glass{
+ name = "Bar"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/disposalpipe/segment,
+/obj/machinery/door/firedoor,
+/turf/open/floor/plasteel/bar{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar)
+"bpI" = (
+/obj/machinery/door/airlock/glass{
+ name = "Bar"
+ },
+/obj/machinery/door/firedoor,
+/turf/open/floor/plasteel/bar{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar)
+"bpJ" = (
+/obj/structure/sign/barsign,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar)
+"bpK" = (
+/obj/machinery/status_display{
+ density = 0;
+ layer = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar)
+"bpL" = (
+/obj/structure/disposalpipe/segment,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bpM" = (
+/obj/structure/lattice/catwalk,
+/obj/structure/window/reinforced,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 5
+ },
+/obj/structure/grille,
+/turf/open/space,
+/area/space)
+"bpN" = (
+/obj/structure/lattice/catwalk,
+/obj/structure/window/reinforced,
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/grille,
+/turf/open/space,
+/area/space)
+"bpO" = (
+/obj/structure/lattice/catwalk,
+/obj/structure/window/reinforced,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 9
+ },
+/obj/structure/grille,
+/turf/open/space,
+/area/space)
+"bpP" = (
+/obj/machinery/light{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bpQ" = (
+/obj/machinery/atmospherics/pipe/heat_exchanging/junction{
+ tag = "icon-intact (NORTH)";
+ icon_state = "intact";
+ dir = 1
+ },
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"bpR" = (
+/obj/machinery/door/airlock/glass_engineering{
+ name = "Laser Room";
+ req_access_txt = "10"
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/supermatter)
+"bpS" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engineering)
+"bpT" = (
+/obj/machinery/door/airlock/glass_engineering{
+ name = "Laser Room";
+ req_access_txt = "10"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/supermatter)
+"bpU" = (
+/obj/machinery/light{
+ icon_state = "tube1";
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bpV" = (
+/obj/structure/lattice/catwalk,
+/obj/structure/window/reinforced,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 5
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 1;
+ icon_state = "pipe-c"
+ },
+/obj/structure/grille,
+/turf/open/space,
+/area/space)
+"bpW" = (
+/obj/structure/lattice/catwalk,
+/obj/structure/window/reinforced,
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/grille,
+/turf/open/space,
+/area/space)
+"bpX" = (
+/obj/structure/lattice/catwalk,
+/obj/structure/window/reinforced,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 9
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
+/obj/structure/grille,
+/turf/open/space,
+/area/space)
+"bpY" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 8
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bpZ" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 8;
+ layer = 2.4;
+ on = 1
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bqa" = (
+/obj/machinery/light{
+ icon_state = "tube1";
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bqb" = (
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint/medical)
+"bqc" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/morgue)
+"bqd" = (
+/obj/machinery/door/airlock/medical{
+ name = "Morgue";
+ req_access_txt = "6"
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/morgue)
+"bqe" = (
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bqf" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ on = 1;
+ scrub_N2O = 0;
+ scrub_Toxins = 0
+ },
+/turf/open/floor/plasteel/whiteblue/side{
+ tag = "icon-whiteblue (NORTH)";
+ icon_state = "whiteblue";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bqg" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel/whiteblue/side{
+ tag = "icon-whiteblue (NORTH)";
+ icon_state = "whiteblue";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bqh" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/whiteblue/side{
+ tag = "icon-whiteblue (NORTH)";
+ icon_state = "whiteblue";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bqi" = (
+/obj/machinery/power/apc{
+ dir = 1;
+ name = "Morgue APC";
+ pixel_x = 0;
+ pixel_y = 24
+ },
+/obj/structure/cable/orange{
+ d2 = 2;
+ icon_state = "0-2"
+ },
+/turf/open/floor/plasteel/whiteblue/side{
+ tag = "icon-whiteblue (NORTH)";
+ icon_state = "whiteblue";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/patients_rooms)
+"bqj" = (
+/turf/open/floor/plasteel/whiteblue/side{
+ tag = "icon-whiteblue (NORTH)";
+ icon_state = "whiteblue";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bqk" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/surgery)
+"bql" = (
+/obj/machinery/door/airlock/medical{
+ name = "Operating Theatre";
+ req_access_txt = "45"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/surgery)
+"bqm" = (
+/obj/machinery/door/airlock/glass_medical{
+ id_tag = "";
+ name = "Surgery Observation";
+ req_access_txt = "0"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/surgery)
+"bqn" = (
+/obj/structure/sink{
+ icon_state = "sink";
+ dir = 8;
+ pixel_x = -12;
+ pixel_y = 2
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/virology)
+"bqo" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 5
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/virology)
+"bqp" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/virology)
+"bqq" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/virology)
+"bqr" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 1
+ },
+/obj/machinery/holopad,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/virology)
+"bqs" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/virology)
+"bqt" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 1;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/virology)
+"bqu" = (
+/obj/machinery/door/airlock/virology{
+ name = "Break Room";
+ req_access_txt = "39"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/virology)
+"bqv" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/virology)
+"bqw" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 8;
+ layer = 2.4;
+ on = 1
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/virology)
+"bqx" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/virology)
+"bqy" = (
+/obj/structure/table,
+/obj/machinery/reagentgrinder,
+/obj/machinery/light{
+ icon_state = "tube1";
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/virology)
+"bqz" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/virology)
+"bqA" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bqB" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plating/asteroid,
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bqC" = (
+/obj/effect/spawner/lootdrop/grille_or_trash,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plating/asteroid,
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bqD" = (
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
+/turf/closed/wall,
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bqE" = (
+/obj/structure/closet/crate,
+/obj/effect/spawner/lootdrop/maintenance,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bqF" = (
+/obj/structure/table,
+/obj/machinery/light{
+ dir = 8
+ },
+/obj/item/device/analyzer,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/storage/primary)
+"bqG" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/storage/primary)
+"bqH" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/storage/primary)
+"bqI" = (
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/storage/primary)
+"bqJ" = (
+/obj/structure/reagent_dispensers/fueltank,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/storage/primary)
+"bqK" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"bqL" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 8
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/disposalpipe/segment,
+/obj/structure/sign/directions/security{
+ dir = 1;
+ icon_state = "direction_sec";
+ pixel_x = 32;
+ pixel_y = 24;
+ tag = "icon-direction_sec (NORTH)"
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"bqM" = (
+/obj/machinery/door/firedoor,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/machinery/door/airlock/glass,
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"bqN" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"bqO" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/disposalpipe/segment{
+ dir = 1;
+ icon_state = "pipe-c"
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"bqP" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 1
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
+ },
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"bqQ" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"bqR" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/camera{
+ c_tag = "Service Asteroid Hallway 7"
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"bqS" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"bqT" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 10
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"bqU" = (
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"bqV" = (
+/obj/machinery/door/firedoor,
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"bqW" = (
+/obj/structure/disposalpipe/segment{
+ dir = 1;
+ icon_state = "pipe-c"
+ },
+/obj/machinery/camera{
+ c_tag = "Service Asteroid Hallway 8"
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"bqX" = (
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"bqY" = (
+/obj/structure/sign/map/left/ceres{
+ pixel_y = 32
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"bqZ" = (
+/obj/machinery/door/airlock/glass,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"bra" = (
+/obj/machinery/camera{
+ c_tag = "Engineering Asteroid Hallway 1"
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"brb" = (
+/obj/machinery/door/firedoor,
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"brc" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 6
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"brd" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 9
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bre" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 9
+ },
+/obj/machinery/atmospherics/components/binary/pump{
+ dir = 2;
+ icon_state = "pump_map";
+ name = "Cooling Loop To Gas"
+ },
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/obj/machinery/power/apc{
+ dir = 8;
+ name = "Supermatter Containment Room APC";
+ pixel_x = -23;
+ pixel_y = 2
+ },
+/obj/structure/cable{
+ icon_state = "0-4";
+ d2 = 4
+ },
+/turf/open/floor/engine{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ name = "reinforced floor"
+ },
+/area/engine/supermatter)
+"brf" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0
+ },
+/turf/open/floor/engine{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ name = "reinforced floor"
+ },
+/area/engine/supermatter)
+"brg" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/general/visible{
+ icon_state = "intact";
+ dir = 6
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/turf/open/floor/engine{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ name = "reinforced floor"
+ },
+/area/engine/supermatter)
+"brh" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/general/visible{
+ dir = 4
+ },
+/turf/open/floor/engine{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ name = "reinforced floor"
+ },
+/area/engine/supermatter)
+"bri" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/manifold/general/visible{
+ dir = 1
+ },
+/turf/open/floor/engine{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ name = "reinforced floor"
+ },
+/area/engine/supermatter)
+"brj" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 5
+ },
+/obj/machinery/atmospherics/pipe/simple/general/visible{
+ dir = 4
+ },
+/turf/open/floor/engine{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ name = "reinforced floor"
+ },
+/area/engine/supermatter)
+"brk" = (
+/obj/effect/turf_decal/delivery,
+/obj/machinery/atmospherics/pipe/simple/general/visible{
+ dir = 4
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/supermatter)
+"brl" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 9
+ },
+/obj/machinery/atmospherics/pipe/simple/general/visible{
+ dir = 4
+ },
+/turf/open/floor/engine{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ name = "reinforced floor"
+ },
+/area/engine/supermatter)
+"brm" = (
+/obj/machinery/atmospherics/pipe/simple/general/visible{
+ dir = 10
+ },
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"brn" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ dir = 4;
+ on = 1
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bro" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/sign/directions/evac{
+ dir = 4;
+ icon_state = "direction_evac";
+ pixel_x = 32;
+ pixel_y = 24;
+ tag = "icon-direction_evac (EAST)"
+ },
+/obj/structure/sign/directions/medical{
+ dir = 4;
+ icon_state = "direction_med";
+ pixel_x = 32;
+ pixel_y = 32;
+ tag = "icon-direction_med (EAST)"
+ },
+/obj/structure/sign/directions/security{
+ dir = 1;
+ icon_state = "direction_sec";
+ pixel_x = 32;
+ pixel_y = 40;
+ tag = "icon-direction_sec (NORTH)"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"brp" = (
+/obj/machinery/camera{
+ c_tag = "Engineering Asteroid Hallway 6"
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"brq" = (
+/obj/machinery/door/firedoor,
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"brr" = (
+/obj/structure/sign/map/left/ceres{
+ pixel_y = 32
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"brs" = (
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"brt" = (
+/obj/machinery/door/firedoor,
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bru" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/sign/directions/security{
+ dir = 1;
+ icon_state = "direction_sec";
+ pixel_x = -32;
+ pixel_y = 24;
+ tag = "icon-direction_sec (NORTH)"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"brv" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/disposalpipe/segment,
+/obj/machinery/camera{
+ c_tag = "Medbay Asteroid Hallway 3";
+ dir = 8;
+ icon_state = "camera";
+ network = list("SS13","QM");
+ tag = "icon-camera (WEST)"
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"brw" = (
+/obj/machinery/disposal/deliveryChute{
+ desc = "A chute for big and small criminals alike!";
+ name = "Criminal Delivery Chute"
+ },
+/obj/machinery/door/window/brigdoor{
+ name = "Criminal Deposit";
+ req_access_txt = "2"
+ },
+/obj/effect/turf_decal/stripes/line,
+/obj/structure/disposalpipe/trunk{
+ dir = 8
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint/medical)
+"brx" = (
+/obj/structure/table,
+/obj/machinery/airalarm{
+ frequency = 1439;
+ locked = 0;
+ pixel_y = 23
+ },
+/obj/item/weapon/paper_bin{
+ pixel_x = -3;
+ pixel_y = 7
+ },
+/obj/item/weapon/pen,
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/turf/open/floor/plasteel/red/side{
+ icon_state = "red";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint/medical)
+"bry" = (
+/obj/machinery/recharger,
+/obj/structure/table,
+/obj/machinery/light{
+ dir = 1
+ },
+/obj/machinery/newscaster/security_unit{
+ pixel_y = 32
+ },
+/turf/open/floor/plasteel/red/side{
+ icon_state = "red";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint/medical)
+"brz" = (
+/obj/structure/filingcabinet,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 6
+ },
+/obj/machinery/camera{
+ c_tag = "Medbay Security Checkpoint";
+ dir = 6;
+ icon_state = "camera"
+ },
+/obj/structure/reagent_dispensers/peppertank{
+ pixel_y = 32
+ },
+/turf/open/floor/plasteel/red/side{
+ icon_state = "red";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint/medical)
+"brA" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/closet/secure_closet/security/med,
+/turf/open/floor/plasteel/red/side{
+ tag = "icon-red (NORTHEAST)";
+ icon_state = "red";
+ dir = 5;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint/medical)
+"brB" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/obj/structure/cable/orange{
+ d2 = 2;
+ icon_state = "0-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint/medical)
+"brC" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"brD" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"brE" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"brF" = (
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden,
+/obj/structure/sign/examroom{
+ pixel_x = -32;
+ pixel_y = 32
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"brG" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"brH" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"brI" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"brJ" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"brK" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/machinery/firealarm{
+ pixel_y = 24
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"brL" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/machinery/airalarm{
+ frequency = 1439;
+ locked = 0;
+ pixel_y = 23
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"brM" = (
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"brN" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"brO" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/extinguisher_cabinet{
+ pixel_y = 32
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"brP" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 9
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"brQ" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"brR" = (
+/obj/machinery/vending/medical,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"brS" = (
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"brT" = (
+/obj/structure/table,
+/obj/item/weapon/book/manual/wiki/infections,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/virology)
+"brU" = (
+/obj/structure/table,
+/obj/item/clothing/suit/straight_jacket,
+/obj/item/clothing/mask/muzzle,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/virology)
+"brV" = (
+/obj/structure/table/glass,
+/obj/item/clothing/gloves/color/latex,
+/obj/item/device/healthanalyzer,
+/obj/item/clothing/glasses/hud/health,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/machinery/camera{
+ c_tag = "Virology";
+ dir = 5;
+ icon_state = "camera";
+ network = list("SS13","CMO");
+ tag = "icon-camera (NORTHEAST)"
+ },
+/obj/machinery/requests_console{
+ department = "Virology";
+ name = "Virology Requests Console";
+ pixel_x = -32
+ },
+/turf/open/floor/plasteel/whitegreen/side{
+ tag = "icon-whitegreen (WEST)";
+ icon_state = "whitegreen";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/virology)
+"brW" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/effect/landmark/event_spawn,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/virology)
+"brX" = (
+/obj/machinery/smartfridge/chemistry/virology,
+/turf/open/floor/plasteel/whitegreen/side{
+ tag = "icon-whitegreen (EAST)";
+ icon_state = "whitegreen";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/virology)
+"brY" = (
+/obj/structure/closet/wardrobe/virology_white,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/virology)
+"brZ" = (
+/obj/structure/closet/emcloset,
+/turf/open/floor/plating,
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bsa" = (
+/obj/structure/shuttle/engine/propulsion/burst{
+ tag = "icon-propulsion (WEST)";
+ icon_state = "propulsion";
+ dir = 8
+ },
+/turf/open/floor/plating,
+/area/shuttle/pod_3)
+"bsb" = (
+/turf/closed/wall/mineral/titanium,
+/area/shuttle/pod_3)
+"bsc" = (
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/awaymission/research/interior/gateway)
+"bsd" = (
+/turf/closed/wall/rust{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/awaymission/research/interior/gateway)
+"bse" = (
+/obj/machinery/light/small{
+ dir = 4
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bsf" = (
+/obj/structure/table,
+/obj/item/weapon/storage/toolbox/mechanical,
+/obj/structure/sign/poster/random{
+ name = "random official poster";
+ pixel_x = -32;
+ random_basetype = /obj/structure/sign/poster/official
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/storage/primary)
+"bsg" = (
+/obj/structure/table,
+/obj/item/clothing/gloves/color/yellow,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/storage/primary)
+"bsh" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/item/device/radio/intercom{
+ broadcasting = 0;
+ name = "Station Intercom (General)";
+ pixel_x = -28;
+ pixel_y = 0
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"bsi" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ on = 1;
+ scrub_N2O = 0;
+ scrub_Toxins = 0
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"bsj" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/disposalpipe/junction{
+ icon_state = "pipe-j1";
+ dir = 1
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"bsk" = (
+/obj/machinery/door/firedoor,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/machinery/door/airlock/glass,
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"bsl" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"bsm" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/disposalpipe/junction{
+ tag = "icon-pipe-j2 (WEST)";
+ icon_state = "pipe-j2";
+ dir = 8
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"bsn" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"bso" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 1;
+ on = 1
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"bsp" = (
+/obj/machinery/door/firedoor,
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"bsq" = (
+/obj/machinery/door/firedoor,
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bsr" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bss" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ on = 1
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bst" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 2;
+ on = 1
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bsu" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/item/device/radio/intercom{
+ name = "Station Intercom (General)";
+ pixel_x = 29;
+ pixel_y = 0
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bsv" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/general/visible{
+ dir = 5
+ },
+/obj/machinery/meter,
+/obj/machinery/light{
+ icon_state = "tube1";
+ dir = 8
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/turf/open/floor/engine{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ name = "reinforced floor"
+ },
+/area/engine/supermatter)
+"bsw" = (
+/obj/effect/turf_decal/stripes/corner,
+/obj/machinery/atmospherics/pipe/manifold/general/visible{
+ dir = 1
+ },
+/turf/open/floor/engine{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ name = "reinforced floor"
+ },
+/area/engine/supermatter)
+"bsx" = (
+/obj/effect/turf_decal/stripes/line,
+/obj/machinery/atmospherics/components/trinary/filter/flipped{
+ dir = 8;
+ filter_type = "co2";
+ icon_state = "filter_off_f";
+ name = "gas filter (CO2)";
+ tag = "icon-filter_off_f (WEST)"
+ },
+/turf/open/floor/engine{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ name = "reinforced floor"
+ },
+/area/engine/supermatter)
+"bsy" = (
+/obj/effect/turf_decal/stripes/line,
+/obj/machinery/atmospherics/pipe/simple/general/visible{
+ dir = 4
+ },
+/obj/machinery/meter,
+/turf/open/floor/engine{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ name = "reinforced floor"
+ },
+/area/engine/supermatter)
+"bsz" = (
+/obj/effect/turf_decal/stripes/line,
+/obj/machinery/atmospherics/components/trinary/filter/flipped{
+ dir = 8;
+ filter_type = "o2";
+ icon_state = "filter_off_f";
+ name = "gas filter (O2)";
+ tag = "icon-filter_off_f (WEST)"
+ },
+/turf/open/floor/engine{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ name = "reinforced floor"
+ },
+/area/engine/supermatter)
+"bsA" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 6
+ },
+/obj/machinery/atmospherics/pipe/simple/general/visible{
+ dir = 4
+ },
+/obj/machinery/meter,
+/obj/machinery/camera{
+ c_tag = "SM North";
+ dir = 1;
+ icon_state = "camera";
+ network = list("SS13","CE")
+ },
+/turf/open/floor/engine{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ name = "reinforced floor"
+ },
+/area/engine/supermatter)
+"bsB" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 10
+ },
+/obj/machinery/atmospherics/pipe/simple/general/visible{
+ dir = 4
+ },
+/obj/machinery/meter,
+/turf/open/floor/engine{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ name = "reinforced floor"
+ },
+/area/engine/supermatter)
+"bsC" = (
+/obj/effect/turf_decal/stripes/line,
+/obj/machinery/atmospherics/components/trinary/filter/flipped{
+ dir = 8;
+ filter_type = "plasma";
+ icon_state = "filter_off_f";
+ name = "gas filter (Plasma)";
+ tag = "icon-filter_off_f (WEST)"
+ },
+/turf/open/floor/engine{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ name = "reinforced floor"
+ },
+/area/engine/supermatter)
+"bsD" = (
+/obj/effect/turf_decal/stripes/line,
+/obj/machinery/atmospherics/components/trinary/filter/flipped{
+ dir = 8;
+ filter_type = "";
+ icon_state = "filter_off_f";
+ name = "gas filter (Custom)";
+ tag = "icon-filter_off_f (WEST)"
+ },
+/turf/open/floor/engine{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ name = "reinforced floor"
+ },
+/area/engine/supermatter)
+"bsE" = (
+/obj/effect/turf_decal/stripes/corner{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/general/visible{
+ dir = 10
+ },
+/turf/open/floor/engine{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ name = "reinforced floor"
+ },
+/area/engine/supermatter)
+"bsF" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/machinery/light{
+ dir = 4
+ },
+/turf/open/floor/engine{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ name = "reinforced floor"
+ },
+/area/engine/supermatter)
+"bsG" = (
+/obj/machinery/atmospherics/pipe/simple/general/visible{
+ dir = 5
+ },
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"bsH" = (
+/obj/machinery/atmospherics/components/unary/outlet_injector/on{
+ dir = 8;
+ frequency = 1441;
+ id = null;
+ pixel_y = 1
+ },
+/turf/open/floor/plating/airless,
+/area/engine/supermatter)
+"bsI" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/disposalpipe/segment,
+/obj/item/device/radio/intercom{
+ broadcasting = 0;
+ name = "Station Intercom (General)";
+ pixel_x = -28;
+ pixel_y = 0
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bsJ" = (
+/obj/machinery/door/firedoor,
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bsK" = (
+/obj/machinery/door/firedoor,
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bsL" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bsM" = (
+/obj/machinery/holopad,
+/obj/structure/disposalpipe/junction{
+ icon_state = "pipe-j1";
+ dir = 8
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bsN" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/arrival/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bsO" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 4;
+ on = 1
+ },
+/obj/machinery/computer/security/telescreen{
+ desc = "Used to watch the questionable medical practices of Medbay from a safe distance.";
+ name = "Medbay Monitor";
+ network = list("CMO");
+ pixel_x = -32
+ },
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/turf/open/floor/plasteel/red/side{
+ icon_state = "red";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint/medical)
+"bsP" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint/medical)
+"bsQ" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint/medical)
+"bsR" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/red/side{
+ icon_state = "red";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint/medical)
+"bsS" = (
+/obj/machinery/door/airlock/glass_security{
+ name = "Security Office";
+ req_access_txt = "63"
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint/medical)
+"bsT" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bsU" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bsV" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bsW" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bsX" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 1
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bsY" = (
+/obj/machinery/light,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bsZ" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/camera{
+ c_tag = "Medbay North";
+ dir = 1;
+ icon_state = "camera";
+ network = list("SS13")
+ },
+/obj/effect/landmark/lightsout,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bta" = (
+/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"btb" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"btc" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/requests_console{
+ announcementConsole = 0;
+ department = "Medbay";
+ departmentType = 1;
+ name = "Medbay RC";
+ pixel_x = 0;
+ pixel_y = -30;
+ pixel_z = 0
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"btd" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bte" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/effect/landmark/start/medical_doctor,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"btf" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"btg" = (
+/obj/structure/table,
+/obj/item/stack/packageWrap,
+/obj/machinery/light{
+ icon_state = "tube1";
+ dir = 4
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bth" = (
+/obj/structure/closet/l3closet/virology,
+/turf/open/floor/plasteel/whitegreen/side{
+ tag = "icon-whitegreen (NORTHWEST)";
+ icon_state = "whitegreen";
+ dir = 9;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/virology)
+"bti" = (
+/obj/machinery/shower{
+ pixel_y = 24
+ },
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/turf/open/floor/plasteel/freezer{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/virology)
+"btj" = (
+/obj/machinery/shower{
+ pixel_y = 24
+ },
+/obj/structure/window/reinforced{
+ dir = 4
+ },
+/turf/open/floor/plasteel/freezer{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/virology)
+"btk" = (
+/obj/structure/closet/l3closet/virology,
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/plasteel/whitegreen/side{
+ tag = "icon-whitegreen (NORTHEAST)";
+ icon_state = "whitegreen";
+ dir = 5;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/virology)
+"btl" = (
+/obj/machinery/status_display{
+ density = 0;
+ layer = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/virology)
+"btm" = (
+/obj/structure/table/glass,
+/obj/item/weapon/storage/box/beakers{
+ pixel_x = 2;
+ pixel_y = 2
+ },
+/obj/item/weapon/storage/box/syringes,
+/obj/machinery/light/small{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/machinery/airalarm{
+ dir = 4;
+ icon_state = "alarm0";
+ pixel_x = -22
+ },
+/turf/open/floor/plasteel/whitegreen/side{
+ tag = "icon-whitegreen (WEST)";
+ icon_state = "whitegreen";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/virology)
+"btn" = (
+/obj/structure/chair/stool,
+/obj/effect/landmark/start/virologist,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/virology)
+"bto" = (
+/obj/machinery/computer/pandemic,
+/turf/open/floor/plasteel/whitegreen/side{
+ tag = "icon-whitegreen (EAST)";
+ icon_state = "whitegreen";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/virology)
+"btp" = (
+/obj/machinery/door/airlock/glass_external{
+ cyclelinkeddir = 4;
+ name = "Medical Escape Pod"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"btq" = (
+/turf/open/floor/plating,
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"btr" = (
+/obj/machinery/door/airlock/glass_external{
+ cyclelinkeddir = 4;
+ name = "Medical Escape Pod"
+ },
+/turf/open/floor/plating,
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bts" = (
+/obj/machinery/door/airlock/shuttle{
+ name = "Escape Pod Airlock"
+ },
+/obj/docking_port/mobile/pod{
+ dir = 4;
+ id = "pod3";
+ name = "escape pod 3";
+ port_angle = 0
+ },
+/turf/open/floor/plating,
+/area/shuttle/pod_3)
+"btt" = (
+/obj/structure/chair{
+ dir = 4
+ },
+/obj/item/weapon/storage/pod{
+ pixel_y = 32
+ },
+/turf/open/floor/mineral/titanium/blue,
+/area/shuttle/pod_3)
+"btu" = (
+/obj/structure/chair{
+ dir = 4
+ },
+/obj/machinery/light/small,
+/obj/machinery/computer/shuttle/pod{
+ pixel_x = 0;
+ pixel_y = 32;
+ possible_destinations = "pod_asteroid3";
+ shuttleId = "pod3"
+ },
+/obj/item/device/radio/intercom{
+ broadcasting = 0;
+ name = "Station Intercom (General)";
+ pixel_x = 0;
+ pixel_y = -32
+ },
+/turf/open/floor/mineral/titanium/blue,
+/area/shuttle/pod_3)
+"btv" = (
+/obj/structure/grille,
+/obj/structure/window/shuttle,
+/turf/open/floor/plating,
+/area/shuttle/pod_3)
+"btw" = (
+/obj/docking_port/stationary/random{
+ dir = 4;
+ id = "pod_asteroid3";
+ name = "asteroid"
+ },
+/turf/open/space,
+/area/space)
+"btx" = (
+/obj/item/stack/rods,
+/obj/effect/decal/cleanable/cobweb,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/awaymission/research/interior/gateway)
+"bty" = (
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/awaymission/research/interior/gateway)
+"btz" = (
+/obj/effect/decal/cleanable/cobweb/cobweb2,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/awaymission/research/interior/gateway)
+"btA" = (
+/obj/machinery/vending/tool,
+/obj/structure/sign/map/left/ceres{
+ pixel_x = -32
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/storage/primary)
+"btB" = (
+/obj/structure/table,
+/obj/item/weapon/wrench,
+/obj/item/weapon/screwdriver,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/storage/primary)
+"btC" = (
+/obj/structure/grille,
+/obj/machinery/door/firedoor,
+/obj/structure/window/fulltile,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/storage/primary)
+"btD" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 8
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"btE" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"btF" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/disposalpipe/segment,
+/obj/structure/sign/directions/engineering{
+ dir = 4;
+ icon_state = "direction_eng";
+ pixel_x = 32;
+ pixel_y = -24;
+ tag = "icon-direction_eng (EAST)"
+ },
+/obj/structure/sign/directions/medical{
+ dir = 4;
+ icon_state = "direction_med";
+ pixel_x = 32;
+ pixel_y = -32;
+ tag = "icon-direction_med (EAST)"
+ },
+/obj/structure/sign/directions/science{
+ pixel_x = 32;
+ pixel_y = -40
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"btG" = (
+/obj/machinery/door/firedoor,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/machinery/door/airlock/glass,
+/turf/open/floor/plasteel/green/corner{
+ tag = "icon-greencorner (WEST)";
+ icon_state = "greencorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"btH" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"btI" = (
+/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"btJ" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"btK" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/sign/botany{
+ pixel_x = 32;
+ pixel_y = -32
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"btL" = (
+/obj/machinery/light,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/green/corner{
+ tag = "icon-greencorner (WEST)";
+ icon_state = "greencorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"btM" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/green/corner{
+ tag = "icon-greencorner (WEST)";
+ icon_state = "greencorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"btN" = (
+/obj/machinery/firealarm{
+ dir = 1;
+ pixel_y = -24
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/green/corner{
+ tag = "icon-greencorner (WEST)";
+ icon_state = "greencorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"btO" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"btP" = (
+/obj/machinery/door/firedoor,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"btQ" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/item/device/radio/intercom{
+ broadcasting = 0;
+ name = "Station Intercom (General)";
+ pixel_x = 0;
+ pixel_y = -28
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"btR" = (
+/obj/machinery/light,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"btS" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 9
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"btT" = (
+/obj/structure/disposalpipe/segment,
+/obj/machinery/firealarm{
+ dir = 1;
+ pixel_y = -24
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"btU" = (
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"btV" = (
+/obj/structure/window/reinforced,
+/obj/machinery/camera{
+ c_tag = "Service-Engineering Bridge 1";
+ dir = 1
+ },
+/turf/open/floor/engine,
+/area/space)
+"btW" = (
+/obj/structure/window/reinforced,
+/obj/machinery/camera{
+ c_tag = "Service-Engineering Bridge 2";
+ dir = 1
+ },
+/turf/open/floor/engine,
+/area/space)
+"btX" = (
+/obj/machinery/door/airlock/glass,
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"btY" = (
+/obj/item/device/radio/intercom{
+ name = "Station Intercom (General)";
+ pixel_x = 0;
+ pixel_y = -29
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"btZ" = (
+/obj/machinery/light,
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bua" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 6
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bub" = (
+/obj/machinery/door/firedoor,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"buc" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bud" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bue" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 8
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"buf" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 9
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bug" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/turf/open/floor/engine{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ name = "reinforced floor"
+ },
+/area/engine/supermatter)
+"buh" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/machinery/atmospherics/components/binary/pump{
+ dir = 1;
+ name = "Cooling Loop Bypass";
+ on = 0
+ },
+/turf/open/floor/engine{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ name = "reinforced floor"
+ },
+/area/engine/supermatter)
+"bui" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/supermatter)
+"buj" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/general/visible,
+/turf/open/floor/engine{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ name = "reinforced floor"
+ },
+/area/engine/supermatter)
+"buk" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/engine{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ name = "reinforced floor"
+ },
+/area/engine/supermatter)
+"bul" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 5
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bum" = (
+/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"
+ },
+/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden,
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bun" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"buo" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bup" = (
+/obj/machinery/door/firedoor,
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"buq" = (
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8";
+ tag = ""
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 10
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bur" = (
+/obj/machinery/light,
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bus" = (
+/obj/item/device/radio/intercom{
+ name = "Station Intercom (General)";
+ pixel_x = 0;
+ pixel_y = -29
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"but" = (
+/obj/machinery/door/airlock/glass,
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"buu" = (
+/obj/structure/window/reinforced,
+/obj/machinery/camera{
+ c_tag = "Medbay-Engineering Bridge";
+ dir = 1
+ },
+/turf/open/floor/engine,
+/area/space)
+"buv" = (
+/obj/machinery/door/airlock/glass,
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"buw" = (
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bux" = (
+/obj/machinery/firealarm{
+ dir = 1;
+ pixel_y = -24
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"buy" = (
+/obj/machinery/door/firedoor,
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"buz" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/sign/directions/engineering{
+ dir = 8;
+ icon_state = "direction_eng";
+ pixel_x = -32;
+ pixel_y = -24;
+ tag = "icon-direction_eng (WEST)"
+ },
+/obj/structure/sign/directions/supply{
+ dir = 1;
+ icon_state = "direction_supply";
+ pixel_x = -32;
+ pixel_y = -32;
+ tag = "icon-direction_supply (NORTH)"
+ },
+/obj/structure/sign/directions/evac{
+ pixel_x = -32;
+ pixel_y = -40
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"buA" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/machinery/firealarm{
+ dir = 4;
+ pixel_x = 24
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/arrival/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"buB" = (
+/obj/machinery/power/apc{
+ dir = 8;
+ name = "Medbay Security Checkpoint APC";
+ pixel_x = -25;
+ pixel_y = 1
+ },
+/obj/structure/cable/orange,
+/turf/open/floor/plasteel/red/side{
+ icon_state = "red";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint/medical)
+"buC" = (
+/obj/structure/chair/office/dark{
+ dir = 8
+ },
+/obj/effect/landmark/start/depsec/medical,
+/turf/open/floor/plasteel/red/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint/medical)
+"buD" = (
+/turf/open/floor/plasteel/red/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint/medical)
+"buE" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ dir = 1;
+ on = 1
+ },
+/turf/open/floor/plasteel/red/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint/medical)
+"buF" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel/red/side{
+ icon_state = "red";
+ dir = 6;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint/medical)
+"buG" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/obj/structure/cable/orange,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint/medical)
+"buH" = (
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"buI" = (
+/obj/machinery/light,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"buJ" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"buK" = (
+/obj/machinery/door/firedoor,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel/delivery{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"buL" = (
+/obj/machinery/door/firedoor,
+/turf/open/floor/plasteel/delivery{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"buM" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 8
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"buN" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 10
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"buO" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 5
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"buP" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/whitegreen/side{
+ tag = "icon-whitegreen (EAST)";
+ icon_state = "whitegreen";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"buQ" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/virology)
+"buR" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/camera{
+ c_tag = "Virology Airlocks";
+ dir = 5;
+ icon_state = "camera";
+ network = list("SS13","CMO");
+ tag = "icon-camera (NORTHEAST)"
+ },
+/turf/open/floor/plasteel/whitegreen/side{
+ tag = "icon-whitegreen (WEST)";
+ icon_state = "whitegreen";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/virology)
+"buS" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/whitegreen/side{
+ tag = "icon-whitegreen (EAST)";
+ icon_state = "whitegreen";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/virology)
+"buT" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/whitegreen/side{
+ tag = "icon-whitegreen (WEST)";
+ icon_state = "whitegreen";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/virology)
+"buU" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/virology)
+"buV" = (
+/obj/structure/table/glass,
+/obj/item/weapon/book/manual/wiki/infections{
+ pixel_y = 7
+ },
+/obj/item/weapon/reagent_containers/syringe/antiviral,
+/obj/item/weapon/reagent_containers/dropper,
+/obj/item/weapon/reagent_containers/spray/cleaner,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/whitegreen/side{
+ tag = "icon-whitegreen (WEST)";
+ icon_state = "whitegreen";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/virology)
+"buW" = (
+/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/virology)
+"buX" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 8;
+ layer = 2.4;
+ on = 1
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/virology)
+"buY" = (
+/obj/structure/table,
+/obj/item/weapon/hand_labeler,
+/obj/item/device/radio/headset/headset_med,
+/obj/structure/reagent_dispensers/virusfood{
+ density = 0;
+ pixel_x = 30
+ },
+/obj/item/stack/sheet/mineral/plasma{
+ amount = 5
+ },
+/turf/open/floor/plasteel/whitegreen/side{
+ tag = "icon-whitegreen (EAST)";
+ icon_state = "whitegreen";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/virology)
+"buZ" = (
+/obj/structure/closet/emcloset,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bva" = (
+/obj/structure/sign/pods{
+ pixel_x = 32
+ },
+/turf/open/floor/plating/asteroid,
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bvb" = (
+/obj/machinery/light/small,
+/turf/open/floor/plating,
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bvc" = (
+/obj/machinery/gateway{
+ dir = 9
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/awaymission/research/interior/gateway)
+"bvd" = (
+/obj/machinery/gateway{
+ dir = 1
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/awaymission/research/interior/gateway)
+"bve" = (
+/obj/machinery/gateway{
+ dir = 5
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/awaymission/research/interior/gateway)
+"bvf" = (
+/obj/item/weapon/crowbar,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/awaymission/research/interior/gateway)
+"bvg" = (
+/obj/item/clothing/head/cone,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bvh" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/disposalpipe/segment,
+/obj/item/device/assembly/mousetrap/armed,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bvi" = (
+/obj/structure/table,
+/obj/item/weapon/storage/toolbox/electrical{
+ pixel_x = 1;
+ pixel_y = 5
+ },
+/obj/item/device/radio/intercom{
+ broadcasting = 0;
+ name = "Station Intercom (General)";
+ pixel_x = -28;
+ pixel_y = 0
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/storage/primary)
+"bvj" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/effect/landmark/event_spawn,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/storage/primary)
+"bvk" = (
+/obj/structure/table,
+/obj/item/weapon/storage/belt/utility,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/storage/primary)
+"bvl" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"bvm" = (
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"bvn" = (
+/turf/open/floor/plasteel/green/corner{
+ tag = "icon-greencorner (WEST)";
+ icon_state = "greencorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"bvo" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"bvp" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"bvq" = (
+/turf/open/floor/plasteel/green/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"bvr" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"bvs" = (
+/obj/structure/disposalpipe/segment,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"bvt" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "Port Asteroid Maintenance";
+ req_access_txt = "12"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"bvu" = (
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 6
+ },
+/obj/structure/grille,
+/turf/open/floor/plating/asteroid/airless,
+/area/space)
+"bvv" = (
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/structure/lattice/catwalk,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/grille,
+/turf/open/space,
+/area/space)
+"bvw" = (
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/structure/lattice/catwalk,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 10
+ },
+/obj/structure/grille,
+/turf/open/space,
+/area/space)
+"bvx" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "External Maintenance Access";
+ req_access_txt = "12"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bvy" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bvz" = (
+/obj/machinery/atmospherics/pipe/simple/general/visible{
+ dir = 5
+ },
+/obj/structure/closet/secure_closet/engineering_personal,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/supermatter)
+"bvA" = (
+/obj/machinery/atmospherics/pipe/simple/general/visible{
+ dir = 4
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/supermatter)
+"bvB" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/machinery/atmospherics/components/binary/pump{
+ dir = 8;
+ name = "Gas to Cooling Loop";
+ on = 0
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/turf/open/floor/engine{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ name = "reinforced floor"
+ },
+/area/engine/supermatter)
+"bvC" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/manifold/general/visible{
+ dir = 4;
+ initialize_directions = 11
+ },
+/obj/structure/cable/yellow{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/turf/open/floor/engine{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ name = "reinforced floor"
+ },
+/area/engine/supermatter)
+"bvD" = (
+/obj/effect/turf_decal/stripes/end{
+ tag = "icon-warn_end (EAST)";
+ icon_state = "warn_end";
+ dir = 4
+ },
+/obj/structure/cable/yellow{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_y = 0
+ },
+/obj/machinery/door/poddoor/shutters{
+ id = "SM1"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/supermatter)
+"bvE" = (
+/obj/machinery/power/rad_collector{
+ anchored = 1
+ },
+/obj/structure/cable/yellow{
+ d2 = 8;
+ icon_state = "0-8"
+ },
+/turf/open/floor/engine{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ name = "reinforced floor"
+ },
+/area/engine/supermatter)
+"bvF" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/atmospherics/pipe/simple/general/visible{
+ icon_state = "intact";
+ dir = 6
+ },
+/obj/machinery/door/firedoor,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/supermatter)
+"bvG" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ dir = 8;
+ on = 1;
+ scrub_Toxins = 0
+ },
+/turf/open/floor/engine{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ name = "reinforced floor"
+ },
+/area/engine/supermatter)
+"bvH" = (
+/turf/open/floor/engine{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ name = "reinforced floor"
+ },
+/area/engine/supermatter)
+"bvI" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 4;
+ on = 1
+ },
+/turf/open/floor/engine{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ name = "reinforced floor"
+ },
+/area/engine/supermatter)
+"bvJ" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/atmospherics/pipe/simple/general/visible{
+ dir = 10
+ },
+/obj/machinery/door/firedoor,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/supermatter)
+"bvK" = (
+/obj/machinery/power/rad_collector{
+ anchored = 1
+ },
+/obj/structure/cable/yellow{
+ icon_state = "0-4";
+ d2 = 4
+ },
+/turf/open/floor/engine{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ name = "reinforced floor"
+ },
+/area/engine/supermatter)
+"bvL" = (
+/obj/effect/turf_decal/stripes/end{
+ tag = "icon-warn_end (WEST)";
+ icon_state = "warn_end";
+ dir = 8
+ },
+/obj/structure/cable/yellow{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_y = 0
+ },
+/obj/machinery/door/poddoor/shutters{
+ id = "SM2"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/supermatter)
+"bvM" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/structure/cable/yellow{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/obj/machinery/atmospherics/pipe/manifold/general/visible{
+ dir = 8
+ },
+/turf/open/floor/engine{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ name = "reinforced floor"
+ },
+/area/engine/supermatter)
+"bvN" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/machinery/atmospherics/components/binary/pump{
+ dir = 4;
+ name = "Gas To Mix";
+ on = 0
+ },
+/turf/open/floor/engine{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ name = "reinforced floor"
+ },
+/area/engine/supermatter)
+"bvO" = (
+/obj/machinery/atmospherics/pipe/manifold/general/visible{
+ dir = 1
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/supermatter)
+"bvP" = (
+/obj/machinery/atmospherics/components/unary/portables_connector/visible{
+ icon_state = "connector_map";
+ dir = 8
+ },
+/obj/machinery/camera{
+ c_tag = "SM East";
+ dir = 9;
+ icon_state = "camera";
+ network = list("SS13","CE");
+ tag = "icon-camera (NORTHWEST)"
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/supermatter)
+"bvQ" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 6
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bvR" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bvS" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 9
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bvT" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "Central Asteroid Maintenance";
+ req_access_txt = "12"
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/maintcentral{
+ name = "Central Asteroid Maintenance"
+ })
+"bvU" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "Central Asteroid Maintenance";
+ req_access_txt = "12"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/maintcentral{
+ name = "Central Asteroid Maintenance"
+ })
+"bvV" = (
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/structure/lattice/catwalk,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 6
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
+/obj/structure/grille,
+/turf/open/space,
+/area/space)
+"bvW" = (
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/structure/lattice/catwalk,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/grille,
+/turf/open/space,
+/area/space)
+"bvX" = (
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/structure/lattice/catwalk,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 10
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
+ },
+/obj/structure/grille,
+/turf/open/space,
+/area/space)
+"bvY" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/disposalpipe/segment,
+/obj/structure/sign/bluecross_2{
+ pixel_x = 32
+ },
+/turf/open/floor/plasteel/arrival/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bvZ" = (
+/obj/machinery/computer/secure_data,
+/obj/item/device/radio/intercom{
+ broadcasting = 0;
+ name = "Station Intercom (General)";
+ pixel_x = -28;
+ pixel_y = 0
+ },
+/turf/open/floor/plasteel/red/side{
+ icon_state = "red";
+ dir = 10;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint/medical)
+"bwa" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/cable/orange{
+ d2 = 4;
+ icon_state = "0-4"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bwb" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/structure/cable/orange,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bwc" = (
+/obj/machinery/status_display{
+ density = 0;
+ layer = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bwd" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bwe" = (
+/obj/machinery/disposal/bin,
+/obj/structure/disposalpipe/trunk{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bwf" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bwg" = (
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bwh" = (
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bwi" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bwj" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 8
+ },
+/turf/open/floor/plasteel/whiteblue/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bwk" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 8;
+ layer = 2.4;
+ on = 1
+ },
+/turf/open/floor/plasteel/whiteblue/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bwl" = (
+/obj/machinery/iv_drip,
+/turf/open/floor/plasteel/whiteblue/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bwm" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 5
+ },
+/obj/machinery/iv_drip,
+/turf/open/floor/plasteel/whiteblue/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bwn" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/whiteblue/corner{
+ tag = "icon-whitebluecorner (WEST)";
+ icon_state = "whitebluecorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bwo" = (
+/obj/machinery/doorButtons/access_button{
+ idDoor = "virology_airlock_exterior";
+ idSelf = "virology_airlock_control";
+ name = "Virology Access Button";
+ pixel_x = 8;
+ pixel_y = -28;
+ req_access_txt = "39"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/whitegreen/side{
+ tag = "icon-whitegreen (EAST)";
+ icon_state = "whitegreen";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bwp" = (
+/obj/machinery/door/airlock/virology{
+ autoclose = 0;
+ frequency = 1449;
+ icon_state = "door_locked";
+ id_tag = "virology_airlock_exterior";
+ locked = 1;
+ name = "Virology Exterior Airlock";
+ req_access_txt = "39"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/virology)
+"bwq" = (
+/obj/machinery/doorButtons/access_button{
+ idDoor = "virology_airlock_exterior";
+ idSelf = "virology_airlock_control";
+ name = "Virology Access Button";
+ pixel_x = 0;
+ pixel_y = -28;
+ req_access_txt = "39"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/whitegreen/side{
+ tag = "icon-whitegreen (WEST)";
+ icon_state = "whitegreen";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/virology)
+"bwr" = (
+/obj/machinery/doorButtons/access_button{
+ idDoor = "virology_airlock_interior";
+ idSelf = "virology_airlock_control";
+ name = "Virology Access Button";
+ pixel_x = 0;
+ pixel_y = -28;
+ req_access_txt = "39"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/whitegreen/side{
+ tag = "icon-whitegreen (EAST)";
+ icon_state = "whitegreen";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/virology)
+"bws" = (
+/obj/machinery/door/airlock/virology{
+ autoclose = 0;
+ frequency = 1449;
+ icon_state = "door_locked";
+ id_tag = "virology_airlock_interior";
+ locked = 1;
+ name = "Virology Interior Airlock";
+ req_access_txt = "39"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/virology)
+"bwt" = (
+/obj/machinery/doorButtons/airlock_controller{
+ idExterior = "virology_airlock_exterior";
+ idInterior = "virology_airlock_interior";
+ idSelf = "virology_airlock_control";
+ name = "Virology Access Console";
+ pixel_x = 0;
+ pixel_y = -22;
+ req_access_txt = "39"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/whitegreen/side{
+ tag = "icon-whitegreen (WEST)";
+ icon_state = "whitegreen";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/virology)
+"bwu" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/virology)
+"bwv" = (
+/obj/structure/table,
+/obj/item/weapon/paper_bin{
+ pixel_x = -2;
+ pixel_y = 5
+ },
+/obj/item/weapon/pen/red,
+/obj/structure/extinguisher_cabinet{
+ pixel_x = 24
+ },
+/turf/open/floor/plasteel/whitegreen/side{
+ tag = "icon-whitegreen (EAST)";
+ icon_state = "whitegreen";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/virology)
+"bww" = (
+/turf/closed/wall,
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bwx" = (
+/obj/item/weapon/computer_hardware/recharger/APC,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/awaymission/research/interior/gateway)
+"bwy" = (
+/obj/machinery/gateway{
+ dir = 8
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/awaymission/research/interior/gateway)
+"bwz" = (
+/obj/machinery/gateway/centerstation,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/awaymission/research/interior/gateway)
+"bwA" = (
+/obj/machinery/gateway{
+ dir = 4
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/awaymission/research/interior/gateway)
+"bwB" = (
+/obj/effect/turf_decal/stripes/asteroid/line{
+ icon_state = "ast_warn";
+ dir = 4
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/awaymission/research/interior/gateway)
+"bwC" = (
+/obj/structure/barricade/wooden,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/awaymission/research/interior/gateway)
+"bwD" = (
+/obj/item/weapon/paper{
+ info = "Nanotrasen Exploration and Colonization Program Due to recent shutdowns of the Exploration and Colonization department shortly after this gateway was delievered on-site during station construction, this room has been condemmed and an engineering team will be on-site within the next few months to recollect the gate. Thank you for your cooperation. ";
+ name = "NOTICE - GATEWAY STATUS"
+ },
+/obj/effect/turf_decal/stripes/asteroid/line{
+ icon_state = "ast_warn";
+ dir = 8
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bwE" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/disposalpipe/segment,
+/obj/effect/spawner/lootdrop/grille_or_trash,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bwF" = (
+/obj/structure/table,
+/obj/machinery/power/apc{
+ dir = 8;
+ name = "Primary Tool Storage APC";
+ pixel_x = -24
+ },
+/obj/structure/cable/orange{
+ d2 = 4;
+ icon_state = "0-4"
+ },
+/obj/item/stack/cable_coil,
+/obj/item/stack/cable_coil,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/storage/primary)
+"bwG" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/machinery/holopad,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/storage/primary)
+"bwH" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 1;
+ on = 1
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/storage/primary)
+"bwI" = (
+/obj/structure/table,
+/obj/item/device/multitool,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/storage/primary)
+"bwJ" = (
+/obj/machinery/firealarm{
+ dir = 4;
+ pixel_x = 24
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"bwK" = (
+/obj/structure/table/reinforced,
+/obj/machinery/door/firedoor,
+/obj/machinery/door/window/eastleft{
+ name = "Hydroponics Desk";
+ req_access_txt = "35"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"bwL" = (
+/obj/structure/extinguisher_cabinet{
+ pixel_y = 32
+ },
+/turf/open/floor/plasteel/darkgreen/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 4
+ },
+/area/hydroponics)
+"bwM" = (
+/obj/machinery/hydroponics/constructable,
+/turf/open/floor/plasteel/darkgreen{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"bwN" = (
+/obj/machinery/airalarm{
+ frequency = 1439;
+ locked = 0;
+ pixel_y = 23
+ },
+/obj/structure/sink{
+ dir = 4;
+ icon_state = "sink";
+ pixel_x = 11;
+ pixel_y = 0
+ },
+/turf/open/floor/plasteel/darkgreen{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"bwO" = (
+/obj/structure/closet/crate/hydroponics,
+/obj/item/weapon/shovel/spade,
+/obj/item/weapon/wrench,
+/obj/item/weapon/reagent_containers/glass/bucket,
+/obj/item/weapon/wirecutters,
+/turf/open/floor/plasteel/hydrofloor{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"bwP" = (
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/plasteel/hydrofloor{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"bwQ" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 6
+ },
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/turf/open/floor/plasteel/hydrofloor{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"bwR" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/machinery/door/airlock/maintenance{
+ name = "Hydroponics";
+ req_access_txt = "35"
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"bwS" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment,
+/obj/machinery/light/small{
+ dir = 1
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"bwT" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"bwU" = (
+/obj/machinery/door/airlock/glass_external{
+ cyclelinkeddir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"bwV" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/machinery/light/small{
+ dir = 1
+ },
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/obj/effect/turf_decal/stripes/line,
+/obj/structure/fans/tiny,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"bwW" = (
+/obj/machinery/door/airlock/glass_external{
+ cyclelinkeddir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"bwX" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 9
+ },
+/turf/open/floor/plating/asteroid/airless,
+/area/mine/unexplored{
+ name = "Civilian Asteroid"
+ })
+"bwY" = (
+/obj/structure/lattice/catwalk,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 5
+ },
+/turf/open/space,
+/area/space)
+"bwZ" = (
+/obj/machinery/door/airlock/glass_external{
+ cyclelinkeddir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bxa" = (
+/obj/machinery/light/small{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bxb" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bxc" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 9
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bxd" = (
+/obj/machinery/airalarm{
+ dir = 4;
+ icon_state = "alarm0";
+ pixel_x = -22
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/yellow/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bxe" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/navbeacon{
+ codes_txt = "patrol;next_patrol=EngineeringWest3";
+ location = "EngineeringWest2";
+ name = "navigation beacon (Engineering-West 2)"
+ },
+/turf/open/floor/plasteel/yellow/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bxf" = (
+/turf/open/floor/plasteel/yellow/corner{
+ tag = "icon-yellowcorner (WEST)";
+ icon_state = "yellowcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bxg" = (
+/obj/structure/closet/firecloset,
+/obj/machinery/light/small{
+ dir = 8
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/supermatter)
+"bxh" = (
+/obj/machinery/holopad,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/supermatter)
+"bxi" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ on = 1
+ },
+/turf/open/floor/engine{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ name = "reinforced floor"
+ },
+/area/engine/supermatter)
+"bxj" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/general/visible,
+/obj/structure/cable/yellow{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/cable/yellow{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/turf/open/floor/engine{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ name = "reinforced floor"
+ },
+/area/engine/supermatter)
+"bxk" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/atmospherics/pipe/manifold/general/visible{
+ dir = 8
+ },
+/obj/machinery/door/firedoor,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/supermatter)
+"bxl" = (
+/obj/machinery/power/supermatter_shard/crystal,
+/turf/open/floor/engine{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ name = "reinforced floor"
+ },
+/area/engine/supermatter)
+"bxm" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/atmospherics/pipe/manifold/general/visible{
+ icon_state = "manifold";
+ dir = 4
+ },
+/obj/machinery/door/firedoor,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/supermatter)
+"bxn" = (
+/obj/machinery/power/rad_collector{
+ anchored = 1
+ },
+/obj/structure/cable/yellow{
+ icon_state = "0-4";
+ d2 = 4
+ },
+/obj/item/weapon/tank/internals/plasma,
+/turf/open/floor/engine{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ name = "reinforced floor"
+ },
+/area/engine/supermatter)
+"bxo" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/structure/cable/yellow{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/cable/yellow{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/general/visible,
+/turf/open/floor/engine{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ name = "reinforced floor"
+ },
+/area/engine/supermatter)
+"bxp" = (
+/obj/machinery/holopad,
+/obj/machinery/atmospherics/pipe/manifold/general/visible{
+ dir = 8
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/supermatter)
+"bxq" = (
+/obj/machinery/atmospherics/components/unary/thermomachine/freezer{
+ dir = 8
+ },
+/obj/machinery/light/small{
+ dir = 4
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/supermatter)
+"bxr" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/yellow/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bxs" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/disposalpipe/segment,
+/obj/machinery/navbeacon{
+ codes_txt = "patrol;next_patrol=EngineeringEast3";
+ location = "EngineeringEast2";
+ name = "navigation beacon (Engineering-East 2)"
+ },
+/turf/open/floor/plasteel/yellow/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bxt" = (
+/obj/machinery/airalarm{
+ dir = 8;
+ icon_state = "alarm0";
+ pixel_x = 24
+ },
+/turf/open/floor/plasteel/yellow/corner{
+ tag = "icon-yellowcorner (WEST)";
+ icon_state = "yellowcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bxu" = (
+/obj/machinery/light/small{
+ dir = 1
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/maintcentral{
+ name = "Central Asteroid Maintenance"
+ })
+"bxv" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 5
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 1;
+ icon_state = "pipe-c"
+ },
+/obj/effect/turf_decal/stripes/asteroid/line{
+ icon_state = "ast_warn";
+ dir = 1
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/maintcentral{
+ name = "Central Asteroid Maintenance"
+ })
+"bxw" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_y = 0
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/asteroid/line{
+ icon_state = "ast_warn";
+ dir = 1
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/maintcentral{
+ name = "Central Asteroid Maintenance"
+ })
+"bxx" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/power/apc{
+ dir = 1;
+ name = "Central Asteroid Maintence APC";
+ pixel_x = 0;
+ pixel_y = 24
+ },
+/obj/structure/cable{
+ d2 = 8;
+ icon_state = "0-8"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/maintcentral{
+ name = "Central Asteroid Maintenance"
+ })
+"bxy" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/maintcentral{
+ name = "Central Asteroid Maintenance"
+ })
+"bxz" = (
+/obj/machinery/door/airlock/glass_external{
+ cyclelinkeddir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/maintcentral{
+ name = "Central Asteroid Maintenance"
+ })
+"bxA" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/light/small{
+ dir = 1
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/fans/tiny,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/maintcentral{
+ name = "Central Asteroid Maintenance"
+ })
+"bxB" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 9
+ },
+/obj/structure/lattice/catwalk,
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
+/turf/open/space,
+/area/space)
+"bxC" = (
+/obj/structure/lattice/catwalk,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 5
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 1;
+ icon_state = "pipe-c"
+ },
+/turf/open/space,
+/area/space)
+"bxD" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/lattice/catwalk,
+/turf/open/space,
+/area/space)
+"bxE" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/door/airlock/glass_external{
+ cyclelinkeddir = 8;
+ name = "Medbay Atmospherics Checkpoint";
+ req_access_txt = "24"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bxF" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/light/small{
+ dir = 1
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bxG" = (
+/obj/machinery/door/airlock/glass_external{
+ cyclelinkeddir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bxH" = (
+/obj/machinery/atmospherics/components/binary/pump{
+ dir = 4;
+ name = "Mix Input";
+ on = 1
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 9
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bxI" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 10
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bxJ" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bxK" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 5
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bxL" = (
+/obj/structure/grille,
+/obj/machinery/door/firedoor,
+/obj/structure/window/fulltile,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bxM" = (
+/obj/structure/chair{
+ dir = 4
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bxN" = (
+/obj/structure/reagent_dispensers/water_cooler,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bxO" = (
+/obj/structure/table,
+/obj/item/weapon/storage/firstaid/regular{
+ pixel_x = -3;
+ pixel_y = -3
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bxP" = (
+/obj/machinery/disposal/bin,
+/obj/structure/disposalpipe/trunk,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bxQ" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 2;
+ on = 1
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bxR" = (
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/plasteel/whiteblue/side{
+ tag = "icon-whiteblue (EAST)";
+ icon_state = "whiteblue";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bxS" = (
+/obj/structure/table/reinforced,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bxT" = (
+/obj/machinery/computer/med_data,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bxU" = (
+/obj/machinery/requests_console{
+ announcementConsole = 0;
+ department = "Medbay";
+ departmentType = 1;
+ name = "Medbay RC";
+ pixel_x = 30;
+ pixel_y = 0;
+ pixel_z = 0
+ },
+/obj/machinery/newscaster{
+ pixel_y = 32
+ },
+/mob/living/simple_animal/pet/cat/Runtime,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bxV" = (
+/obj/machinery/sleeper{
+ dir = 4;
+ icon_state = "sleeper-open"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bxW" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bxX" = (
+/obj/machinery/atmospherics/pipe/simple/general/visible{
+ dir = 6
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bxY" = (
+/obj/machinery/atmospherics/components/unary/cryo_cell{
+ tag = "icon-cell-off (WEST)";
+ icon_state = "cell-off";
+ dir = 8
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bxZ" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/bed/roller,
+/turf/open/floor/plasteel/whiteblue/side{
+ tag = "icon-whiteblue (EAST)";
+ icon_state = "whiteblue";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bya" = (
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/genetics_cloning)
+"byb" = (
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/genetics_cloning)
+"byc" = (
+/obj/machinery/door/airlock/glass_virology{
+ name = "Monkey Pen";
+ req_access_txt = "39"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/virology)
+"byd" = (
+/obj/machinery/power/apc{
+ dir = 8;
+ name = "Virology APC";
+ pixel_x = -25;
+ pixel_y = 1
+ },
+/obj/structure/cable/orange{
+ d2 = 4;
+ icon_state = "0-4"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/virology)
+"bye" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/grille/broken,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"byf" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"byg" = (
+/obj/machinery/gateway{
+ dir = 10
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/awaymission/research/interior/gateway)
+"byh" = (
+/obj/machinery/gateway,
+/obj/structure/cable/orange{
+ d2 = 2;
+ icon_state = "0-2"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/awaymission/research/interior/gateway)
+"byi" = (
+/obj/machinery/gateway{
+ dir = 6
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/awaymission/research/interior/gateway)
+"byj" = (
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/obj/effect/turf_decal/stripes/asteroid/line{
+ icon_state = "ast_warn";
+ dir = 4
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/awaymission/research/interior/gateway)
+"byk" = (
+/obj/structure/table,
+/obj/machinery/cell_charger,
+/obj/structure/window/reinforced,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/storage/primary)
+"byl" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ on = 1
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/storage/primary)
+"bym" = (
+/obj/structure/table,
+/obj/item/device/assembly/igniter,
+/obj/item/device/assembly/igniter,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/storage/primary)
+"byn" = (
+/obj/machinery/light{
+ dir = 4;
+ icon_state = "tube1"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"byo" = (
+/obj/item/weapon/twohanded/required/kirbyplants{
+ tag = "icon-plant-18";
+ icon_state = "plant-18"
+ },
+/turf/open/floor/plasteel/green/corner{
+ tag = "icon-greencorner (WEST)";
+ icon_state = "greencorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"byp" = (
+/obj/structure/table/reinforced,
+/obj/machinery/door/firedoor,
+/obj/machinery/door/window/eastright{
+ name = "Hydroponics Desk";
+ req_access_txt = "35"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"byq" = (
+/obj/structure/chair/office/dark{
+ dir = 8
+ },
+/obj/effect/landmark/start/botanist,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"byr" = (
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"bys" = (
+/obj/effect/landmark/lightsout,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"byt" = (
+/turf/open/floor/plasteel/darkgreen/side{
+ tag = "icon-darkgreen (NORTHEAST)";
+ icon_state = "darkgreen";
+ dir = 5;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"byu" = (
+/obj/item/device/radio/intercom{
+ broadcasting = 0;
+ name = "Station Intercom (General)";
+ pixel_x = -28;
+ pixel_y = 0
+ },
+/turf/open/floor/plasteel/hydrofloor{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"byv" = (
+/turf/open/floor/plasteel/hydrofloor{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"byw" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel/hydrofloor{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"byx" = (
+/obj/structure/disposalpipe/segment,
+/obj/structure/closet/emcloset,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"byy" = (
+/obj/structure/sign/securearea{
+ desc = "A warning sign which reads 'EXTERNAL AIRLOCK'";
+ icon_state = "space";
+ layer = 4;
+ name = "EXTERNAL AIRLOCK";
+ pixel_x = 32;
+ pixel_y = 0
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"byz" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "Port Asteroid Maintenance";
+ req_access_txt = "12"
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"byA" = (
+/obj/structure/sign/securearea{
+ desc = "A warning sign which reads 'EXTERNAL AIRLOCK'";
+ icon_state = "space";
+ layer = 4;
+ name = "EXTERNAL AIRLOCK";
+ pixel_x = -32;
+ pixel_y = 0
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"byB" = (
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/break_room)
+"byC" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/break_room)
+"byD" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/door/airlock/engineering{
+ cyclelinkeddir = null;
+ name = "Engineering Foyer";
+ req_access_txt = "0";
+ req_one_access_txt = "10;24"
+ },
+/turf/open/floor/plasteel/yellow{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/break_room)
+"byE" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/break_room)
+"byF" = (
+/obj/structure/table,
+/obj/item/weapon/pipe_dispenser,
+/obj/machinery/camera{
+ c_tag = "SM West";
+ dir = 4;
+ icon_state = "camera";
+ network = list("SS13","CE")
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/supermatter)
+"byG" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/engine{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ name = "reinforced floor"
+ },
+/area/engine/supermatter)
+"byH" = (
+/obj/machinery/power/rad_collector{
+ anchored = 1
+ },
+/obj/structure/cable/yellow{
+ d2 = 8;
+ icon_state = "0-8"
+ },
+/obj/item/weapon/tank/internals/plasma,
+/turf/open/floor/engine{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ name = "reinforced floor"
+ },
+/area/engine/supermatter)
+"byI" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/structure/cable/yellow{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/cable/yellow{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/obj/machinery/atmospherics/pipe/manifold/general/visible{
+ dir = 8
+ },
+/turf/open/floor/engine{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ name = "reinforced floor"
+ },
+/area/engine/supermatter)
+"byJ" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/machinery/atmospherics/components/binary/pump{
+ dir = 8;
+ name = "Mix To Gas";
+ on = 0
+ },
+/turf/open/floor/engine{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ name = "reinforced floor"
+ },
+/area/engine/supermatter)
+"byK" = (
+/obj/machinery/atmospherics/pipe/manifold/general/visible,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/supermatter)
+"byL" = (
+/obj/machinery/atmospherics/components/unary/thermomachine/freezer{
+ dir = 8
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/supermatter)
+"byM" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/break_room)
+"byN" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/disposalpipe/segment,
+/obj/machinery/door/airlock/engineering{
+ cyclelinkeddir = null;
+ name = "Engineering Foyer";
+ req_access_txt = "0";
+ req_one_access_txt = "10;24"
+ },
+/turf/open/floor/plasteel/yellow{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/break_room)
+"byO" = (
+/obj/effect/spawner/lootdrop/grille_or_trash,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/maintcentral{
+ name = "Central Asteroid Maintenance"
+ })
+"byP" = (
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/maintcentral{
+ name = "Central Asteroid Maintenance"
+ })
+"byQ" = (
+/turf/open/floor/plating/asteroid,
+/area/maintenance/maintcentral{
+ name = "Central Asteroid Maintenance"
+ })
+"byR" = (
+/obj/structure/sign/securearea{
+ desc = "A warning sign which reads 'EXTERNAL AIRLOCK'";
+ icon_state = "space";
+ layer = 4;
+ name = "EXTERNAL AIRLOCK";
+ pixel_x = 32;
+ pixel_y = 0
+ },
+/turf/open/floor/plating/asteroid,
+/area/maintenance/maintcentral{
+ name = "Central Asteroid Maintenance"
+ })
+"byS" = (
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/maintcentral{
+ name = "Central Asteroid Maintenance"
+ })
+"byT" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/machinery/camera{
+ c_tag = "Medbay Atmospherics Checkpoint";
+ dir = 5;
+ icon_state = "camera";
+ tag = "icon-camera (NORTHEAST)"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"byU" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 8
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"byV" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 1
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"byW" = (
+/obj/machinery/atmospherics/components/binary/pump{
+ dir = 4;
+ name = "Mix Output";
+ on = 1
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"byX" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/door/airlock/atmos{
+ name = "Medbay Atmospherics Checkpoint";
+ req_access_txt = "24"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"byY" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"byZ" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bza" = (
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bzb" = (
+/turf/open/floor/plasteel/whiteblue/side{
+ tag = "icon-whiteblue (EAST)";
+ icon_state = "whiteblue";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bzc" = (
+/obj/structure/chair/office/light{
+ dir = 8
+ },
+/obj/effect/landmark/start/medical_doctor,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bzd" = (
+/obj/machinery/door/airlock/glass_medical{
+ id_tag = null;
+ name = "Medbay";
+ req_access_txt = "45"
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bze" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/camera{
+ c_tag = "Medbay East";
+ dir = 9;
+ icon_state = "camera";
+ tag = "icon-camera (NORTHWEST)"
+ },
+/obj/structure/noticeboard{
+ dir = 8;
+ pixel_x = 27;
+ pixel_y = 0
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bzf" = (
+/obj/structure/table,
+/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone,
+/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone,
+/obj/machinery/light{
+ icon_state = "tube1";
+ dir = 8
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bzg" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 1;
+ on = 1
+ },
+/obj/effect/landmark/start/medical_doctor,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bzh" = (
+/obj/machinery/atmospherics/pipe/manifold/general/visible{
+ dir = 8
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bzi" = (
+/obj/machinery/atmospherics/components/unary/portables_connector/visible{
+ icon_state = "connector_map";
+ dir = 8
+ },
+/obj/machinery/portable_atmospherics/canister/oxygen,
+/obj/machinery/camera{
+ c_tag = "Cyrotubes";
+ dir = 9;
+ icon_state = "camera";
+ tag = "icon-camera (NORTHWEST)"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bzj" = (
+/obj/machinery/power/apc{
+ dir = 8;
+ name = "Medbay APC";
+ pixel_x = -25;
+ pixel_y = 1
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/cable/orange{
+ d2 = 2;
+ icon_state = "0-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bzk" = (
+/obj/structure/bed/roller,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel/whiteblue/side{
+ tag = "icon-whiteblue (EAST)";
+ icon_state = "whiteblue";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bzl" = (
+/obj/machinery/shower{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 6
+ },
+/turf/open/floor/plasteel/freezer{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/genetics_cloning)
+"bzm" = (
+/obj/structure/mirror{
+ pixel_y = 32
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/freezer{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/genetics_cloning)
+"bzn" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ dir = 8;
+ on = 1;
+ scrub_Toxins = 0
+ },
+/obj/machinery/airalarm{
+ frequency = 1439;
+ locked = 0;
+ pixel_y = 23
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/genetics_cloning)
+"bzo" = (
+/turf/open/floor/plasteel/whiteblue/side{
+ tag = "icon-whiteblue (EAST)";
+ icon_state = "whiteblue";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/genetics_cloning)
+"bzp" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ dir = 1;
+ on = 1
+ },
+/mob/living/carbon/monkey,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/virology)
+"bzq" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 1;
+ on = 1
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/virology)
+"bzr" = (
+/mob/living/carbon/monkey,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/virology)
+"bzs" = (
+/obj/item/wallframe/apc,
+/obj/structure/cable/orange{
+ d2 = 4;
+ icon_state = "0-4"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/awaymission/research/interior/gateway)
+"bzt" = (
+/obj/item/stack/rods,
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/awaymission/research/interior/gateway)
+"bzu" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/awaymission/research/interior/gateway)
+"bzv" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/awaymission/research/interior/gateway)
+"bzw" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/item/weapon/paper/pamphlet,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/awaymission/research/interior/gateway)
+"bzx" = (
+/obj/item/clothing/head/cone,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bzy" = (
+/obj/effect/turf_decal/delivery,
+/obj/machinery/portable_atmospherics/scrubber,
+/turf/open/floor/plasteel/vault{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 5
+ },
+/area/storage/primary)
+"bzz" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/storage/primary)
+"bzA" = (
+/obj/structure/table,
+/obj/item/weapon/storage/toolbox/mechanical,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/storage/primary)
+"bzB" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/machinery/camera{
+ c_tag = "Service Asteroid Hallway 3";
+ dir = 4;
+ icon_state = "camera"
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"bzC" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/machinery/door/airlock/glass{
+ name = "Hydroponics";
+ req_access_txt = "35"
+ },
+/obj/structure/disposalpipe/segment,
+/obj/machinery/door/firedoor,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"bzD" = (
+/obj/machinery/door/airlock/glass{
+ name = "Hydroponics";
+ req_access_txt = "35"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/door/firedoor,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"bzE" = (
+/obj/machinery/light{
+ dir = 8
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"bzF" = (
+/turf/open/floor/plasteel/darkgreen/side{
+ tag = "icon-darkgreen (SOUTHEAST)";
+ icon_state = "darkgreen";
+ dir = 6;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"bzG" = (
+/obj/machinery/status_display{
+ density = 0;
+ layer = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"bzH" = (
+/obj/structure/closet/secure_closet/hydroponics,
+/turf/open/floor/plasteel/hydrofloor{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"bzI" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ dir = 4;
+ on = 1
+ },
+/turf/open/floor/plasteel/hydrofloor{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"bzJ" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel/hydrofloor{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"bzK" = (
+/obj/structure/disposalpipe/segment{
+ dir = 1;
+ icon_state = "pipe-c"
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"bzL" = (
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"bzM" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/light/small{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/asteroid/line{
+ icon_state = "ast_warn";
+ dir = 1
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bzN" = (
+/obj/machinery/power/apc{
+ dir = 8;
+ name = "Engineering Foyer APC";
+ pixel_x = -25
+ },
+/obj/structure/cable{
+ icon_state = "0-4";
+ d2 = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 6
+ },
+/obj/machinery/airalarm{
+ frequency = 1439;
+ locked = 0;
+ pixel_y = 23
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/break_room)
+"bzO" = (
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8";
+ tag = ""
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 9
+ },
+/turf/open/floor/plasteel/yellow/corner{
+ tag = "icon-yellowcorner (EAST)";
+ icon_state = "yellowcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/break_room)
+"bzP" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel/yellow/side{
+ tag = "icon-yellow (NORTH)";
+ icon_state = "yellow";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/break_room)
+"bzQ" = (
+/obj/item/weapon/twohanded/required/kirbyplants{
+ tag = "icon-plant-22";
+ icon_state = "plant-22"
+ },
+/turf/open/floor/plasteel/yellow/corner{
+ tag = "icon-yellowcorner (NORTH)";
+ icon_state = "yellowcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/break_room)
+"bzR" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/general/visible,
+/obj/structure/cable/yellow{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/button/door{
+ id = "SM1";
+ name = "Collector Shuttle Toggle";
+ pixel_x = 24;
+ req_access_txt = "10"
+ },
+/turf/open/floor/engine{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ name = "reinforced floor"
+ },
+/area/engine/supermatter)
+"bzS" = (
+/obj/machinery/atmospherics/pipe/simple/general/visible{
+ dir = 10
+ },
+/obj/machinery/meter,
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"bzT" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/door/airlock/glass_engineering{
+ heat_proof = 1;
+ name = "Supermatter Chamber";
+ req_access_txt = "10"
+ },
+/turf/open/floor/engine{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ name = "reinforced floor"
+ },
+/area/engine/supermatter)
+"bzU" = (
+/obj/machinery/atmospherics/pipe/simple/general/visible{
+ icon_state = "intact";
+ dir = 6
+ },
+/obj/machinery/meter,
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"bzV" = (
+/obj/machinery/atmospherics/pipe/simple/general/visible{
+ dir = 9
+ },
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"bzW" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/structure/cable/yellow{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/general/visible,
+/obj/machinery/button/door{
+ id = "SM2";
+ name = "Collector Shuttle Toggle";
+ pixel_x = -24;
+ req_access_txt = "10"
+ },
+/turf/open/floor/engine{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ name = "reinforced floor"
+ },
+/area/engine/supermatter)
+"bzX" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 4;
+ on = 1
+ },
+/turf/open/floor/engine{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ name = "reinforced floor"
+ },
+/area/engine/supermatter)
+"bzY" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 10
+ },
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"bzZ" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/item/weapon/twohanded/required/kirbyplants{
+ tag = "icon-plant-22";
+ icon_state = "plant-22"
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/yellow/corner{
+ tag = "icon-yellowcorner (EAST)";
+ icon_state = "yellowcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/break_room)
+"bAa" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/yellow/side{
+ tag = "icon-yellow (NORTH)";
+ icon_state = "yellow";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/break_room)
+"bAb" = (
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8";
+ tag = ""
+ },
+/turf/open/floor/plasteel/yellow/corner{
+ tag = "icon-yellowcorner (NORTH)";
+ icon_state = "yellowcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/break_room)
+"bAc" = (
+/obj/machinery/power/apc{
+ dir = 4;
+ name = "Engineering Foyer APC";
+ pixel_x = 23;
+ pixel_y = 2
+ },
+/obj/structure/cable{
+ d2 = 8;
+ icon_state = "0-8"
+ },
+/obj/machinery/airalarm{
+ frequency = 1439;
+ locked = 0;
+ pixel_y = 23
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/break_room)
+"bAd" = (
+/turf/closed/mineral,
+/area/maintenance/maintcentral{
+ name = "Central Asteroid Maintenance"
+ })
+"bAe" = (
+/obj/structure/closet/crate,
+/obj/effect/spawner/lootdrop/maintenance,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/maintcentral{
+ name = "Central Asteroid Maintenance"
+ })
+"bAf" = (
+/obj/structure/reagent_dispensers/fueltank,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/maintcentral{
+ name = "Central Asteroid Maintenance"
+ })
+"bAg" = (
+/obj/structure/table,
+/obj/item/weapon/wrench,
+/obj/item/clothing/glasses/meson,
+/obj/effect/turf_decal/stripes/line{
+ dir = 10
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bAh" = (
+/obj/machinery/atmospherics/components/unary/portables_connector/visible{
+ dir = 1
+ },
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bAi" = (
+/obj/machinery/atmospherics/components/unary/portables_connector/visible{
+ dir = 1
+ },
+/obj/machinery/portable_atmospherics/canister/air,
+/obj/effect/turf_decal/stripes/line,
+/obj/machinery/light/small,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bAj" = (
+/obj/machinery/atmospherics/components/unary/portables_connector/visible{
+ dir = 1
+ },
+/obj/machinery/portable_atmospherics/canister/air,
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bAk" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 6
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bAl" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bAm" = (
+/obj/structure/table/reinforced,
+/obj/item/weapon/reagent_containers/food/drinks/britcup,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bAn" = (
+/obj/machinery/button/door{
+ id = "medmain";
+ name = "Medbay Foyer Doors";
+ pixel_x = 0;
+ pixel_y = -24
+ },
+/obj/machinery/requests_console{
+ announcementConsole = 0;
+ department = "Medbay";
+ departmentType = 1;
+ name = "Medbay RC";
+ pixel_x = 30;
+ pixel_y = 0;
+ pixel_z = 0
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bAo" = (
+/obj/structure/table,
+/obj/machinery/cell_charger,
+/obj/item/weapon/wrench/medical,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bAp" = (
+/obj/machinery/holopad,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bAq" = (
+/obj/machinery/atmospherics/components/unary/thermomachine/freezer{
+ dir = 8
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bAr" = (
+/obj/structure/bed/roller,
+/obj/machinery/light{
+ icon_state = "tube1";
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel/whiteblue/side{
+ tag = "icon-whiteblue (EAST)";
+ icon_state = "whiteblue";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bAs" = (
+/obj/machinery/shower{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/freezer{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/genetics_cloning)
+"bAt" = (
+/turf/open/floor/plasteel/freezer{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/genetics_cloning)
+"bAu" = (
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/genetics_cloning)
+"bAv" = (
+/obj/machinery/dna_scannernew,
+/turf/open/floor/plasteel/whiteblue/side{
+ tag = "icon-whiteblue (EAST)";
+ icon_state = "whiteblue";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/genetics_cloning)
+"bAw" = (
+/obj/structure/closet/crate,
+/obj/effect/spawner/lootdrop/maintenance,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bAx" = (
+/obj/machinery/light,
+/mob/living/carbon/monkey,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/virology)
+"bAy" = (
+/obj/item/weapon/screwdriver,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/awaymission/research/interior/gateway)
+"bAz" = (
+/obj/structure/closet/emcloset,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/awaymission/research/interior/gateway)
+"bAA" = (
+/obj/structure/table,
+/obj/item/weapon/paper/pamphlet,
+/obj/item/weapon/coin/silver,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/awaymission/research/interior/gateway)
+"bAB" = (
+/obj/effect/turf_decal/delivery,
+/obj/machinery/portable_atmospherics/scrubber,
+/obj/machinery/camera{
+ c_tag = "Primary Tool Storage South";
+ dir = 5;
+ icon_state = "camera";
+ tag = "icon-camera (NORTHEAST)"
+ },
+/turf/open/floor/plasteel/vault{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 5
+ },
+/area/storage/primary)
+"bAC" = (
+/obj/structure/reagent_dispensers/watertank,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/storage/primary)
+"bAD" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/machinery/newscaster{
+ pixel_x = -28;
+ pixel_y = 4
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"bAE" = (
+/obj/machinery/disposal/bin,
+/obj/structure/disposalpipe/trunk{
+ dir = 4
+ },
+/obj/machinery/camera{
+ c_tag = "Hydroponics West";
+ dir = 4;
+ icon_state = "camera"
+ },
+/turf/open/floor/plasteel/green/side{
+ tag = "icon-green (WEST)";
+ icon_state = "green";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"bAF" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"bAG" = (
+/obj/machinery/vending/hydronutrients,
+/turf/open/floor/plasteel/green/side{
+ tag = "icon-green (NORTH)";
+ icon_state = "green";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"bAH" = (
+/obj/machinery/vending/hydroseeds,
+/obj/item/device/radio/intercom{
+ broadcasting = 0;
+ name = "Station Intercom (General)";
+ pixel_y = 20
+ },
+/turf/open/floor/plasteel/green/side{
+ tag = "icon-green (NORTH)";
+ icon_state = "green";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"bAI" = (
+/turf/open/floor/plasteel/darkgreen/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 4
+ },
+/area/hydroponics)
+"bAJ" = (
+/obj/structure/sink{
+ dir = 4;
+ icon_state = "sink";
+ pixel_x = 11;
+ pixel_y = 0
+ },
+/turf/open/floor/plasteel/darkgreen{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"bAK" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/machinery/door/window{
+ dir = 8;
+ icon_state = "right";
+ name = "Hydroponics Delievery Chute";
+ opacity = 1;
+ req_access_txt = "33";
+ tag = "icon-right (WEST)"
+ },
+/obj/effect/turf_decal/delivery,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"bAL" = (
+/obj/structure/disposalpipe/trunk{
+ dir = 4
+ },
+/obj/structure/disposaloutlet{
+ dir = 8
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"bAM" = (
+/obj/structure/disposalpipe/sortjunction{
+ dir = 2;
+ icon_state = "pipe-j1s";
+ name = "disposal pipe - Hydroponics";
+ sortType = 21
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"bAN" = (
+/turf/closed/wall/rust{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"bAO" = (
+/obj/structure/rack,
+/obj/item/weapon/storage/bag/ore,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bAP" = (
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"bAQ" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/break_room)
+"bAR" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/break_room)
+"bAS" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/break_room)
+"bAT" = (
+/obj/machinery/light{
+ dir = 4
+ },
+/turf/open/floor/plasteel/yellow/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/break_room)
+"bAU" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/general/visible,
+/obj/structure/cable/yellow{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/engine{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ name = "reinforced floor"
+ },
+/area/engine/supermatter)
+"bAV" = (
+/obj/effect/turf_decal/delivery,
+/obj/machinery/portable_atmospherics/canister,
+/obj/machinery/atmospherics/components/unary/portables_connector/visible,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/supermatter)
+"bAW" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/components/binary/pump{
+ dir = 2;
+ icon_state = "pump_map";
+ name = "Chamber To Filter"
+ },
+/turf/open/floor/engine{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ name = "reinforced floor"
+ },
+/area/engine/supermatter)
+"bAX" = (
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/engine{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ name = "reinforced floor"
+ },
+/area/engine/supermatter)
+"bAY" = (
+/obj/machinery/atmospherics/components/binary/pump{
+ dir = 1;
+ name = "Gas To Chamber";
+ on = 0
+ },
+/turf/open/floor/engine{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ name = "reinforced floor"
+ },
+/area/engine/supermatter)
+"bAZ" = (
+/obj/effect/turf_decal/delivery,
+/obj/machinery/portable_atmospherics/canister/nitrogen,
+/obj/machinery/atmospherics/components/unary/portables_connector/visible,
+/obj/machinery/atmospherics/components/unary/portables_connector/visible,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/supermatter)
+"bBa" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/structure/cable/yellow{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/general/visible,
+/turf/open/floor/engine{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ name = "reinforced floor"
+ },
+/area/engine/supermatter)
+"bBb" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"bBc" = (
+/obj/machinery/light{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/yellow/corner{
+ tag = "icon-yellowcorner (WEST)";
+ icon_state = "yellowcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/break_room)
+"bBd" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/break_room)
+"bBe" = (
+/obj/structure/extinguisher_cabinet{
+ pixel_x = 24
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/break_room)
+"bBf" = (
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint/engineering)
+"bBg" = (
+/obj/machinery/light/small{
+ dir = 4
+ },
+/turf/open/floor/plating/asteroid,
+/area/maintenance/maintcentral{
+ name = "Central Asteroid Maintenance"
+ })
+"bBh" = (
+/obj/machinery/light{
+ icon_state = "tube1";
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 8
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bBi" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bBj" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/arrival/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bBk" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/door/firedoor,
+/turf/open/floor/plasteel/white/side{
+ tag = "icon-whitehall (EAST)";
+ icon_state = "whitehall";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bBl" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment,
+/obj/effect/landmark/event_spawn,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bBm" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden,
+/obj/machinery/holopad,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bBn" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 10
+ },
+/turf/open/floor/plasteel/whiteblue/side{
+ tag = "icon-whiteblue (EAST)";
+ icon_state = "whiteblue";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bBo" = (
+/obj/structure/table/reinforced,
+/obj/item/weapon/paper_bin{
+ pixel_x = -3;
+ pixel_y = 7
+ },
+/obj/item/weapon/pen,
+/obj/item/weapon/folder,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bBp" = (
+/obj/structure/table/reinforced,
+/obj/machinery/cell_charger,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bBq" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/item/device/radio/intercom{
+ broadcasting = 0;
+ name = "Station Intercom (General)";
+ pixel_x = -28;
+ pixel_y = 0
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bBr" = (
+/obj/structure/table,
+/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone,
+/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone,
+/obj/item/device/radio/intercom{
+ broadcasting = 0;
+ name = "Station Intercom (General)";
+ pixel_x = -28;
+ pixel_y = 0
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bBs" = (
+/obj/effect/landmark/event_spawn,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bBt" = (
+/obj/machinery/atmospherics/components/unary/portables_connector/visible{
+ icon_state = "connector_map";
+ dir = 8
+ },
+/obj/machinery/portable_atmospherics/canister/oxygen,
+/obj/machinery/light{
+ icon_state = "tube1";
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bBu" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/machinery/camera{
+ c_tag = "Medbay West";
+ dir = 5;
+ icon_state = "camera";
+ network = list("SS13");
+ tag = "icon-camera (NORTHEAST)"
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bBv" = (
+/obj/machinery/shower{
+ dir = 4
+ },
+/obj/structure/window/reinforced,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/freezer{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/genetics_cloning)
+"bBw" = (
+/obj/structure/chair{
+ dir = 4
+ },
+/obj/effect/landmark/start/geneticist,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/genetics_cloning)
+"bBx" = (
+/obj/machinery/computer/cloning,
+/obj/item/device/radio/intercom{
+ broadcasting = 0;
+ name = "Station Intercom (General)";
+ pixel_x = 28;
+ pixel_y = 0
+ },
+/obj/structure/sign/nosmoking_2{
+ pixel_x = 32
+ },
+/turf/open/floor/plasteel/whiteblue/side{
+ tag = "icon-whiteblue (EAST)";
+ icon_state = "whiteblue";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/genetics_cloning)
+"bBy" = (
+/obj/effect/turf_decal/delivery,
+/obj/machinery/portable_atmospherics/pump,
+/obj/machinery/light{
+ dir = 8
+ },
+/turf/open/floor/plasteel/vault{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 5
+ },
+/area/storage/primary)
+"bBz" = (
+/obj/effect/turf_decal/delivery,
+/obj/machinery/portable_atmospherics/pump,
+/turf/open/floor/plasteel/vault{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 5
+ },
+/area/storage/primary)
+"bBA" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 5
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/storage/primary)
+"bBB" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/storage/primary)
+"bBC" = (
+/obj/machinery/door/airlock/glass{
+ name = "Primary Tool Storage"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/machinery/door/firedoor,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/storage/primary)
+"bBD" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"bBE" = (
+/turf/open/floor/plasteel/green/side{
+ tag = "icon-green (WEST)";
+ icon_state = "green";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"bBF" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"bBG" = (
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"bBH" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 2;
+ on = 1
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"bBI" = (
+/obj/machinery/light{
+ dir = 4
+ },
+/turf/open/floor/plasteel/darkgreen/side{
+ tag = "icon-darkgreen (NORTHEAST)";
+ icon_state = "darkgreen";
+ dir = 5;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"bBJ" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/machinery/camera{
+ c_tag = "Hydroponics Backroom";
+ dir = 9;
+ icon_state = "camera";
+ tag = "icon-camera (NORTHWEST)"
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel/hydrofloor{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"bBK" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"bBL" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"bBM" = (
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"bBN" = (
+/turf/closed/mineral/random/labormineral,
+/area/maintenance/maintcentral{
+ name = "Central Asteroid Maintenance"
+ })
+"bBO" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "External Maintenance Access";
+ req_access_txt = "12"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/maintcentral{
+ name = "Central Asteroid Maintenance"
+ })
+"bBP" = (
+/obj/machinery/atmospherics/pipe/simple/orange/hidden{
+ tag = "icon-intact (SOUTHEAST)";
+ icon_state = "intact";
+ dir = 6
+ },
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/break_room)
+"bBQ" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/machinery/atmospherics/pipe/simple/orange/hidden{
+ tag = "icon-intact (EAST)";
+ icon_state = "intact";
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/break_room)
+"bBR" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/obj/machinery/atmospherics/pipe/simple/orange/hidden{
+ tag = "icon-intact (EAST)";
+ icon_state = "intact";
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/break_room)
+"bBS" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/atmospherics/pipe/simple/orange/hidden{
+ tag = "icon-intact (EAST)";
+ icon_state = "intact";
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/break_room)
+"bBT" = (
+/obj/structure/table,
+/obj/item/weapon/storage/box/donkpockets,
+/obj/machinery/atmospherics/pipe/simple/orange/hidden{
+ tag = "icon-intact (EAST)";
+ icon_state = "intact";
+ dir = 4
+ },
+/obj/item/device/radio/intercom{
+ name = "Station Intercom (General)";
+ pixel_x = 29;
+ pixel_y = 0
+ },
+/turf/open/floor/plasteel/yellow/side{
+ tag = "icon-yellow (EAST)";
+ icon_state = "yellow";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/break_room)
+"bBU" = (
+/obj/machinery/atmospherics/pipe/simple/orange/hidden{
+ tag = "icon-intact (SOUTHWEST)";
+ icon_state = "intact";
+ dir = 10
+ },
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engineering)
+"bBV" = (
+/obj/effect/turf_decal/delivery,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 5
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/supermatter)
+"bBW" = (
+/obj/effect/turf_decal/delivery,
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/supermatter)
+"bBX" = (
+/obj/machinery/atmospherics/pipe/simple/general/visible,
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"bBY" = (
+/obj/machinery/door/airlock/glass_engineering{
+ heat_proof = 1;
+ name = "Supermatter Chamber";
+ req_access_txt = "10"
+ },
+/turf/open/floor/engine{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ name = "reinforced floor"
+ },
+/area/engine/supermatter)
+"bBZ" = (
+/obj/effect/turf_decal/delivery,
+/obj/machinery/atmospherics/pipe/simple/general/visible,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/supermatter)
+"bCa" = (
+/obj/structure/table,
+/obj/item/weapon/storage/box/donkpockets,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/disposalpipe/segment,
+/obj/item/device/radio/intercom{
+ broadcasting = 0;
+ name = "Station Intercom (General)";
+ pixel_x = -28;
+ pixel_y = 0
+ },
+/turf/open/floor/plasteel/yellow/side{
+ tag = "icon-yellow (WEST)";
+ icon_state = "yellow";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/break_room)
+"bCb" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/obj/effect/landmark/event_spawn,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/break_room)
+"bCc" = (
+/turf/open/floor/plasteel/red/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/break_room)
+"bCd" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_y = 0
+ },
+/obj/structure/cable{
+ d2 = 8;
+ icon_state = "0-8"
+ },
+/obj/structure/cable{
+ icon_state = "0-2";
+ d2 = 2
+ },
+/obj/machinery/door/firedoor,
+/turf/open/floor/plating/airless,
+/area/security/checkpoint/engineering)
+"bCe" = (
+/obj/structure/closet/secure_closet/security/engine,
+/obj/machinery/newscaster/security_unit{
+ pixel_y = 32
+ },
+/turf/open/floor/plasteel/red/side{
+ tag = "icon-red (NORTHWEST)";
+ icon_state = "red";
+ dir = 9;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint/engineering)
+"bCf" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 2;
+ on = 1
+ },
+/obj/item/device/radio/intercom{
+ broadcasting = 0;
+ name = "Station Intercom (General)";
+ pixel_y = 20
+ },
+/turf/open/floor/plasteel/red/side{
+ icon_state = "red";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint/engineering)
+"bCg" = (
+/obj/machinery/power/apc{
+ dir = 4;
+ name = "Engineering Security Checkpoint APC";
+ pixel_x = 23;
+ pixel_y = 2
+ },
+/obj/structure/cable{
+ icon_state = "0-2";
+ d2 = 2
+ },
+/obj/structure/reagent_dispensers/peppertank{
+ pixel_y = 32
+ },
+/turf/open/floor/plasteel/red/side{
+ tag = "icon-red (NORTHEAST)";
+ icon_state = "red";
+ dir = 5;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint/engineering)
+"bCh" = (
+/obj/structure/janitorialcart,
+/obj/item/weapon/mop,
+/obj/item/weapon/reagent_containers/glass/bucket,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bCi" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/disposalpipe/junction{
+ icon_state = "pipe-j1";
+ dir = 1
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bCj" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bCk" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 8
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/arrival/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bCl" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/machinery/door/firedoor,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/white/side{
+ tag = "icon-whitehall (EAST)";
+ icon_state = "whitehall";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bCm" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bCn" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 1
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bCo" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/junction{
+ dir = 4;
+ icon_state = "pipe-j2"
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bCp" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 10
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bCq" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 5
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/whiteblue/corner{
+ tag = "icon-whitebluecorner (EAST)";
+ icon_state = "whitebluecorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bCr" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/whiteblue/side{
+ tag = "icon-whiteblue (NORTH)";
+ icon_state = "whiteblue";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bCs" = (
+/obj/machinery/door/airlock/glass_medical{
+ id_tag = "medmain";
+ name = "Medbay";
+ req_access_txt = "5"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bCt" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bCu" = (
+/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden,
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bCv" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 9
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bCw" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ on = 1;
+ scrub_N2O = 0;
+ scrub_Toxins = 0
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bCx" = (
+/obj/machinery/atmospherics/pipe/simple/general/visible,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bCy" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel/whiteblue/side{
+ tag = "icon-whiteblue (EAST)";
+ icon_state = "whiteblue";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bCz" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/genetics_cloning)
+"bCA" = (
+/obj/machinery/disposal/bin,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/disposalpipe/trunk,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/genetics_cloning)
+"bCB" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 2;
+ on = 1
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/genetics_cloning)
+"bCC" = (
+/obj/machinery/clonepod,
+/obj/machinery/light{
+ icon_state = "tube1";
+ dir = 4
+ },
+/turf/open/floor/plasteel/whiteblue/side{
+ tag = "icon-whiteblue (EAST)";
+ icon_state = "whiteblue";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/genetics_cloning)
+"bCD" = (
+/obj/machinery/power/apc{
+ dir = 8;
+ name = "Cloning APC";
+ pixel_x = -25;
+ pixel_y = 1
+ },
+/obj/structure/cable/orange{
+ d2 = 2;
+ icon_state = "0-2"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/genetics_cloning)
+"bCE" = (
+/obj/machinery/light/small{
+ dir = 8
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bCF" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bCG" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/item/device/assembly/mousetrap/armed,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bCH" = (
+/obj/machinery/light/small{
+ dir = 1
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bCI" = (
+/obj/machinery/airalarm{
+ dir = 1;
+ icon_state = "alarm0";
+ pixel_y = -22
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/storage/primary)
+"bCJ" = (
+/obj/machinery/firealarm{
+ dir = 4;
+ pixel_x = 24
+ },
+/obj/item/weapon/twohanded/required/kirbyplants{
+ icon_state = "plant-22"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/storage/primary)
+"bCK" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 5
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"bCL" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"bCM" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/holopad,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"bCN" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"bCO" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/effect/landmark/event_spawn,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"bCP" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"bCQ" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/darkgreen/side{
+ tag = "icon-darkgreen (SOUTHEAST)";
+ icon_state = "darkgreen";
+ dir = 6;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"bCR" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"bCS" = (
+/obj/structure/closet/secure_closet/hydroponics,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/hydrofloor{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"bCT" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 8;
+ layer = 2.4;
+ on = 1
+ },
+/turf/open/floor/plasteel/hydrofloor{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"bCU" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/machinery/plantgenes,
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel/hydrofloor{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"bCV" = (
+/obj/machinery/power/apc{
+ dir = 8;
+ name = "Port Asteroid Maintenance APC";
+ pixel_x = -23;
+ pixel_y = 2
+ },
+/obj/structure/cable/orange{
+ d2 = 4;
+ icon_state = "0-4"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bCW" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bCX" = (
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/obj/item/device/assembly/mousetrap/armed,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bCY" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bCZ" = (
+/obj/machinery/light/small{
+ dir = 8
+ },
+/obj/structure/closet/crate,
+/obj/effect/spawner/lootdrop/maintenance,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/maintcentral{
+ name = "Central Asteroid Maintenance"
+ })
+"bDa" = (
+/obj/structure/girder,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/maintcentral{
+ name = "Central Asteroid Maintenance"
+ })
+"bDb" = (
+/obj/effect/spawner/lootdrop/grille_or_trash,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/maintcentral{
+ name = "Central Asteroid Maintenance"
+ })
+"bDc" = (
+/obj/machinery/light/small{
+ dir = 1
+ },
+/turf/open/floor/plating/asteroid,
+/area/maintenance/maintcentral{
+ name = "Central Asteroid Maintenance"
+ })
+"bDd" = (
+/obj/effect/turf_decal/stripes/asteroid/line{
+ icon_state = "ast_warn";
+ dir = 1
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/maintcentral{
+ name = "Central Asteroid Maintenance"
+ })
+"bDe" = (
+/obj/machinery/atmospherics/pipe/simple/orange/hidden{
+ tag = "icon-intact (SOUTHEAST)";
+ icon_state = "intact";
+ dir = 6
+ },
+/obj/effect/turf_decal/stripes/asteroid/line{
+ icon_state = "ast_warn";
+ dir = 1
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/maintcentral{
+ name = "Central Asteroid Maintenance"
+ })
+"bDf" = (
+/obj/machinery/atmospherics/pipe/simple/orange/hidden{
+ tag = "icon-intact (EAST)";
+ icon_state = "intact";
+ dir = 4
+ },
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/break_room)
+"bDg" = (
+/obj/machinery/atmospherics/pipe/simple/orange/hidden{
+ tag = "icon-intact (NORTHWEST)";
+ icon_state = "intact";
+ dir = 9
+ },
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/break_room)
+"bDh" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 8
+ },
+/obj/machinery/camera{
+ c_tag = "Engineering Lobby West";
+ dir = 4;
+ icon_state = "camera";
+ network = list("SS13","CE")
+ },
+/obj/machinery/newscaster{
+ pixel_x = -28
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/break_room)
+"bDi" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ dir = 8;
+ on = 1;
+ scrub_N2O = 0;
+ scrub_Toxins = 0
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/break_room)
+"bDj" = (
+/obj/structure/table,
+/obj/machinery/microwave,
+/turf/open/floor/plasteel/yellow/side{
+ tag = "icon-yellow (EAST)";
+ icon_state = "yellow";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/break_room)
+"bDk" = (
+/obj/machinery/atmospherics/pipe/simple/orange/hidden,
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engineering)
+"bDl" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/machinery/light{
+ icon_state = "tube1";
+ dir = 8
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4";
+ tag = ""
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/engine{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ name = "reinforced floor"
+ },
+/area/engine/supermatter)
+"bDm" = (
+/obj/effect/turf_decal/stripes/corner{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/general/visible{
+ dir = 5
+ },
+/obj/structure/cable/yellow{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/meter,
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0
+ },
+/turf/open/floor/engine{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ name = "reinforced floor"
+ },
+/area/engine/supermatter)
+"bDn" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/general/visible{
+ dir = 4
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0
+ },
+/turf/open/floor/engine{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ name = "reinforced floor"
+ },
+/area/engine/supermatter)
+"bDo" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/machinery/atmospherics/components/trinary/filter{
+ tag = "icon-filter_off (WEST)";
+ icon_state = "filter_off";
+ dir = 8
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0
+ },
+/turf/open/floor/engine{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ name = "reinforced floor"
+ },
+/area/engine/supermatter)
+"bDp" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/general/visible{
+ dir = 4
+ },
+/obj/structure/sign/radiation{
+ pixel_y = 32
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0
+ },
+/turf/open/floor/engine{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ name = "reinforced floor"
+ },
+/area/engine/supermatter)
+"bDq" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/manifold/general/visible,
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0
+ },
+/obj/machinery/airalarm{
+ frequency = 1439;
+ locked = 0;
+ pixel_y = 23
+ },
+/turf/open/floor/engine{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ name = "reinforced floor"
+ },
+/area/engine/supermatter)
+"bDr" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/machinery/atmospherics/components/binary/pump{
+ dir = 8;
+ name = "Gas To Filter";
+ on = 0
+ },
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8";
+ tag = ""
+ },
+/turf/open/floor/engine{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ name = "reinforced floor"
+ },
+/area/engine/supermatter)
+"bDs" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/manifold/general/visible,
+/turf/open/floor/engine{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ name = "reinforced floor"
+ },
+/area/engine/supermatter)
+"bDt" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/general/visible{
+ dir = 4
+ },
+/obj/structure/sign/radiation{
+ pixel_y = 32
+ },
+/obj/machinery/meter,
+/turf/open/floor/engine{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ name = "reinforced floor"
+ },
+/area/engine/supermatter)
+"bDu" = (
+/obj/effect/turf_decal/stripes/corner{
+ dir = 4
+ },
+/obj/structure/cable/yellow{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/manifold/general/visible,
+/turf/open/floor/engine{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ name = "reinforced floor"
+ },
+/area/engine/supermatter)
+"bDv" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/general/visible{
+ dir = 10
+ },
+/obj/machinery/light{
+ dir = 4
+ },
+/turf/open/floor/engine{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ name = "reinforced floor"
+ },
+/area/engine/supermatter)
+"bDw" = (
+/obj/structure/table,
+/obj/machinery/microwave,
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 8
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/yellow/side{
+ tag = "icon-yellow (WEST)";
+ icon_state = "yellow";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/break_room)
+"bDx" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/break_room)
+"bDy" = (
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ dir = 8;
+ on = 1;
+ scrub_N2O = 0;
+ scrub_Toxins = 0
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/break_room)
+"bDz" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_y = 0
+ },
+/turf/open/floor/plasteel/red/side{
+ icon_state = "red";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/break_room)
+"bDA" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_y = 0
+ },
+/obj/structure/cable{
+ d2 = 8;
+ icon_state = "0-8"
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8";
+ tag = ""
+ },
+/obj/machinery/door/firedoor,
+/turf/open/floor/plating/airless,
+/area/security/checkpoint/engineering)
+"bDB" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_y = 0
+ },
+/turf/open/floor/plasteel/red/side{
+ icon_state = "red";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint/engineering)
+"bDC" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_y = 0
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint/engineering)
+"bDD" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/turf/open/floor/plasteel/red/side{
+ icon_state = "red";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint/engineering)
+"bDE" = (
+/obj/structure/sink{
+ icon_state = "sink";
+ dir = 8;
+ pixel_x = -12;
+ pixel_y = 2
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bDF" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "Broom Closet";
+ req_access_txt = "0"
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bDG" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/arrival/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bDH" = (
+/obj/structure/chair{
+ dir = 4
+ },
+/obj/machinery/light,
+/obj/structure/sign/chemistry{
+ pixel_y = -32
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bDI" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ dir = 1;
+ on = 1
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bDJ" = (
+/obj/machinery/camera{
+ c_tag = "Medbay Lobby";
+ dir = 1;
+ icon_state = "camera";
+ network = list("SS13")
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bDK" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 5
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bDL" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/machinery/airalarm{
+ dir = 1;
+ icon_state = "alarm0";
+ pixel_y = -22
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bDM" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/machinery/firealarm{
+ dir = 1;
+ pixel_y = -24
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bDN" = (
+/obj/machinery/door/airlock/glass_medical{
+ id_tag = "medmain";
+ name = "Medbay";
+ req_access_txt = "5"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bDO" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bDP" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bDQ" = (
+/obj/machinery/portable_atmospherics/canister/oxygen,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bDR" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bDS" = (
+/obj/machinery/atmospherics/pipe/simple/general/visible{
+ dir = 5
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bDT" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bDU" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bDV" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 5
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/whiteblue/side{
+ tag = "icon-whiteblue (EAST)";
+ icon_state = "whiteblue";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bDW" = (
+/obj/machinery/door/airlock/glass_medical{
+ id_tag = "cloningmain";
+ name = "Genetics";
+ req_access_txt = "0";
+ req_one_access_txt = "5;9"
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/genetics_cloning)
+"bDX" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/disposalpipe/junction{
+ dir = 4;
+ icon_state = "pipe-j2"
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/genetics_cloning)
+"bDY" = (
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/holopad,
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/genetics_cloning)
+"bDZ" = (
+/obj/structure/table,
+/obj/item/weapon/book/manual/medical_cloning{
+ pixel_y = 6
+ },
+/obj/machinery/firealarm{
+ dir = 4;
+ pixel_x = 24
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/genetics_cloning)
+"bEa" = (
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bEb" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bEc" = (
+/obj/structure/disposaloutlet{
+ icon_state = "outlet";
+ dir = 1
+ },
+/obj/structure/disposalpipe/trunk,
+/turf/open/floor/plating/airless,
+/area/space)
+"bEd" = (
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bEe" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bEf" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"bEg" = (
+/obj/machinery/camera{
+ c_tag = "Hydroponics East";
+ dir = 9;
+ icon_state = "camera";
+ tag = "icon-camera (NORTHWEST)"
+ },
+/obj/structure/sink{
+ dir = 4;
+ icon_state = "sink";
+ pixel_x = 11;
+ pixel_y = 0
+ },
+/turf/open/floor/plasteel/darkgreen{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"bEh" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/machinery/chem_master/condimaster,
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel/hydrofloor{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"bEi" = (
+/obj/structure/grille,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/maintcentral{
+ name = "Central Asteroid Maintenance"
+ })
+"bEj" = (
+/obj/machinery/atmospherics/pipe/simple/orange/hidden{
+ tag = "icon-intact (SOUTHEAST)";
+ icon_state = "intact";
+ dir = 6
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/maintcentral{
+ name = "Central Asteroid Maintenance"
+ })
+"bEk" = (
+/obj/machinery/atmospherics/pipe/simple/orange/hidden{
+ tag = "icon-intact (EAST)";
+ icon_state = "intact";
+ dir = 4
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/maintcentral{
+ name = "Central Asteroid Maintenance"
+ })
+"bEl" = (
+/obj/machinery/atmospherics/pipe/simple/orange/hidden{
+ tag = "icon-intact (NORTHWEST)";
+ icon_state = "intact";
+ dir = 9
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/maintcentral{
+ name = "Central Asteroid Maintenance"
+ })
+"bEm" = (
+/obj/machinery/vending/coffee,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/break_room)
+"bEn" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 2;
+ on = 1
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/break_room)
+"bEo" = (
+/obj/structure/table,
+/obj/item/weapon/storage/box/cups,
+/turf/open/floor/plasteel/yellow/side{
+ tag = "icon-yellow (EAST)";
+ icon_state = "yellow";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/break_room)
+"bEp" = (
+/obj/machinery/atmospherics/pipe/simple/orange/hidden,
+/obj/machinery/status_display{
+ density = 0;
+ layer = 4
+ },
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engineering)
+"bEq" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 10
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/engine{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ name = "reinforced floor"
+ },
+/area/engine/supermatter)
+"bEr" = (
+/obj/effect/turf_decal/stripes/line,
+/obj/structure/cable/yellow{
+ icon_state = "1-4";
+ d1 = 1;
+ d2 = 4
+ },
+/turf/open/floor/engine{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ name = "reinforced floor"
+ },
+/area/engine/supermatter)
+"bEs" = (
+/obj/effect/turf_decal/stripes/corner{
+ dir = 1
+ },
+/obj/structure/cable/yellow{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_y = 0
+ },
+/turf/open/floor/engine{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ name = "reinforced floor"
+ },
+/area/engine/supermatter)
+"bEt" = (
+/obj/structure/cable/yellow{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_y = 0
+ },
+/turf/open/floor/engine{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ name = "reinforced floor"
+ },
+/area/engine/supermatter)
+"bEu" = (
+/obj/structure/cable/yellow{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_y = 0
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/turf/open/floor/engine{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ name = "reinforced floor"
+ },
+/area/engine/supermatter)
+"bEv" = (
+/obj/structure/cable/yellow{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_y = 0
+ },
+/obj/structure/cable/yellow{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/turf/open/floor/engine{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ name = "reinforced floor"
+ },
+/area/engine/supermatter)
+"bEw" = (
+/obj/effect/turf_decal/stripes/corner,
+/obj/structure/cable/yellow{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_y = 0
+ },
+/turf/open/floor/engine{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ name = "reinforced floor"
+ },
+/area/engine/supermatter)
+"bEx" = (
+/obj/effect/turf_decal/stripes/line,
+/obj/structure/cable/yellow{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8";
+ tag = ""
+ },
+/turf/open/floor/engine{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ name = "reinforced floor"
+ },
+/area/engine/supermatter)
+"bEy" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 6
+ },
+/obj/machinery/atmospherics/components/binary/pump{
+ dir = 1;
+ name = "Atmos To Loop";
+ on = 0
+ },
+/turf/open/floor/engine{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ name = "reinforced floor"
+ },
+/area/engine/supermatter)
+"bEz" = (
+/obj/machinery/status_display{
+ density = 0;
+ layer = 4
+ },
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engineering)
+"bEA" = (
+/obj/structure/table,
+/obj/item/weapon/storage/box/cups,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/disposalpipe/segment,
+/obj/machinery/camera{
+ c_tag = "Engineering Lobby East";
+ dir = 4;
+ icon_state = "camera";
+ network = list("SS13","CE")
+ },
+/turf/open/floor/plasteel/yellow/side{
+ tag = "icon-yellow (WEST)";
+ icon_state = "yellow";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/break_room)
+"bEB" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 8
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/break_room)
+"bEC" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 8;
+ layer = 2.4;
+ on = 1
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/break_room)
+"bED" = (
+/turf/open/floor/plasteel/red/side{
+ icon_state = "red";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/break_room)
+"bEE" = (
+/obj/structure/table/reinforced,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint/engineering)
+"bEF" = (
+/obj/structure/chair/office/dark{
+ dir = 8
+ },
+/obj/effect/landmark/start/depsec/engineering,
+/turf/open/floor/plasteel/red/side{
+ icon_state = "red";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint/engineering)
+"bEG" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint/engineering)
+"bEH" = (
+/obj/structure/table,
+/obj/machinery/recharger,
+/obj/machinery/camera{
+ c_tag = "Engineering Security Checkpoint";
+ dir = 9;
+ icon_state = "camera";
+ tag = "icon-camera (NORTHWEST)"
+ },
+/obj/item/device/radio/intercom{
+ broadcasting = 0;
+ name = "Station Intercom (General)";
+ pixel_x = 28;
+ pixel_y = 0
+ },
+/obj/machinery/light{
+ dir = 4
+ },
+/turf/open/floor/plasteel/red/side{
+ icon_state = "red";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint/engineering)
+"bEI" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bEJ" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
+/obj/structure/sign/bluecross_2{
+ pixel_x = 32
+ },
+/turf/open/floor/plasteel/arrival/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bEK" = (
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/chemistry)
+"bEL" = (
+/obj/structure/table/reinforced,
+/obj/machinery/door/window/northleft{
+ name = "Chemistry Desk";
+ req_access_txt = "33"
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/chemistry)
+"bEM" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/chemistry)
+"bEN" = (
+/obj/machinery/smartfridge/chemistry,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/chemistry)
+"bEO" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/machinery/button/door{
+ id = "medmain";
+ name = "Medbay Doors";
+ normaldoorcontrol = 1;
+ pixel_x = -24
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bEP" = (
+/obj/machinery/door/firedoor,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/delivery{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bEQ" = (
+/obj/machinery/door/firedoor,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/delivery{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bER" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 8
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bES" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 1
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bET" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/whiteblue/corner{
+ tag = "icon-whitebluecorner (EAST)";
+ icon_state = "whitebluecorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bEU" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/genetics_cloning)
+"bEV" = (
+/obj/structure/closet/wardrobe/white,
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/genetics_cloning)
+"bEW" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/genetics_cloning)
+"bEX" = (
+/obj/machinery/button/door{
+ id = "cloningmain";
+ name = "Cloning Door";
+ normaldoorcontrol = 1;
+ pixel_x = 0;
+ pixel_y = -24
+ },
+/obj/machinery/camera{
+ c_tag = "Cloning";
+ dir = 10;
+ icon_state = "camera";
+ network = list("SS13","CMO");
+ tag = "icon-camera (SOUTHWEST)"
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/genetics_cloning)
+"bEY" = (
+/obj/structure/table,
+/obj/item/weapon/storage/box/rxglasses{
+ pixel_x = 3;
+ pixel_y = 3
+ },
+/obj/item/weapon/storage/box/bodybags,
+/obj/item/weapon/pen,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/genetics_cloning)
+"bEZ" = (
+/turf/closed/wall/rust,
+/area/space)
+"bFa" = (
+/obj/structure/closet/emcloset,
+/obj/effect/decal/cleanable/cobweb,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bFb" = (
+/obj/machinery/light/small{
+ dir = 1
+ },
+/obj/effect/turf_decal/stripes/asteroid/line{
+ icon_state = "ast_warn";
+ dir = 4
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bFc" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "Port Asteroid Maintenance";
+ req_access_txt = "12"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bFd" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 5
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"bFe" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"bFf" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"bFg" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"bFh" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 1
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"bFi" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel/darkgreen/side{
+ tag = "icon-darkgreen (NORTHEAST)";
+ icon_state = "darkgreen";
+ dir = 5;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"bFj" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/machinery/door/airlock/glass{
+ name = "Hydroponics";
+ req_access_txt = "35"
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel/darkgreen{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"bFk" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel/hydrofloor{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"bFl" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 9
+ },
+/obj/structure/table,
+/obj/machinery/reagentgrinder,
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/turf/open/floor/plasteel/hydrofloor{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"bFm" = (
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bFn" = (
+/obj/structure/closet,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bFo" = (
+/obj/machinery/light/small{
+ dir = 8
+ },
+/turf/open/floor/plating/asteroid,
+/area/maintenance/maintcentral{
+ name = "Central Asteroid Maintenance"
+ })
+"bFp" = (
+/obj/structure/closet/firecloset/full,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/maintcentral{
+ name = "Central Asteroid Maintenance"
+ })
+"bFq" = (
+/obj/effect/turf_decal/stripes/asteroid/line,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/maintcentral{
+ name = "Central Asteroid Maintenance"
+ })
+"bFr" = (
+/obj/machinery/atmospherics/pipe/simple/orange/hidden,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/maintcentral{
+ name = "Central Asteroid Maintenance"
+ })
+"bFs" = (
+/obj/machinery/vending/snack,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/break_room)
+"bFt" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 8
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/break_room)
+"bFu" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 9
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/break_room)
+"bFv" = (
+/obj/structure/reagent_dispensers/water_cooler,
+/turf/open/floor/plasteel/yellow/side{
+ tag = "icon-yellow (EAST)";
+ icon_state = "yellow";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/break_room)
+"bFw" = (
+/obj/machinery/atmospherics/pipe/simple/orange/hidden{
+ tag = "icon-intact (NORTHEAST)";
+ icon_state = "intact";
+ dir = 5
+ },
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engineering)
+"bFx" = (
+/obj/machinery/atmospherics/pipe/simple/orange/visible{
+ dir = 4
+ },
+/turf/closed/wall/r_wall,
+/area/engine/engineering)
+"bFy" = (
+/obj/machinery/atmospherics/pipe/simple/orange/visible{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"bFz" = (
+/obj/machinery/atmospherics/pipe/simple/orange/visible{
+ dir = 10
+ },
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"bFA" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 10
+ },
+/obj/structure/closet/radiation,
+/turf/open/floor/engine{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ name = "reinforced floor"
+ },
+/area/engine/supermatter)
+"bFB" = (
+/obj/effect/turf_decal/stripes/line,
+/obj/structure/closet/radiation,
+/turf/open/floor/engine{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ name = "reinforced floor"
+ },
+/area/engine/supermatter)
+"bFC" = (
+/obj/effect/turf_decal/stripes/line,
+/obj/machinery/light,
+/turf/open/floor/engine{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ name = "reinforced floor"
+ },
+/area/engine/supermatter)
+"bFD" = (
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/engine{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ name = "reinforced floor"
+ },
+/area/engine/supermatter)
+"bFE" = (
+/obj/effect/turf_decal/stripes/line,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/obj/machinery/camera{
+ c_tag = "SM South";
+ dir = 1;
+ icon_state = "camera";
+ network = list("SS13","CE")
+ },
+/turf/open/floor/engine{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ name = "reinforced floor"
+ },
+/area/engine/supermatter)
+"bFF" = (
+/obj/effect/turf_decal/stripes/line,
+/obj/structure/cable/yellow{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/engine{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ name = "reinforced floor"
+ },
+/area/engine/supermatter)
+"bFG" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 6
+ },
+/obj/structure/closet/radiation,
+/turf/open/floor/engine{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ name = "reinforced floor"
+ },
+/area/engine/supermatter)
+"bFH" = (
+/obj/machinery/atmospherics/pipe/simple/orange/visible{
+ tag = "icon-intact (SOUTHEAST)";
+ icon_state = "intact";
+ dir = 6
+ },
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"bFI" = (
+/obj/machinery/atmospherics/pipe/simple/orange/visible{
+ dir = 9
+ },
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"bFJ" = (
+/obj/structure/reagent_dispensers/water_cooler,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/yellow/side{
+ tag = "icon-yellow (WEST)";
+ icon_state = "yellow";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/break_room)
+"bFK" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/break_room)
+"bFL" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/red/side{
+ icon_state = "red";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/break_room)
+"bFM" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/obj/machinery/door/airlock/glass_security{
+ name = "Prisoner Processing";
+ req_access_txt = "2"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/red{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint/engineering)
+"bFN" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/red/side{
+ icon_state = "red";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint/engineering)
+"bFO" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 9
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint/engineering)
+"bFP" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ on = 1
+ },
+/obj/machinery/computer/security/telescreen{
+ desc = "Used to watch the CE's wrench monkeys incase they build another disposal 'ride'.";
+ name = "Engineering Monitor";
+ network = list("CE")
+ },
+/obj/structure/table,
+/turf/open/floor/plasteel/red/side{
+ icon_state = "red";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint/engineering)
+"bFQ" = (
+/obj/structure/disposalpipe/segment,
+/obj/effect/landmark/lightsout,
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bFR" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/camera{
+ c_tag = "Medbay Asteroid Hallway 2";
+ dir = 8;
+ icon_state = "camera";
+ network = list("SS13","QM");
+ tag = "icon-camera (WEST)"
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bFS" = (
+/obj/machinery/chem_master,
+/turf/open/floor/plasteel/whiteyellow/side{
+ tag = "icon-whiteyellow (NORTHWEST)";
+ icon_state = "whiteyellow";
+ dir = 9;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/chemistry)
+"bFT" = (
+/obj/structure/chair/office/light{
+ dir = 1
+ },
+/obj/effect/landmark/start/chemist,
+/turf/open/floor/plasteel/whiteyellow/side{
+ tag = "icon-whiteyellow (NORTH)";
+ icon_state = "whiteyellow";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/chemistry)
+"bFU" = (
+/obj/structure/table/glass,
+/obj/item/weapon/storage/box/beakers{
+ pixel_x = 2;
+ pixel_y = 2
+ },
+/obj/item/weapon/reagent_containers/glass/beaker/large,
+/obj/item/weapon/reagent_containers/dropper,
+/turf/open/floor/plasteel/whiteyellow/side{
+ tag = "icon-whiteyellow (NORTH)";
+ icon_state = "whiteyellow";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/chemistry)
+"bFV" = (
+/turf/open/floor/plasteel/whiteyellow/side{
+ tag = "icon-whiteyellow (NORTH)";
+ icon_state = "whiteyellow";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/chemistry)
+"bFW" = (
+/obj/machinery/chem_master,
+/turf/open/floor/plasteel/whiteyellow/side{
+ tag = "icon-whiteyellow (NORTH)";
+ icon_state = "whiteyellow";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/chemistry)
+"bFX" = (
+/obj/machinery/airalarm{
+ frequency = 1439;
+ locked = 0;
+ pixel_y = 23
+ },
+/turf/open/floor/plasteel/whiteyellow/side{
+ tag = "icon-whiteyellow (NORTH)";
+ icon_state = "whiteyellow";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/chemistry)
+"bFY" = (
+/obj/structure/chair{
+ dir = 4
+ },
+/turf/open/floor/plasteel/whiteyellow/side{
+ tag = "icon-whiteyellow (NORTHEAST)";
+ icon_state = "whiteyellow";
+ dir = 5;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/chemistry)
+"bFZ" = (
+/obj/structure/table/reinforced,
+/obj/machinery/door/window/eastleft{
+ name = "Chemistry Desk";
+ req_access_txt = "33"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/chemistry)
+"bGa" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plasteel/whiteblue/corner{
+ tag = "icon-whitebluecorner (WEST)";
+ icon_state = "whitebluecorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bGb" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bGc" = (
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bGd" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bGe" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/machinery/camera{
+ c_tag = "Medbay South";
+ dir = 6;
+ icon_state = "camera"
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bGf" = (
+/obj/machinery/light{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bGg" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 9
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bGh" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/genetics)
+"bGi" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/genetics)
+"bGj" = (
+/obj/machinery/door/airlock/glass_research{
+ name = "Genetics Research";
+ req_access_txt = "0";
+ req_one_access_txt = "5;9"
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/genetics)
+"bGk" = (
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/genetics)
+"bGl" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/machinery/light/small{
+ dir = 4
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bGm" = (
+/obj/item/weapon/storage/toolbox/mechanical/old,
+/turf/open/floor/plating,
+/area/space)
+"bGn" = (
+/obj/structure/girder,
+/obj/item/stack/sheet/metal,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bGo" = (
+/obj/machinery/light/small,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bGp" = (
+/obj/effect/turf_decal/stripes/asteroid/line{
+ icon_state = "ast_warn";
+ dir = 4
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bGq" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 4;
+ on = 1
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"bGr" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 4
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"bGs" = (
+/obj/structure/table,
+/obj/item/seeds/grape,
+/obj/item/seeds/grape,
+/turf/open/floor/plasteel/green/side{
+ tag = "icon-green (NORTHWEST)";
+ icon_state = "green";
+ dir = 9;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"bGt" = (
+/obj/structure/table,
+/obj/machinery/light,
+/obj/item/seeds/apple,
+/obj/item/seeds/chili,
+/turf/open/floor/plasteel/green/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"bGu" = (
+/obj/structure/table,
+/obj/item/weapon/shovel/spade,
+/turf/open/floor/plasteel/green/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"bGv" = (
+/obj/machinery/biogenerator,
+/turf/open/floor/plasteel/green/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"bGw" = (
+/obj/machinery/seed_extractor,
+/turf/open/floor/plasteel/green/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"bGx" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ dir = 1;
+ on = 1
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"bGy" = (
+/obj/machinery/light,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"bGz" = (
+/obj/structure/reagent_dispensers/watertank/high,
+/obj/item/weapon/reagent_containers/glass/bucket,
+/turf/open/floor/plasteel/darkgreen/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"bGA" = (
+/obj/structure/reagent_dispensers/watertank/high,
+/obj/item/weapon/reagent_containers/glass/bucket,
+/turf/open/floor/plasteel/darkgreen/side{
+ tag = "icon-darkgreen (SOUTHEAST)";
+ icon_state = "darkgreen";
+ dir = 6;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"bGB" = (
+/obj/machinery/light,
+/turf/open/floor/plasteel/hydrofloor{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"bGC" = (
+/obj/structure/table,
+/obj/item/weapon/book/manual/hydroponics_pod_people,
+/obj/item/weapon/paper/hydroponics,
+/obj/item/stack/packageWrap,
+/obj/item/device/destTagger,
+/turf/open/floor/plasteel/hydrofloor{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"bGD" = (
+/obj/machinery/power/apc{
+ dir = 8;
+ name = "Hydroponics APC";
+ pixel_x = -23;
+ pixel_y = 2
+ },
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/obj/structure/cable/orange{
+ d2 = 4;
+ icon_state = "0-4"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bGE" = (
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bGF" = (
+/obj/machinery/status_display{
+ density = 0;
+ layer = 4
+ },
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bGG" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 6
+ },
+/obj/machinery/door/airlock/maintenance{
+ name = "Atmospehrics Maintenance";
+ req_access_txt = "12;24"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bGH" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/orange/visible,
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bGI" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bGJ" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 10
+ },
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bGK" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/machinery/light{
+ dir = 8
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/break_room)
+"bGL" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/break_room)
+"bGM" = (
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/break_room)
+"bGN" = (
+/obj/machinery/firealarm{
+ dir = 4;
+ pixel_x = 24
+ },
+/turf/open/floor/plasteel/yellow/side{
+ tag = "icon-yellow (EAST)";
+ icon_state = "yellow";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/break_room)
+"bGO" = (
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engineering)
+"bGP" = (
+/obj/machinery/power/apc{
+ dir = 1;
+ name = "Engineering APC";
+ pixel_x = 0;
+ pixel_y = 24
+ },
+/obj/structure/cable{
+ icon_state = "0-2";
+ pixel_y = 1;
+ d2 = 2
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engineering)
+"bGQ" = (
+/obj/structure/reagent_dispensers/fueltank,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engineering)
+"bGR" = (
+/obj/machinery/atmospherics/pipe/simple/orange/visible{
+ dir = 5
+ },
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"bGS" = (
+/obj/machinery/door/airlock/glass_engineering{
+ name = "Supermatter Engine Room";
+ req_access_txt = "10"
+ },
+/obj/machinery/atmospherics/pipe/simple/orange/visible{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/supermatter)
+"bGT" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/atmospherics/pipe/simple/orange/visible{
+ dir = 4
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/obj/structure/cable{
+ icon_state = "0-2";
+ pixel_y = 1;
+ d2 = 2
+ },
+/obj/machinery/door/firedoor,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/supermatter)
+"bGU" = (
+/obj/machinery/door/airlock/glass_engineering{
+ name = "Supermatter Engine Room";
+ req_access_txt = "10"
+ },
+/obj/machinery/atmospherics/pipe/simple/orange/visible{
+ dir = 4
+ },
+/obj/structure/cable/yellow{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/supermatter)
+"bGV" = (
+/obj/structure/reagent_dispensers/watertank,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engineering)
+"bGW" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/sign/map/left/ceres{
+ pixel_y = 32
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engineering)
+"bGX" = (
+/obj/machinery/firealarm{
+ dir = 8;
+ pixel_x = -24
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/yellow/corner{
+ tag = "icon-yellowcorner (NORTH)";
+ icon_state = "yellowcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/break_room)
+"bGY" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 6
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/break_room)
+"bGZ" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/red/corner{
+ tag = "icon-redcorner (EAST)";
+ icon_state = "redcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/break_room)
+"bHa" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_y = 0
+ },
+/obj/structure/cable{
+ d2 = 8;
+ icon_state = "0-8"
+ },
+/obj/structure/cable,
+/obj/machinery/door/firedoor,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plating/airless,
+/area/security/checkpoint/engineering)
+"bHb" = (
+/obj/machinery/computer/secure_data,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/machinery/firealarm{
+ dir = 1;
+ pixel_y = -24
+ },
+/turf/open/floor/plasteel/red/side{
+ icon_state = "red";
+ dir = 10;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint/engineering)
+"bHc" = (
+/obj/machinery/airalarm{
+ dir = 1;
+ icon_state = "alarm0";
+ pixel_y = -22
+ },
+/obj/structure/filingcabinet,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/red/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint/engineering)
+"bHd" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 9
+ },
+/obj/item/weapon/twohanded/required/kirbyplants{
+ tag = "icon-plant-21";
+ icon_state = "plant-21"
+ },
+/turf/open/floor/plasteel/red/side{
+ icon_state = "red";
+ dir = 6;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint/engineering)
+"bHe" = (
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bHf" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bHg" = (
+/obj/machinery/chem_dispenser,
+/turf/open/floor/plasteel/whiteyellow/side{
+ tag = "icon-whiteyellow (WEST)";
+ icon_state = "whiteyellow";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/chemistry)
+"bHh" = (
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/chemistry)
+"bHi" = (
+/obj/machinery/chem_heater,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/chemistry)
+"bHj" = (
+/obj/machinery/chem_dispenser,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/chemistry)
+"bHk" = (
+/turf/open/floor/plasteel/whiteyellow/side{
+ tag = "icon-whiteyellow (EAST)";
+ icon_state = "whiteyellow";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/chemistry)
+"bHl" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/disposalpipe/segment{
+ dir = 1;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plasteel/whiteblue/side{
+ tag = "icon-whiteblue (WEST)";
+ icon_state = "whiteblue";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bHm" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/disposalpipe/junction{
+ icon_state = "pipe-j1";
+ dir = 4
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bHn" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bHo" = (
+/obj/machinery/firealarm{
+ dir = 1;
+ pixel_y = -24
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bHp" = (
+/obj/structure/extinguisher_cabinet{
+ pixel_y = -32
+ },
+/obj/structure/disposalpipe/junction{
+ dir = 4;
+ icon_state = "pipe-j2"
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bHq" = (
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bHr" = (
+/obj/machinery/disposal/bin,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/disposalpipe/trunk{
+ dir = 4
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/genetics)
+"bHs" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/disposalpipe/junction,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/genetics)
+"bHt" = (
+/obj/machinery/airalarm{
+ frequency = 1439;
+ locked = 0;
+ pixel_y = 23
+ },
+/turf/open/floor/plasteel/whitepurple/side{
+ tag = "icon-whitepurple (EAST)";
+ icon_state = "whitepurple";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/genetics)
+"bHu" = (
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/turf/open/floor/grass{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/genetics)
+"bHv" = (
+/turf/open/floor/grass{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/genetics)
+"bHw" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bHx" = (
+/obj/item/weapon/coin/gold,
+/turf/open/floor/plating,
+/area/space)
+"bHy" = (
+/obj/machinery/light/small{
+ dir = 8
+ },
+/turf/open/floor/plating/asteroid,
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bHz" = (
+/obj/structure/rack,
+/obj/effect/spawner/lootdrop/maintenance,
+/obj/item/weapon/electronics/airlock,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bHA" = (
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/fitness)
+"bHB" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "Port Asteroid Maintenance";
+ req_access_txt = "12"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bHC" = (
+/obj/machinery/status_display{
+ density = 0;
+ layer = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/fitness)
+"bHD" = (
+/obj/machinery/door/firedoor,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/effect/turf_decal/stripes/line,
+/obj/machinery/door/airlock/glass,
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"bHE" = (
+/obj/machinery/door/firedoor,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"bHF" = (
+/obj/machinery/door/firedoor,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"bHG" = (
+/obj/structure/disposalpipe/sortjunction{
+ dir = 2;
+ icon_state = "pipe-j1s";
+ name = "disposal pipe - Library";
+ sortType = 16
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"bHH" = (
+/obj/effect/turf_decal/delivery,
+/turf/open/floor/plasteel/vault{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 5
+ },
+/area/atmos)
+"bHI" = (
+/obj/machinery/portable_atmospherics/canister/freon,
+/obj/effect/turf_decal/delivery,
+/turf/open/floor/plasteel/vault{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 5
+ },
+/area/atmos)
+"bHJ" = (
+/obj/machinery/portable_atmospherics/canister/toxins,
+/obj/effect/turf_decal/delivery,
+/turf/open/floor/plasteel/vault{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 5
+ },
+/area/atmos)
+"bHK" = (
+/obj/machinery/portable_atmospherics/canister/oxygen,
+/obj/effect/turf_decal/delivery,
+/turf/open/floor/plasteel/vault{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 5
+ },
+/area/atmos)
+"bHL" = (
+/obj/machinery/light{
+ icon_state = "tube1";
+ dir = 8
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bHM" = (
+/obj/structure/closet/firecloset/full,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bHN" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/visible,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bHO" = (
+/obj/structure/table,
+/obj/item/stack/sheet/metal/fifty,
+/obj/item/stack/rods{
+ amount = 50
+ },
+/obj/machinery/atmospherics/pipe/simple/orange/visible,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bHP" = (
+/obj/structure/table,
+/obj/item/stack/sheet/glass/fifty,
+/obj/machinery/power/apc{
+ dir = 1;
+ name = "Atmospherics APC";
+ pixel_x = 0;
+ pixel_y = 24
+ },
+/obj/structure/cable{
+ icon_state = "0-2";
+ pixel_y = 1;
+ d2 = 2
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bHQ" = (
+/obj/structure/table,
+/obj/item/weapon/grenade/chem_grenade/metalfoam,
+/obj/item/weapon/grenade/chem_grenade/metalfoam,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bHR" = (
+/obj/structure/rack,
+/obj/item/clothing/mask/gas,
+/obj/item/clothing/mask/gas,
+/obj/item/clothing/head/welding,
+/obj/item/clothing/head/welding,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bHS" = (
+/obj/structure/tank_dispenser,
+/turf/open/floor/plasteel/yellow/side{
+ tag = "icon-yellow (EAST)";
+ icon_state = "yellow";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bHT" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 8
+ },
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bHU" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,
+/turf/open/floor/plasteel/yellow/side{
+ tag = "icon-yellow (WEST)";
+ icon_state = "yellow";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/break_room)
+"bHV" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/break_room)
+"bHW" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/break_room)
+"bHX" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/yellow/side{
+ tag = "icon-yellow (EAST)";
+ icon_state = "yellow";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/break_room)
+"bHY" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engineering)
+"bHZ" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engineering)
+"bIa" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engineering)
+"bIb" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engineering)
+"bIc" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/item/weapon/twohanded/required/kirbyplants{
+ icon_state = "plant-20";
+ luminosity = 2;
+ tag = "icon-plant-20"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engineering)
+"bId" = (
+/obj/structure/table,
+/obj/item/stack/sheet/glass/fifty,
+/obj/item/stack/sheet/glass/fifty,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engineering)
+"bIe" = (
+/obj/structure/table,
+/obj/item/stack/sheet/metal/fifty,
+/obj/item/stack/sheet/metal/fifty,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engineering)
+"bIf" = (
+/obj/structure/table,
+/obj/item/stack/rods{
+ amount = 50
+ },
+/obj/item/stack/rods{
+ amount = 50
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/mob/living/simple_animal/parrot/Poly,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engineering)
+"bIg" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/cable/yellow{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engineering)
+"bIh" = (
+/obj/structure/table,
+/obj/item/stack/sheet/plasteel/fifty,
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 1
+ },
+/obj/machinery/airalarm{
+ frequency = 1439;
+ locked = 0;
+ pixel_y = 23
+ },
+/obj/structure/cable/yellow{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engineering)
+"bIi" = (
+/obj/structure/table,
+/obj/item/stack/sheet/rglass{
+ amount = 50
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/cable/yellow{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engineering)
+"bIj" = (
+/obj/structure/table,
+/obj/item/stack/cable_coil,
+/obj/item/stack/cable_coil,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/cable/yellow{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engineering)
+"bIk" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 1
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engineering)
+"bIl" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engineering)
+"bIm" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/yellow/side{
+ tag = "icon-yellow (EAST)";
+ icon_state = "yellow";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engineering)
+"bIn" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engineering)
+"bIo" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plasteel/yellow/corner{
+ tag = "icon-yellowcorner (WEST)";
+ icon_state = "yellowcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/break_room)
+"bIp" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/break_room)
+"bIq" = (
+/obj/machinery/vending/cola,
+/turf/open/floor/plasteel/yellow/side{
+ tag = "icon-yellow (EAST)";
+ icon_state = "yellow";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/break_room)
+"bIr" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/door/firedoor,
+/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/stripes/line,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/machinery/door/airlock/glass,
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bIs" = (
+/obj/machinery/door/firedoor,
+/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/stripes/line,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/machinery/door/airlock/glass,
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bIt" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/machinery/door/firedoor,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/effect/turf_decal/stripes/line,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/machinery/door/airlock/glass,
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bIu" = (
+/obj/machinery/requests_console{
+ department = "Chemistry";
+ departmentType = 2;
+ name = "Chemistry RC";
+ pixel_x = -30;
+ pixel_y = 0
+ },
+/mob/living/simple_animal/bot/cleanbot{
+ name = "Na2CO3"
+ },
+/turf/open/floor/plasteel/whiteyellow/corner{
+ tag = "icon-whiteyellowcorner (NORTH)";
+ icon_state = "whiteyellowcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/chemistry)
+"bIv" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 4;
+ on = 1
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/chemistry)
+"bIw" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/chemistry)
+"bIx" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/holopad,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/chemistry)
+"bIy" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/chemistry)
+"bIz" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/chemistry)
+"bIA" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/whiteyellow/side{
+ tag = "icon-whiteyellow (EAST)";
+ icon_state = "whiteyellow";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/chemistry)
+"bIB" = (
+/obj/machinery/door/airlock/glass_medical{
+ id_tag = null;
+ name = "Chemistry Lab";
+ req_access_txt = "5; 33"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/chemistry)
+"bIC" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/whiteblue/side{
+ tag = "icon-whiteblue (WEST)";
+ icon_state = "whiteblue";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bID" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/junction{
+ icon_state = "pipe-j2";
+ dir = 1
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bIE" = (
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay2)
+"bIF" = (
+/obj/machinery/status_display{
+ density = 0;
+ layer = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay2)
+"bIG" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/genetics)
+"bIH" = (
+/obj/structure/chair/office/light{
+ dir = 4
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/disposalpipe/segment,
+/obj/effect/landmark/start/geneticist,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/genetics)
+"bII" = (
+/obj/machinery/computer/scan_consolenew,
+/turf/open/floor/plasteel/whitepurple/side{
+ tag = "icon-whitepurple (EAST)";
+ icon_state = "whitepurple";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/genetics)
+"bIJ" = (
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/mob/living/carbon/monkey,
+/turf/open/floor/grass{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/genetics)
+"bIK" = (
+/obj/structure/flora/tree/palm,
+/turf/open/floor/grass{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/genetics)
+"bIL" = (
+/obj/structure/closet/emcloset,
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bIM" = (
+/obj/structure/rack,
+/obj/item/clothing/suit/space/fragile,
+/obj/item/clothing/head/helmet/space/fragile,
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bIN" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bIO" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bIP" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bIQ" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bIR" = (
+/obj/structure/disposaloutlet{
+ dir = 4
+ },
+/obj/structure/disposalpipe/trunk{
+ dir = 8
+ },
+/turf/open/floor/plating/airless,
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bIS" = (
+/obj/machinery/disposal/deliveryChute{
+ dir = 8
+ },
+/obj/structure/disposalpipe/trunk{
+ dir = 4
+ },
+/turf/open/floor/plating/airless,
+/area/space)
+"bIT" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/space)
+"bIU" = (
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plating,
+/area/space)
+"bIV" = (
+/obj/machinery/airalarm{
+ dir = 4;
+ icon_state = "alarm0";
+ pixel_x = -22
+ },
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/fitness)
+"bIW" = (
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/fitness)
+"bIX" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ on = 1;
+ scrub_N2O = 0;
+ scrub_Toxins = 0
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/fitness)
+"bIY" = (
+/turf/open/floor/plasteel/vault{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 5
+ },
+/area/crew_quarters/fitness)
+"bIZ" = (
+/obj/item/device/radio/intercom{
+ broadcasting = 0;
+ name = "Station Intercom (General)";
+ pixel_x = 0;
+ pixel_y = 28
+ },
+/turf/open/floor/plasteel/vault{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 5
+ },
+/area/crew_quarters/fitness)
+"bJa" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 2;
+ on = 1
+ },
+/obj/machinery/camera{
+ c_tag = "Fitness North"
+ },
+/obj/item/weapon/twohanded/required/kirbyplants{
+ tag = "icon-applebush";
+ icon_state = "applebush"
+ },
+/turf/open/floor/plasteel/vault{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 5
+ },
+/area/crew_quarters/fitness)
+"bJb" = (
+/mob/living/simple_animal/crab{
+ desc = "The local trainer hired to keep the crew in shape by aggressively snipping at them.";
+ name = "Crabohydrates"
+ },
+/turf/open/floor/plasteel/vault{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 5
+ },
+/area/crew_quarters/fitness)
+"bJc" = (
+/obj/structure/sign/poster/random{
+ name = "random official poster";
+ pixel_x = 0;
+ pixel_y = 32;
+ random_basetype = /obj/structure/sign/poster/official
+ },
+/obj/structure/table,
+/obj/item/weapon/folder/red{
+ pixel_x = 8;
+ pixel_y = 6
+ },
+/obj/item/weapon/folder/yellow{
+ pixel_x = -2;
+ pixel_y = 2
+ },
+/turf/open/floor/plasteel/vault{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 5
+ },
+/area/crew_quarters/fitness)
+"bJd" = (
+/obj/machinery/light{
+ dir = 4;
+ icon_state = "tube1"
+ },
+/obj/structure/filingcabinet,
+/turf/open/floor/plasteel/vault{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 5
+ },
+/area/crew_quarters/fitness)
+"bJe" = (
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library)
+"bJf" = (
+/obj/structure/bookcase{
+ name = "Forbidden Knowledge"
+ },
+/turf/open/floor/plasteel/chapel{
+ tag = "icon-chapel (NORTH)";
+ icon_state = "chapel";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library)
+"bJg" = (
+/obj/structure/table/wood,
+/obj/item/device/taperecorder{
+ pixel_y = 0
+ },
+/obj/item/device/camera,
+/obj/item/device/radio/intercom{
+ pixel_y = 25
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library)
+"bJh" = (
+/obj/structure/table/wood,
+/obj/item/weapon/paper_bin{
+ pixel_x = -3;
+ pixel_y = 7
+ },
+/obj/item/weapon/pen/invisible,
+/obj/item/stack/packageWrap,
+/obj/item/device/destTagger,
+/turf/open/floor/plasteel/chapel{
+ tag = "icon-chapel (EAST)";
+ icon_state = "chapel";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library)
+"bJi" = (
+/obj/structure/disposalpipe/trunk{
+ dir = 1
+ },
+/obj/structure/disposaloutlet,
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library)
+"bJj" = (
+/obj/structure/table/wood,
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library)
+"bJk" = (
+/obj/machinery/airalarm{
+ frequency = 1439;
+ locked = 0;
+ pixel_y = 23
+ },
+/obj/item/weapon/twohanded/required/kirbyplants{
+ icon_state = "plant-22"
+ },
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library)
+"bJl" = (
+/obj/structure/extinguisher_cabinet{
+ pixel_y = 24
+ },
+/obj/machinery/power/apc{
+ dir = 4;
+ name = "Library APC";
+ pixel_x = 23;
+ pixel_y = 2
+ },
+/obj/structure/cable/orange{
+ d2 = 2;
+ icon_state = "0-2"
+ },
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library)
+"bJm" = (
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library{
+ name = "Lounge"
+ })
+"bJn" = (
+/obj/machinery/vending/coffee,
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library{
+ name = "Lounge"
+ })
+"bJo" = (
+/obj/structure/chair/comfy/black{
+ dir = 4
+ },
+/obj/machinery/light/small{
+ dir = 1
+ },
+/turf/open/floor/plasteel/grimy{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library{
+ name = "Lounge"
+ })
+"bJp" = (
+/obj/machinery/computer/security/telescreen/entertainment{
+ pixel_y = 32
+ },
+/turf/open/floor/plasteel/grimy{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library{
+ name = "Lounge"
+ })
+"bJq" = (
+/obj/structure/fireplace,
+/turf/open/floor/plasteel/grimy{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library{
+ name = "Lounge"
+ })
+"bJr" = (
+/turf/open/floor/plasteel/grimy{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library{
+ name = "Lounge"
+ })
+"bJs" = (
+/obj/structure/chair/comfy/black{
+ dir = 8
+ },
+/obj/machinery/light/small{
+ dir = 1
+ },
+/turf/open/floor/plasteel/grimy{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library{
+ name = "Lounge"
+ })
+"bJt" = (
+/obj/structure/rack,
+/obj/item/weapon/grown/log,
+/obj/item/weapon/grown/log,
+/obj/item/weapon/grown/log,
+/obj/item/weapon/grown/log,
+/obj/machinery/airalarm{
+ frequency = 1439;
+ locked = 0;
+ pixel_y = 23
+ },
+/obj/item/weapon/hatchet,
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library{
+ name = "Lounge"
+ })
+"bJu" = (
+/obj/structure/disposalpipe/segment,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library{
+ name = "Lounge"
+ })
+"bJv" = (
+/obj/machinery/portable_atmospherics/canister/water_vapor,
+/obj/effect/turf_decal/delivery,
+/turf/open/floor/plasteel/vault{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 5
+ },
+/area/atmos)
+"bJw" = (
+/obj/machinery/camera{
+ c_tag = "Atmospherics North-West";
+ dir = 4;
+ icon_state = "camera";
+ network = list("SS13","CE")
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bJx" = (
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bJy" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/visible,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bJz" = (
+/obj/machinery/atmospherics/pipe/simple/orange/visible,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bJA" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bJB" = (
+/obj/structure/chair/office/dark{
+ dir = 4
+ },
+/obj/effect/landmark/start/atmospheric_technician,
+/turf/open/floor/plasteel/yellow/side{
+ tag = "icon-yellow (EAST)";
+ icon_state = "yellow";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bJC" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/table/reinforced,
+/obj/machinery/door/poddoor/shutters/preopen{
+ id = "atmodesk"
+ },
+/obj/machinery/door/window/eastright{
+ req_access_txt = "24"
+ },
+/turf/open/floor/plasteel/yellow{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bJD" = (
+/turf/open/floor/plasteel/yellow/side{
+ tag = "icon-yellow (WEST)";
+ icon_state = "yellow";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/break_room)
+"bJE" = (
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 8
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/break_room)
+"bJF" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_y = 0
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 1
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/break_room)
+"bJG" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_y = 0
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/junction{
+ icon_state = "pipe-j1";
+ dir = 4
+ },
+/turf/open/floor/plasteel/yellow/side{
+ tag = "icon-yellow (EAST)";
+ icon_state = "yellow";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/break_room)
+"bJH" = (
+/obj/machinery/door/airlock/engineering{
+ cyclelinkeddir = null;
+ name = "Engine Room";
+ req_access_txt = "10;11"
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_y = 0
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/yellow{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engineering)
+"bJI" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_y = 0
+ },
+/turf/open/floor/plasteel/yellow/side{
+ tag = "icon-yellow (WEST)";
+ icon_state = "yellow";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engineering)
+"bJJ" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
+ },
+/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";
+ tag = ""
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engineering)
+"bJK" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_y = 0
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engineering)
+"bJL" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 1
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_y = 0
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engineering)
+"bJM" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_y = 0
+ },
+/obj/effect/landmark/start/station_engineer,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engineering)
+"bJN" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_y = 0
+ },
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8";
+ tag = ""
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engineering)
+"bJO" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_y = 0
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engineering)
+"bJP" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_y = 0
+ },
+/obj/structure/cable/yellow{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/effect/landmark/start/station_engineer,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engineering)
+"bJQ" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_y = 0
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engineering)
+"bJR" = (
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_y = 0
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engineering)
+"bJS" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_y = 0
+ },
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engineering)
+"bJT" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_y = 0
+ },
+/turf/open/floor/plasteel/yellow/side{
+ tag = "icon-yellow (EAST)";
+ icon_state = "yellow";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engineering)
+"bJU" = (
+/obj/machinery/door/airlock/engineering{
+ cyclelinkeddir = null;
+ name = "Engine Room";
+ req_access_txt = "10;11"
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_y = 0
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/yellow{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engineering)
+"bJV" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_y = 0
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/junction{
+ icon_state = "pipe-j1";
+ dir = 4
+ },
+/turf/open/floor/plasteel/yellow/side{
+ tag = "icon-yellow (WEST)";
+ icon_state = "yellow";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/break_room)
+"bJW" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_y = 0
+ },
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/break_room)
+"bJX" = (
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8";
+ tag = ""
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 5
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/break_room)
+"bJY" = (
+/obj/machinery/vending/cigarette,
+/obj/machinery/light{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 10
+ },
+/turf/open/floor/plasteel/yellow/side{
+ tag = "icon-yellow (EAST)";
+ icon_state = "yellow";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/break_room)
+"bJZ" = (
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/gravity_generator)
+"bKa" = (
+/obj/machinery/firealarm{
+ dir = 8;
+ pixel_x = -24
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/chemistry)
+"bKb" = (
+/obj/structure/disposalpipe/segment,
+/obj/effect/landmark/event_spawn,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/chemistry)
+"bKc" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ dir = 4;
+ on = 1
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/chemistry)
+"bKd" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/chemistry)
+"bKe" = (
+/obj/structure/extinguisher_cabinet{
+ pixel_x = 24
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/whiteyellow/corner{
+ tag = "icon-whiteyellowcorner (EAST)";
+ icon_state = "whiteyellowcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/chemistry)
+"bKf" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/chemistry)
+"bKg" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/whiteblue/side{
+ tag = "icon-whiteblue (SOUTHWEST)";
+ icon_state = "whiteblue";
+ dir = 10;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bKh" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/whiteblue/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bKi" = (
+/turf/open/floor/plasteel/whiteblue/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"bKj" = (
+/obj/structure/table,
+/obj/item/weapon/folder/white,
+/obj/item/weapon/gun/syringe,
+/obj/item/weapon/reagent_containers/dropper,
+/obj/item/weapon/soap/nanotrasen,
+/obj/machinery/newscaster{
+ pixel_y = 32
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay2)
+"bKk" = (
+/obj/structure/table,
+/obj/item/weapon/storage/firstaid/o2{
+ pixel_x = 3;
+ pixel_y = 3
+ },
+/obj/item/weapon/storage/firstaid/o2,
+/obj/item/weapon/storage/firstaid/regular{
+ pixel_x = -3;
+ pixel_y = -3
+ },
+/obj/machinery/airalarm{
+ frequency = 1439;
+ locked = 0;
+ pixel_y = 23
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay2)
+"bKl" = (
+/obj/structure/table,
+/obj/item/device/radio/intercom,
+/obj/item/weapon/storage/firstaid/toxin{
+ pixel_x = 3;
+ pixel_y = 3
+ },
+/obj/item/weapon/storage/firstaid/toxin,
+/obj/item/weapon/storage/firstaid/regular{
+ pixel_x = -3;
+ pixel_y = -3
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay2)
+"bKm" = (
+/obj/structure/table,
+/obj/item/weapon/storage/firstaid/fire{
+ pixel_x = 3;
+ pixel_y = 3
+ },
+/obj/item/weapon/storage/firstaid/fire,
+/obj/item/weapon/storage/firstaid/regular{
+ pixel_x = -3;
+ pixel_y = -3
+ },
+/obj/item/device/radio/intercom{
+ broadcasting = 0;
+ name = "Station Intercom (General)";
+ pixel_y = 20
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay2)
+"bKn" = (
+/obj/structure/table,
+/obj/item/weapon/storage/firstaid/brute{
+ pixel_x = 3;
+ pixel_y = 3
+ },
+/obj/item/weapon/storage/firstaid/brute,
+/obj/item/weapon/storage/firstaid/regular{
+ pixel_x = -3;
+ pixel_y = -3
+ },
+/obj/machinery/light{
+ dir = 1
+ },
+/obj/structure/window/reinforced{
+ dir = 4;
+ pixel_x = 0
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay2)
+"bKo" = (
+/obj/structure/disposalpipe/trunk,
+/obj/structure/disposaloutlet,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay2)
+"bKp" = (
+/obj/structure/closet/secure_closet/medical1,
+/obj/item/device/radio/intercom{
+ broadcasting = 0;
+ name = "Station Intercom (General)";
+ pixel_x = -28;
+ pixel_y = 0
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/genetics)
+"bKq" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ dir = 4;
+ on = 1
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/genetics)
+"bKr" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 9
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
+/obj/effect/landmark/event_spawn,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/genetics)
+"bKs" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/genetics)
+"bKt" = (
+/obj/machinery/dna_scannernew,
+/turf/open/floor/plasteel/whitepurple/side{
+ tag = "icon-whitepurple (EAST)";
+ icon_state = "whitepurple";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/genetics)
+"bKu" = (
+/obj/machinery/light/small{
+ dir = 8
+ },
+/turf/open/floor/plating/asteroid,
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bKv" = (
+/obj/structure/disposalpipe/junction{
+ tag = "icon-pipe-j2 (WEST)";
+ icon_state = "pipe-j2";
+ dir = 8
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bKw" = (
+/obj/structure/disposalpipe/sortjunction{
+ dir = 1;
+ icon_state = "pipe-j2s";
+ name = "disposal pipe - Engineering";
+ sortType = 4;
+ tag = "icon-pipe-j2s (NORTH)"
+ },
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bKx" = (
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bKy" = (
+/obj/item/chair,
+/obj/machinery/light/small{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bKz" = (
+/obj/structure/weightlifter,
+/obj/structure/extinguisher_cabinet{
+ pixel_x = -24
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/fitness)
+"bKA" = (
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/fitness)
+"bKB" = (
+/obj/structure/stacklifter,
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/fitness)
+"bKC" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 6
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/fitness)
+"bKD" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/fitness)
+"bKE" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/table,
+/turf/open/floor/plasteel/vault{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 5
+ },
+/area/crew_quarters/fitness)
+"bKF" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/vault{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 5
+ },
+/area/crew_quarters/fitness)
+"bKG" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden,
+/obj/structure/chair/office/dark,
+/obj/effect/landmark/start/assistant,
+/turf/open/floor/plasteel/vault{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 5
+ },
+/area/crew_quarters/fitness)
+"bKH" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/newscaster{
+ pixel_x = 28;
+ pixel_y = 4
+ },
+/turf/open/floor/plasteel/vault{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 5
+ },
+/area/crew_quarters/fitness)
+"bKI" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/fitness)
+"bKJ" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"bKK" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"bKL" = (
+/obj/item/device/radio/intercom{
+ broadcasting = 0;
+ name = "Station Intercom (General)";
+ pixel_x = -28;
+ pixel_y = 0
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library)
+"bKM" = (
+/obj/structure/chair/comfy/brown{
+ dir = 1
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library)
+"bKN" = (
+/obj/structure/destructible/cult/tome,
+/obj/item/clothing/under/suit_jacket/red,
+/obj/item/weapon/book/codex_gigas,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library)
+"bKO" = (
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library)
+"bKP" = (
+/obj/machinery/door/window{
+ dir = 8;
+ icon_state = "right";
+ name = "Library Desk";
+ opacity = 1;
+ req_access_txt = "37";
+ tag = "icon-right (WEST)"
+ },
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library)
+"bKQ" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/light{
+ dir = 4;
+ icon_state = "tube1"
+ },
+/obj/structure/sign/poster/random{
+ name = "random official poster";
+ pixel_x = 32;
+ random_basetype = /obj/structure/sign/poster/official
+ },
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library)
+"bKR" = (
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library{
+ name = "Lounge"
+ })
+"bKS" = (
+/obj/structure/chair/comfy/black{
+ tag = "icon-comfychair (NORTH)";
+ icon_state = "comfychair";
+ dir = 1
+ },
+/obj/effect/landmark/start/assistant,
+/turf/open/floor/plasteel/grimy{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library{
+ name = "Lounge"
+ })
+"bKT" = (
+/obj/structure/table/wood,
+/turf/open/floor/plasteel/grimy{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library{
+ name = "Lounge"
+ })
+"bKU" = (
+/obj/structure/chair/comfy/black{
+ tag = "icon-comfychair (NORTH)";
+ icon_state = "comfychair";
+ dir = 1
+ },
+/turf/open/floor/plasteel/grimy{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library{
+ name = "Lounge"
+ })
+"bKV" = (
+/obj/structure/extinguisher_cabinet{
+ pixel_x = 28
+ },
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library{
+ name = "Lounge"
+ })
+"bKW" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/grille,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bKX" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bKY" = (
+/obj/machinery/light{
+ icon_state = "tube1";
+ dir = 8
+ },
+/turf/open/floor/plasteel/vault{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 5
+ },
+/area/atmos)
+"bKZ" = (
+/turf/open/floor/plasteel/vault{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 5
+ },
+/area/atmos)
+"bLa" = (
+/obj/machinery/door/airlock/engineering{
+ cyclelinkeddir = null;
+ name = "Atmospherics Storage";
+ req_access_txt = "24"
+ },
+/turf/open/floor/plasteel/vault{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 5
+ },
+/area/atmos)
+"bLb" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4";
+ tag = ""
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bLc" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bLd" = (
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8";
+ tag = ""
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bLe" = (
+/obj/machinery/light{
+ dir = 4;
+ icon_state = "tube1"
+ },
+/obj/machinery/button/door{
+ id = "atmodesk";
+ name = "Atmospherics Desk Shutters";
+ pixel_x = 24
+ },
+/obj/item/weapon/twohanded/required/kirbyplants{
+ tag = "icon-plant-13";
+ icon_state = "plant-13"
+ },
+/turf/open/floor/plasteel/yellow/side{
+ dir = 6
+ },
+/area/atmos)
+"bLf" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bLg" = (
+/obj/machinery/atmospherics/components/unary/portables_connector/visible,
+/obj/machinery/portable_atmospherics/scrubber,
+/turf/open/floor/plasteel/yellow/side{
+ tag = "icon-yellow (SOUTHWEST)";
+ icon_state = "yellow";
+ dir = 10;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/break_room)
+"bLh" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/yellow/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/break_room)
+"bLi" = (
+/obj/machinery/atmospherics/components/unary/portables_connector/visible{
+ dir = 1
+ },
+/obj/machinery/portable_atmospherics/pump,
+/turf/open/floor/plasteel/yellow/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/break_room)
+"bLj" = (
+/obj/machinery/disposal/bin,
+/obj/structure/disposalpipe/trunk{
+ dir = 1
+ },
+/turf/open/floor/plasteel/yellow/side{
+ tag = "icon-yellow (SOUTHEAST)";
+ icon_state = "yellow";
+ dir = 6;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/break_room)
+"bLk" = (
+/turf/open/floor/plasteel/yellow/side{
+ tag = "icon-yellow (WEST)";
+ icon_state = "yellow";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engineering)
+"bLl" = (
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engineering)
+"bLm" = (
+/obj/structure/table,
+/obj/machinery/cell_charger,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engineering)
+"bLn" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engineering)
+"bLo" = (
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engineering)
+"bLp" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engineering)
+"bLq" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ dir = 1;
+ on = 1;
+ scrub_N2O = 0;
+ scrub_Toxins = 0
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engineering)
+"bLr" = (
+/obj/structure/disposalpipe/segment,
+/obj/structure/cable/yellow{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engineering)
+"bLs" = (
+/obj/structure/table,
+/obj/item/weapon/storage/toolbox/electrical{
+ pixel_x = -4;
+ pixel_x = 1;
+ pixel_y = 5
+ },
+/obj/item/weapon/storage/box/lights/mixed,
+/obj/item/weapon/storage/box/lights/mixed,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engineering)
+"bLt" = (
+/turf/open/floor/plasteel/yellow/side{
+ tag = "icon-yellow (EAST)";
+ icon_state = "yellow";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engineering)
+"bLu" = (
+/obj/machinery/disposal/bin,
+/obj/structure/disposalpipe/trunk{
+ dir = 1
+ },
+/turf/open/floor/plasteel/yellow/side{
+ tag = "icon-yellow (SOUTHWEST)";
+ icon_state = "yellow";
+ dir = 10;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/break_room)
+"bLv" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 5
+ },
+/turf/open/floor/plasteel/yellow/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/break_room)
+"bLw" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 10
+ },
+/turf/open/floor/plasteel/yellow/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/break_room)
+"bLx" = (
+/obj/structure/table,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/item/stack/packageWrap,
+/obj/item/device/destTagger,
+/turf/open/floor/plasteel/yellow/side{
+ tag = "icon-yellow (SOUTHEAST)";
+ icon_state = "yellow";
+ dir = 6;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/break_room)
+"bLy" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/structure/table,
+/obj/item/device/geiger_counter,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/gravity_generator)
+"bLz" = (
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/gravity_generator)
+"bLA" = (
+/obj/machinery/light/small{
+ dir = 4
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/maintcentral{
+ name = "Central Asteroid Maintenance"
+ })
+"bLB" = (
+/obj/machinery/light{
+ icon_state = "tube1";
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bLC" = (
+/obj/structure/closet/secure_closet/chemical,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/chemistry)
+"bLD" = (
+/obj/structure/table/glass,
+/obj/item/hand_labeler_refill,
+/obj/item/hand_labeler_refill,
+/obj/item/weapon/hand_labeler,
+/obj/item/stack/packageWrap,
+/obj/machinery/light,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/chemistry)
+"bLE" = (
+/obj/structure/table/glass,
+/obj/item/stack/cable_coil/random,
+/obj/item/stack/cable_coil/random,
+/obj/item/weapon/book/manual/wiki/chemistry,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/chemistry)
+"bLF" = (
+/obj/structure/table/glass,
+/obj/item/weapon/reagent_containers/glass/bottle/epinephrine,
+/obj/item/stack/sheet/mineral/plasma{
+ layer = 2.9
+ },
+/obj/item/stack/sheet/mineral/plasma{
+ layer = 2.9
+ },
+/obj/machinery/camera{
+ c_tag = "Chemistry";
+ dir = 10;
+ icon_state = "camera";
+ network = list("SS13","CMO");
+ tag = "icon-camera (SOUTHWEST)"
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/chemistry)
+"bLG" = (
+/obj/machinery/disposal/bin,
+/obj/structure/disposalpipe/trunk{
+ dir = 1
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/chemistry)
+"bLH" = (
+/obj/structure/table/glass,
+/obj/machinery/reagentgrinder,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/chemistry)
+"bLI" = (
+/obj/structure/table/glass,
+/obj/item/weapon/storage/box/syringes,
+/obj/item/clothing/glasses/science{
+ pixel_x = 2;
+ pixel_y = 4
+ },
+/obj/item/clothing/glasses/science,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/chemistry)
+"bLJ" = (
+/obj/structure/table/glass,
+/obj/item/weapon/grenade/chem_grenade,
+/obj/item/weapon/grenade/chem_grenade,
+/obj/item/weapon/grenade/chem_grenade,
+/obj/item/weapon/grenade/chem_grenade,
+/obj/item/weapon/screwdriver{
+ pixel_x = -2;
+ pixel_y = 6
+ },
+/obj/machinery/light,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/chemistry)
+"bLK" = (
+/obj/structure/closet/wardrobe/chemistry_white,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/chemistry)
+"bLL" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay2)
+"bLM" = (
+/obj/machinery/door/airlock/glass_medical{
+ id_tag = null;
+ name = "Medbay Storage";
+ req_access_txt = "45"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay2)
+"bLN" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay2)
+"bLO" = (
+/obj/structure/table,
+/obj/structure/bedsheetbin{
+ pixel_x = 2
+ },
+/obj/item/clothing/suit/straight_jacket,
+/obj/item/clothing/mask/muzzle,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay2)
+"bLP" = (
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay2)
+"bLQ" = (
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay2)
+"bLR" = (
+/obj/structure/closet/secure_closet/personal/patient,
+/obj/machinery/requests_console{
+ department = "Genetics";
+ departmentType = 0;
+ name = "Genetics Requests Console";
+ pixel_x = -30;
+ pixel_y = 0
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/genetics)
+"bLS" = (
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/genetics)
+"bLT" = (
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/genetics)
+"bLU" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 1;
+ on = 1
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/genetics)
+"bLV" = (
+/turf/open/floor/plasteel/whitepurple/side{
+ tag = "icon-whitepurple (EAST)";
+ icon_state = "whitepurple";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/genetics)
+"bLW" = (
+/obj/machinery/door/window/westleft{
+ name = "Monkey Pen";
+ req_access_txt = "9"
+ },
+/mob/living/carbon/monkey,
+/turf/open/floor/grass{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/genetics)
+"bLX" = (
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/genetics)
+"bLY" = (
+/obj/structure/disposalpipe/segment,
+/obj/structure/girder,
+/obj/structure/grille,
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bLZ" = (
+/obj/structure/disposalpipe/junction{
+ icon_state = "pipe-j1";
+ dir = 1
+ },
+/obj/structure/girder,
+/obj/structure/grille,
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bMa" = (
+/obj/structure/disposalpipe/sortjunction{
+ dir = 1;
+ icon_state = "pipe-j2s";
+ name = "disposal pipe - Atmospherics";
+ sortType = 6;
+ tag = "icon-pipe-j2s (NORTH)"
+ },
+/obj/structure/grille/broken,
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bMb" = (
+/obj/structure/grille/broken,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bMc" = (
+/obj/structure/table,
+/obj/item/weapon/storage/fancy/cigarettes,
+/turf/open/floor/plating/airless,
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bMd" = (
+/obj/structure/disposalpipe/segment,
+/obj/effect/spawner/lootdrop/grille_or_trash,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bMe" = (
+/obj/structure/sign/poster/random{
+ name = "random official poster";
+ pixel_x = -32;
+ random_basetype = /obj/structure/sign/poster/official
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/fitness)
+"bMf" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/fitness)
+"bMg" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/fitness)
+"bMh" = (
+/obj/structure/table,
+/turf/open/floor/plasteel/vault{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 5
+ },
+/area/crew_quarters/fitness)
+"bMi" = (
+/obj/structure/table,
+/obj/item/weapon/paper_bin{
+ pixel_x = -3;
+ pixel_y = 7
+ },
+/obj/item/weapon/pen,
+/turf/open/floor/plasteel/vault{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 5
+ },
+/area/crew_quarters/fitness)
+"bMj" = (
+/obj/structure/grille,
+/obj/machinery/door/firedoor,
+/obj/structure/window/fulltile,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/fitness)
+"bMk" = (
+/obj/machinery/light/small,
+/turf/open/floor/plasteel/chapel{
+ tag = "icon-chapel (WEST)";
+ icon_state = "chapel";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library)
+"bMl" = (
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library)
+"bMm" = (
+/turf/open/floor/plasteel/chapel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library)
+"bMn" = (
+/obj/structure/table/wood,
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library)
+"bMo" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 6
+ },
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library)
+"bMp" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library)
+"bMq" = (
+/obj/machinery/door/airlock/glass{
+ name = "Library"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/door/firedoor,
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library{
+ name = "Lounge"
+ })
+"bMr" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library{
+ name = "Lounge"
+ })
+"bMs" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/grimy{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library{
+ name = "Lounge"
+ })
+"bMt" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 8;
+ layer = 2.4;
+ on = 1
+ },
+/obj/machinery/light_switch{
+ pixel_x = 24
+ },
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library{
+ name = "Lounge"
+ })
+"bMu" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/item/device/assembly/mousetrap/armed,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bMv" = (
+/obj/effect/turf_decal/delivery,
+/obj/machinery/camera{
+ c_tag = "Atmospherics Storage";
+ dir = 4;
+ icon_state = "camera";
+ network = list("SS13","CE")
+ },
+/turf/open/floor/plasteel/vault{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 5
+ },
+/area/atmos)
+"bMw" = (
+/obj/machinery/portable_atmospherics/canister/carbon_dioxide,
+/obj/effect/turf_decal/delivery,
+/turf/open/floor/plasteel/vault{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 5
+ },
+/area/atmos)
+"bMx" = (
+/obj/machinery/portable_atmospherics/canister/nitrous_oxide,
+/obj/effect/turf_decal/delivery,
+/turf/open/floor/plasteel/vault{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 5
+ },
+/area/atmos)
+"bMy" = (
+/obj/machinery/portable_atmospherics/canister/nitrogen,
+/obj/effect/turf_decal/delivery,
+/turf/open/floor/plasteel/vault{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 5
+ },
+/area/atmos)
+"bMz" = (
+/obj/machinery/atmospherics/pipe/simple/orange/visible{
+ dir = 5
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bMA" = (
+/obj/machinery/atmospherics/pipe/simple/orange/visible{
+ dir = 10
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bMB" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 5
+ },
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bMC" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bMD" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment,
+/obj/machinery/door/airlock/atmos{
+ name = "Atmospherics";
+ req_access_txt = "24"
+ },
+/turf/open/floor/plasteel/yellow{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bME" = (
+/obj/machinery/camera{
+ c_tag = "Engineering West";
+ dir = 4;
+ icon_state = "camera";
+ network = list("SS13","CE")
+ },
+/turf/open/floor/plasteel/yellow/side{
+ tag = "icon-yellow (WEST)";
+ icon_state = "yellow";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engineering)
+"bMF" = (
+/obj/structure/table,
+/obj/item/weapon/storage/toolbox/mechanical,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engineering)
+"bMG" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/table,
+/obj/item/weapon/storage/toolbox/electrical{
+ pixel_x = -4;
+ pixel_x = 1;
+ pixel_y = 5
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engineering)
+"bMH" = (
+/obj/structure/table,
+/obj/item/weapon/book/manual/wiki/engineering_construction,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engineering)
+"bMI" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 2;
+ on = 1
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engineering)
+"bMJ" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/obj/effect/landmark/event_spawn,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engineering)
+"bMK" = (
+/obj/effect/landmark/start/station_engineer,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engineering)
+"bML" = (
+/obj/structure/disposalpipe/segment,
+/obj/structure/table,
+/obj/structure/cable/yellow{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/item/weapon/book/manual/wiki/engineering_guide,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engineering)
+"bMM" = (
+/obj/structure/table,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engineering)
+"bMN" = (
+/obj/structure/table,
+/obj/item/clothing/head/welding,
+/obj/item/clothing/head/welding,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engineering)
+"bMO" = (
+/obj/structure/closet/secure_closet/engineering_personal,
+/obj/item/weapon/pickaxe/mini,
+/obj/machinery/camera{
+ c_tag = "Engineering East";
+ dir = 9;
+ icon_state = "camera";
+ network = list("SS13","CE");
+ tag = "icon-camera (NORTHWEST)"
+ },
+/turf/open/floor/plasteel/yellow/side{
+ tag = "icon-yellow (EAST)";
+ icon_state = "yellow";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engineering)
+"bMP" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/door/airlock/engineering{
+ cyclelinkeddir = null;
+ name = "Gravity Generator";
+ req_access_txt = "10;11"
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/gravity_generator)
+"bMQ" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/gravity_generator)
+"bMR" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/machinery/light{
+ dir = 8
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/gravity_generator)
+"bMS" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 5
+ },
+/obj/structure/closet/secure_closet/medical3,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay2)
+"bMT" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay2)
+"bMU" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay2)
+"bMV" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ dir = 8;
+ on = 1;
+ scrub_Toxins = 0
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay2)
+"bMW" = (
+/obj/effect/landmark/start/medical_doctor,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay2)
+"bMX" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay2)
+"bMY" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/landmark/start/medical_doctor,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay2)
+"bMZ" = (
+/obj/structure/sink{
+ dir = 4;
+ icon_state = "sink";
+ pixel_x = 11;
+ pixel_y = 0
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
+/obj/machinery/firealarm{
+ dir = 4;
+ pixel_x = 24
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay2)
+"bNa" = (
+/obj/structure/closet/wardrobe/genetics_white,
+/obj/machinery/light{
+ icon_state = "tube1";
+ dir = 8
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/genetics)
+"bNb" = (
+/obj/structure/disposalpipe/segment{
+ dir = 1;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/genetics)
+"bNc" = (
+/obj/structure/chair/office/light{
+ dir = 4
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
+ },
+/obj/effect/landmark/start/geneticist,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/genetics)
+"bNd" = (
+/obj/structure/disposalpipe/segment,
+/obj/machinery/light/small{
+ dir = 8
+ },
+/obj/structure/rack,
+/obj/item/weapon/storage/toolbox/mechanical,
+/obj/item/weapon/weldingtool/hugetank,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bNe" = (
+/obj/structure/disposalpipe/junction{
+ icon_state = "pipe-j1";
+ dir = 1
+ },
+/obj/effect/landmark/event_spawn,
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bNf" = (
+/obj/structure/disposalpipe/sortjunction{
+ dir = 1;
+ icon_state = "pipe-j2s";
+ name = "disposal pipe - Genetics";
+ sortType = 23;
+ tag = "icon-pipe-j2s (NORTH)"
+ },
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bNg" = (
+/obj/structure/reagent_dispensers/watertank,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bNh" = (
+/obj/structure/weightlifter,
+/obj/machinery/camera{
+ c_tag = "Fitness West";
+ dir = 4;
+ network = list("SS13")
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/fitness)
+"bNi" = (
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/fitness)
+"bNj" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/fitness)
+"bNk" = (
+/obj/effect/landmark/lightsout,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/fitness)
+"bNl" = (
+/obj/machinery/door/airlock/glass{
+ name = "Fitness Area"
+ },
+/obj/machinery/door/firedoor,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/fitness)
+"bNm" = (
+/obj/machinery/door/morgue{
+ name = "Private Study";
+ req_access_txt = "37"
+ },
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library)
+"bNn" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library)
+"bNo" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 6
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library)
+"bNp" = (
+/obj/machinery/door/airlock/glass{
+ name = "Library"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/door/firedoor,
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library{
+ name = "Lounge"
+ })
+"bNq" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library{
+ name = "Lounge"
+ })
+"bNr" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 10
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library{
+ name = "Lounge"
+ })
+"bNs" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library{
+ name = "Lounge"
+ })
+"bNt" = (
+/obj/structure/disposalpipe/segment,
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library{
+ name = "Lounge"
+ })
+"bNu" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bNv" = (
+/obj/structure/extinguisher_cabinet{
+ pixel_x = -24
+ },
+/turf/open/floor/plasteel/yellow/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bNw" = (
+/obj/structure/window/reinforced,
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/visible{
+ dir = 8
+ },
+/turf/open/floor/plasteel/yellow/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bNx" = (
+/obj/machinery/atmospherics/pipe/simple/yellow/visible{
+ icon_state = "intact";
+ dir = 10
+ },
+/turf/open/floor/plasteel/yellow/corner{
+ tag = "icon-yellowcorner (WEST)";
+ icon_state = "yellowcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bNy" = (
+/obj/effect/landmark/lightsout,
+/obj/machinery/atmospherics/pipe/simple/orange/visible,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bNz" = (
+/mob/living/simple_animal/pet/dog/pug{
+ desc = "It's Spaghetti, the official pug of Atmospherics. Appropriately named after the jumbled mess of piping.";
+ name = "Spaghetti"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bNA" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/obj/machinery/camera{
+ c_tag = "Atmospherics North";
+ dir = 9;
+ icon_state = "camera";
+ network = list("SS13","CE");
+ tag = "icon-camera (NORTHWEST)"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bNB" = (
+/obj/machinery/space_heater,
+/obj/effect/turf_decal/stripes/line{
+ dir = 9
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bNC" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bND" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bNE" = (
+/obj/structure/reagent_dispensers/watertank/high,
+/obj/effect/turf_decal/stripes/line{
+ dir = 5
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bNF" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bNG" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 5
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engineering)
+"bNH" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engineering)
+"bNI" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engineering)
+"bNJ" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 10
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engineering)
+"bNK" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engineering)
+"bNL" = (
+/obj/machinery/suit_storage_unit/ce,
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/machinery/door/window/brigdoor/westright{
+ name = "Chief Engineer's Hardsuit";
+ req_access_txt = "56"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engineering)
+"bNM" = (
+/obj/structure/closet/radiation,
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ dir = 4;
+ on = 1;
+ scrub_N2O = 0;
+ scrub_Toxins = 0
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/gravity_generator)
+"bNN" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/gravity_generator)
+"bNO" = (
+/obj/machinery/airalarm{
+ frequency = 1439;
+ locked = 0;
+ pixel_y = 23
+ },
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/gravity_generator)
+"bNP" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/gravity_generator)
+"bNQ" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ dir = 8;
+ on = 1;
+ scrub_N2O = 0;
+ scrub_Toxins = 0
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/gravity_generator)
+"bNR" = (
+/obj/machinery/gravity_generator/main/station,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/gravity_generator)
+"bNS" = (
+/obj/structure/closet/crate,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/maintcentral{
+ name = "Central Asteroid Maintenance"
+ })
+"bNT" = (
+/obj/machinery/light/small{
+ dir = 8
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bNU" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bNV" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "External Maintenance Access";
+ req_access_txt = "12"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bNW" = (
+/obj/machinery/light/small{
+ dir = 1
+ },
+/obj/effect/turf_decal/stripes/asteroid/line{
+ icon_state = "ast_warn";
+ dir = 8
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bNX" = (
+/obj/machinery/power/apc{
+ dir = 1;
+ name = "Chemistry APC";
+ pixel_x = 0;
+ pixel_y = 24
+ },
+/obj/structure/cable/orange{
+ d2 = 2;
+ icon_state = "0-2"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/chemistry)
+"bNY" = (
+/obj/structure/plasticflaps,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay2)
+"bNZ" = (
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay2)
+"bOa" = (
+/obj/structure/closet/secure_closet/medical3,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay2)
+"bOb" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 5
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 1;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay2)
+"bOc" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay2)
+"bOd" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/landmark/event_spawn,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay2)
+"bOe" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay2)
+"bOf" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay2)
+"bOg" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 8;
+ layer = 2.4;
+ on = 1
+ },
+/obj/machinery/requests_console{
+ announcementConsole = 0;
+ department = "Medbay";
+ departmentType = 1;
+ name = "Medbay RC";
+ pixel_x = 30;
+ pixel_y = 0;
+ pixel_z = 0
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay2)
+"bOh" = (
+/obj/structure/table/glass,
+/obj/item/weapon/storage/box/disks{
+ pixel_x = 2;
+ pixel_y = 2
+ },
+/turf/open/floor/plasteel/whitepurple/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/genetics)
+"bOi" = (
+/obj/structure/table/glass,
+/obj/item/weapon/storage/box/rxglasses,
+/obj/machinery/firealarm{
+ dir = 1;
+ pixel_y = -24
+ },
+/turf/open/floor/plasteel/whitepurple/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/genetics)
+"bOj" = (
+/obj/structure/table/glass,
+/obj/item/weapon/folder/white,
+/obj/item/device/radio/headset/headset_medsci,
+/obj/item/weapon/storage/pill_bottle/mutadone,
+/obj/item/weapon/storage/pill_bottle/mannitol,
+/obj/structure/extinguisher_cabinet{
+ pixel_y = -32
+ },
+/obj/machinery/camera{
+ c_tag = "Genetics";
+ dir = 10;
+ icon_state = "camera";
+ network = list("SS13","CMO");
+ tag = "icon-camera (SOUTHWEST)"
+ },
+/turf/open/floor/plasteel/whitepurple/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/genetics)
+"bOk" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/whitepurple/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/genetics)
+"bOl" = (
+/obj/machinery/dna_scannernew,
+/turf/open/floor/plasteel/whitepurple/side{
+ tag = "icon-whitepurple (SOUTHEAST)";
+ icon_state = "whitepurple";
+ dir = 6;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/genetics)
+"bOm" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bOn" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bOo" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/grille/broken,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bOp" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/asteroid/line{
+ icon_state = "ast_warn";
+ dir = 4
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bOq" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "External Maintenance Access";
+ req_access_txt = "12"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bOr" = (
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bOs" = (
+/obj/structure/disposalpipe/junction{
+ icon_state = "pipe-j1";
+ dir = 1
+ },
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bOt" = (
+/obj/structure/disposalpipe/sortjunction{
+ dir = 1;
+ icon_state = "pipe-j2s";
+ name = "disposal pipe - Chemistry";
+ sortType = 11;
+ tag = "icon-pipe-j2s (NORTH)"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bOu" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bOv" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/obj/structure/disposalpipe/segment,
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bOw" = (
+/obj/machinery/power/apc{
+ dir = 4;
+ name = "Fitness APC";
+ pixel_x = 23;
+ pixel_y = 2
+ },
+/obj/structure/cable/orange{
+ d2 = 8;
+ icon_state = "0-8"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/fitness)
+"bOx" = (
+/obj/machinery/light{
+ dir = 8
+ },
+/obj/machinery/computer/security/telescreen/entertainment{
+ pixel_x = -32
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/fitness)
+"bOy" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/fitness)
+"bOz" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 8
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/fitness)
+"bOA" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/fitness)
+"bOB" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/machinery/holopad,
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/fitness)
+"bOC" = (
+/obj/structure/grille,
+/obj/machinery/door/firedoor,
+/obj/structure/window/fulltile,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/fitness)
+"bOD" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 4
+ },
+/obj/machinery/camera{
+ c_tag = "Service Asteroid Hallway 4";
+ dir = 4;
+ icon_state = "camera"
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"bOE" = (
+/obj/structure/table/wood,
+/obj/machinery/computer/libraryconsole/bookmanagement{
+ pixel_y = 0
+ },
+/obj/machinery/light_switch{
+ pixel_y = 28
+ },
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library)
+"bOF" = (
+/obj/machinery/light{
+ dir = 1
+ },
+/obj/machinery/photocopier,
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library)
+"bOG" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library)
+"bOH" = (
+/obj/machinery/light{
+ dir = 8
+ },
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library{
+ name = "Lounge"
+ })
+"bOI" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library{
+ name = "Lounge"
+ })
+"bOJ" = (
+/obj/structure/chair/office/dark,
+/obj/effect/landmark/start/assistant,
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library{
+ name = "Lounge"
+ })
+"bOK" = (
+/obj/structure/chair/office/dark,
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library{
+ name = "Lounge"
+ })
+"bOL" = (
+/obj/item/weapon/twohanded/required/kirbyplants{
+ icon_state = "plant-22"
+ },
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library{
+ name = "Lounge"
+ })
+"bOM" = (
+/obj/structure/grille,
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bON" = (
+/obj/machinery/pipedispenser/disposal/transit_tube,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bOO" = (
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bOP" = (
+/obj/structure/window/reinforced{
+ dir = 4
+ },
+/obj/machinery/atmospherics/components/binary/pump{
+ dir = 2;
+ name = "Waste To Filter";
+ on = 1
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bOQ" = (
+/obj/machinery/atmospherics/components/binary/pump{
+ dir = 1;
+ name = "Canister To Waste";
+ on = 0;
+ target_pressure = 101
+ },
+/turf/open/floor/plasteel/yellow/side{
+ tag = "icon-yellow (WEST)";
+ icon_state = "yellow";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bOR" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/obj/machinery/requests_console{
+ department = "Atmospherics";
+ departmentType = 4;
+ name = "Atmos RC";
+ pixel_x = 30;
+ pixel_y = 0
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bOS" = (
+/obj/machinery/space_heater,
+/obj/effect/turf_decal/stripes/line{
+ dir = 10
+ },
+/obj/machinery/camera{
+ c_tag = "Atmospherics Airlock";
+ dir = 5;
+ icon_state = "camera";
+ network = list("SS13","CE");
+ tag = "icon-camera (NORTHEAST)"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bOT" = (
+/obj/machinery/light/small,
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bOU" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/effect/turf_decal/stripes/line,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bOV" = (
+/obj/structure/reagent_dispensers/fueltank,
+/obj/effect/turf_decal/stripes/line{
+ dir = 6
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bOW" = (
+/obj/machinery/vending/engivend,
+/turf/open/floor/plasteel/yellow/side{
+ tag = "icon-yellow (SOUTHWEST)";
+ icon_state = "yellow";
+ dir = 10;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engineering)
+"bOX" = (
+/obj/machinery/vending/tool,
+/obj/structure/disposalpipe/segment{
+ dir = 1;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plasteel/yellow/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engineering)
+"bOY" = (
+/obj/structure/closet/secure_closet/engineering_welding,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/yellow/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engineering)
+"bOZ" = (
+/obj/structure/closet/secure_closet/engineering_electrical,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/yellow/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engineering)
+"bPa" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/yellow/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engineering)
+"bPb" = (
+/obj/machinery/light,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/yellow/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engineering)
+"bPc" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/sign/enginesafety{
+ pixel_y = -32
+ },
+/turf/open/floor/plasteel/yellow/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engineering)
+"bPd" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 5
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/camera{
+ c_tag = "Engineering South";
+ dir = 1;
+ icon_state = "camera";
+ network = list("SS13","CE")
+ },
+/obj/item/device/radio/intercom{
+ name = "Station Intercom (General)";
+ pixel_x = 0;
+ pixel_y = -29
+ },
+/turf/open/floor/plasteel/yellow/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engineering)
+"bPe" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 10
+ },
+/obj/structure/disposalpipe/junction{
+ icon_state = "pipe-j1";
+ dir = 4
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/turf/open/floor/plasteel/yellow/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engineering)
+"bPf" = (
+/obj/machinery/light,
+/obj/structure/rack,
+/obj/item/weapon/pickaxe/mini,
+/obj/item/weapon/pickaxe/mini,
+/obj/item/weapon/pickaxe/mini,
+/obj/item/clothing/glasses/meson,
+/obj/item/clothing/glasses/meson,
+/obj/item/clothing/glasses/meson,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/yellow/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engineering)
+"bPg" = (
+/obj/structure/rack,
+/obj/item/clothing/gloves/color/black,
+/obj/item/clothing/gloves/color/black,
+/obj/item/weapon/extinguisher,
+/obj/structure/cable/yellow{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment,
+/obj/structure/cable/yellow{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel/yellow/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engineering)
+"bPh" = (
+/obj/structure/rack,
+/obj/item/clothing/glasses/meson/engine,
+/obj/item/clothing/glasses/meson/engine,
+/obj/item/device/geiger_counter,
+/obj/item/device/geiger_counter,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/yellow/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engineering)
+"bPi" = (
+/obj/structure/rack,
+/obj/item/weapon/storage/belt/utility,
+/obj/item/weapon/storage/belt/utility,
+/obj/item/clothing/mask/gas,
+/obj/item/clothing/mask/gas,
+/obj/item/clothing/mask/gas,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/yellow/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engineering)
+"bPj" = (
+/obj/machinery/firealarm{
+ dir = 1;
+ pixel_y = -24
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plasteel/yellow/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engineering)
+"bPk" = (
+/obj/structure/closet/firecloset/full,
+/turf/open/floor/plasteel/yellow/side{
+ tag = "icon-yellow (SOUTHEAST)";
+ icon_state = "yellow";
+ dir = 6;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engineering)
+"bPl" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 4;
+ on = 1
+ },
+/obj/machinery/camera{
+ c_tag = "Gravity Generator Airlock";
+ dir = 1;
+ icon_state = "camera";
+ network = list("SS13","CE")
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/gravity_generator)
+"bPm" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/obj/machinery/light/small,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/gravity_generator)
+"bPn" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_y = 0
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/gravity_generator)
+"bPo" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_y = 0
+ },
+/obj/machinery/door/airlock/engineering{
+ cyclelinkeddir = null;
+ name = "Gravity Generator";
+ req_access_txt = "10;11"
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/gravity_generator)
+"bPp" = (
+/obj/effect/turf_decal/stripes/corner{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_y = 0
+ },
+/obj/machinery/camera{
+ c_tag = "Gravity Generator";
+ dir = 1;
+ icon_state = "camera";
+ network = list("SS13","CE")
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/gravity_generator)
+"bPq" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_y = 0
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/gravity_generator)
+"bPr" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 8;
+ layer = 2.4;
+ on = 1
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_y = 0
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/gravity_generator)
+"bPs" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/machinery/power/apc{
+ dir = 4;
+ name = "Gravity Generator APC";
+ pixel_x = 23;
+ pixel_y = 2
+ },
+/obj/structure/cable{
+ d2 = 8;
+ icon_state = "0-8"
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/gravity_generator)
+"bPt" = (
+/obj/structure/grille/broken,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/maintcentral{
+ name = "Central Asteroid Maintenance"
+ })
+"bPu" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 6
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bPv" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "External Maintenance Access";
+ req_access_txt = "12"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bPw" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bPx" = (
+/obj/structure/disposalpipe/segment{
+ dir = 1;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bPy" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 5
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4";
+ tag = ""
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bPz" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "External Maintenance Access";
+ req_access_txt = "12"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0;
+ tag = ""
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bPA" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 10
+ },
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8";
+ tag = ""
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bPB" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bPC" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bPD" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "External Maintenance Access";
+ req_access_txt = "12"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bPE" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/asteroid/line{
+ icon_state = "ast_warn";
+ dir = 8
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bPF" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bPG" = (
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bPH" = (
+/obj/structure/table,
+/obj/item/weapon/storage/box/beakers{
+ pixel_x = 2;
+ pixel_y = 2
+ },
+/obj/item/weapon/storage/box/syringes,
+/obj/item/weapon/reagent_containers/glass/bottle/epinephrine{
+ pixel_x = 7;
+ pixel_y = -3
+ },
+/obj/item/weapon/reagent_containers/glass/bottle/morphine{
+ pixel_x = 8;
+ pixel_y = -3
+ },
+/obj/item/weapon/reagent_containers/syringe{
+ pixel_x = 6;
+ pixel_y = -3
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay2)
+"bPI" = (
+/obj/structure/table,
+/obj/item/weapon/storage/belt/medical{
+ pixel_x = 0;
+ pixel_y = 2
+ },
+/obj/item/weapon/storage/belt/medical{
+ pixel_x = 0;
+ pixel_y = 2
+ },
+/obj/item/weapon/storage/belt/medical{
+ pixel_x = 0;
+ pixel_y = 2
+ },
+/obj/item/clothing/neck/stethoscope,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/light,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay2)
+"bPJ" = (
+/obj/structure/table,
+/obj/item/weapon/hand_labeler,
+/obj/item/weapon/gun/syringe,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay2)
+"bPK" = (
+/obj/structure/table,
+/obj/item/weapon/reagent_containers/spray/cleaner,
+/obj/item/clothing/glasses/hud/health,
+/obj/item/clothing/glasses/hud/health,
+/obj/item/clothing/glasses/hud/health,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay2)
+"bPL" = (
+/obj/structure/table,
+/obj/item/weapon/storage/box/bodybags{
+ pixel_x = 3;
+ pixel_y = 3
+ },
+/obj/item/weapon/storage/box/rxglasses,
+/obj/item/stack/packageWrap,
+/obj/item/device/destTagger,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay2)
+"bPM" = (
+/obj/structure/closet/l3closet,
+/obj/machinery/camera{
+ c_tag = "Medbay Storage";
+ dir = 10;
+ icon_state = "camera";
+ network = list("SS13","CMO");
+ tag = "icon-camera (SOUTHWEST)"
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay2)
+"bPN" = (
+/obj/structure/closet/wardrobe/white/medical,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay2)
+"bPO" = (
+/obj/machinery/disposal/bin,
+/obj/structure/disposalpipe/trunk{
+ dir = 1
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay2)
+"bPP" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "Genetics Research";
+ req_access_txt = "9"
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/genetics)
+"bPQ" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bPR" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bPS" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/spawner/lootdrop/grille_or_trash,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bPT" = (
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bPU" = (
+/obj/structure/disposalpipe/segment{
+ dir = 1;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bPV" = (
+/obj/structure/disposalpipe/sortjunction{
+ dir = 1;
+ icon_state = "pipe-j2s";
+ name = "disposal pipe - Medbay";
+ sortType = 9;
+ tag = "icon-pipe-j2s (NORTH)"
+ },
+/obj/item/weapon/wrench,
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bPW" = (
+/obj/structure/disposalpipe/segment,
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bPX" = (
+/obj/structure/weightlifter,
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/fitness)
+"bPY" = (
+/obj/structure/stacklifter,
+/obj/effect/landmark/start/assistant,
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/fitness)
+"bPZ" = (
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/fitness)
+"bQa" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/fitness)
+"bQb" = (
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/fitness)
+"bQc" = (
+/obj/effect/landmark/lightsout,
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"bQd" = (
+/obj/machinery/libraryscanner,
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library)
+"bQe" = (
+/obj/structure/chair/office/dark,
+/obj/effect/landmark/start/librarian,
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library)
+"bQf" = (
+/obj/machinery/holopad,
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library)
+"bQg" = (
+/obj/structure/table/wood,
+/obj/item/device/camera_film,
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library)
+"bQh" = (
+/obj/structure/table/wood,
+/obj/machinery/computer/libraryconsole,
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library{
+ name = "Lounge"
+ })
+"bQi" = (
+/obj/structure/table/wood,
+/obj/item/toy/cards/deck,
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library{
+ name = "Lounge"
+ })
+"bQj" = (
+/obj/structure/table/wood,
+/obj/item/weapon/folder/blue,
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library{
+ name = "Lounge"
+ })
+"bQk" = (
+/obj/structure/table/wood,
+/obj/item/weapon/paper_bin{
+ pixel_x = -3;
+ pixel_y = 7
+ },
+/obj/item/weapon/pen/fourcolor,
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library{
+ name = "Lounge"
+ })
+"bQl" = (
+/obj/machinery/camera{
+ c_tag = "Library East";
+ dir = 9;
+ icon_state = "camera";
+ tag = "icon-camera (NORTHWEST)"
+ },
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library{
+ name = "Lounge"
+ })
+"bQm" = (
+/obj/machinery/power/apc{
+ dir = 8;
+ name = "Lounge APC";
+ pixel_x = -23;
+ pixel_y = 2
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/cable/orange,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library{
+ name = "Lounge"
+ })
+"bQn" = (
+/turf/open/floor/engine/n2,
+/area/atmos)
+"bQo" = (
+/obj/machinery/atmospherics/components/unary/outlet_injector/on{
+ dir = 4;
+ frequency = 1441;
+ id = "n2_in"
+ },
+/turf/open/floor/engine/n2,
+/area/atmos)
+"bQp" = (
+/obj/machinery/meter,
+/obj/structure/grille,
+/obj/machinery/atmospherics/pipe/simple/green/visible{
+ dir = 4
+ },
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bQq" = (
+/obj/machinery/atmospherics/pipe/simple/green/visible{
+ dir = 4
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bQr" = (
+/obj/machinery/atmospherics/components/trinary/filter{
+ dir = 2;
+ filter_type = "n2";
+ name = "nitogren filter";
+ on = 1
+ },
+/obj/structure/window/reinforced{
+ dir = 4
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bQs" = (
+/obj/machinery/atmospherics/pipe/simple/yellow/visible,
+/turf/open/floor/plasteel/yellow/side{
+ tag = "icon-yellow (WEST)";
+ icon_state = "yellow";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bQt" = (
+/obj/machinery/atmospherics/components/binary/pump{
+ dir = 1;
+ name = "Atmos To Chamber";
+ on = 0;
+ target_pressure = 101
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bQu" = (
+/obj/machinery/holopad,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bQv" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/obj/machinery/light{
+ dir = 4;
+ icon_state = "tube1"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bQw" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/disposalpipe/segment,
+/obj/machinery/door/airlock/atmos{
+ name = "Atmospherics";
+ req_access_txt = "24"
+ },
+/turf/open/floor/plasteel/yellow{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bQx" = (
+/obj/machinery/status_display{
+ density = 0;
+ layer = 4
+ },
+/turf/closed/wall,
+/area/engine/engineering)
+"bQy" = (
+/turf/closed/wall,
+/area/engine/engineering)
+"bQz" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "Engineering Miscellaneous Storage";
+ req_access_txt = "10"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engineering)
+"bQA" = (
+/obj/machinery/door/airlock/engineering{
+ cyclelinkeddir = null;
+ name = "SMES Room";
+ req_access_txt = "10;11"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/disposalpipe/segment,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/turf/open/floor/plasteel/yellow{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engine_smes)
+"bQB" = (
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engine_smes)
+"bQC" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/structure/cable/yellow{
+ d2 = 4;
+ icon_state = "0-4"
+ },
+/obj/machinery/door/firedoor,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engine_smes)
+"bQD" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/structure/cable/yellow{
+ d2 = 4;
+ icon_state = "0-4"
+ },
+/obj/structure/cable/yellow{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/door/firedoor,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engine_smes)
+"bQE" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/structure/cable/yellow{
+ d2 = 4;
+ icon_state = "0-4"
+ },
+/obj/structure/cable/yellow{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/door/firedoor,
+/obj/structure/cable/yellow{
+ icon_state = "1-4";
+ d1 = 1;
+ d2 = 4
+ },
+/obj/structure/cable/yellow{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8";
+ tag = ""
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engine_smes)
+"bQF" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/cable/yellow{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/obj/structure/cable/yellow{
+ d2 = 8;
+ icon_state = "0-8"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engine_smes)
+"bQG" = (
+/obj/machinery/status_display{
+ density = 0;
+ layer = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engine_smes)
+"bQH" = (
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engine_smes)
+"bQI" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bQJ" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 5
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bQK" = (
+/obj/machinery/firealarm{
+ dir = 4;
+ pixel_x = 24
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bQL" = (
+/obj/structure/table,
+/obj/machinery/light/small{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bQM" = (
+/obj/structure/closet/firecloset/full,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bQN" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/disposalpipe/segment,
+/obj/item/device/assembly/mousetrap/armed,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bQO" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "Medical Storage";
+ req_access_txt = "45"
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay2)
+"bQP" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/machinery/door/window/brigdoor/northright{
+ name = "Chief Medical Officer's Hardsuit";
+ req_access_txt = "40"
+ },
+/obj/machinery/suit_storage_unit/cmo,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay2)
+"bQQ" = (
+/obj/machinery/power/apc{
+ dir = 1;
+ name = "Genetics APC";
+ pixel_x = 0;
+ pixel_y = 24
+ },
+/obj/structure/cable/orange{
+ d2 = 4;
+ icon_state = "0-4"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/genetics)
+"bQR" = (
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/stripes/asteroid/line{
+ icon_state = "ast_warn";
+ dir = 1
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bQS" = (
+/obj/machinery/light/small{
+ dir = 1
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bQT" = (
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bQU" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bQV" = (
+/obj/structure/disposalpipe/segment{
+ dir = 1;
+ icon_state = "pipe-c"
+ },
+/obj/structure/closet/firecloset/full,
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bQW" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/closet/firecloset/full,
+/turf/open/floor/plating/airless,
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bQX" = (
+/obj/structure/disposalpipe/junction{
+ icon_state = "pipe-j2";
+ dir = 1
+ },
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bQY" = (
+/obj/machinery/light/small{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment,
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bQZ" = (
+/obj/structure/window/reinforced{
+ dir = 1;
+ layer = 2.9
+ },
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/fitness)
+"bRa" = (
+/obj/structure/window/reinforced{
+ dir = 1;
+ layer = 2.9
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/fitness)
+"bRb" = (
+/obj/structure/window/reinforced{
+ dir = 1;
+ layer = 2.9
+ },
+/obj/machinery/door/window/eastleft,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/fitness)
+"bRc" = (
+/obj/structure/table/wood,
+/obj/machinery/camera{
+ c_tag = "Library West";
+ dir = 4;
+ icon_state = "camera"
+ },
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library)
+"bRd" = (
+/obj/structure/table/wood,
+/obj/item/device/flashlight/lamp/green,
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library)
+"bRe" = (
+/obj/structure/table/wood,
+/obj/item/weapon/pen/fourcolor,
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library)
+"bRf" = (
+/obj/structure/table/wood,
+/obj/item/weapon/paper_bin{
+ pixel_x = -3;
+ pixel_y = 7
+ },
+/obj/item/weapon/pen,
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library)
+"bRg" = (
+/obj/structure/chair/office/dark{
+ dir = 1
+ },
+/obj/structure/sign/map/left/ceres{
+ pixel_x = -32
+ },
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library{
+ name = "Lounge"
+ })
+"bRh" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ dir = 1;
+ on = 1;
+ scrub_N2O = 0;
+ scrub_Toxins = 0
+ },
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library{
+ name = "Lounge"
+ })
+"bRi" = (
+/obj/structure/table/wood,
+/obj/item/weapon/storage/pill_bottle/dice,
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library{
+ name = "Lounge"
+ })
+"bRj" = (
+/obj/structure/table/wood,
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library{
+ name = "Lounge"
+ })
+"bRk" = (
+/obj/structure/table/wood,
+/obj/item/toy/cards/deck/cas,
+/obj/item/toy/cards/deck/cas/black,
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library{
+ name = "Lounge"
+ })
+"bRl" = (
+/obj/machinery/photocopier,
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library{
+ name = "Lounge"
+ })
+"bRm" = (
+/obj/machinery/light/small{
+ dir = 8
+ },
+/turf/open/floor/engine/n2,
+/area/atmos)
+"bRn" = (
+/obj/machinery/portable_atmospherics/canister/nitrogen,
+/turf/open/floor/engine/n2,
+/area/atmos)
+"bRo" = (
+/obj/machinery/air_sensor{
+ frequency = 1441;
+ id_tag = "n2_sensor"
+ },
+/turf/open/floor/engine/n2,
+/area/atmos)
+"bRp" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/turf/open/floor/plating,
+/area/atmos)
+"bRq" = (
+/obj/machinery/computer/atmos_control/tank{
+ frequency = 1441;
+ input_tag = "n2_in";
+ name = "Nitrogen Supply Control";
+ output_tag = "n2_out";
+ sensors = list("n2_sensor" = "Tank")
+ },
+/obj/machinery/atmospherics/pipe/simple/green/visible,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bRr" = (
+/obj/machinery/atmospherics/pipe/simple/yellow/visible{
+ icon_state = "intact";
+ dir = 5
+ },
+/turf/open/floor/plasteel/yellow/side{
+ tag = "icon-yellow (WEST)";
+ icon_state = "yellow";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bRs" = (
+/obj/machinery/atmospherics/pipe/manifold/yellow/visible,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bRt" = (
+/obj/machinery/atmospherics/pipe/simple/yellow/visible{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bRu" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/obj/machinery/atmospherics/pipe/simple/yellow/visible{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bRv" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/yellow/visible{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bRw" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/yellow/visible{
+ dir = 4
+ },
+/obj/item/device/radio/intercom{
+ broadcasting = 0;
+ name = "Station Intercom (General)";
+ pixel_y = 20
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bRx" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/yellow/visible{
+ icon_state = "intact";
+ dir = 10
+ },
+/obj/structure/sign/atmosplaque{
+ pixel_y = 32
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bRy" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/visible,
+/obj/structure/disposalpipe/segment{
+ dir = 1;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bRz" = (
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bRA" = (
+/obj/machinery/suit_storage_unit/atmos,
+/turf/open/floor/plasteel/delivery{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bRB" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 5
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 1;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plasteel/yellow/side{
+ tag = "icon-yellow (NORTHWEST)";
+ icon_state = "yellow";
+ dir = 9;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engine_smes)
+"bRC" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_y = 0
+ },
+/obj/machinery/firealarm{
+ pixel_y = 24
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 10
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/yellow/side{
+ tag = "icon-yellow (NORTH)";
+ icon_state = "yellow";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engine_smes)
+"bRD" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_y = 0
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/yellow/side{
+ tag = "icon-yellow (NORTH)";
+ icon_state = "yellow";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engine_smes)
+"bRE" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_y = 0
+ },
+/obj/machinery/disposal/bin,
+/obj/structure/disposalpipe/trunk{
+ dir = 8
+ },
+/turf/open/floor/plasteel/yellow/side{
+ tag = "icon-yellow (NORTH)";
+ icon_state = "yellow";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engine_smes)
+"bRF" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_y = 0
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/yellow/side{
+ tag = "icon-yellow (NORTH)";
+ icon_state = "yellow";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engine_smes)
+"bRG" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_y = 0
+ },
+/obj/structure/table,
+/turf/open/floor/plasteel/yellow/side{
+ tag = "icon-yellow (NORTH)";
+ icon_state = "yellow";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engine_smes)
+"bRH" = (
+/obj/structure/cable/yellow{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_y = 0
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/yellow/side{
+ tag = "icon-yellow (NORTH)";
+ icon_state = "yellow";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engine_smes)
+"bRI" = (
+/obj/machinery/power/smes/engineering,
+/obj/structure/cable{
+ icon_state = "0-4";
+ d2 = 4
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_y = 0
+ },
+/obj/structure/sign/electricshock{
+ pixel_y = 32
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engine_smes)
+"bRJ" = (
+/obj/machinery/power/smes/engineering,
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_y = 0
+ },
+/obj/structure/cable{
+ icon_state = "0-4";
+ d2 = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engine_smes)
+"bRK" = (
+/obj/machinery/power/smes/engineering,
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_y = 0
+ },
+/obj/structure/cable{
+ icon_state = "0-4";
+ d2 = 4
+ },
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engine_smes)
+"bRL" = (
+/obj/machinery/power/smes/engineering,
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_y = 0
+ },
+/obj/structure/cable{
+ icon_state = "0-4";
+ d2 = 4
+ },
+/obj/structure/sign/electricshock{
+ pixel_y = 32
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engine_smes)
+"bRM" = (
+/obj/machinery/computer/station_alert,
+/obj/item/device/radio/intercom{
+ broadcasting = 0;
+ name = "Station Intercom (General)";
+ pixel_y = 20
+ },
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_y = 0
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engine_smes)
+"bRN" = (
+/obj/machinery/modular_computer/console/preset/engineering,
+/obj/structure/cable{
+ d2 = 8;
+ icon_state = "0-8"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engine_smes)
+"bRO" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/disposalpipe/segment,
+/obj/structure/sign/securearea{
+ desc = "A warning sign which reads 'EXTERNAL AIRLOCK'";
+ icon_state = "space";
+ layer = 4;
+ name = "EXTERNAL AIRLOCK";
+ pixel_x = 32;
+ pixel_y = 0
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bRP" = (
+/obj/machinery/door/firedoor,
+/obj/effect/turf_decal/stripes/line,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bRQ" = (
+/obj/machinery/door/firedoor,
+/obj/effect/turf_decal/stripes/line,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bRR" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/sign/securearea{
+ desc = "A warning sign which reads 'EXTERNAL AIRLOCK'";
+ icon_state = "space";
+ layer = 4;
+ name = "EXTERNAL AIRLOCK";
+ pixel_x = -32;
+ pixel_y = 0
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bRS" = (
+/obj/structure/table,
+/obj/structure/table,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bRT" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/light/small{
+ dir = 8
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bRU" = (
+/obj/machinery/power/apc{
+ dir = 1;
+ name = "Medbay Storage APC";
+ pixel_x = 0;
+ pixel_y = 24
+ },
+/obj/structure/cable/orange{
+ d2 = 2;
+ icon_state = "0-2"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay2)
+"bRV" = (
+/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/stripes/asteroid/line{
+ icon_state = "ast_warn";
+ dir = 1
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bRW" = (
+/obj/structure/reagent_dispensers/fueltank,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bRX" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 1;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bRY" = (
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bRZ" = (
+/obj/structure/disposalpipe/segment,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bSa" = (
+/obj/structure/weightlifter,
+/obj/effect/landmark/start/assistant,
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/fitness)
+"bSb" = (
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/fitness)
+"bSc" = (
+/obj/effect/landmark/event_spawn,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/fitness)
+"bSd" = (
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/fitness)
+"bSe" = (
+/obj/structure/window/reinforced{
+ dir = 4
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/fitness)
+"bSf" = (
+/obj/structure/chair{
+ dir = 8
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/fitness)
+"bSg" = (
+/obj/machinery/light{
+ icon_state = "tube1";
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/fitness)
+"bSh" = (
+/obj/structure/extinguisher_cabinet{
+ pixel_x = -24
+ },
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 8
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"bSi" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"bSj" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/disposalpipe/segment,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"bSk" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/machinery/door/airlock/glass{
+ name = "Library"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/machinery/door/firedoor,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library)
+"bSl" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library)
+"bSm" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library)
+"bSn" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 4
+ },
+/obj/machinery/light{
+ dir = 4;
+ icon_state = "tube1"
+ },
+/obj/structure/sign/poster/random{
+ name = "random official poster";
+ pixel_x = 32;
+ random_basetype = /obj/structure/sign/poster/official
+ },
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library)
+"bSo" = (
+/obj/structure/sign/poster/random{
+ name = "random official poster";
+ pixel_x = 0;
+ pixel_y = -32;
+ random_basetype = /obj/structure/sign/poster/official
+ },
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library{
+ name = "Lounge"
+ })
+"bSp" = (
+/obj/structure/chair/office/dark{
+ dir = 1
+ },
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library{
+ name = "Lounge"
+ })
+"bSq" = (
+/obj/structure/chair/office/dark{
+ dir = 1
+ },
+/obj/effect/landmark/start/assistant,
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library{
+ name = "Lounge"
+ })
+"bSr" = (
+/obj/machinery/light,
+/obj/machinery/bookbinder,
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library{
+ name = "Lounge"
+ })
+"bSs" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bSt" = (
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bSu" = (
+/obj/effect/decal/cleanable/cobweb/cobweb2,
+/obj/structure/rack,
+/obj/effect/spawner/lootdrop/maintenance,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bSv" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 4;
+ external_pressure_bound = 0;
+ frequency = 1441;
+ id_tag = "n2_out";
+ initialize_directions = 1;
+ internal_pressure_bound = 4000;
+ name = "n2 vent";
+ on = 1;
+ pressure_checks = 2;
+ pump_direction = 0
+ },
+/turf/open/floor/engine/n2,
+/area/atmos)
+"bSw" = (
+/obj/machinery/meter,
+/obj/structure/grille,
+/obj/machinery/atmospherics/pipe/simple/general/visible{
+ dir = 4
+ },
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bSx" = (
+/obj/machinery/atmospherics/pipe/manifold/general/visible{
+ dir = 1
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bSy" = (
+/obj/machinery/atmospherics/pipe/simple/general/visible{
+ dir = 4
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bSz" = (
+/obj/machinery/atmospherics/pipe/simple/green/visible,
+/obj/machinery/atmospherics/components/binary/pump{
+ dir = 4;
+ name = "N2 to Airmix";
+ on = 1
+ },
+/obj/structure/window/reinforced{
+ dir = 4
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bSA" = (
+/obj/machinery/atmospherics/pipe/simple/cyan/visible{
+ dir = 4
+ },
+/turf/open/floor/plasteel/yellow/side{
+ tag = "icon-yellow (WEST)";
+ icon_state = "yellow";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bSB" = (
+/obj/machinery/atmospherics/pipe/simple/cyan/visible{
+ dir = 10;
+ initialize_directions = 10
+ },
+/obj/effect/landmark/start/atmospheric_technician,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bSC" = (
+/turf/open/floor/plasteel/yellow/side{
+ tag = "icon-yellow (EAST)";
+ icon_state = "yellow";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bSD" = (
+/obj/machinery/status_display{
+ density = 0;
+ layer = 4
+ },
+/turf/closed/wall,
+/area/atmos)
+"bSE" = (
+/turf/open/floor/plasteel/yellow/side{
+ tag = "icon-yellow (WEST)";
+ icon_state = "yellow";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bSF" = (
+/obj/machinery/atmospherics/pipe/simple/yellow/visible,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bSG" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 1;
+ on = 1
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bSH" = (
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bSI" = (
+/obj/machinery/light/small{
+ dir = 4
+ },
+/obj/machinery/suit_storage_unit/atmos,
+/turf/open/floor/plasteel/delivery{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bSJ" = (
+/obj/structure/reagent_dispensers/fueltank,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engineering)
+"bSK" = (
+/obj/machinery/light/small,
+/obj/structure/reagent_dispensers/fueltank,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engineering)
+"bSL" = (
+/obj/structure/reagent_dispensers/watertank/high,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engineering)
+"bSM" = (
+/obj/structure/closet/crate{
+ name = "solar pack crate"
+ },
+/obj/item/solar_assembly,
+/obj/item/solar_assembly,
+/obj/item/solar_assembly,
+/obj/item/solar_assembly,
+/obj/item/solar_assembly,
+/obj/item/solar_assembly,
+/obj/item/solar_assembly,
+/obj/item/solar_assembly,
+/obj/item/solar_assembly,
+/obj/item/solar_assembly,
+/obj/item/solar_assembly,
+/obj/item/solar_assembly,
+/obj/item/solar_assembly,
+/obj/item/weapon/circuitboard/computer/solar_control,
+/obj/item/weapon/electronics/tracker,
+/obj/item/weapon/paper/solar,
+/obj/machinery/light/small,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engineering)
+"bSN" = (
+/obj/machinery/portable_atmospherics/canister/oxygen,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engineering)
+"bSO" = (
+/obj/structure/table,
+/obj/item/weapon/book/manual/engineering_particle_accelerator,
+/turf/open/floor/plasteel/yellow/side{
+ tag = "icon-yellow (WEST)";
+ icon_state = "yellow";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engine_smes)
+"bSP" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engine_smes)
+"bSQ" = (
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engine_smes)
+"bSR" = (
+/obj/structure/disposalpipe/segment{
+ dir = 1;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engine_smes)
+"bSS" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engine_smes)
+"bST" = (
+/obj/structure/cable/yellow{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engine_smes)
+"bSU" = (
+/obj/machinery/power/terminal{
+ icon_state = "term";
+ dir = 1
+ },
+/obj/structure/cable/yellow{
+ d2 = 8;
+ icon_state = "0-8"
+ },
+/obj/structure/cable/yellow{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engine_smes)
+"bSV" = (
+/obj/machinery/power/terminal{
+ icon_state = "term";
+ dir = 1
+ },
+/obj/structure/cable/yellow{
+ d2 = 8;
+ icon_state = "0-8"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engine_smes)
+"bSW" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/obj/structure/chair/office/dark{
+ dir = 1
+ },
+/obj/effect/landmark/start/station_engineer,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engine_smes)
+"bSX" = (
+/obj/machinery/power/apc{
+ dir = 4;
+ name = "Engineering SMES Storage APC";
+ pixel_x = 23;
+ pixel_y = 2
+ },
+/obj/structure/cable{
+ d2 = 8;
+ icon_state = "0-8"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engine_smes)
+"bSY" = (
+/obj/machinery/door/airlock/glass_external{
+ cyclelinkeddir = 2
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bSZ" = (
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bTa" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 1;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bTb" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bTc" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/light/small,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bTd" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/spawner/lootdrop/grille_or_trash,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bTe" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bTf" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bTg" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 1;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bTh" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/disposalpipe/sortjunction{
+ dir = 8;
+ icon_state = "pipe-j2s";
+ name = "disposal pipe - Atmospherics";
+ sortType = 6
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bTi" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/disposalpipe/sortjunction{
+ dir = 8;
+ icon_state = "pipe-j2s";
+ name = "disposal pipe - Engineering";
+ sortType = 4
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bTj" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bTk" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/item/device/assembly/mousetrap/armed,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bTl" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bTm" = (
+/obj/machinery/disposal/deliveryChute,
+/obj/structure/disposalpipe/trunk{
+ dir = 1
+ },
+/turf/open/floor/plating/airless,
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bTn" = (
+/obj/machinery/newscaster{
+ pixel_x = -28;
+ pixel_y = 4
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/fitness)
+"bTo" = (
+/obj/structure/chair{
+ dir = 8
+ },
+/obj/effect/landmark/start/assistant,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/fitness)
+"bTp" = (
+/obj/machinery/firealarm{
+ dir = 4;
+ pixel_x = 24
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/fitness)
+"bTq" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ dir = 8;
+ on = 1;
+ scrub_Toxins = 0
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"bTr" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/door/airlock/glass{
+ name = "Library"
+ },
+/obj/machinery/door/firedoor,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library)
+"bTs" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library)
+"bTt" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden,
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library)
+"bTu" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library)
+"bTv" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 8;
+ layer = 2.4;
+ on = 1
+ },
+/obj/item/device/radio/intercom{
+ broadcasting = 0;
+ name = "Station Intercom (General)";
+ pixel_y = 20
+ },
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library)
+"bTw" = (
+/obj/machinery/door/morgue{
+ name = "Explicit Section"
+ },
+/turf/open/floor/plasteel/grimy{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library{
+ name = "Lounge"
+ })
+"bTx" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library{
+ name = "Lounge"
+ })
+"bTy" = (
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library{
+ name = "Lounge"
+ })
+"bTz" = (
+/obj/structure/closet/crate,
+/obj/effect/spawner/lootdrop/maintenance,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/maintcentral{
+ name = "Central Asteroid Maintenance"
+ })
+"bTA" = (
+/obj/machinery/atmospherics/pipe/simple/general/visible{
+ dir = 5
+ },
+/obj/machinery/light{
+ dir = 8
+ },
+/obj/machinery/camera{
+ c_tag = "Atmospheric Tanks 2";
+ dir = 5;
+ icon_state = "camera";
+ network = list("SS13","CE");
+ tag = "icon-camera (NORTHEAST)"
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bTB" = (
+/obj/machinery/atmospherics/pipe/simple/green/visible,
+/obj/machinery/atmospherics/components/binary/pump{
+ dir = 4;
+ name = "N2 to Pure"
+ },
+/obj/structure/window/reinforced{
+ dir = 4
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bTC" = (
+/obj/machinery/atmospherics/pipe/simple/yellow/visible{
+ icon_state = "intact";
+ dir = 10
+ },
+/turf/open/floor/plasteel/yellow/side{
+ tag = "icon-yellow (WEST)";
+ icon_state = "yellow";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bTD" = (
+/obj/machinery/atmospherics/pipe/simple/cyan/visible,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bTE" = (
+/obj/structure/closet/secure_closet/atmospherics,
+/obj/item/weapon/pickaxe/mini,
+/turf/open/floor/plasteel/yellow/side{
+ tag = "icon-yellow (EAST)";
+ icon_state = "yellow";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bTF" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bTG" = (
+/obj/machinery/atmospherics/components/unary/portables_connector/visible{
+ tag = "icon-connector_map (EAST)";
+ icon_state = "connector_map";
+ dir = 4
+ },
+/obj/machinery/portable_atmospherics/canister,
+/turf/open/floor/plasteel/delivery{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bTH" = (
+/obj/machinery/atmospherics/pipe/simple/yellow/visible{
+ icon_state = "intact";
+ dir = 10
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bTI" = (
+/obj/machinery/atmospherics/components/binary/pump{
+ dir = 1;
+ name = "Canister To Waste";
+ on = 0;
+ target_pressure = 101
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bTJ" = (
+/obj/structure/fireaxecabinet{
+ pixel_x = 32
+ },
+/obj/machinery/disposal/bin,
+/obj/structure/disposalpipe/trunk{
+ dir = 1
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bTK" = (
+/turf/closed/wall,
+/area/atmos)
+"bTL" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 5
+ },
+/turf/closed/wall,
+/area/atmos)
+"bTM" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bTN" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 10
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bTO" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 6
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bTP" = (
+/obj/structure/table,
+/obj/item/weapon/book/manual/wiki/engineering_construction,
+/obj/item/weapon/book/manual/wiki/engineering_guide,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/yellow/side{
+ tag = "icon-yellow (WEST)";
+ icon_state = "yellow";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engine_smes)
+"bTQ" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engine_smes)
+"bTR" = (
+/obj/effect/landmark/start/station_engineer,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engine_smes)
+"bTS" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engine_smes)
+"bTT" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 8;
+ layer = 2.4;
+ on = 1
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engine_smes)
+"bTU" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ dir = 4;
+ on = 1
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engine_smes)
+"bTV" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 9
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 1;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engine_smes)
+"bTW" = (
+/obj/machinery/airalarm{
+ dir = 1;
+ icon_state = "alarm0";
+ pixel_y = -22
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/camera{
+ c_tag = "Engineering Power Storage";
+ dir = 1;
+ icon_state = "camera";
+ network = list("SS13","CE")
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engine_smes)
+"bTX" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/yellow/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engine_smes)
+"bTY" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/machinery/door/window{
+ dir = 8;
+ icon_state = "right";
+ name = "Engineering Delievery Chute";
+ opacity = 1;
+ req_access_txt = "10";
+ tag = "icon-right (WEST)"
+ },
+/obj/effect/turf_decal/delivery,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engine_smes)
+"bTZ" = (
+/obj/structure/disposalpipe/trunk{
+ dir = 8
+ },
+/obj/structure/disposaloutlet{
+ dir = 8
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engine_smes)
+"bUa" = (
+/obj/structure/closet,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/maintcentral{
+ name = "Central Asteroid Maintenance"
+ })
+"bUb" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/light/small{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment,
+/obj/structure/fans/tiny,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bUc" = (
+/obj/item/device/radio/intercom{
+ broadcasting = 0;
+ name = "Station Intercom (General)";
+ pixel_x = -28;
+ pixel_y = 0
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bUd" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/light/small{
+ dir = 8
+ },
+/obj/structure/fans/tiny,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bUe" = (
+/obj/structure/disposalpipe/segment{
+ dir = 1;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bUf" = (
+/obj/structure/disposalpipe/junction{
+ icon_state = "pipe-j1";
+ dir = 8
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bUg" = (
+/obj/machinery/light/small,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bUh" = (
+/obj/effect/decal/cleanable/cobweb,
+/obj/machinery/light/small{
+ dir = 8
+ },
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bUi" = (
+/obj/structure/rack,
+/obj/effect/spawner/lootdrop/maintenance,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bUj" = (
+/obj/structure/table,
+/obj/item/weapon/storage/box/cups,
+/turf/open/floor/plasteel/vault{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 5
+ },
+/area/crew_quarters/fitness)
+"bUk" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 2;
+ on = 1
+ },
+/turf/open/floor/plasteel/vault{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 5
+ },
+/area/crew_quarters/fitness)
+"bUl" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ on = 1;
+ scrub_N2O = 0;
+ scrub_Toxins = 0
+ },
+/turf/open/floor/plasteel/vault{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 5
+ },
+/area/crew_quarters/fitness)
+"bUm" = (
+/obj/structure/window/reinforced,
+/obj/machinery/door/window/westright,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/fitness)
+"bUn" = (
+/obj/structure/window/reinforced,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/fitness)
+"bUo" = (
+/obj/structure/window/reinforced,
+/obj/structure/window/reinforced{
+ dir = 4
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/fitness)
+"bUp" = (
+/obj/structure/table,
+/obj/item/weapon/storage/firstaid/brute,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/fitness)
+"bUq" = (
+/obj/structure/noticeboard{
+ dir = 8;
+ icon_state = "nboard00";
+ pixel_x = 32;
+ pixel_y = 0;
+ tag = "icon-nboard00 (WEST)"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/fitness)
+"bUr" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/disposalpipe/junction{
+ icon_state = "pipe-j1";
+ dir = 1
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"bUs" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library)
+"bUt" = (
+/obj/machinery/light{
+ dir = 8
+ },
+/obj/item/weapon/twohanded/required/kirbyplants{
+ tag = "icon-plant-21";
+ icon_state = "plant-21"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library)
+"bUu" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library)
+"bUv" = (
+/obj/item/weapon/twohanded/required/kirbyplants{
+ tag = "icon-plant-21";
+ icon_state = "plant-21"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library)
+"bUw" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ dir = 4;
+ on = 1
+ },
+/obj/item/weapon/twohanded/required/kirbyplants{
+ tag = "icon-plant-21";
+ icon_state = "plant-21"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library)
+"bUx" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 9
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library)
+"bUy" = (
+/obj/machinery/disposal/bin,
+/obj/structure/disposalpipe/trunk{
+ dir = 8
+ },
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library)
+"bUz" = (
+/obj/machinery/light/small{
+ dir = 8
+ },
+/turf/open/floor/plasteel/grimy{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library{
+ name = "Lounge"
+ })
+"bUA" = (
+/obj/machinery/light/small{
+ dir = 4
+ },
+/turf/open/floor/plasteel/grimy{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library{
+ name = "Lounge"
+ })
+"bUB" = (
+/obj/machinery/light/small{
+ dir = 4
+ },
+/obj/structure/closet/crate,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bUC" = (
+/turf/open/floor/engine/o2{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bUD" = (
+/obj/machinery/atmospherics/components/unary/outlet_injector/on{
+ dir = 4;
+ frequency = 1441;
+ id = "o2_in"
+ },
+/turf/open/floor/engine/o2{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bUE" = (
+/obj/machinery/atmospherics/components/trinary/filter{
+ dir = 2;
+ filter_type = "o2";
+ name = "oxygen filter";
+ on = 1
+ },
+/obj/structure/window/reinforced{
+ dir = 4
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bUF" = (
+/obj/machinery/atmospherics/pipe/manifold4w/yellow/visible,
+/obj/machinery/meter,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bUG" = (
+/obj/machinery/atmospherics/pipe/manifold/yellow/visible{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bUH" = (
+/obj/machinery/light{
+ dir = 1
+ },
+/obj/machinery/atmospherics/components/unary/portables_connector/visible{
+ tag = "icon-connector_map (EAST)";
+ icon_state = "connector_map";
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bUI" = (
+/obj/machinery/meter,
+/obj/machinery/atmospherics/pipe/simple/cyan/visible{
+ tag = "icon-intact (WEST)";
+ icon_state = "intact";
+ dir = 8
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bUJ" = (
+/obj/machinery/atmospherics/pipe/simple/cyan/visible{
+ tag = "icon-intact (WEST)";
+ icon_state = "intact";
+ dir = 8
+ },
+/turf/open/floor/plasteel/yellow/side{
+ tag = "icon-yellow (EAST)";
+ icon_state = "yellow";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bUK" = (
+/obj/machinery/atmospherics/pipe/simple/cyan/visible{
+ dir = 10;
+ initialize_directions = 10
+ },
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bUL" = (
+/obj/machinery/portable_atmospherics/canister,
+/turf/open/floor/plasteel/yellow/side{
+ tag = "icon-yellow (WEST)";
+ icon_state = "yellow";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bUM" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{
+ tag = "icon-intact (SOUTHEAST)";
+ icon_state = "intact";
+ dir = 6
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bUN" = (
+/obj/machinery/atmospherics/components/binary/pump{
+ dir = 8;
+ name = "Waste to Filter";
+ on = 1
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bUO" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/visible{
+ tag = "icon-manifold (NORTH)";
+ name = "scrubbers pipe";
+ icon_state = "manifold";
+ dir = 1
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bUP" = (
+/obj/machinery/meter{
+ frequency = 1441;
+ id_tag = "waste_meter";
+ name = "Waste Loop"
+ },
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/visible{
+ tag = "icon-manifold (EAST)";
+ name = "scrubbers pipe";
+ icon_state = "manifold";
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bUQ" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bUR" = (
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plasteel/yellow/side{
+ tag = "icon-yellow (SOUTHWEST)";
+ icon_state = "yellow";
+ dir = 10;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engine_smes)
+"bUS" = (
+/obj/machinery/light,
+/turf/open/floor/plasteel/yellow/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engine_smes)
+"bUT" = (
+/obj/machinery/button/door{
+ id = "engiestoragesmes";
+ name = "Engineering SMES Blast Door Control";
+ pixel_y = -24;
+ req_access_txt = "10;11"
+ },
+/obj/effect/turf_decal/stripes/corner,
+/turf/open/floor/plasteel/yellow/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engine_smes)
+"bUU" = (
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plasteel/yellow/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engine_smes)
+"bUV" = (
+/obj/structure/table,
+/obj/item/weapon/storage/toolbox/mechanical,
+/obj/item/weapon/storage/toolbox/electrical{
+ pixel_x = -4;
+ pixel_x = 1;
+ pixel_y = 5
+ },
+/obj/item/clothing/gloves/color/yellow,
+/obj/effect/turf_decal/stripes/corner{
+ dir = 1
+ },
+/turf/open/floor/plasteel/yellow/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engine_smes)
+"bUW" = (
+/obj/machinery/portable_atmospherics/pump,
+/turf/open/floor/plasteel/yellow/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engine_smes)
+"bUX" = (
+/obj/structure/tank_dispenser,
+/turf/open/floor/plasteel/yellow/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engine_smes)
+"bUY" = (
+/obj/machinery/portable_atmospherics/scrubber,
+/obj/item/device/radio/intercom{
+ name = "Station Intercom (General)";
+ pixel_x = 0;
+ pixel_y = -29
+ },
+/turf/open/floor/plasteel/yellow/side{
+ tag = "icon-yellow (SOUTHEAST)";
+ icon_state = "yellow";
+ dir = 6;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engine_smes)
+"bUZ" = (
+/obj/machinery/suit_storage_unit/engine,
+/turf/open/floor/plasteel/yellow/side{
+ tag = "icon-yellow (SOUTHWEST)";
+ icon_state = "yellow";
+ dir = 10;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engine_smes)
+"bVa" = (
+/obj/machinery/suit_storage_unit/engine,
+/turf/open/floor/plasteel/yellow/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engine_smes)
+"bVb" = (
+/obj/machinery/suit_storage_unit/engine,
+/turf/open/floor/plasteel/yellow/side{
+ tag = "icon-yellow (SOUTHEAST)";
+ icon_state = "yellow";
+ dir = 6;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engine_smes)
+"bVc" = (
+/obj/machinery/light{
+ icon_state = "tube1";
+ dir = 8
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bVd" = (
+/obj/machinery/camera{
+ c_tag = "Medbay Asteroid Hallway 1";
+ dir = 8;
+ icon_state = "camera";
+ network = list("SS13","QM");
+ tag = "icon-camera (WEST)"
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bVe" = (
+/obj/machinery/door/airlock/glass_external{
+ cyclelinkeddir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bVf" = (
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/obj/effect/spawner/lootdrop/grille_or_trash,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bVg" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bVh" = (
+/obj/structure/chair,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bVi" = (
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bVj" = (
+/obj/structure/closet/crate,
+/obj/effect/decal/cleanable/cobweb,
+/obj/item/weapon/coin/silver,
+/obj/item/weapon/coin/silver,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bVk" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bVl" = (
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bVm" = (
+/obj/structure/reagent_dispensers/water_cooler,
+/obj/machinery/light{
+ dir = 8
+ },
+/turf/open/floor/plasteel/vault{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 5
+ },
+/area/crew_quarters/fitness)
+"bVn" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 8
+ },
+/turf/open/floor/plasteel/vault{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 5
+ },
+/area/crew_quarters/fitness)
+"bVo" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/vault{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 5
+ },
+/area/crew_quarters/fitness)
+"bVp" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/fitness)
+"bVq" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 9;
+ pixel_y = 0
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/fitness)
+"bVr" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/fitness)
+"bVs" = (
+/obj/structure/bookcase/random/fiction,
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library)
+"bVt" = (
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library)
+"bVu" = (
+/obj/structure/bookcase/random/nonfiction,
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library)
+"bVv" = (
+/obj/structure/bookcase/random/reference,
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library)
+"bVw" = (
+/obj/structure/bookcase/random/religion,
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library)
+"bVx" = (
+/obj/structure/bookcase/random/adult,
+/turf/open/floor/plasteel/grimy{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library{
+ name = "Lounge"
+ })
+"bVy" = (
+/obj/effect/landmark/event_spawn,
+/turf/open/floor/plasteel/grimy{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library{
+ name = "Lounge"
+ })
+"bVz" = (
+/obj/structure/sign/poster/random{
+ name = "random contraband poster";
+ pixel_x = 32;
+ random_basetype = /obj/structure/sign/poster/contraband
+ },
+/turf/open/floor/plasteel/grimy{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library{
+ name = "Lounge"
+ })
+"bVA" = (
+/obj/structure/closet/emcloset,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/maintcentral{
+ name = "Central Asteroid Maintenance"
+ })
+"bVB" = (
+/obj/machinery/light/small{
+ dir = 8
+ },
+/turf/open/floor/engine/o2{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bVC" = (
+/obj/machinery/portable_atmospherics/canister/oxygen,
+/turf/open/floor/engine/o2{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bVD" = (
+/obj/machinery/air_sensor{
+ frequency = 1441;
+ id_tag = "o2_sensor"
+ },
+/turf/open/floor/engine/o2{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bVE" = (
+/obj/machinery/computer/atmos_control/tank{
+ frequency = 1441;
+ input_tag = "o2_in";
+ name = "Oxygen Supply Control";
+ output_tag = "o2_out";
+ sensors = list("o2_sensor" = "Tank")
+ },
+/obj/machinery/atmospherics/pipe/simple/green/visible,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bVF" = (
+/obj/machinery/atmospherics/pipe/simple/yellow/visible{
+ dir = 9
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bVG" = (
+/obj/machinery/atmospherics/pipe/simple/yellow/visible{
+ icon_state = "intact";
+ dir = 5
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bVH" = (
+/obj/machinery/atmospherics/pipe/simple/yellow/visible{
+ dir = 4
+ },
+/obj/effect/landmark/start/atmospheric_technician,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bVI" = (
+/obj/machinery/atmospherics/pipe/manifold/yellow/visible{
+ dir = 1
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bVJ" = (
+/obj/machinery/atmospherics/pipe/simple/yellow/visible{
+ dir = 4
+ },
+/obj/machinery/meter,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bVK" = (
+/obj/machinery/atmospherics/components/binary/pump{
+ dir = 8;
+ name = "Mix To Canisters";
+ on = 0
+ },
+/turf/open/floor/plasteel/yellow/side{
+ tag = "icon-yellow (EAST)";
+ icon_state = "yellow";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bVL" = (
+/obj/machinery/atmospherics/pipe/simple/yellow/visible{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/cyan/visible,
+/obj/machinery/door/airlock/atmos{
+ name = "Atmospherics Distro";
+ req_access_txt = "24"
+ },
+/turf/open/floor/plasteel/yellow{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bVM" = (
+/obj/machinery/atmospherics/components/binary/pump{
+ dir = 2;
+ name = "Mix to Filter";
+ on = 1
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bVN" = (
+/obj/machinery/atmospherics/components/unary/thermomachine/freezer{
+ dir = 1;
+ min_temperature = 80;
+ on = 1;
+ target_temperature = 80
+ },
+/turf/open/floor/plasteel/delivery{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bVO" = (
+/obj/machinery/atmospherics/components/binary/pump{
+ dir = 1;
+ name = "Distro to Waste";
+ on = 0
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bVP" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bVQ" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "Central Asteroid Maintenance";
+ req_access_txt = "10"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/maintcentral{
+ name = "Central Asteroid Maintenance"
+ })
+"bVR" = (
+/obj/machinery/door/poddoor{
+ id = "engiestoragesmes";
+ name = "Engineering SMES Storage"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engine_smes)
+"bVS" = (
+/obj/machinery/status_display{
+ density = 0;
+ layer = 4
+ },
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engine_smes)
+"bVT" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/disposalpipe/segment,
+/obj/structure/lattice/catwalk,
+/turf/open/space,
+/area/space)
+"bVU" = (
+/obj/machinery/firealarm{
+ dir = 8;
+ pixel_x = -24
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bVV" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/lattice/catwalk,
+/turf/open/space,
+/area/space)
+"bVW" = (
+/obj/structure/table,
+/obj/item/weapon/paper_bin,
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bVX" = (
+/obj/structure/reagent_dispensers/fueltank,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bVY" = (
+/obj/structure/disposalpipe/segment,
+/obj/structure/grille/broken,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bVZ" = (
+/obj/machinery/light/small{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment,
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/item/device/assembly/mousetrap/armed,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bWa" = (
+/obj/machinery/disposal/bin,
+/obj/structure/disposalpipe/trunk{
+ dir = 4
+ },
+/turf/open/floor/plasteel/vault{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 5
+ },
+/area/crew_quarters/fitness)
+"bWb" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel/vault{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 5
+ },
+/area/crew_quarters/fitness)
+"bWc" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 6
+ },
+/turf/open/floor/plasteel/vault{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 5
+ },
+/area/crew_quarters/fitness)
+"bWd" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/camera{
+ c_tag = "Fitness South";
+ dir = 1;
+ icon_state = "camera";
+ network = list("SS13")
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/vault{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 5
+ },
+/area/crew_quarters/fitness)
+"bWe" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,
+/turf/open/floor/plasteel/vault{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 5
+ },
+/area/crew_quarters/fitness)
+"bWf" = (
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/fitness)
+"bWg" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 9
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/fitness)
+"bWh" = (
+/obj/structure/punching_bag,
+/obj/machinery/light,
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/fitness)
+"bWi" = (
+/obj/structure/punching_bag,
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/fitness)
+"bWj" = (
+/obj/effect/landmark/start/assistant,
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/fitness)
+"bWk" = (
+/obj/structure/closet/boxinggloves,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/fitness)
+"bWl" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/sign/map/left/ceres{
+ pixel_x = -32
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"bWm" = (
+/obj/machinery/light/small,
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library)
+"bWn" = (
+/obj/effect/landmark/blobstart,
+/turf/open/floor/plasteel/grimy{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library{
+ name = "Lounge"
+ })
+"bWo" = (
+/obj/machinery/camera{
+ c_tag = "Library Explicits";
+ dir = 9;
+ icon_state = "camera";
+ tag = "icon-camera (NORTHWEST)"
+ },
+/turf/open/floor/plasteel/grimy{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library{
+ name = "Lounge"
+ })
+"bWp" = (
+/obj/structure/grille,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bWq" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 4;
+ external_pressure_bound = 0;
+ frequency = 1441;
+ id_tag = "o2_out";
+ initialize_directions = 1;
+ internal_pressure_bound = 4000;
+ name = "oxygen vent";
+ on = 1;
+ pressure_checks = 2;
+ pump_direction = 0
+ },
+/turf/open/floor/engine/o2{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bWr" = (
+/obj/machinery/meter,
+/obj/structure/grille,
+/obj/machinery/atmospherics/pipe/simple/yellow/visible{
+ color = "purple";
+ dir = 4
+ },
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bWs" = (
+/obj/machinery/atmospherics/pipe/simple/green/visible,
+/obj/machinery/atmospherics/components/binary/pump{
+ dir = 4;
+ name = "O2 to Airmix";
+ on = 1
+ },
+/obj/structure/window/reinforced{
+ dir = 4
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bWt" = (
+/obj/machinery/atmospherics/pipe/simple/yellow/visible,
+/obj/machinery/atmospherics/pipe/simple/cyan/visible{
+ dir = 4
+ },
+/turf/open/floor/plasteel/yellow/side{
+ tag = "icon-yellow (WEST)";
+ icon_state = "yellow";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bWu" = (
+/obj/machinery/atmospherics/components/trinary/mixer{
+ dir = 2;
+ name = "air mixer";
+ node1_concentration = 0.8;
+ node2_concentration = 0.2;
+ on = 1;
+ pixel_x = 0;
+ pixel_y = 0;
+ target_pressure = 4500
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bWv" = (
+/obj/machinery/camera{
+ c_tag = "Atmospherics South";
+ dir = 4;
+ icon_state = "camera";
+ network = list("SS13","CE")
+ },
+/turf/open/floor/plasteel/yellow/side{
+ tag = "icon-yellow (WEST)";
+ icon_state = "yellow";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bWw" = (
+/obj/machinery/atmospherics/components/binary/pump{
+ dir = 8;
+ name = "Mix To Canisters";
+ on = 0
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bWx" = (
+/obj/machinery/atmospherics/pipe/simple/yellow/visible{
+ icon_state = "intact";
+ dir = 10
+ },
+/turf/open/floor/plasteel/yellow/side{
+ tag = "icon-yellow (EAST)";
+ icon_state = "yellow";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bWy" = (
+/obj/machinery/atmospherics/pipe/simple/cyan/visible,
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bWz" = (
+/obj/machinery/atmospherics/pipe/simple/yellow/visible{
+ tag = "icon-intact (NORTHEAST)";
+ icon_state = "intact";
+ dir = 5
+ },
+/turf/open/floor/plasteel/yellow/side{
+ tag = "icon-yellow (WEST)";
+ icon_state = "yellow";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bWA" = (
+/obj/machinery/atmospherics/components/unary/thermomachine/heater{
+ dir = 4;
+ on = 1
+ },
+/turf/open/floor/plasteel/delivery{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bWB" = (
+/obj/machinery/atmospherics/pipe/manifold4w/supply/visible,
+/obj/machinery/meter{
+ frequency = 1441;
+ id_tag = "distro_meter";
+ name = "Distribution Loop"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bWC" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 9
+ },
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bWD" = (
+/obj/effect/turf_decal/stripes/asteroid/line{
+ icon_state = "ast_warn";
+ dir = 1
+ },
+/obj/machinery/light/small{
+ dir = 8
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/maintcentral{
+ name = "Central Asteroid Maintenance"
+ })
+"bWE" = (
+/obj/effect/turf_decal/stripes/corner{
+ dir = 8
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engine_smes)
+"bWF" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engine_smes)
+"bWG" = (
+/obj/machinery/button/door{
+ id = "engiestoragesmes";
+ name = "Engineering SMES Blast Door Control";
+ pixel_y = 24;
+ req_access_txt = "10;11"
+ },
+/obj/effect/turf_decal/stripes/corner{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engine_smes)
+"bWH" = (
+/obj/structure/closet/crate,
+/obj/item/stack/sheet/metal{
+ amount = 50
+ },
+/obj/item/stack/rods{
+ amount = 50
+ },
+/obj/item/stack/sheet/glass{
+ amount = 50
+ },
+/obj/item/weapon/electronics/airlock,
+/obj/item/weapon/electronics/airlock,
+/obj/item/weapon/stock_parts/cell/high/plus,
+/obj/item/stack/sheet/mineral/plasma{
+ amount = 30
+ },
+/turf/open/floor/plating,
+/area/engine/engine_smes)
+"bWI" = (
+/obj/machinery/field/generator,
+/turf/open/floor/plating,
+/area/engine/engine_smes)
+"bWJ" = (
+/obj/machinery/power/emitter,
+/obj/effect/decal/cleanable/cobweb/cobweb2,
+/turf/open/floor/plating,
+/area/engine/engine_smes)
+"bWK" = (
+/obj/structure/table,
+/obj/item/weapon/storage/toolbox/mechanical,
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bWL" = (
+/obj/item/stack/sheet/mineral/wood,
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bWM" = (
+/obj/structure/reagent_dispensers/watertank,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bWN" = (
+/obj/effect/decal/cleanable/cobweb,
+/obj/structure/closet/emcloset,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bWO" = (
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/toilet{
+ name = "Fitness Toilets"
+ })
+"bWP" = (
+/obj/machinery/door/airlock{
+ name = "Bathroom"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/toilet{
+ name = "Fitness Toilets"
+ })
+"bWQ" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/toilet{
+ name = "Fitness Toilets"
+ })
+"bWR" = (
+/obj/structure/grille,
+/obj/machinery/door/firedoor,
+/obj/structure/window/fulltile,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/fitness)
+"bWS" = (
+/obj/machinery/door/airlock/glass{
+ name = "Holodeck Arena"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/fitness)
+"bWT" = (
+/obj/machinery/door/airlock{
+ name = "Private Study"
+ },
+/turf/open/floor/plasteel/grimy{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library)
+"bWU" = (
+/obj/machinery/light/small,
+/obj/structure/reagent_dispensers/watertank,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/maintcentral{
+ name = "Central Asteroid Maintenance"
+ })
+"bWV" = (
+/obj/machinery/atmospherics/pipe/simple/general/visible{
+ dir = 5
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bWW" = (
+/obj/machinery/atmospherics/pipe/simple/green/visible,
+/obj/machinery/atmospherics/components/binary/pump{
+ dir = 4;
+ name = "O2 to Pure"
+ },
+/obj/structure/window/reinforced{
+ dir = 4
+ },
+/obj/structure/window/reinforced,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bWX" = (
+/obj/machinery/atmospherics/pipe/manifold/yellow/visible{
+ dir = 4
+ },
+/turf/open/floor/plasteel/yellow/side{
+ tag = "icon-yellow (WEST)";
+ icon_state = "yellow";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bWY" = (
+/obj/effect/landmark/event_spawn,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bWZ" = (
+/obj/machinery/atmospherics/pipe/manifold/yellow/visible{
+ dir = 8
+ },
+/turf/open/floor/plasteel/yellow/side{
+ tag = "icon-yellow (EAST)";
+ icon_state = "yellow";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bXa" = (
+/obj/machinery/atmospherics/pipe/simple/yellow/visible{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/cyan/visible,
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bXb" = (
+/obj/machinery/atmospherics/components/binary/pump{
+ dir = 4;
+ name = "Pure to Mix";
+ on = 0
+ },
+/turf/open/floor/plasteel/yellow/side{
+ tag = "icon-yellow (WEST)";
+ icon_state = "yellow";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bXc" = (
+/obj/machinery/atmospherics/pipe/simple/green/visible{
+ tag = "icon-intact (SOUTHWEST)";
+ icon_state = "intact";
+ dir = 10
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bXd" = (
+/obj/machinery/atmospherics/pipe/manifold/yellow/visible{
+ dir = 8
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bXe" = (
+/obj/machinery/atmospherics/components/binary/pump{
+ dir = 4;
+ name = "Mix to Distro";
+ on = 0
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bXf" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/visible{
+ tag = "icon-manifold (EAST)";
+ icon_state = "manifold";
+ dir = 4
+ },
+/obj/machinery/camera{
+ c_tag = "Atmospherics Distro";
+ dir = 9;
+ icon_state = "camera";
+ network = list("SS13","CE");
+ tag = "icon-camera (NORTHWEST)"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bXg" = (
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engine_smes)
+"bXh" = (
+/obj/machinery/portable_atmospherics/canister/toxins,
+/turf/open/floor/plating,
+/area/engine/engine_smes)
+"bXi" = (
+/obj/machinery/power/emitter,
+/obj/machinery/light/small{
+ dir = 4
+ },
+/turf/open/floor/plating,
+/area/engine/engine_smes)
+"bXj" = (
+/obj/structure/sign/map/left/ceres{
+ pixel_x = -32
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bXk" = (
+/obj/structure/closet/crate,
+/obj/item/weapon/pickaxe/emergency,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bXl" = (
+/obj/machinery/door/airlock/glass_external{
+ cyclelinkeddir = 2
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bXm" = (
+/obj/machinery/light/small{
+ dir = 8
+ },
+/obj/structure/closet,
+/obj/effect/spawner/lootdrop/maintenance,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bXn" = (
+/obj/structure/barricade/wooden,
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bXo" = (
+/obj/structure/girder,
+/obj/structure/grille,
+/obj/structure/barricade/wooden,
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bXp" = (
+/obj/effect/turf_decal/stripes/asteroid/line{
+ icon_state = "ast_warn";
+ dir = 8
+ },
+/obj/item/clothing/head/cone,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bXq" = (
+/obj/machinery/airalarm{
+ dir = 4;
+ icon_state = "alarm0";
+ pixel_x = -22
+ },
+/turf/open/floor/plasteel/freezer{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/toilet{
+ name = "Fitness Toilets"
+ })
+"bXr" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel/freezer{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/toilet{
+ name = "Fitness Toilets"
+ })
+"bXs" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/freezer{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/toilet{
+ name = "Fitness Toilets"
+ })
+"bXt" = (
+/obj/structure/sink{
+ dir = 4;
+ icon_state = "sink";
+ pixel_x = 11;
+ pixel_y = 0
+ },
+/obj/structure/mirror{
+ pixel_x = 32;
+ pixel_y = 0
+ },
+/turf/open/floor/plasteel/freezer{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/toilet{
+ name = "Fitness Toilets"
+ })
+"bXu" = (
+/obj/structure/disposalpipe/segment{
+ dir = 1;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/fitness)
+"bXv" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/fitness)
+"bXw" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ dir = 4;
+ on = 1;
+ scrub_N2O = 0;
+ scrub_Toxins = 0
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/fitness)
+"bXx" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/machinery/light{
+ dir = 1
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/fitness)
+"bXy" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/camera{
+ c_tag = "Holodeck North"
+ },
+/obj/structure/sign/poster/random{
+ name = "random official poster";
+ pixel_x = 0;
+ pixel_y = 32;
+ random_basetype = /obj/structure/sign/poster/official
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/fitness)
+"bXz" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/fitness)
+"bXA" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/sign/poster/random{
+ name = "random official poster";
+ pixel_x = 0;
+ pixel_y = 32;
+ random_basetype = /obj/structure/sign/poster/official
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/fitness)
+"bXB" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 10
+ },
+/obj/structure/table,
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/fitness)
+"bXC" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "Broom Closet";
+ req_access_txt = "0"
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"bXD" = (
+/obj/effect/decal/cleanable/cobweb/cobweb2,
+/obj/structure/sink{
+ dir = 4;
+ icon_state = "sink";
+ pixel_x = 11;
+ pixel_y = 0
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"bXE" = (
+/obj/machinery/newscaster{
+ pixel_x = -28;
+ pixel_y = 4
+ },
+/turf/open/floor/plasteel/grimy{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library)
+"bXF" = (
+/obj/structure/table/wood,
+/obj/item/device/flashlight/lamp,
+/obj/item/device/radio/intercom{
+ broadcasting = 0;
+ name = "Station Intercom (General)";
+ pixel_y = 20
+ },
+/turf/open/floor/plasteel/grimy{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library)
+"bXG" = (
+/turf/open/floor/engine/air{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bXH" = (
+/obj/machinery/atmospherics/components/unary/outlet_injector/on{
+ dir = 4;
+ frequency = 1441;
+ id = "air_in"
+ },
+/turf/open/floor/engine/air{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bXI" = (
+/obj/machinery/meter{
+ name = "Mixed Air Tank In"
+ },
+/obj/structure/grille,
+/obj/machinery/atmospherics/pipe/simple/cyan/visible{
+ dir = 4
+ },
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bXJ" = (
+/obj/machinery/atmospherics/pipe/simple/cyan/visible{
+ tag = "icon-intact (WEST)";
+ icon_state = "intact";
+ dir = 8
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bXK" = (
+/obj/machinery/atmospherics/pipe/simple/green/visible,
+/obj/machinery/atmospherics/pipe/simple/cyan/visible{
+ tag = "icon-intact (WEST)";
+ icon_state = "intact";
+ dir = 8
+ },
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/turf/open/floor/plasteel/yellow{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bXL" = (
+/obj/machinery/atmospherics/pipe/simple/yellow/visible,
+/obj/machinery/atmospherics/pipe/simple/cyan/visible{
+ tag = "icon-intact (WEST)";
+ icon_state = "intact";
+ dir = 8
+ },
+/turf/open/floor/plasteel/yellow/side{
+ tag = "icon-yellow (SOUTHWEST)";
+ icon_state = "yellow";
+ dir = 10;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bXM" = (
+/obj/machinery/atmospherics/pipe/simple/cyan/visible{
+ tag = "icon-intact (NORTHWEST)";
+ icon_state = "intact";
+ dir = 9
+ },
+/turf/open/floor/plasteel/yellow/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bXN" = (
+/obj/machinery/atmospherics/pipe/simple/yellow/visible{
+ dir = 6
+ },
+/turf/open/floor/plasteel/yellow/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bXO" = (
+/obj/machinery/atmospherics/pipe/manifold/yellow/visible{
+ dir = 1
+ },
+/turf/open/floor/plasteel/yellow/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bXP" = (
+/obj/machinery/atmospherics/pipe/simple/yellow/visible{
+ dir = 4
+ },
+/turf/open/floor/plasteel/yellow/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bXQ" = (
+/obj/machinery/atmospherics/pipe/manifold/yellow/visible{
+ dir = 4
+ },
+/turf/open/floor/plasteel/yellow/side{
+ tag = "icon-yellow (SOUTHEAST)";
+ icon_state = "yellow";
+ dir = 6;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bXR" = (
+/obj/machinery/atmospherics/pipe/simple/green/visible{
+ dir = 6
+ },
+/turf/open/floor/plasteel/yellow/side{
+ tag = "icon-yellow (WEST)";
+ icon_state = "yellow";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bXS" = (
+/obj/machinery/atmospherics/pipe/manifold/green/visible{
+ tag = "icon-manifold (EAST)";
+ icon_state = "manifold";
+ dir = 4
+ },
+/obj/machinery/meter,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bXT" = (
+/obj/machinery/atmospherics/components/binary/pump{
+ dir = 1;
+ name = "Air to Distro";
+ on = 1;
+ target_pressure = 101
+ },
+/obj/machinery/light{
+ dir = 4;
+ icon_state = "tube1"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bXU" = (
+/obj/machinery/power/port_gen/pacman,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engine_smes)
+"bXV" = (
+/obj/structure/closet/crate,
+/obj/item/stack/sheet/mineral/plasma{
+ amount = 5
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engine_smes)
+"bXW" = (
+/obj/machinery/shieldgen,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engine_smes)
+"bXX" = (
+/obj/machinery/shieldgen,
+/turf/open/floor/plating,
+/area/engine/engine_smes)
+"bXY" = (
+/obj/machinery/the_singularitygen{
+ anchored = 0
+ },
+/obj/machinery/light/small,
+/turf/open/floor/plating,
+/area/engine/engine_smes)
+"bXZ" = (
+/obj/machinery/power/emitter,
+/turf/open/floor/plating,
+/area/engine/engine_smes)
+"bYa" = (
+/obj/structure/reagent_dispensers/watertank,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/maintcentral{
+ name = "Central Asteroid Maintenance"
+ })
+"bYb" = (
+/obj/machinery/door/airlock/glass,
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"bYc" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bYd" = (
+/turf/open/floor/plasteel/freezer{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/toilet{
+ name = "Fitness Toilets"
+ })
+"bYe" = (
+/obj/structure/extinguisher_cabinet{
+ pixel_x = -24
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/fitness)
+"bYf" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 4;
+ on = 1
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/fitness)
+"bYg" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/fitness)
+"bYh" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 10
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/fitness)
+"bYi" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/table,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/fitness)
+"bYj" = (
+/obj/structure/janitorialcart,
+/obj/item/weapon/mop,
+/obj/item/weapon/reagent_containers/glass/bucket,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"bYk" = (
+/obj/structure/chair/comfy/brown{
+ dir = 4
+ },
+/obj/machinery/light/small{
+ dir = 8
+ },
+/turf/open/floor/plasteel/grimy{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library)
+"bYl" = (
+/obj/structure/table/wood,
+/obj/item/weapon/paper_bin{
+ pixel_x = -3;
+ pixel_y = 7
+ },
+/obj/item/weapon/pen,
+/turf/open/floor/plasteel/grimy{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library)
+"bYm" = (
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/chapel/main)
+"bYn" = (
+/obj/structure/disposalpipe/segment{
+ dir = 1;
+ icon_state = "pipe-c"
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/chapel/main)
+"bYo" = (
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/chapel/main)
+"bYp" = (
+/obj/machinery/light/small{
+ dir = 8
+ },
+/turf/open/floor/engine/air{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bYq" = (
+/obj/machinery/portable_atmospherics/canister/air,
+/turf/open/floor/engine/air{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bYr" = (
+/obj/machinery/air_sensor{
+ frequency = 1441;
+ id_tag = "air_sensor"
+ },
+/turf/open/floor/engine/air{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bYs" = (
+/obj/machinery/computer/atmos_control/tank{
+ frequency = 1441;
+ input_tag = "air_in";
+ name = "Mixed Air Supply Control";
+ output_tag = "air_out";
+ sensors = list("air_sensor" = "Tank")
+ },
+/obj/machinery/atmospherics/pipe/simple/green/visible{
+ tag = "icon-intact (NORTHEAST)";
+ icon_state = "intact";
+ dir = 5
+ },
+/turf/open/floor/plasteel/vault{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 5
+ },
+/area/atmos)
+"bYt" = (
+/obj/machinery/atmospherics/pipe/simple/green/visible{
+ tag = "icon-intact (WEST)";
+ icon_state = "intact";
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/yellow/visible,
+/obj/structure/window/reinforced,
+/turf/open/floor/plasteel/yellow{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bYu" = (
+/obj/machinery/atmospherics/components/trinary/filter{
+ dir = 4;
+ filter_type = "co2";
+ name = "co2 filter";
+ on = 1
+ },
+/obj/structure/window/reinforced{
+ dir = 1;
+ layer = 2.9
+ },
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bYv" = (
+/obj/machinery/computer/atmos_control/tank{
+ frequency = 1441;
+ input_tag = "co2_in";
+ name = "Carbon Dioxide Supply Control";
+ output_tag = "co2_out";
+ sensors = list("co2_sensor" = "Tank")
+ },
+/obj/machinery/atmospherics/pipe/simple/yellow/visible,
+/obj/machinery/atmospherics/pipe/simple/green/visible{
+ dir = 4
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bYw" = (
+/obj/machinery/atmospherics/pipe/simple/green/visible{
+ dir = 4
+ },
+/obj/machinery/atmospherics/components/binary/pump{
+ dir = 1;
+ name = "CO2 to Pure";
+ on = 0
+ },
+/obj/structure/window/reinforced{
+ dir = 1;
+ layer = 2.9
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bYx" = (
+/obj/machinery/atmospherics/pipe/simple/green/visible{
+ dir = 4
+ },
+/obj/structure/window/reinforced{
+ dir = 1;
+ layer = 2.9
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bYy" = (
+/obj/machinery/atmospherics/components/trinary/filter{
+ dir = 4;
+ filter_type = "plasma";
+ name = "plasma filter";
+ on = 1
+ },
+/obj/structure/window/reinforced{
+ dir = 1;
+ layer = 2.9
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bYz" = (
+/obj/machinery/atmospherics/pipe/simple/green/visible{
+ dir = 4
+ },
+/obj/machinery/computer/atmos_control/tank{
+ frequency = 1441;
+ input_tag = "tox_in";
+ name = "Plasma Supply Control";
+ output_tag = "tox_out";
+ sensors = list("tox_sensor" = "Tank")
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bYA" = (
+/obj/machinery/atmospherics/pipe/simple/green/visible{
+ dir = 4
+ },
+/obj/machinery/atmospherics/components/binary/pump{
+ dir = 1;
+ name = "Plasma to Pure";
+ on = 0
+ },
+/obj/structure/window/reinforced{
+ dir = 1;
+ layer = 2.9
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bYB" = (
+/obj/machinery/atmospherics/components/trinary/filter{
+ dir = 2;
+ filter_type = "n2";
+ name = "nitogren filter";
+ on = 1
+ },
+/obj/structure/window/reinforced{
+ dir = 1;
+ layer = 2.9
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bYC" = (
+/obj/machinery/atmospherics/pipe/simple/green/visible{
+ dir = 4
+ },
+/obj/machinery/computer/atmos_control/tank{
+ frequency = 1441;
+ input_tag = "n2o_in";
+ name = "Nitrous Oxide Supply Control";
+ output_tag = "n2o_out";
+ sensors = list("n2o_sensor" = "Tank")
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bYD" = (
+/obj/machinery/atmospherics/pipe/simple/green/visible{
+ dir = 4
+ },
+/obj/machinery/atmospherics/components/binary/pump{
+ dir = 1;
+ name = "N2O to Pure";
+ on = 0
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bYE" = (
+/obj/machinery/atmospherics/pipe/simple/green/visible{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/cyan/visible,
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bYF" = (
+/obj/machinery/atmospherics/pipe/simple/green/visible{
+ dir = 4
+ },
+/obj/machinery/atmospherics/components/binary/pump{
+ dir = 2;
+ name = "Unfiltered & Air to Mix";
+ on = 1
+ },
+/turf/open/floor/plasteel/yellow/side{
+ tag = "icon-yellow (WEST)";
+ icon_state = "yellow";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bYG" = (
+/obj/machinery/atmospherics/pipe/manifold/green/visible,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bYH" = (
+/obj/machinery/atmospherics/pipe/simple/yellow/visible,
+/obj/machinery/atmospherics/components/binary/pump{
+ dir = 8;
+ name = "Air to Mix"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bYI" = (
+/obj/machinery/atmospherics/pipe/manifold/cyan/visible{
+ dir = 1;
+ initialize_directions = 11
+ },
+/obj/machinery/meter,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bYJ" = (
+/obj/machinery/atmospherics/pipe/simple/cyan/visible{
+ tag = "icon-intact (NORTHWEST)";
+ icon_state = "intact";
+ dir = 9
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bYK" = (
+/obj/machinery/light/small,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/maintcentral{
+ name = "Central Asteroid Maintenance"
+ })
+"bYL" = (
+/obj/structure/lattice/catwalk,
+/obj/structure/window/reinforced{
+ dir = 4;
+ pixel_x = 0
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 10
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
+ },
+/obj/structure/grille,
+/turf/open/space,
+/area/space)
+"bYM" = (
+/obj/structure/lattice/catwalk,
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 6
+ },
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/obj/structure/girder,
+/obj/structure/grille,
+/turf/open/space,
+/area/space)
+"bYN" = (
+/obj/structure/lattice/catwalk,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 9
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/turf/open/space,
+/area/space)
+"bYO" = (
+/obj/machinery/door/airlock/glass_external{
+ cyclelinkeddir = 1
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/starboard{
+ name = "Starboard Asteroid Maintenance"
+ })
+"bYP" = (
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"bYQ" = (
+/obj/machinery/power/apc{
+ dir = 4;
+ name = "Fitness Bathroom APC";
+ pixel_x = 23;
+ pixel_y = 2
+ },
+/obj/structure/cable/orange{
+ d2 = 8;
+ icon_state = "0-8"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/toilet{
+ name = "Fitness Toilets"
+ })
+"bYR" = (
+/obj/machinery/camera{
+ c_tag = "Fitness Bathrooms";
+ dir = 4;
+ icon_state = "camera";
+ network = list("SS13","CE")
+ },
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 4;
+ on = 1
+ },
+/obj/structure/urinal{
+ pixel_x = -32
+ },
+/turf/open/floor/plasteel/freezer{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/toilet{
+ name = "Fitness Toilets"
+ })
+"bYS" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/freezer{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/toilet{
+ name = "Fitness Toilets"
+ })
+"bYT" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/fitness)
+"bYU" = (
+/obj/structure/table,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/fitness)
+"bYV" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/table,
+/obj/item/weapon/storage/firstaid/brute,
+/obj/structure/disposalpipe/segment,
+/obj/item/device/radio/intercom{
+ broadcasting = 0;
+ name = "Station Intercom (General)";
+ pixel_x = 28;
+ pixel_y = 0
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/fitness)
+"bYW" = (
+/obj/machinery/airalarm{
+ frequency = 1439;
+ locked = 0;
+ pixel_y = 23
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/chapel/main)
+"bYX" = (
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/chapel/main)
+"bYY" = (
+/obj/item/device/radio/intercom{
+ broadcasting = 0;
+ name = "Station Intercom (General)";
+ pixel_y = 20
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/chapel/main)
+"bYZ" = (
+/obj/structure/extinguisher_cabinet{
+ pixel_y = 24
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/chapel/main)
+"bZa" = (
+/obj/structure/disposalpipe/segment,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/chapel/main)
+"bZb" = (
+/obj/machinery/atmospherics/components/unary/vent_pump/high_volume{
+ dir = 4;
+ external_pressure_bound = 0;
+ frequency = 1441;
+ icon_state = "in";
+ id_tag = "air_out";
+ internal_pressure_bound = 2000;
+ on = 1;
+ pressure_checks = 2;
+ pump_direction = 0
+ },
+/turf/open/floor/engine/air{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bZc" = (
+/obj/machinery/meter{
+ name = "Mixed Air Tank Out"
+ },
+/obj/structure/grille,
+/obj/machinery/atmospherics/pipe/simple/cyan/visible{
+ dir = 4
+ },
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bZd" = (
+/obj/machinery/atmospherics/pipe/manifold/cyan/visible{
+ dir = 1;
+ initialize_directions = 11
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bZe" = (
+/obj/machinery/atmospherics/components/binary/pump{
+ dir = 4;
+ name = "Air to Pure"
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bZf" = (
+/obj/machinery/atmospherics/pipe/simple/yellow/visible{
+ tag = "icon-intact (WEST)";
+ icon_state = "intact";
+ dir = 8
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bZg" = (
+/obj/machinery/atmospherics/pipe/manifold/yellow/visible,
+/obj/machinery/meter,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bZh" = (
+/obj/machinery/atmospherics/pipe/simple/yellow/visible{
+ tag = "icon-intact (WEST)";
+ icon_state = "intact";
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/green/visible,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bZi" = (
+/obj/machinery/atmospherics/pipe/simple/yellow/visible{
+ tag = "icon-intact (NORTHWEST)";
+ icon_state = "intact";
+ dir = 9
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bZj" = (
+/obj/machinery/atmospherics/pipe/simple/yellow/visible,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bZk" = (
+/obj/machinery/atmospherics/pipe/simple/green/visible,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bZl" = (
+/obj/machinery/atmospherics/pipe/simple/green/visible,
+/turf/open/floor/plasteel/yellow/side{
+ tag = "icon-yellow (WEST)";
+ icon_state = "yellow";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bZm" = (
+/obj/structure/extinguisher_cabinet{
+ pixel_x = 24
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bZn" = (
+/obj/structure/lattice/catwalk,
+/obj/structure/window/reinforced{
+ dir = 4;
+ pixel_x = 0
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/disposalpipe/segment,
+/obj/structure/grille,
+/turf/open/space,
+/area/space)
+"bZo" = (
+/obj/structure/lattice/catwalk,
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/girder,
+/obj/structure/grille,
+/turf/open/space,
+/area/space)
+"bZp" = (
+/obj/machinery/light{
+ dir = 8
+ },
+/obj/structure/urinal{
+ pixel_x = -32
+ },
+/turf/open/floor/plasteel/freezer{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/toilet{
+ name = "Fitness Toilets"
+ })
+"bZq" = (
+/obj/machinery/door/airlock{
+ id_tag = "fb1"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/freezer{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/toilet{
+ name = "Fitness Toilets"
+ })
+"bZr" = (
+/obj/machinery/light/small,
+/obj/structure/toilet{
+ icon_state = "toilet00";
+ dir = 8
+ },
+/obj/machinery/button/door{
+ id = "fb1";
+ name = "Privacy Bolts";
+ normaldoorcontrol = 1;
+ pixel_x = 24
+ },
+/obj/effect/landmark/blobstart,
+/turf/open/floor/plasteel/freezer{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/toilet{
+ name = "Fitness Toilets"
+ })
+"bZs" = (
+/turf/open/floor/engine{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ name = "Holodeck Projector Floor"
+ },
+/area/holodeck/rec_center)
+"bZt" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/table,
+/obj/machinery/light{
+ dir = 4;
+ icon_state = "tube1"
+ },
+/obj/item/weapon/storage/firstaid/o2,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/fitness)
+"bZu" = (
+/obj/machinery/camera{
+ c_tag = "Chapel West";
+ dir = 5;
+ icon_state = "camera";
+ tag = "icon-camera (NORTHEAST)"
+ },
+/turf/open/floor/plasteel/chapel{
+ tag = "icon-chapel (NORTH)";
+ icon_state = "chapel";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/chapel/main)
+"bZv" = (
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/plasteel/chapel{
+ tag = "icon-chapel (EAST)";
+ icon_state = "chapel";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/chapel/main)
+"bZw" = (
+/turf/open/floor/plasteel/chapel{
+ tag = "icon-chapel (NORTH)";
+ icon_state = "chapel";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/chapel/main)
+"bZx" = (
+/turf/open/floor/plasteel/chapel{
+ tag = "icon-chapel (EAST)";
+ icon_state = "chapel";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/chapel/main)
+"bZy" = (
+/obj/structure/chair{
+ dir = 4
+ },
+/obj/effect/landmark/start/assistant,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/chapel/main)
+"bZz" = (
+/obj/machinery/newscaster{
+ pixel_y = 32
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/chapel/main)
+"bZA" = (
+/obj/structure/chair{
+ dir = 4
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/chapel/main)
+"bZB" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 2;
+ on = 1
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/chapel/main)
+"bZC" = (
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/plasteel/chapel{
+ tag = "icon-chapel (NORTH)";
+ icon_state = "chapel";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/chapel/main)
+"bZD" = (
+/turf/open/floor/plasteel/grimy{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/chapel/main)
+"bZE" = (
+/obj/machinery/light{
+ dir = 4
+ },
+/turf/open/floor/plasteel/grimy{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/chapel/main)
+"bZF" = (
+/obj/machinery/atmospherics/pipe/simple/cyan/visible{
+ tag = "icon-intact (NORTHEAST)";
+ icon_state = "intact";
+ dir = 5
+ },
+/obj/machinery/light{
+ dir = 8
+ },
+/obj/machinery/pipedispenser/disposal,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bZG" = (
+/obj/machinery/atmospherics/pipe/simple/green/visible,
+/obj/machinery/atmospherics/pipe/simple/cyan/visible{
+ dir = 4
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bZH" = (
+/obj/machinery/atmospherics/pipe/simple/cyan/visible{
+ dir = 4
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bZI" = (
+/obj/machinery/atmospherics/pipe/simple/yellow/visible,
+/obj/machinery/atmospherics/pipe/simple/cyan/visible{
+ dir = 4
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bZJ" = (
+/obj/machinery/atmospherics/pipe/simple/cyan/visible{
+ dir = 4
+ },
+/obj/machinery/camera{
+ c_tag = "Atmoshperic Tanks 1";
+ dir = 1;
+ icon_state = "camera";
+ network = list("SS13","CE")
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bZK" = (
+/obj/machinery/atmospherics/pipe/simple/cyan/visible{
+ dir = 4
+ },
+/obj/machinery/light,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bZL" = (
+/obj/machinery/atmospherics/pipe/simple/yellow/visible,
+/obj/machinery/atmospherics/pipe/simple/cyan/visible{
+ dir = 4
+ },
+/obj/machinery/pipedispenser,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bZM" = (
+/obj/machinery/atmospherics/pipe/manifold/cyan/visible,
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bZN" = (
+/obj/machinery/atmospherics/pipe/simple/green/visible,
+/obj/machinery/atmospherics/pipe/simple/cyan/visible{
+ dir = 4
+ },
+/turf/open/floor/plasteel/yellow/side{
+ tag = "icon-yellow (SOUTHWEST)";
+ icon_state = "yellow";
+ dir = 10;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bZO" = (
+/obj/machinery/computer/atmos_control/tank{
+ frequency = 1441;
+ input_tag = "mix_in";
+ name = "Gas Mix Tank Control";
+ output_tag = "mix_in";
+ sensors = list("mix_sensor" = "Tank")
+ },
+/obj/machinery/atmospherics/pipe/simple/cyan/visible{
+ dir = 4
+ },
+/turf/open/floor/plasteel/yellow/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bZP" = (
+/obj/machinery/atmospherics/pipe/simple/yellow/visible,
+/obj/machinery/atmospherics/pipe/simple/cyan/visible{
+ dir = 4
+ },
+/turf/open/floor/plasteel/yellow/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bZQ" = (
+/obj/machinery/atmospherics/pipe/manifold/cyan/visible,
+/obj/item/device/radio/intercom{
+ name = "Station Intercom (General)";
+ pixel_x = 0;
+ pixel_y = -29
+ },
+/turf/open/floor/plasteel/yellow/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bZR" = (
+/obj/machinery/atmospherics/components/unary/thermomachine/heater{
+ dir = 8
+ },
+/turf/open/floor/plasteel/delivery{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"bZS" = (
+/turf/closed/wall,
+/area/maintenance/maintcentral{
+ name = "Central Asteroid Maintenance"
+ })
+"bZT" = (
+/turf/closed/wall,
+/area/maintenance/disposal{
+ name = "Eastern External Waste Belt"
+ })
+"bZU" = (
+/obj/structure/disposaloutlet{
+ icon_state = "outlet";
+ dir = 1
+ },
+/obj/structure/disposalpipe/trunk,
+/turf/open/floor/plating/airless,
+/area/maintenance/disposal{
+ name = "Eastern External Waste Belt"
+ })
+"bZV" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/machinery/camera{
+ c_tag = "Service Asteroid Hallway 5";
+ dir = 4;
+ icon_state = "camera"
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"bZW" = (
+/obj/structure/grille,
+/obj/machinery/door/firedoor,
+/obj/structure/window/fulltile,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/chapel/main)
+"bZX" = (
+/turf/open/floor/plasteel/chapel{
+ tag = "icon-chapel (WEST)";
+ icon_state = "chapel";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/chapel/main)
+"bZY" = (
+/turf/open/floor/plasteel/chapel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/chapel/main)
+"bZZ" = (
+/obj/machinery/holopad,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/chapel/main)
+"caa" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/chapel/main)
+"cab" = (
+/obj/structure/table/wood,
+/turf/open/floor/plasteel/grimy{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/chapel/main)
+"cac" = (
+/obj/machinery/door/airlock/glass_external{
+ cyclelinkeddir = 8
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"cad" = (
+/obj/machinery/light/small,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"cae" = (
+/obj/machinery/door/airlock/glass_external{
+ cyclelinkeddir = 8
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/maintcentral{
+ name = "Central Asteroid Maintenance"
+ })
+"caf" = (
+/obj/effect/turf_decal/stripes/asteroid/line{
+ icon_state = "ast_warn";
+ dir = 8
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/maintcentral{
+ name = "Central Asteroid Maintenance"
+ })
+"cag" = (
+/obj/machinery/meter,
+/obj/structure/grille,
+/obj/machinery/atmospherics/pipe/simple/green/visible,
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"cah" = (
+/obj/machinery/meter,
+/obj/structure/grille,
+/obj/machinery/atmospherics/pipe/simple/yellow/visible,
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"cai" = (
+/obj/machinery/light/small{
+ dir = 8
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/maintcentral{
+ name = "Central Asteroid Maintenance"
+ })
+"caj" = (
+/obj/structure/grille,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/maintcentral{
+ name = "Central Asteroid Maintenance"
+ })
+"cak" = (
+/obj/structure/table,
+/obj/item/weapon/storage/toolbox/electrical,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/maintcentral{
+ name = "Central Asteroid Maintenance"
+ })
+"cal" = (
+/obj/structure/table,
+/obj/machinery/light/small{
+ dir = 1
+ },
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/maintcentral{
+ name = "Central Asteroid Maintenance"
+ })
+"cam" = (
+/turf/closed/wall/rust,
+/area/maintenance/disposal{
+ name = "Eastern External Waste Belt"
+ })
+"can" = (
+/obj/structure/disposalpipe/segment,
+/turf/closed/wall/rust,
+/area/maintenance/disposal{
+ name = "Eastern External Waste Belt"
+ })
+"cao" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ dir = 4;
+ on = 1;
+ scrub_N2O = 0;
+ scrub_Toxins = 0
+ },
+/turf/open/floor/plasteel/freezer{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/toilet{
+ name = "Fitness Toilets"
+ })
+"cap" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/freezer{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/toilet{
+ name = "Fitness Toilets"
+ })
+"caq" = (
+/obj/machinery/door/airlock{
+ id_tag = "fb2"
+ },
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/freezer{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/toilet{
+ name = "Fitness Toilets"
+ })
+"car" = (
+/obj/machinery/light/small,
+/obj/structure/toilet{
+ icon_state = "toilet00";
+ dir = 8
+ },
+/obj/machinery/button/door{
+ id = "fb2";
+ name = "Privacy Bolts";
+ normaldoorcontrol = 1;
+ pixel_x = 24
+ },
+/turf/open/floor/plasteel/freezer{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/toilet{
+ name = "Fitness Toilets"
+ })
+"cas" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/machinery/firealarm{
+ dir = 4;
+ pixel_x = 24
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/fitness)
+"cat" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 4
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"cau" = (
+/obj/machinery/door/airlock/glass{
+ name = "Chapel"
+ },
+/obj/machinery/door/firedoor,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/chapel/main)
+"cav" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ on = 1
+ },
+/turf/open/floor/plasteel/grimy{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/chapel/main)
+"caw" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel/grimy{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/chapel/main)
+"cax" = (
+/obj/effect/landmark/event_spawn,
+/turf/open/floor/plasteel/grimy{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/chapel/main)
+"cay" = (
+/obj/machinery/camera{
+ c_tag = "Chapel East";
+ dir = 9;
+ icon_state = "camera";
+ tag = "icon-camera (NORTHWEST)"
+ },
+/turf/open/floor/plasteel/grimy{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/chapel/main)
+"caz" = (
+/obj/machinery/power/apc{
+ dir = 8;
+ name = "Chapel APC";
+ pixel_x = -23;
+ pixel_y = 2
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/cable/orange,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/chapel/main)
+"caA" = (
+/obj/machinery/atmospherics/components/unary/outlet_injector/on{
+ dir = 1;
+ frequency = 1441;
+ id = "co2_in";
+ pixel_y = 1
+ },
+/turf/open/floor/engine/co2{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"caB" = (
+/obj/machinery/air_sensor{
+ frequency = 1441;
+ id_tag = "co2_sensor"
+ },
+/turf/open/floor/engine/co2{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"caC" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 1;
+ external_pressure_bound = 0;
+ frequency = 1441;
+ id_tag = "co2_out";
+ initialize_directions = 1;
+ internal_pressure_bound = 4000;
+ name = "co2 vent";
+ on = 1;
+ pressure_checks = 2;
+ pump_direction = 0
+ },
+/turf/open/floor/engine/co2{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"caD" = (
+/obj/machinery/atmospherics/components/unary/outlet_injector/on{
+ dir = 1;
+ frequency = 1441;
+ id = "tox_in";
+ pixel_y = 1
+ },
+/turf/open/floor/engine/plasma{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"caE" = (
+/obj/machinery/air_sensor{
+ frequency = 1441;
+ id_tag = "tox_sensor"
+ },
+/turf/open/floor/engine/plasma{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"caF" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 1;
+ external_pressure_bound = 0;
+ frequency = 1441;
+ id_tag = "tox_out";
+ initialize_directions = 1;
+ internal_pressure_bound = 4000;
+ name = "plasma vent";
+ on = 1;
+ pressure_checks = 2;
+ pump_direction = 0
+ },
+/obj/effect/landmark/xeno_spawn,
+/turf/open/floor/engine/plasma{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"caG" = (
+/obj/machinery/atmospherics/components/unary/outlet_injector/on{
+ dir = 1;
+ frequency = 1441;
+ id = "n2o_in";
+ pixel_y = 1
+ },
+/turf/open/floor/engine/n2o{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"caH" = (
+/obj/machinery/air_sensor{
+ frequency = 1441;
+ id_tag = "n2o_sensor"
+ },
+/turf/open/floor/engine/n2o{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"caI" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 1;
+ external_pressure_bound = 0;
+ frequency = 1441;
+ id_tag = "n2o_out";
+ initialize_directions = 1;
+ internal_pressure_bound = 4000;
+ name = "n2o vent";
+ on = 1;
+ pressure_checks = 2;
+ pump_direction = 0
+ },
+/turf/open/floor/engine/n2o{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"caJ" = (
+/obj/machinery/atmospherics/components/unary/outlet_injector/on{
+ dir = 1;
+ frequency = 1441;
+ id = "mix_in";
+ pixel_y = 1
+ },
+/turf/open/floor/engine/vacuum{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"caK" = (
+/obj/machinery/air_sensor{
+ frequency = 1441;
+ id_tag = "mix_sensor"
+ },
+/turf/open/floor/engine/vacuum{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"caL" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 1;
+ external_pressure_bound = 0;
+ frequency = 1441;
+ id_tag = "mix_in";
+ initialize_directions = 1;
+ internal_pressure_bound = 4000;
+ name = "distro vent";
+ on = 1;
+ pressure_checks = 2;
+ pump_direction = 0
+ },
+/turf/open/floor/engine/vacuum{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"caM" = (
+/obj/structure/girder,
+/obj/structure/grille,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/maintcentral{
+ name = "Central Asteroid Maintenance"
+ })
+"caN" = (
+/obj/structure/girder,
+/obj/structure/grille,
+/obj/structure/barricade/wooden,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/maintcentral{
+ name = "Central Asteroid Maintenance"
+ })
+"caO" = (
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/maintcentral{
+ name = "Central Asteroid Maintenance"
+ })
+"caP" = (
+/obj/structure/chair/stool,
+/obj/structure/sign/poster/contraband/hacking_guide{
+ pixel_x = 32
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/maintcentral{
+ name = "Central Asteroid Maintenance"
+ })
+"caQ" = (
+/obj/structure/lattice/catwalk,
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/turf/open/space,
+/area/space)
+"caR" = (
+/obj/machinery/door/airlock/glass_external{
+ cyclelinkeddir = 8
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plating,
+/area/maintenance/disposal{
+ name = "Eastern External Waste Belt"
+ })
+"caS" = (
+/obj/machinery/light/small,
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plating,
+/area/maintenance/disposal{
+ name = "Eastern External Waste Belt"
+ })
+"caT" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plating,
+/area/maintenance/disposal{
+ name = "Eastern External Waste Belt"
+ })
+"caU" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/effect/turf_decal/stripes/corner,
+/turf/open/floor/plasteel/floorgrime,
+/area/maintenance/disposal{
+ name = "Eastern External Waste Belt"
+ })
+"caV" = (
+/obj/effect/turf_decal/stripes/end,
+/obj/structure/cable/orange{
+ d2 = 8;
+ icon_state = "0-8"
+ },
+/obj/machinery/power/apc{
+ dir = 1;
+ name = "Eastern External Waste Belt APC";
+ pixel_x = 0;
+ pixel_y = 24
+ },
+/turf/open/floor/plating,
+/area/maintenance/disposal{
+ name = "Eastern External Waste Belt"
+ })
+"caW" = (
+/obj/machinery/conveyor/auto{
+ tag = "icon-conveyor0 (NORTHEAST)";
+ icon_state = "conveyor0";
+ dir = 5
+ },
+/turf/open/floor/plating,
+/area/maintenance/disposal{
+ name = "Eastern External Waste Belt"
+ })
+"caX" = (
+/obj/structure/disposalpipe/trunk{
+ dir = 1
+ },
+/obj/machinery/disposal/deliveryChute{
+ dir = 8
+ },
+/turf/open/floor/plating,
+/area/maintenance/disposal{
+ name = "Eastern External Waste Belt"
+ })
+"caY" = (
+/obj/machinery/door/airlock{
+ name = "Shower Room"
+ },
+/turf/open/floor/plasteel/freezer{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/toilet{
+ name = "Fitness Toilets"
+ })
+"caZ" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/toilet{
+ name = "Fitness Toilets"
+ })
+"cba" = (
+/obj/machinery/door/airlock/glass{
+ name = "Holodeck Arena"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/fitness)
+"cbb" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 8
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/fitness)
+"cbc" = (
+/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"cbd" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"cbe" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/machinery/door/airlock/glass{
+ name = "Chapel"
+ },
+/obj/machinery/door/firedoor,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/chapel/main)
+"cbf" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/grimy{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/chapel/main)
+"cbg" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/grimy{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/chapel/main)
+"cbh" = (
+/obj/machinery/holopad,
+/turf/open/floor/plasteel/grimy{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/chapel/main)
+"cbi" = (
+/turf/open/floor/engine/co2{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"cbj" = (
+/obj/machinery/portable_atmospherics/canister/carbon_dioxide,
+/turf/open/floor/engine/co2{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"cbk" = (
+/turf/open/floor/engine/plasma{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"cbl" = (
+/obj/machinery/portable_atmospherics/canister/toxins,
+/turf/open/floor/engine/plasma{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"cbm" = (
+/turf/open/floor/engine/n2o{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"cbn" = (
+/obj/machinery/portable_atmospherics/canister/nitrous_oxide{
+ valve_open = 1
+ },
+/turf/open/floor/engine/n2o{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"cbo" = (
+/turf/open/floor/engine/vacuum{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"cbp" = (
+/obj/structure/closet,
+/obj/effect/spawner/lootdrop/maintenance,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/maintcentral{
+ name = "Central Asteroid Maintenance"
+ })
+"cbq" = (
+/obj/machinery/light/small{
+ dir = 1
+ },
+/obj/structure/rack,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/maintcentral{
+ name = "Central Asteroid Maintenance"
+ })
+"cbr" = (
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/maintcentral{
+ name = "Central Asteroid Maintenance"
+ })
+"cbs" = (
+/obj/structure/extinguisher_cabinet{
+ pixel_x = 24
+ },
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/maintcentral{
+ name = "Central Asteroid Maintenance"
+ })
+"cbt" = (
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plasteel/floorgrime,
+/area/maintenance/disposal{
+ name = "Eastern External Waste Belt"
+ })
+"cbu" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 6
+ },
+/turf/open/floor/plasteel/floorgrime,
+/area/maintenance/disposal{
+ name = "Eastern External Waste Belt"
+ })
+"cbv" = (
+/obj/machinery/light/small{
+ dir = 4
+ },
+/obj/machinery/conveyor/auto{
+ dir = 10;
+ icon_state = "conveyor0";
+ tag = "icon-conveyor0 (SOUTHWEST)";
+ verted = -1
+ },
+/turf/open/floor/plating,
+/area/maintenance/disposal{
+ name = "Eastern External Waste Belt"
+ })
+"cbw" = (
+/obj/structure/rack,
+/obj/item/weapon/pickaxe/emergency,
+/obj/effect/decal/cleanable/cobweb/cobweb2,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"cbx" = (
+/obj/machinery/shower{
+ dir = 4
+ },
+/turf/open/floor/plasteel/freezer{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/toilet{
+ name = "Fitness Toilets"
+ })
+"cby" = (
+/obj/effect/landmark/event_spawn,
+/turf/open/floor/plasteel/freezer{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/toilet{
+ name = "Fitness Toilets"
+ })
+"cbz" = (
+/obj/machinery/shower{
+ dir = 8
+ },
+/turf/open/floor/plasteel/freezer{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/toilet{
+ name = "Fitness Toilets"
+ })
+"cbA" = (
+/obj/machinery/computer/holodeck,
+/obj/effect/landmark/event_spawn,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/fitness)
+"cbB" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 8
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/fitness)
+"cbC" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/fitness)
+"cbD" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/door/airlock/glass{
+ name = "Holodeck Arena"
+ },
+/obj/machinery/door/firedoor,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/fitness)
+"cbE" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"cbF" = (
+/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/disposalpipe/junction{
+ icon_state = "pipe-j1";
+ dir = 1
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"cbG" = (
+/obj/structure/grille,
+/obj/machinery/door/firedoor,
+/obj/structure/window/fulltile,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/chapel/main)
+"cbH" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plasteel/chapel{
+ tag = "icon-chapel (NORTH)";
+ icon_state = "chapel";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/chapel/main)
+"cbI" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/chapel{
+ tag = "icon-chapel (EAST)";
+ icon_state = "chapel";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/chapel/main)
+"cbJ" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/chapel/main)
+"cbK" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/chapel{
+ tag = "icon-chapel (NORTH)";
+ icon_state = "chapel";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/chapel/main)
+"cbL" = (
+/obj/structure/chair{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/chapel/main)
+"cbM" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/chapel/main)
+"cbN" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/chapel/main)
+"cbO" = (
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar{
+ name = "Gambler's Den"
+ })
+"cbP" = (
+/obj/machinery/light/small,
+/turf/open/floor/engine/co2{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"cbQ" = (
+/obj/machinery/light/small,
+/turf/open/floor/engine/plasma{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"cbR" = (
+/obj/machinery/light/small,
+/turf/open/floor/engine/n2o{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"cbS" = (
+/obj/machinery/light/small,
+/turf/open/floor/engine/vacuum{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"cbT" = (
+/obj/structure/closet/crate,
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/maintcentral{
+ name = "Central Asteroid Maintenance"
+ })
+"cbU" = (
+/obj/structure/grille/broken,
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/maintcentral{
+ name = "Central Asteroid Maintenance"
+ })
+"cbV" = (
+/obj/structure/closet/toolcloset,
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/maintcentral{
+ name = "Central Asteroid Maintenance"
+ })
+"cbW" = (
+/obj/structure/disposalpipe/trunk,
+/obj/structure/disposaloutlet{
+ dir = 4
+ },
+/turf/open/floor/plating,
+/area/maintenance/disposal{
+ name = "Eastern External Waste Belt"
+ })
+"cbX" = (
+/obj/machinery/conveyor/auto{
+ tag = "icon-conveyor0 (EAST)";
+ icon_state = "conveyor0";
+ dir = 4
+ },
+/obj/machinery/light/small,
+/turf/open/floor/plating,
+/area/maintenance/disposal{
+ name = "Eastern External Waste Belt"
+ })
+"cbY" = (
+/obj/machinery/conveyor/auto{
+ dir = 10;
+ icon_state = "conveyor0";
+ tag = "icon-conveyor0 (SOUTHWEST)";
+ verted = -1
+ },
+/turf/open/floor/plating,
+/area/maintenance/disposal{
+ name = "Eastern External Waste Belt"
+ })
+"cbZ" = (
+/obj/structure/rack,
+/obj/item/weapon/pickaxe/emergency,
+/obj/effect/spawner/lootdrop/maintenance,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"cca" = (
+/obj/item/weapon/bikehorn/rubberducky,
+/turf/open/floor/plasteel/freezer{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/toilet{
+ name = "Fitness Toilets"
+ })
+"ccb" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 1;
+ on = 1
+ },
+/turf/open/floor/plasteel/freezer{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/toilet{
+ name = "Fitness Toilets"
+ })
+"ccc" = (
+/obj/structure/table,
+/obj/item/weapon/paper{
+ desc = "";
+ info = "Brusies sustained in the holodeck can be healed simply by sleeping.";
+ name = "Holodeck Disclaimer"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/fitness)
+"ccd" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
+/obj/machinery/holopad,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/fitness)
+"cce" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/disposalpipe/junction{
+ dir = 4;
+ icon_state = "pipe-j2"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/fitness)
+"ccf" = (
+/obj/machinery/door/airlock/glass{
+ name = "Holodeck Arena"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/door/firedoor,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/fitness)
+"ccg" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"cch" = (
+/obj/structure/disposalpipe/junction{
+ icon_state = "pipe-j1";
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"cci" = (
+/obj/machinery/firealarm{
+ dir = 4;
+ pixel_x = 24
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"ccj" = (
+/obj/machinery/disposal/bin,
+/obj/structure/disposalpipe/trunk{
+ dir = 1
+ },
+/turf/open/floor/plasteel/chapel{
+ tag = "icon-chapel (WEST)";
+ icon_state = "chapel";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/chapel/main)
+"cck" = (
+/obj/machinery/light,
+/turf/open/floor/plasteel/chapel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/chapel/main)
+"ccl" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/chapel/main)
+"ccm" = (
+/obj/machinery/light,
+/turf/open/floor/plasteel/chapel{
+ tag = "icon-chapel (WEST)";
+ icon_state = "chapel";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/chapel/main)
+"ccn" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/light/small{
+ dir = 4
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"cco" = (
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar{
+ name = "Gambler's Den"
+ })
+"ccp" = (
+/obj/structure/toilet{
+ icon_state = "toilet00";
+ dir = 8
+ },
+/obj/machinery/light/small{
+ dir = 1
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar{
+ name = "Gambler's Den"
+ })
+"ccq" = (
+/obj/structure/disposalpipe/segment,
+/turf/closed/wall,
+/area/maintenance/disposal{
+ name = "Eastern External Waste Belt"
+ })
+"ccr" = (
+/obj/item/stack/sheet/metal,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"ccs" = (
+/obj/effect/landmark/xeno_spawn,
+/turf/open/floor/plasteel/freezer{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/toilet{
+ name = "Fitness Toilets"
+ })
+"cct" = (
+/obj/item/weapon/soap/nanotrasen,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/freezer{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/toilet{
+ name = "Fitness Toilets"
+ })
+"ccu" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/fitness)
+"ccv" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"ccw" = (
+/obj/structure/disposalpipe/segment{
+ dir = 1;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"ccx" = (
+/obj/machinery/light{
+ dir = 4;
+ icon_state = "tube1"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"ccy" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/chapel/main)
+"ccz" = (
+/obj/machinery/door/morgue{
+ name = "Confession Room"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/chapel/main)
+"ccA" = (
+/obj/machinery/door/morgue{
+ name = "Confession Room";
+ req_access_txt = "22"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/chapel/main)
+"ccB" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/chapel/office)
+"ccC" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/chapel/office)
+"ccD" = (
+/obj/structure/disposalpipe/sortjunction{
+ dir = 8;
+ icon_state = "pipe-j2s";
+ name = "disposal pipe - Chapel";
+ sortType = 17
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/chapel/office)
+"ccE" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/door/airlock{
+ name = "Chaplain's Office";
+ req_access_txt = "22"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/chapel/office)
+"ccF" = (
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/chapel/office)
+"ccG" = (
+/obj/structure/mineral_door/wood,
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar{
+ name = "Gambler's Den"
+ })
+"ccH" = (
+/obj/structure/sign/barsign,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar{
+ name = "Gambler's Den"
+ })
+"ccI" = (
+/obj/machinery/disposal/deliveryChute,
+/obj/structure/disposalpipe/trunk{
+ dir = 1
+ },
+/turf/open/floor/plating/airless,
+/area/maintenance/disposal{
+ name = "Eastern External Waste Belt"
+ })
+"ccJ" = (
+/obj/machinery/light,
+/turf/open/floor/plasteel/freezer{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/toilet{
+ name = "Fitness Toilets"
+ })
+"ccK" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ dir = 1;
+ on = 1
+ },
+/turf/open/floor/plasteel/freezer{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/toilet{
+ name = "Fitness Toilets"
+ })
+"ccL" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"ccM" = (
+/obj/machinery/status_display{
+ density = 0;
+ layer = 4
+ },
+/obj/structure/disposalpipe/segment,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/chapel/main)
+"ccN" = (
+/turf/closed/mineral,
+/area/chapel/main)
+"ccO" = (
+/obj/structure/chair{
+ dir = 4
+ },
+/obj/machinery/light/small,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/chapel/main)
+"ccP" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/tinted/fulltile,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/chapel/main)
+"ccQ" = (
+/obj/structure/chair{
+ dir = 8
+ },
+/obj/machinery/light/small,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/chapel/main)
+"ccR" = (
+/obj/machinery/door/morgue{
+ name = "Confession Room";
+ req_access_txt = "22"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/chapel/office)
+"ccS" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/item/weapon/twohanded/required/kirbyplants{
+ tag = "icon-applebush";
+ icon_state = "applebush"
+ },
+/turf/open/floor/plasteel/grimy{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/chapel/office)
+"ccT" = (
+/obj/machinery/light_switch{
+ pixel_y = 24
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/grimy{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/chapel/office)
+"ccU" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel/grimy{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/chapel/office)
+"ccV" = (
+/obj/item/device/radio/intercom{
+ broadcasting = 0;
+ name = "Station Intercom (General)";
+ pixel_y = 20
+ },
+/turf/open/floor/plasteel/grimy{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/chapel/office)
+"ccW" = (
+/turf/open/floor/plasteel/grimy{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/chapel/office)
+"ccX" = (
+/obj/structure/disposalpipe/segment{
+ dir = 1;
+ icon_state = "pipe-c"
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/chapel/office)
+"ccY" = (
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/structure/closet/coffin,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/chapel/main)
+"ccZ" = (
+/obj/machinery/door/window/northleft{
+ name = "Casket Storage";
+ req_access_txt = "22"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/chapel/main)
+"cda" = (
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/chapel/main)
+"cdb" = (
+/obj/machinery/computer/arcade,
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ icon_state = "wood-broken"
+ },
+/area/crew_quarters/bar{
+ name = "Gambler's Den"
+ })
+"cdc" = (
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ icon_state = "wood-broken"
+ },
+/area/crew_quarters/bar{
+ name = "Gambler's Den"
+ })
+"cdd" = (
+/obj/item/chair/stool,
+/obj/structure/sign/poster/random{
+ name = "random contraband poster";
+ pixel_x = 0;
+ pixel_y = 32;
+ random_basetype = /obj/structure/sign/poster/contraband
+ },
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar{
+ name = "Gambler's Den"
+ })
+"cde" = (
+/obj/structure/table/wood/poker,
+/obj/item/toy/cards/deck,
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ icon_state = "wood-broken"
+ },
+/area/crew_quarters/bar{
+ name = "Gambler's Den"
+ })
+"cdf" = (
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar{
+ name = "Gambler's Den"
+ })
+"cdg" = (
+/obj/machinery/vending/boozeomat{
+ req_access_txt = "0"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar{
+ name = "Gambler's Den"
+ })
+"cdh" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar{
+ name = "Gambler's Den"
+ })
+"cdi" = (
+/obj/structure/sign/mining{
+ pixel_y = -32
+ },
+/obj/structure/closet/crate{
+ icon_state = "crateopen";
+ opened = 1
+ },
+/turf/open/floor/plating/asteroid,
+/area/maintenance/maintcentral{
+ name = "Central Asteroid Maintenance"
+ })
+"cdj" = (
+/obj/structure/window/reinforced{
+ dir = 4;
+ pixel_x = 0
+ },
+/obj/machinery/camera{
+ c_tag = "Docking-Medbay Bridge";
+ dir = 8;
+ network = list("SS13")
+ },
+/turf/open/floor/engine,
+/area/space)
+"cdk" = (
+/obj/structure/disposalpipe/junction{
+ icon_state = "pipe-j2";
+ dir = 2
+ },
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"cdl" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall/rust{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"cdm" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"cdn" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/cobweb,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"cdo" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/reagent_dispensers/fueltank,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"cdp" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/girder,
+/obj/structure/grille,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"cdq" = (
+/obj/machinery/door/firedoor,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"cdr" = (
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/chapel/office)
+"cds" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/machinery/camera{
+ c_tag = "Chapel Office";
+ dir = 5;
+ icon_state = "camera";
+ tag = "icon-camera (NORTHEAST)"
+ },
+/turf/open/floor/plasteel/grimy{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/chapel/office)
+"cdt" = (
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/grimy{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/chapel/office)
+"cdu" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 5
+ },
+/obj/structure/chair/wood/wings,
+/turf/open/floor/plasteel/grimy{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/chapel/office)
+"cdv" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/grimy{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/chapel/office)
+"cdw" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 8;
+ layer = 2.4;
+ on = 1
+ },
+/turf/open/floor/plasteel/grimy{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/chapel/office)
+"cdx" = (
+/obj/structure/closet/coffin,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/chapel/main)
+"cdy" = (
+/obj/structure/chair/stool,
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar{
+ name = "Gambler's Den"
+ })
+"cdz" = (
+/obj/structure/table/wood/poker,
+/obj/item/weapon/gun/ballistic/revolver/russian,
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ icon_state = "wood-broken"
+ },
+/area/crew_quarters/bar{
+ name = "Gambler's Den"
+ })
+"cdA" = (
+/obj/structure/light_construct{
+ dir = 4
+ },
+/obj/item/weapon/reagent_containers/food/drinks/shaker,
+/obj/structure/table/wood,
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar{
+ name = "Gambler's Den"
+ })
+"cdB" = (
+/obj/machinery/door/airlock/glass_external{
+ cyclelinkeddir = 8
+ },
+/obj/structure/barricade/wooden,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/maintcentral{
+ name = "Central Asteroid Maintenance"
+ })
+"cdC" = (
+/obj/machinery/light/small{
+ dir = 1
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"cdD" = (
+/obj/structure/disposalpipe/sortjunction{
+ dir = 2;
+ icon_state = "pipe-j2s";
+ name = "disposal pipe - Bar";
+ sortType = 19
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"cdE" = (
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
+ },
+/obj/structure/sign/poster/random{
+ name = "random contraband poster";
+ pixel_x = 0;
+ pixel_y = 32;
+ random_basetype = /obj/structure/sign/poster/contraband
+ },
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"cdF" = (
+/obj/structure/grille,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"cdG" = (
+/obj/structure/closet/emcloset,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"cdH" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/machinery/light{
+ dir = 4;
+ icon_state = "tube1"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/fitness)
+"cdI" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 5
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4";
+ tag = ""
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"cdJ" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "External Maintenance Access";
+ req_access_txt = "12"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0;
+ tag = ""
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"cdK" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 10
+ },
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8";
+ tag = ""
+ },
+/obj/machinery/light/small{
+ dir = 1
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"cdL" = (
+/obj/structure/tank_dispenser/oxygen,
+/obj/effect/decal/cleanable/cobweb/cobweb2,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"cdM" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/grimy{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/chapel/office)
+"cdN" = (
+/obj/structure/table/wood,
+/obj/item/weapon/reagent_containers/food/drinks/bottle/holywater,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/grimy{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/chapel/office)
+"cdO" = (
+/obj/structure/table/wood,
+/obj/item/device/flashlight/lamp,
+/obj/item/stack/packageWrap,
+/obj/item/device/destTagger,
+/turf/open/floor/plasteel/grimy{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/chapel/office)
+"cdP" = (
+/obj/structure/table/wood,
+/turf/open/floor/plasteel/grimy{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/chapel/office)
+"cdQ" = (
+/obj/structure/table/wood,
+/obj/item/weapon/paper_bin{
+ pixel_x = -3;
+ pixel_y = 7
+ },
+/obj/item/weapon/pen,
+/obj/item/weapon/storage/crayons,
+/obj/item/weapon/storage/fancy/candle_box{
+ pixel_x = 1
+ },
+/turf/open/floor/plasteel/grimy{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/chapel/office)
+"cdR" = (
+/obj/machinery/light{
+ icon_state = "tube1";
+ dir = 8
+ },
+/obj/structure/sign/poster/random{
+ name = "random contraband poster";
+ pixel_x = -32;
+ pixel_y = 0;
+ random_basetype = /obj/structure/sign/poster/contraband
+ },
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar{
+ name = "Gambler's Den"
+ })
+"cdS" = (
+/obj/structure/table/wood/poker,
+/obj/item/toy/cards/deck,
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar{
+ name = "Gambler's Den"
+ })
+"cdT" = (
+/obj/structure/window/reinforced/fulltile,
+/obj/structure/grille,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"cdU" = (
+/obj/structure/disposalpipe/sortjunction{
+ dir = 2;
+ icon_state = "pipe-j2s";
+ name = "disposal pipe - Kitchen";
+ sortType = 20
+ },
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"cdV" = (
+/obj/structure/disposalpipe/junction,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"cdW" = (
+/obj/structure/grille/broken,
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"cdX" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"cdY" = (
+/obj/effect/landmark/event_spawn,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"cdZ" = (
+/turf/closed/mineral,
+/area/crew_quarters/theatre{
+ name = "Top Secret Clown HQ"
+ })
+"cea" = (
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/theatre{
+ name = "Top Secret Clown HQ"
+ })
+"ceb" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"cec" = (
+/obj/structure/closet/emcloset,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"ced" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ dir = 1;
+ on = 1
+ },
+/turf/open/floor/plasteel/grimy{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/chapel/office)
+"cee" = (
+/obj/structure/table/wood,
+/obj/item/weapon/nullrod,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/grimy{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/chapel/office)
+"cef" = (
+/obj/machinery/holopad,
+/turf/open/floor/plasteel/grimy{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/chapel/office)
+"ceg" = (
+/obj/structure/chair/wood/wings{
+ icon_state = "wooden_chair_wings";
+ dir = 1
+ },
+/obj/effect/landmark/start/chaplain,
+/turf/open/floor/plasteel/grimy{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/chapel/office)
+"ceh" = (
+/obj/machinery/newscaster{
+ pixel_x = 32
+ },
+/turf/open/floor/plasteel/grimy{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/chapel/office)
+"cei" = (
+/obj/structure/closet/coffin,
+/obj/machinery/camera{
+ c_tag = "Chapel Coffins";
+ dir = 9;
+ icon_state = "camera";
+ tag = "icon-camera (NORTHWEST)"
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/chapel/main)
+"cej" = (
+/obj/item/chair/stool,
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar{
+ name = "Gambler's Den"
+ })
+"cek" = (
+/obj/structure/sign/poster/random{
+ name = "random contraband poster";
+ pixel_x = 0;
+ pixel_y = -32;
+ random_basetype = /obj/structure/sign/poster/contraband
+ },
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ icon_state = "wood-broken"
+ },
+/area/crew_quarters/bar{
+ name = "Gambler's Den"
+ })
+"cel" = (
+/obj/structure/disposalpipe/sortjunction{
+ dir = 2;
+ icon_state = "pipe-j2s";
+ name = "disposal pipe - Hydroponics";
+ sortType = 21
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"cem" = (
+/obj/structure/disposalpipe/junction{
+ dir = 4;
+ icon_state = "pipe-j2"
+ },
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"cen" = (
+/obj/structure/disposalpipe/junction{
+ icon_state = "pipe-j1";
+ dir = 4
+ },
+/obj/structure/grille,
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"ceo" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"cep" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "Port Asteroid Maintenance";
+ req_access_txt = "12"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"ceq" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/asteroid/line{
+ icon_state = "ast_warn";
+ dir = 8
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"cer" = (
+/obj/machinery/light/small,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"ces" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/item/clothing/head/cone,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"cet" = (
+/obj/structure/glowshroom/single,
+/obj/effect/decal/cleanable/cobweb,
+/turf/open/floor/plating/asteroid,
+/area/crew_quarters/theatre{
+ name = "Top Secret Clown HQ"
+ })
+"ceu" = (
+/turf/open/floor/plating/asteroid,
+/area/crew_quarters/theatre{
+ name = "Top Secret Clown HQ"
+ })
+"cev" = (
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/theatre{
+ name = "Top Secret Clown HQ"
+ })
+"cew" = (
+/obj/structure/falsewall{
+ desc = "A huge chunk of metal used to separate rooms. Nothing odd here, sir.";
+ name = "inconspicuous wall"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/fitness)
+"cex" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 9
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/fitness)
+"cey" = (
+/obj/machinery/light,
+/turf/open/floor/plasteel/grimy{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/chapel/office)
+"cez" = (
+/obj/structure/closet/wardrobe/chaplain_black,
+/turf/open/floor/plasteel/grimy{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/chapel/office)
+"ceA" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"ceB" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/barricade/wooden,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"ceC" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/girder,
+/obj/structure/grille,
+/obj/structure/barricade/wooden,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar{
+ name = "Gambler's Den"
+ })
+"ceD" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/grille,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar{
+ name = "Gambler's Den"
+ })
+"ceE" = (
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar{
+ name = "Gambler's Den"
+ })
+"ceF" = (
+/obj/structure/table,
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"ceG" = (
+/obj/item/chair,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"ceH" = (
+/obj/structure/disposalpipe/sortjunction{
+ dir = 2;
+ icon_state = "pipe-j2s";
+ name = "disposal pipe - Library";
+ sortType = 16
+ },
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"ceI" = (
+/obj/structure/disposalpipe/junction{
+ icon_state = "pipe-j1";
+ dir = 4
+ },
+/obj/structure/grille/broken,
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"ceJ" = (
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
+/obj/structure/grille,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"ceK" = (
+/obj/structure/barricade/wooden,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"ceL" = (
+/obj/structure/glowshroom/single,
+/turf/open/floor/plating/asteroid,
+/area/crew_quarters/theatre{
+ name = "Top Secret Clown HQ"
+ })
+"ceM" = (
+/obj/machinery/disposal/bin,
+/obj/structure/disposalpipe/trunk{
+ dir = 4
+ },
+/obj/machinery/newscaster{
+ pixel_x = -28;
+ pixel_y = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/fitness)
+"ceN" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/camera{
+ c_tag = "Holodeck South";
+ dir = 1;
+ icon_state = "camera";
+ network = list("SS13")
+ },
+/obj/structure/closet/lasertag/blue,
+/obj/structure/sign/poster/random{
+ name = "random official poster";
+ pixel_x = 0;
+ pixel_y = -32;
+ random_basetype = /obj/structure/sign/poster/official
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/fitness)
+"ceO" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ dir = 4;
+ on = 1;
+ scrub_N2O = 0;
+ scrub_Toxins = 0
+ },
+/obj/machinery/light,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/closet/lasertag/blue,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/fitness)
+"ceP" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/closet/lasertag/red,
+/obj/item/device/radio/intercom{
+ broadcasting = 0;
+ name = "Station Intercom (General)";
+ pixel_x = 0;
+ pixel_y = -28
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/fitness)
+"ceQ" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/closet/lasertag/red,
+/obj/structure/sign/poster/random{
+ name = "random official poster";
+ pixel_x = 0;
+ pixel_y = -32;
+ random_basetype = /obj/structure/sign/poster/official
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/fitness)
+"ceR" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
+/obj/structure/sign/securearea{
+ desc = "A warning sign which reads 'EXTERNAL AIRLOCK'";
+ icon_state = "space";
+ layer = 4;
+ name = "EXTERNAL AIRLOCK";
+ pixel_x = 0;
+ pixel_y = -32
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/fitness)
+"ceS" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/fitness)
+"ceT" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 5
+ },
+/obj/machinery/camera{
+ c_tag = "Service Asteroid Hallway 6";
+ dir = 4;
+ icon_state = "camera"
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"ceU" = (
+/obj/machinery/firealarm{
+ dir = 4;
+ pixel_x = 24
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"ceV" = (
+/obj/structure/rack,
+/obj/item/clothing/suit/space/fragile,
+/obj/item/clothing/head/helmet/space/fragile,
+/obj/structure/sign/securearea{
+ desc = "A warning sign which reads 'EXTERNAL AIRLOCK'";
+ icon_state = "space";
+ layer = 4;
+ name = "EXTERNAL AIRLOCK";
+ pixel_x = 0;
+ pixel_y = -32
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"ceW" = (
+/obj/machinery/door/window/northleft{
+ name = "Chapel Mail";
+ req_access_txt = "22"
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/chapel/office)
+"ceX" = (
+/obj/structure/disposalpipe/segment,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/chapel/office)
+"ceY" = (
+/obj/machinery/door/airlock{
+ name = "Crematorium";
+ req_access_txt = "22"
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/chapel/office)
+"ceZ" = (
+/obj/structure/cable/orange,
+/obj/machinery/power/apc{
+ dir = 2;
+ name = "Gambler Den APC";
+ pixel_y = -24
+ },
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ icon_state = "wood-broken"
+ },
+/area/crew_quarters/bar{
+ name = "Gambler's Den"
+ })
+"cfa" = (
+/obj/machinery/computer/slot_machine,
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar{
+ name = "Gambler's Den"
+ })
+"cfb" = (
+/obj/machinery/computer/slot_machine,
+/obj/structure/sign/poster/random{
+ name = "random contraband poster";
+ pixel_x = 0;
+ pixel_y = -32;
+ random_basetype = /obj/structure/sign/poster/contraband
+ },
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar{
+ name = "Gambler's Den"
+ })
+"cfc" = (
+/obj/structure/table,
+/obj/item/weapon/paper_bin{
+ pixel_x = -3;
+ pixel_y = 7
+ },
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"cfd" = (
+/obj/structure/disposalpipe/sortjunction{
+ dir = 2;
+ icon_state = "pipe-j2s";
+ name = "disposal pipe - Chapel";
+ sortType = 17
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"cfe" = (
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
+/obj/structure/grille/broken,
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"cff" = (
+/obj/machinery/light/small,
+/obj/structure/closet/toolcloset,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"cfg" = (
+/obj/structure/closet,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"cfh" = (
+/obj/machinery/door/airlock/glass_external{
+ cyclelinkeddir = 2
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/fitness)
+"cfi" = (
+/obj/machinery/light{
+ dir = 8
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"cfj" = (
+/obj/machinery/door/airlock/glass_external{
+ cyclelinkeddir = 2
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"cfk" = (
+/obj/structure/disposalpipe/trunk{
+ dir = 4
+ },
+/obj/structure/disposaloutlet{
+ icon_state = "outlet";
+ dir = 1
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/chapel/office)
+"cfl" = (
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/chapel/office)
+"cfm" = (
+/obj/structure/bodycontainer/crematorium{
+ id = "creamed"
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/chapel/office)
+"cfn" = (
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/chapel/office)
+"cfo" = (
+/obj/machinery/camera{
+ c_tag = "Crematorium";
+ dir = 9;
+ icon_state = "camera";
+ tag = "icon-camera (NORTHWEST)"
+ },
+/obj/item/device/radio/intercom{
+ broadcasting = 0;
+ name = "Station Intercom (General)";
+ pixel_y = 20
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/chapel/office)
+"cfp" = (
+/obj/structure/plasticflaps,
+/obj/machinery/navbeacon{
+ codes_txt = "delivery;dir=8";
+ dir = 8;
+ freq = 1400;
+ location = "Chapel"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/chapel/office)
+"cfq" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/item/device/assembly/mousetrap/armed,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"cfr" = (
+/obj/structure/disposalpipe/segment,
+/obj/structure/closet/firecloset/full,
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"cfs" = (
+/obj/structure/grille/broken,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"cft" = (
+/obj/item/stack/sheet/mineral/wood,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"cfu" = (
+/obj/structure/bed,
+/obj/item/weapon/bedsheet/clown,
+/obj/effect/landmark/start/clown,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/theatre{
+ name = "Top Secret Clown HQ"
+ })
+"cfv" = (
+/obj/structure/table/wood,
+/obj/item/device/flashlight/lamp/bananalamp,
+/obj/item/device/instrument/violin,
+/obj/effect/decal/cleanable/cobweb/cobweb2,
+/obj/structure/sign/poster/contraband/clown{
+ pixel_y = 32
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/theatre{
+ name = "Top Secret Clown HQ"
+ })
+"cfw" = (
+/obj/structure/mineral_door/wood{
+ name = "Secret Clown HQ"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/theatre{
+ name = "Top Secret Clown HQ"
+ })
+"cfx" = (
+/obj/machinery/light/small{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/fans/tiny,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/fitness)
+"cfy" = (
+/obj/structure/sign/map/left/ceres{
+ pixel_x = -32
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"cfz" = (
+/obj/machinery/light/small{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/fans/tiny,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"cfA" = (
+/obj/machinery/button/crematorium{
+ id = "creamed";
+ pixel_x = -24
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/chapel/office)
+"cfB" = (
+/obj/machinery/light/small,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/chapel/office)
+"cfC" = (
+/obj/structure/table/wood,
+/obj/item/weapon/storage/book/bible,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/chapel/office)
+"cfD" = (
+/obj/structure/closet/crate{
+ name = "top secret clown supplies"
+ },
+/obj/item/weapon/reagent_containers/food/snacks/pie/cream,
+/obj/item/weapon/reagent_containers/food/snacks/pie/cream,
+/obj/item/weapon/reagent_containers/food/snacks/pie/cream,
+/obj/item/weapon/reagent_containers/food/snacks/pie/cream,
+/obj/item/weapon/reagent_containers/food/snacks/pie/cream,
+/obj/item/weapon/storage/box/mousetraps,
+/obj/item/weapon/storage/crayons,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/theatre{
+ name = "Top Secret Clown HQ"
+ })
+"cfE" = (
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/theatre{
+ name = "Top Secret Clown HQ"
+ })
+"cfF" = (
+/mob/living/carbon/monkey{
+ name = "Mr.Teeny"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/theatre{
+ name = "Top Secret Clown HQ"
+ })
+"cfG" = (
+/obj/effect/landmark/blobstart,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/theatre{
+ name = "Top Secret Clown HQ"
+ })
+"cfH" = (
+/obj/machinery/door/airlock/glass_external{
+ cyclelinkeddir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/fitness)
+"cfI" = (
+/turf/open/floor/plating/asteroid/airless,
+/area/mine/unexplored{
+ name = "Docking Asteroid"
+ })
+"cfJ" = (
+/turf/closed/mineral,
+/area/mine/unexplored{
+ name = "Docking Asteroid"
+ })
+"cfK" = (
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/mine/unexplored{
+ name = "Docking Asteroid"
+ })
+"cfL" = (
+/obj/structure/disposalpipe/trunk{
+ dir = 1
+ },
+/obj/structure/disposaloutlet,
+/turf/open/floor/plating/airless,
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"cfM" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 5
+ },
+/turf/open/floor/plating/airless/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/mine/unexplored{
+ name = "Civilian Asteroid"
+ })
+"cfN" = (
+/obj/structure/window/reinforced{
+ dir = 4;
+ pixel_x = 0
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 10
+ },
+/turf/open/floor/plating/airless/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/mine/unexplored{
+ name = "Civilian Asteroid"
+ })
+"cfO" = (
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/turf/open/floor/engine{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ name = "reinforced floor"
+ },
+/area/hallway/primary/port)
+"cfP" = (
+/turf/open/floor/engine{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ name = "reinforced floor"
+ },
+/area/hallway/primary/port)
+"cfQ" = (
+/obj/structure/window/reinforced{
+ dir = 4;
+ pixel_x = 0
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/engine{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ name = "reinforced floor"
+ },
+/area/hallway/primary/port)
+"cfR" = (
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 6
+ },
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/turf/open/floor/plating/airless/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/mine/unexplored{
+ name = "Civilian Asteroid"
+ })
+"cfS" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 9
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/turf/open/floor/plating/airless/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/mine/unexplored{
+ name = "Civilian Asteroid"
+ })
+"cfT" = (
+/obj/structure/lattice/catwalk,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 6
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
+/turf/open/space,
+/area/space)
+"cfU" = (
+/obj/structure/lattice/catwalk,
+/obj/structure/window/reinforced{
+ dir = 4;
+ pixel_x = 0
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 9
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
+/obj/structure/grille,
+/turf/open/space,
+/area/space)
+"cfV" = (
+/obj/structure/lattice/catwalk,
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4";
+ tag = ""
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 5
+ },
+/obj/structure/girder,
+/obj/structure/grille,
+/turf/open/space,
+/area/space)
+"cfW" = (
+/obj/structure/table,
+/obj/item/toy/figure/clown,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/theatre{
+ name = "Top Secret Clown HQ"
+ })
+"cfX" = (
+/obj/item/weapon/grown/bananapeel{
+ name = "state-of-the-art clown home defense peel"
+ },
+/obj/structure/table,
+/obj/item/weapon/grown/bananapeel{
+ name = "state-of-the-art clown home defense peel"
+ },
+/obj/item/weapon/coin/clown,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/theatre{
+ name = "Top Secret Clown HQ"
+ })
+"cfY" = (
+/obj/structure/closet/crate/bin,
+/obj/item/clothing/mask/gas/mime,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/theatre{
+ name = "Top Secret Clown HQ"
+ })
+"cfZ" = (
+/obj/machinery/vending/autodrobe{
+ desc = "A vending machine for costumes. The machine seems blessed by some higher power, allowing it to function without power. HONK!";
+ use_power = 0
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/theatre{
+ name = "Top Secret Clown HQ"
+ })
+"cga" = (
+/obj/structure/window/reinforced{
+ dir = 4;
+ pixel_x = 0
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plating/airless/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/mine/unexplored{
+ name = "Civilian Asteroid"
+ })
+"cgb" = (
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plating/airless/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/mine/unexplored{
+ name = "Civilian Asteroid"
+ })
+"cgc" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
+/obj/structure/disposalpipe/segment,
+/obj/machinery/door/airlock/glass_external{
+ cyclelinkeddir = 2;
+ name = "Arrivals Atmospherics Checkpoint";
+ req_access_txt = "24"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"cgd" = (
+/obj/structure/lattice/catwalk,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/space,
+/area/space)
+"cge" = (
+/obj/item/stack/sheet/mineral/wood,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"cgf" = (
+/obj/item/weapon/pickaxe/mini,
+/turf/open/floor/plating/asteroid/airless,
+/area/space)
+"cgg" = (
+/obj/machinery/light/small{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/disposalpipe/segment,
+/obj/structure/fans/tiny,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"cgh" = (
+/obj/machinery/door/airlock/glass_external{
+ cyclelinkeddir = 2
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"cgi" = (
+/turf/closed/mineral/random/labormineral,
+/area/mine/unexplored{
+ name = "Docking Asteroid"
+ })
+"cgj" = (
+/turf/closed/mineral/random/low_chance,
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"cgk" = (
+/obj/effect/landmark/event_spawn,
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"cgl" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/light/small{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/fans/tiny,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"cgm" = (
+/obj/effect/decal/cleanable/cobweb/cobweb2,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"cgn" = (
+/obj/item/weapon/ore/iron,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"cgo" = (
+/obj/effect/decal/cleanable/cobweb/cobweb2,
+/obj/structure/closet/crate{
+ icon_state = "crateopen";
+ opened = 1
+ },
+/obj/item/weapon/ore/iron,
+/obj/item/weapon/ore/iron,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"cgp" = (
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/obj/machinery/light{
+ dir = 8
+ },
+/turf/open/floor/engine{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ name = "reinforced floor"
+ },
+/area/hallway/primary/port)
+"cgq" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 9
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"cgr" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"cgs" = (
+/obj/machinery/atmospherics/components/binary/pump{
+ dir = 2;
+ name = "Mix Input";
+ on = 1
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 5
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"cgt" = (
+/obj/machinery/door/airlock/glass_external{
+ cyclelinkeddir = 1
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"cgu" = (
+/turf/closed/mineral/random/labormineral,
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cgv" = (
+/turf/closed/mineral/random/low_chance,
+/area/mine/unexplored{
+ name = "Civilian Asteroid"
+ })
+"cgw" = (
+/obj/item/weapon/ore/iron,
+/obj/item/weapon/ore/iron,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"cgx" = (
+/turf/open/floor/plating/asteroid,
+/area/maintenance/port{
+ name = "the bone zone"
+ })
+"cgy" = (
+/obj/machinery/atmospherics/components/unary/portables_connector/visible{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/machinery/camera{
+ c_tag = "Docking Atmospherics Checkpoint";
+ dir = 5;
+ icon_state = "camera";
+ tag = "icon-camera (NORTHEAST)"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"cgz" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 9;
+ pixel_y = 0
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"cgA" = (
+/obj/machinery/light{
+ icon_state = "tube1";
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"cgB" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"cgC" = (
+/obj/structure/ore_box,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cgD" = (
+/obj/item/weapon/ore/iron,
+/obj/item/weapon/ore/iron,
+/obj/item/weapon/ore/iron,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cgE" = (
+/obj/item/weapon/storage/bag/ore,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"cgF" = (
+/obj/structure/ore_box,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"cgG" = (
+/obj/machinery/atmospherics/components/unary/portables_connector/visible{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/machinery/light/small{
+ dir = 8
+ },
+/obj/machinery/portable_atmospherics/canister/air,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"cgH" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"cgI" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"cgJ" = (
+/obj/item/device/radio/intercom{
+ broadcasting = 0;
+ name = "Station Intercom (General)";
+ pixel_x = 28;
+ pixel_y = 0
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"cgK" = (
+/obj/item/weapon/storage/bag/ore,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cgL" = (
+/turf/open/floor/plating/asteroid,
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cgM" = (
+/obj/item/device/flashlight/lantern,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cgN" = (
+/turf/closed/mineral,
+/area/mine/unexplored{
+ name = "Research Asteroid"
+ })
+"cgO" = (
+/turf/closed/mineral/random/low_chance,
+/area/mine/unexplored{
+ name = "Research Asteroid"
+ })
+"cgP" = (
+/obj/item/device/flashlight/lantern,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"cgQ" = (
+/obj/item/weapon/pickaxe/mini,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"cgR" = (
+/turf/closed/mineral/random/labormineral,
+/area/mine/unexplored{
+ name = "Research Asteroid"
+ })
+"cgS" = (
+/turf/open/floor/plating/asteroid/airless,
+/area/mine/unexplored{
+ name = "Research Asteroid"
+ })
+"cgT" = (
+/obj/structure/window/reinforced{
+ dir = 4;
+ pixel_x = 0
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plating/airless/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/mine/unexplored{
+ name = "Research Asteroid"
+ })
+"cgU" = (
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/turf/open/floor/engine{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ name = "reinforced floor"
+ },
+/area/hallway/primary/aft)
+"cgV" = (
+/turf/open/floor/engine{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ name = "reinforced floor"
+ },
+/area/hallway/primary/aft)
+"cgW" = (
+/obj/structure/window/reinforced{
+ dir = 4;
+ pixel_x = 0
+ },
+/obj/machinery/camera{
+ c_tag = "Service-Research Bridge";
+ dir = 9;
+ icon_state = "camera";
+ tag = "icon-camera (NORTHWEST)"
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/engine{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ name = "reinforced floor"
+ },
+/area/hallway/primary/aft)
+"cgX" = (
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plating/airless/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/mine/unexplored{
+ name = "Research Asteroid"
+ })
+"cgY" = (
+/obj/machinery/atmospherics/components/unary/portables_connector/visible{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/machinery/portable_atmospherics/canister/air,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"cgZ" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"cha" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 10
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"chb" = (
+/obj/effect/spawner/lootdrop/grille_or_trash,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"chc" = (
+/turf/closed/mineral,
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"chd" = (
+/obj/structure/window/reinforced{
+ dir = 4;
+ pixel_x = 0
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/engine{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ name = "reinforced floor"
+ },
+/area/hallway/primary/aft)
+"che" = (
+/obj/machinery/power/solar{
+ id = "portsolar";
+ name = "Port Solar Array"
+ },
+/turf/open/floor/plasteel/airless/solarpanel,
+/area/space)
+"chf" = (
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"chg" = (
+/obj/machinery/atmospherics/components/binary/pump{
+ dir = 2;
+ name = "Mix Output";
+ on = 1
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 6
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"chh" = (
+/obj/machinery/door/firedoor,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/effect/turf_decal/stripes/line,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"chi" = (
+/turf/open/floor/plasteel/airless/solarpanel,
+/area/space)
+"chj" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 5
+ },
+/obj/machinery/light/small{
+ dir = 8
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 1;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"chk" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/door/airlock/atmos{
+ name = "Docking Atmospherics Checkpoint";
+ req_access_txt = "24"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"chl" = (
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
+ },
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"chm" = (
+/turf/closed/wall/mineral/titanium,
+/area/shuttle/escape)
+"chn" = (
+/obj/structure/grille,
+/obj/structure/window/shuttle,
+/turf/open/floor/plating,
+/area/shuttle/escape)
+"cho" = (
+/obj/structure/window/reinforced{
+ dir = 4;
+ pixel_x = 0
+ },
+/obj/machinery/light{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/engine{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ name = "reinforced floor"
+ },
+/area/hallway/primary/aft)
+"chp" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/portsolar{
+ name = "Aft Asteroid Solar Maintenance"
+ })
+"chq" = (
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/portsolar{
+ name = "Aft Asteroid Solar Maintenance"
+ })
+"chr" = (
+/turf/closed/wall/r_wall/rust{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/portsolar{
+ name = "Aft Asteroid Solar Maintenance"
+ })
+"chs" = (
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/disposalpipe/segment,
+/obj/machinery/camera{
+ c_tag = "Docking Asteroid Hall 16";
+ dir = 4;
+ icon_state = "camera"
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"cht" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0;
+ tag = ""
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"chu" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0;
+ tag = ""
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 6
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"chv" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "External Maintenance Access";
+ req_access_txt = "12"
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0;
+ tag = ""
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"chw" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 9
+ },
+/obj/machinery/light/small{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"chx" = (
+/turf/open/floor/mineral/titanium,
+/turf/closed/wall/mineral/titanium/interior,
+/area/shuttle/escape)
+"chy" = (
+/obj/structure/table,
+/obj/item/weapon/storage/firstaid/fire,
+/turf/open/floor/mineral/titanium,
+/area/shuttle/escape)
+"chz" = (
+/obj/structure/chair{
+ dir = 1
+ },
+/turf/open/floor/mineral/titanium/blue,
+/area/shuttle/escape)
+"chA" = (
+/obj/machinery/computer/emergency_shuttle,
+/turf/open/floor/mineral/titanium/blue,
+/area/shuttle/escape)
+"chB" = (
+/obj/structure/table,
+/obj/item/weapon/storage/firstaid/regular{
+ pixel_x = 2;
+ pixel_y = 3
+ },
+/obj/item/weapon/crowbar,
+/turf/open/floor/mineral/titanium,
+/area/shuttle/escape)
+"chC" = (
+/obj/structure/lattice,
+/obj/item/weapon/wirecutters,
+/turf/open/space,
+/area/space)
+"chD" = (
+/obj/structure/closet/crate{
+ name = "solar pack crate"
+ },
+/obj/item/solar_assembly,
+/obj/item/solar_assembly,
+/obj/item/solar_assembly,
+/obj/item/solar_assembly,
+/obj/item/solar_assembly,
+/obj/item/solar_assembly,
+/obj/item/solar_assembly,
+/obj/item/solar_assembly,
+/obj/item/solar_assembly,
+/obj/item/solar_assembly,
+/obj/item/solar_assembly,
+/obj/item/solar_assembly,
+/obj/item/solar_assembly,
+/obj/item/weapon/electronics/tracker,
+/obj/item/weapon/paper/solar,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/portsolar{
+ name = "Aft Asteroid Solar Maintenance"
+ })
+"chE" = (
+/obj/machinery/power/terminal{
+ dir = 4
+ },
+/obj/structure/cable{
+ icon_state = "0-2";
+ pixel_y = 1;
+ d2 = 2
+ },
+/obj/machinery/light/small{
+ dir = 1
+ },
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/portsolar{
+ name = "Aft Asteroid Solar Maintenance"
+ })
+"chF" = (
+/obj/machinery/power/smes,
+/obj/structure/cable/orange{
+ d2 = 2;
+ icon_state = "0-2"
+ },
+/obj/structure/sign/securearea{
+ desc = "A warning sign which reads 'HIGH VOLTAGE'";
+ icon_state = "shock";
+ name = "HIGH VOLTAGE";
+ pixel_x = 32;
+ pixel_y = 0
+ },
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/portsolar{
+ name = "Aft Asteroid Solar Maintenance"
+ })
+"chG" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"chH" = (
+/obj/machinery/computer/atmos_alert,
+/turf/open/floor/mineral/titanium,
+/area/shuttle/escape)
+"chI" = (
+/obj/structure/chair{
+ dir = 8
+ },
+/turf/open/floor/mineral/titanium/blue,
+/area/shuttle/escape)
+"chJ" = (
+/turf/open/floor/mineral/titanium/blue,
+/area/shuttle/escape)
+"chK" = (
+/obj/structure/chair{
+ dir = 4
+ },
+/turf/open/floor/mineral/titanium/blue,
+/area/shuttle/escape)
+"chL" = (
+/obj/machinery/computer/security,
+/turf/open/floor/mineral/titanium,
+/area/shuttle/escape)
+"chM" = (
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/mining_construction)
+"chN" = (
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/obj/structure/cable{
+ icon_state = "0-2";
+ pixel_y = 1;
+ d2 = 2
+ },
+/obj/structure/window/reinforced/fulltile,
+/obj/structure/grille,
+/turf/open/floor/plating,
+/area/storage/tech)
+"chO" = (
+/obj/structure/cable{
+ icon_state = "0-2";
+ pixel_y = 1;
+ d2 = 2
+ },
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8";
+ tag = ""
+ },
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/obj/structure/window/reinforced/fulltile,
+/obj/structure/grille,
+/turf/open/floor/plating,
+/area/storage/tech)
+"chP" = (
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8";
+ tag = ""
+ },
+/obj/structure/cable{
+ icon_state = "0-2";
+ pixel_y = 1;
+ d2 = 2
+ },
+/obj/structure/window/reinforced/fulltile,
+/obj/structure/grille,
+/turf/open/floor/plating,
+/area/storage/tech)
+"chQ" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_y = 0
+ },
+/obj/machinery/door/airlock/external{
+ cyclelinkeddir = 4;
+ name = "Solar Maintenance";
+ req_access = null;
+ req_access_txt = "10; 13"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/portsolar{
+ name = "Aft Asteroid Solar Maintenance"
+ })
+"chR" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_y = 0
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/portsolar{
+ name = "Aft Asteroid Solar Maintenance"
+ })
+"chS" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_y = 0
+ },
+/obj/machinery/door/airlock/external{
+ cyclelinkeddir = 8;
+ name = "Solar Maintenance";
+ req_access = null;
+ req_access_txt = "10; 13"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/portsolar{
+ name = "Aft Asteroid Solar Maintenance"
+ })
+"chT" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_y = 0
+ },
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/portsolar{
+ name = "Aft Asteroid Solar Maintenance"
+ })
+"chU" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/portsolar{
+ name = "Aft Asteroid Solar Maintenance"
+ })
+"chV" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/portsolar{
+ name = "Aft Asteroid Solar Maintenance"
+ })
+"chW" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/firealarm{
+ dir = 8;
+ pixel_x = -24
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"chX" = (
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/exit)
+"chY" = (
+/obj/machinery/status_display{
+ density = 0;
+ layer = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/exit)
+"chZ" = (
+/obj/machinery/computer/crew,
+/turf/open/floor/mineral/titanium,
+/area/shuttle/escape)
+"cia" = (
+/obj/structure/chair{
+ dir = 8
+ },
+/obj/structure/extinguisher_cabinet{
+ pixel_x = 0;
+ pixel_y = -30
+ },
+/obj/machinery/light,
+/turf/open/floor/mineral/titanium/blue,
+/area/shuttle/escape)
+"cib" = (
+/obj/item/device/radio/intercom{
+ name = "Station Intercom (General)";
+ pixel_x = 0;
+ pixel_y = -29
+ },
+/turf/open/floor/mineral/titanium/blue,
+/area/shuttle/escape)
+"cic" = (
+/obj/machinery/button/flasher{
+ id = "cockpit_flasher";
+ pixel_x = 6;
+ pixel_y = -24
+ },
+/turf/open/floor/mineral/titanium/blue,
+/area/shuttle/escape)
+"cid" = (
+/obj/structure/chair{
+ dir = 4
+ },
+/obj/machinery/light,
+/turf/open/floor/mineral/titanium/blue,
+/area/shuttle/escape)
+"cie" = (
+/obj/machinery/computer/communications,
+/turf/open/floor/mineral/titanium,
+/area/shuttle/escape)
+"cif" = (
+/obj/structure/closet/secure_closet/miner{
+ locked = 0
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 9
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/shuttle/auxillary_base)
+"cig" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/shuttle/auxillary_base)
+"cih" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/machinery/camera{
+ c_tag = "Aux Base Construction 2";
+ dir = 6;
+ icon_state = "camera"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/shuttle/auxillary_base)
+"cii" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 5
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/shuttle/auxillary_base)
+"cij" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/structure/cable{
+ d2 = 8;
+ icon_state = "0-8"
+ },
+/obj/structure/window/reinforced/fulltile,
+/obj/structure/grille,
+/turf/open/floor/plating,
+/area/storage/tech)
+"cik" = (
+/obj/structure/rack{
+ dir = 8;
+ layer = 2.9
+ },
+/obj/item/weapon/circuitboard/computer/crew{
+ pixel_x = -1;
+ pixel_y = 1
+ },
+/obj/item/weapon/circuitboard/computer/card{
+ pixel_x = 2;
+ pixel_y = -2
+ },
+/obj/item/weapon/circuitboard/computer/communications{
+ pixel_x = 5;
+ pixel_y = -5
+ },
+/obj/machinery/camera{
+ c_tag = "Secure Tech Storage";
+ dir = 2
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/turf/open/floor/plasteel,
+/area/storage/tech)
+"cil" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/obj/structure/cable{
+ icon_state = "0-4"
+ },
+/obj/structure/window/reinforced/fulltile,
+/obj/structure/grille,
+/turf/open/floor/plating,
+/area/storage/tech)
+"cim" = (
+/obj/structure/lattice,
+/obj/structure/sign/mining{
+ pixel_y = -32
+ },
+/turf/open/space,
+/area/space)
+"cin" = (
+/obj/structure/lattice/catwalk,
+/obj/item/weapon/wrench,
+/turf/open/space,
+/area/space)
+"cio" = (
+/obj/structure/lattice,
+/obj/item/weapon/storage/toolbox/electrical,
+/turf/open/space,
+/area/space)
+"cip" = (
+/obj/machinery/power/solar_control{
+ id = "portsolar";
+ name = "Aft Asteroid Solar Control";
+ track = 0
+ },
+/obj/structure/cable,
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/portsolar{
+ name = "Aft Asteroid Solar Maintenance"
+ })
+"ciq" = (
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/portsolar{
+ name = "Aft Asteroid Solar Maintenance"
+ })
+"cir" = (
+/obj/machinery/power/apc{
+ dir = 4;
+ name = "Aft Asteroid Solar APC";
+ pixel_x = 23;
+ pixel_y = 2
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/structure/cable/orange{
+ d2 = 8;
+ icon_state = "0-8"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/portsolar{
+ name = "Aft Asteroid Solar Maintenance"
+ })
+"cis" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/light{
+ icon_state = "tube1";
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"cit" = (
+/obj/structure/closet/crate{
+ icon_state = "crateopen";
+ opened = 1
+ },
+/obj/item/weapon/coin/silver,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"ciu" = (
+/obj/structure/chair,
+/turf/open/floor/plasteel/red/side{
+ tag = "icon-red (NORTHWEST)";
+ icon_state = "red";
+ dir = 9;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/exit)
+"civ" = (
+/obj/structure/chair,
+/turf/open/floor/plasteel/red/side{
+ icon_state = "red";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/exit)
+"ciw" = (
+/obj/structure/chair,
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/plasteel/red/side{
+ icon_state = "red";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/exit)
+"cix" = (
+/obj/structure/chair,
+/obj/machinery/camera{
+ c_tag = "Docking Security Holding Area";
+ dir = 6;
+ icon_state = "camera"
+ },
+/turf/open/floor/plasteel/red/side{
+ icon_state = "red";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/exit)
+"ciy" = (
+/obj/structure/chair,
+/obj/item/device/radio/intercom{
+ broadcasting = 0;
+ name = "Station Intercom (General)";
+ pixel_y = 20
+ },
+/turf/open/floor/plasteel/red/side{
+ icon_state = "red";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/exit)
+"ciz" = (
+/obj/structure/chair,
+/turf/open/floor/plasteel/red/side{
+ tag = "icon-red (NORTHEAST)";
+ icon_state = "red";
+ dir = 5;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/exit)
+"ciA" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/exit)
+"ciB" = (
+/obj/machinery/door/airlock/glass{
+ name = "Emergency Shuttle Cockpit";
+ req_access_txt = "19"
+ },
+/turf/open/floor/mineral/titanium/blue,
+/area/shuttle/escape)
+"ciC" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 6
+ },
+/turf/open/floor/plating/airless/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/mine/unexplored{
+ name = "Research Asteroid"
+ })
+"ciD" = (
+/obj/structure/window/reinforced{
+ dir = 4;
+ pixel_x = 0
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 9
+ },
+/turf/open/floor/plating/airless/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/mine/unexplored{
+ name = "Research Asteroid"
+ })
+"ciE" = (
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 5
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4";
+ tag = ""
+ },
+/turf/open/floor/plating/airless/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/mine/unexplored{
+ name = "Research Asteroid"
+ })
+"ciF" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 10
+ },
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8";
+ tag = ""
+ },
+/turf/open/floor/plating/airless/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/mine/unexplored{
+ name = "Research Asteroid"
+ })
+"ciG" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/shuttle/auxillary_base)
+"ciH" = (
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/shuttle/auxillary_base)
+"ciI" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/shuttle/auxillary_base)
+"ciJ" = (
+/obj/structure/cable{
+ icon_state = "0-4";
+ d2 = 4
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/obj/structure/window/reinforced/fulltile,
+/obj/structure/grille,
+/turf/open/floor/plating,
+/area/storage/tech)
+"ciK" = (
+/obj/structure/rack{
+ dir = 8;
+ layer = 2.9
+ },
+/obj/item/weapon/circuitboard/computer/robotics{
+ pixel_x = -2;
+ pixel_y = 2
+ },
+/obj/item/weapon/circuitboard/computer/mecha_control{
+ pixel_x = 1;
+ pixel_y = -1
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/light/small,
+/turf/open/floor/plasteel,
+/area/storage/tech)
+"ciL" = (
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8";
+ tag = ""
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/turf/open/floor/plasteel,
+/area/storage/tech)
+"ciM" = (
+/obj/structure/rack{
+ dir = 8;
+ layer = 2.9
+ },
+/obj/item/weapon/circuitboard/computer/borgupload{
+ pixel_x = -1;
+ pixel_y = 1
+ },
+/obj/item/weapon/circuitboard/computer/aiupload{
+ pixel_x = 2;
+ pixel_y = -2
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/light/small,
+/turf/open/floor/plasteel,
+/area/storage/tech)
+"ciN" = (
+/obj/structure/cable{
+ d2 = 8;
+ icon_state = "0-8"
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/structure/window/reinforced/fulltile,
+/obj/structure/grille,
+/turf/open/floor/plating,
+/area/storage/tech)
+"ciO" = (
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/miningdock{
+ name = "Abandoned Mining Storage"
+ })
+"ciP" = (
+/obj/machinery/door/airlock/glass_external{
+ cyclelinkeddir = 8
+ },
+/obj/structure/barricade/wooden,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/miningdock{
+ name = "Abandoned Mining Storage"
+ })
+"ciQ" = (
+/obj/item/solar_assembly,
+/obj/item/stack/sheet/glass,
+/turf/open/floor/plasteel/airless/solarpanel,
+/area/space)
+"ciR" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "Aft Asteroid Solars";
+ req_access_txt = "10;11;12"
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/barricade/wooden,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/portsolar{
+ name = "Aft Asteroid Solar Maintenance"
+ })
+"ciS" = (
+/obj/structure/grille/broken,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"ciT" = (
+/turf/open/floor/plasteel/red/side{
+ icon_state = "red";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/exit)
+"ciU" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 6
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/exit)
+"ciV" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ dir = 8;
+ on = 1;
+ scrub_N2O = 0;
+ scrub_Toxins = 0
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/exit)
+"ciW" = (
+/obj/effect/landmark/blobstart,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/exit)
+"ciX" = (
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/exit)
+"ciY" = (
+/turf/open/floor/plasteel/red/side{
+ icon_state = "red";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/exit)
+"ciZ" = (
+/obj/structure/chair,
+/obj/machinery/light{
+ icon_state = "tube1";
+ dir = 8
+ },
+/turf/open/floor/mineral/plastitanium/brig,
+/area/shuttle/escape)
+"cja" = (
+/obj/structure/chair,
+/turf/open/floor/mineral/plastitanium/brig,
+/area/shuttle/escape)
+"cjb" = (
+/obj/machinery/flasher{
+ id = "cockpit_flasher";
+ pixel_x = 6;
+ pixel_y = 24
+ },
+/turf/open/floor/mineral/titanium,
+/area/shuttle/escape)
+"cjc" = (
+/turf/open/floor/mineral/titanium,
+/area/shuttle/escape)
+"cjd" = (
+/obj/structure/closet/emcloset,
+/turf/open/floor/mineral/titanium,
+/area/shuttle/escape)
+"cje" = (
+/obj/structure/table,
+/obj/item/weapon/storage/firstaid/fire,
+/obj/item/weapon/storage/firstaid/regular{
+ pixel_x = 2;
+ pixel_y = 3
+ },
+/obj/item/weapon/crowbar,
+/turf/open/floor/mineral/titanium,
+/area/shuttle/escape)
+"cjf" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plating/airless/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/mine/unexplored{
+ name = "Research Asteroid"
+ })
+"cjg" = (
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cjh" = (
+/obj/machinery/door/airlock/glass,
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cji" = (
+/obj/machinery/door/airlock/glass,
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cjj" = (
+/obj/machinery/door/airlock/glass,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cjk" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plating/airless/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/mine/unexplored{
+ name = "Research Asteroid"
+ })
+"cjl" = (
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/storage/tech)
+"cjm" = (
+/obj/machinery/door/airlock/highsecurity{
+ name = "Secure Tech Storage";
+ req_access_txt = "19;23"
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/storage/tech)
+"cjn" = (
+/obj/structure/ore_box,
+/obj/effect/turf_decal/delivery,
+/obj/effect/decal/cleanable/cobweb,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/miningdock{
+ name = "Abandoned Mining Storage"
+ })
+"cjo" = (
+/obj/structure/ore_box,
+/obj/effect/turf_decal/delivery,
+/obj/machinery/light/small{
+ dir = 1
+ },
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/miningdock{
+ name = "Abandoned Mining Storage"
+ })
+"cjp" = (
+/obj/structure/rack,
+/obj/item/weapon/pickaxe,
+/obj/item/weapon/pickaxe,
+/obj/item/weapon/pickaxe/mini,
+/obj/item/weapon/gun/energy/kinetic_accelerator,
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/miningdock{
+ name = "Abandoned Mining Storage"
+ })
+"cjq" = (
+/obj/machinery/light/small{
+ dir = 4
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/miningdock{
+ name = "Abandoned Mining Storage"
+ })
+"cjr" = (
+/obj/item/solar_assembly,
+/turf/open/floor/plasteel/airless/solarpanel,
+/area/space)
+"cjs" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/obj/effect/turf_decal/stripes/asteroid/line{
+ icon_state = "ast_warn";
+ dir = 1
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cjt" = (
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cju" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ dir = 4;
+ on = 1;
+ scrub_N2O = 0;
+ scrub_Toxins = 0
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"cjv" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"cjw" = (
+/obj/structure/barricade/wooden,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cjx" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/exit)
+"cjy" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ on = 1
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/exit)
+"cjz" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/exit)
+"cjA" = (
+/obj/machinery/flasher{
+ id = "shuttle_flasher";
+ pixel_x = -24;
+ pixel_y = 6
+ },
+/obj/machinery/button/flasher{
+ id = "shuttle_flasher";
+ pixel_x = -24;
+ pixel_y = -6
+ },
+/turf/open/floor/mineral/plastitanium/brig,
+/area/shuttle/escape)
+"cjB" = (
+/turf/open/floor/mineral/plastitanium/brig,
+/area/shuttle/escape)
+"cjC" = (
+/obj/machinery/door/airlock/glass{
+ name = "Emergency Shuttle Brig";
+ req_access_txt = "2"
+ },
+/turf/open/floor/mineral/titanium/blue,
+/area/shuttle/escape)
+"cjD" = (
+/obj/machinery/light{
+ icon_state = "tube1";
+ dir = 4
+ },
+/turf/open/floor/mineral/titanium,
+/area/shuttle/escape)
+"cjE" = (
+/obj/machinery/door/airlock/glass_external{
+ cyclelinkeddir = 2
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cjF" = (
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cjG" = (
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cjH" = (
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cjI" = (
+/obj/machinery/light/small{
+ dir = 8
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/storage/tech)
+"cjJ" = (
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/storage/tech)
+"cjK" = (
+/obj/machinery/power/apc{
+ dir = 1;
+ name = "Tech Storage APC";
+ pixel_y = 24
+ },
+/obj/structure/cable{
+ d2 = 8;
+ icon_state = "0-8"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/storage/tech)
+"cjL" = (
+/turf/closed/wall/r_wall,
+/area/ai_monitored/turret_protected/ai_upload)
+"cjM" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/item/clothing/head/cone,
+/obj/item/clothing/head/cone,
+/obj/item/clothing/head/cone,
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/miningdock{
+ name = "Abandoned Mining Storage"
+ })
+"cjN" = (
+/obj/structure/cable{
+ icon_state = "0-4";
+ d2 = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/miningdock{
+ name = "Abandoned Mining Storage"
+ })
+"cjO" = (
+/obj/machinery/power/apc{
+ dir = 1;
+ name = "Mining Storage APC";
+ pixel_y = 24
+ },
+/obj/structure/cable{
+ d2 = 8;
+ icon_state = "0-8"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/miningdock{
+ name = "Abandoned Mining Storage"
+ })
+"cjP" = (
+/obj/machinery/power/port_gen/pacman,
+/obj/effect/decal/cleanable/cobweb/cobweb2,
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/miningdock{
+ name = "Abandoned Mining Storage"
+ })
+"cjQ" = (
+/obj/machinery/door/airlock/glass_external{
+ cyclelinkeddir = 8
+ },
+/obj/structure/barricade/wooden,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/miningdock{
+ name = "Abandoned Mining Storage"
+ })
+"cjR" = (
+/obj/structure/lattice/catwalk,
+/obj/item/stack/sheet/glass,
+/turf/open/space,
+/area/space)
+"cjS" = (
+/obj/structure/rack,
+/obj/item/weapon/pickaxe,
+/obj/effect/spawner/lootdrop/maintenance,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cjT" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cjU" = (
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cjV" = (
+/turf/closed/wall/rust{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cjW" = (
+/obj/structure/rack,
+/obj/item/weapon/pickaxe/mini,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cjX" = (
+/obj/structure/girder,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cjY" = (
+/turf/open/floor/plasteel/red/side{
+ icon_state = "red";
+ dir = 10;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/exit)
+"cjZ" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/red/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/exit)
+"cka" = (
+/turf/open/floor/plasteel/red/corner{
+ tag = "icon-redcorner (WEST)";
+ icon_state = "redcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/exit)
+"ckb" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 6
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/exit)
+"ckc" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/red/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/exit)
+"ckd" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 9
+ },
+/turf/open/floor/plasteel/red/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/exit)
+"cke" = (
+/turf/open/floor/plasteel/red/side{
+ icon_state = "red";
+ dir = 6;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/exit)
+"ckf" = (
+/obj/machinery/door/airlock/external{
+ cyclelinkeddir = 8;
+ name = "Security Escape Airlock";
+ req_access_txt = "2"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/exit)
+"ckg" = (
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/exit)
+"ckh" = (
+/obj/machinery/door/airlock/shuttle{
+ name = "Emergency Shuttle Airlock";
+ req_access_txt = "2"
+ },
+/turf/open/floor/mineral/plastitanium/brig,
+/area/shuttle/escape)
+"cki" = (
+/obj/structure/chair{
+ dir = 1
+ },
+/turf/open/floor/mineral/plastitanium/brig,
+/area/shuttle/escape)
+"ckj" = (
+/obj/structure/chair,
+/turf/open/floor/mineral/titanium,
+/area/shuttle/escape)
+"ckk" = (
+/obj/structure/chair{
+ dir = 4
+ },
+/turf/open/floor/mineral/titanium,
+/area/shuttle/escape)
+"ckl" = (
+/obj/structure/table,
+/turf/open/floor/mineral/titanium,
+/area/shuttle/escape)
+"ckm" = (
+/obj/machinery/light/small{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/fans/tiny,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"ckn" = (
+/obj/machinery/firealarm{
+ dir = 4;
+ pixel_x = 24
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 1;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cko" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/door/airlock/glass_external{
+ cyclelinkeddir = 1;
+ name = "Research Atmospherics Checkpoint";
+ req_access_txt = "24"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"ckp" = (
+/obj/machinery/light{
+ icon_state = "tube1";
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/shuttle/auxillary_base)
+"ckq" = (
+/obj/docking_port/mobile/auxillary_base{
+ dheight = 4;
+ dir = 4;
+ dwidth = 4;
+ height = 9;
+ width = 9
+ },
+/obj/machinery/computer/auxillary_base{
+ pixel_y = 0
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/shuttle/auxillary_base)
+"ckr" = (
+/obj/machinery/light{
+ icon_state = "tube1";
+ dir = 8
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/shuttle/auxillary_base)
+"cks" = (
+/obj/machinery/status_display{
+ density = 0;
+ layer = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/storage/tech)
+"ckt" = (
+/obj/structure/table,
+/obj/item/weapon/storage/bag/ore,
+/obj/item/weapon/storage/bag/ore,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/miningdock{
+ name = "Abandoned Mining Storage"
+ })
+"cku" = (
+/obj/structure/table,
+/obj/item/clothing/glasses/meson,
+/obj/item/weapon/paper{
+ info = "This station needs cleared out within the next few weeks, as construction is almost complete and NT expects most of the equipment off-site before then. Throw most of the shit in here for now and we'll come back later with a pod to haul the heavier stuff. Shouldn't be too big of an issue.";
+ name = "Disclaimer Notice"
+ },
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/miningdock{
+ name = "Abandoned Mining Storage"
+ })
+"ckv" = (
+/obj/item/weapon/storage/toolbox/mechanical,
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/miningdock{
+ name = "Abandoned Mining Storage"
+ })
+"ckw" = (
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/miningdock{
+ name = "Abandoned Mining Storage"
+ })
+"ckx" = (
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/miningdock{
+ name = "Abandoned Mining Storage"
+ })
+"cky" = (
+/obj/structure/sign/mining{
+ pixel_y = 32
+ },
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/miningdock{
+ name = "Abandoned Mining Storage"
+ })
+"ckz" = (
+/obj/machinery/light/small{
+ dir = 4
+ },
+/turf/open/floor/plating/asteroid,
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"ckA" = (
+/obj/machinery/power/apc{
+ dir = 8;
+ name = "Arrival Hallway APC";
+ pixel_x = -25;
+ pixel_y = 1
+ },
+/obj/structure/cable/orange{
+ d2 = 2;
+ icon_state = "0-2"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"ckB" = (
+/obj/machinery/light/small{
+ dir = 1
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"ckC" = (
+/obj/machinery/computer/station_alert,
+/obj/structure/cable/orange{
+ d2 = 2;
+ icon_state = "0-2"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"ckD" = (
+/obj/machinery/camera{
+ c_tag = "Arrivals SMES";
+ dir = 6;
+ icon_state = "camera"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"ckE" = (
+/obj/structure/table,
+/obj/machinery/cell_charger,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"ckF" = (
+/obj/structure/closet/firecloset/full,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"ckG" = (
+/obj/machinery/light/small{
+ dir = 1
+ },
+/turf/open/floor/plating/asteroid,
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"ckH" = (
+/obj/structure/grille,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"ckI" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/exit)
+"ckJ" = (
+/obj/machinery/door/airlock/glass_security{
+ name = "Holding Area";
+ req_access_txt = "2"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/exit)
+"ckK" = (
+/turf/closed/wall/mineral/titanium/nodiagonal,
+/area/shuttle/escape)
+"ckL" = (
+/obj/structure/table,
+/obj/machinery/light{
+ icon_state = "tube1";
+ dir = 8
+ },
+/turf/open/floor/mineral/titanium,
+/area/shuttle/escape)
+"ckM" = (
+/obj/machinery/door/airlock/glass_external{
+ cyclelinkeddir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"ckN" = (
+/obj/machinery/status_display{
+ density = 0;
+ layer = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"ckO" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 6
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"ckP" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ dir = 8;
+ on = 1;
+ scrub_Toxins = 0
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"ckQ" = (
+/obj/machinery/light/small{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/fans/tiny,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"ckR" = (
+/obj/structure/table,
+/obj/item/weapon/stock_parts/subspace/ansible,
+/obj/item/weapon/stock_parts/subspace/ansible,
+/obj/item/weapon/stock_parts/subspace/ansible,
+/obj/item/weapon/stock_parts/subspace/crystal,
+/obj/item/weapon/stock_parts/subspace/crystal,
+/obj/item/weapon/stock_parts/subspace/crystal,
+/obj/effect/landmark/xeno_spawn,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/storage/tech)
+"ckS" = (
+/obj/structure/table,
+/obj/item/weapon/stock_parts/subspace/amplifier,
+/obj/item/weapon/stock_parts/subspace/amplifier,
+/obj/item/weapon/stock_parts/subspace/amplifier,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/storage/tech)
+"ckT" = (
+/obj/structure/table,
+/obj/item/weapon/stock_parts/subspace/analyzer,
+/obj/item/weapon/stock_parts/subspace/analyzer,
+/obj/item/weapon/stock_parts/subspace/analyzer,
+/obj/structure/sign/securearea{
+ pixel_y = 32
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/storage/tech)
+"ckU" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/storage/tech)
+"ckV" = (
+/obj/structure/table,
+/obj/machinery/cell_charger{
+ pixel_y = 5
+ },
+/obj/item/device/multitool,
+/obj/structure/sign/securearea{
+ pixel_y = 32
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/storage/tech)
+"ckW" = (
+/obj/structure/table,
+/obj/item/stack/cable_coil{
+ pixel_x = -3;
+ pixel_y = 3
+ },
+/obj/item/stack/cable_coil,
+/obj/item/weapon/stock_parts/cell/high/plus,
+/obj/machinery/camera{
+ c_tag = "Tech Storage North"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/storage/tech)
+"ckX" = (
+/obj/structure/table,
+/obj/item/weapon/screwdriver{
+ pixel_y = 16
+ },
+/obj/item/weapon/wirecutters,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/storage/tech)
+"ckY" = (
+/obj/structure/table,
+/obj/item/weapon/aiModule/reset,
+/obj/machinery/light{
+ icon_state = "tube1";
+ dir = 8
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/ai_upload)
+"ckZ" = (
+/obj/machinery/ai_status_display{
+ pixel_y = 32
+ },
+/turf/open/floor/circuit{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/ai_upload)
+"cla" = (
+/obj/machinery/computer/upload/borg,
+/turf/open/floor/circuit{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/ai_upload)
+"clb" = (
+/obj/machinery/porta_turret/ai{
+ dir = 4
+ },
+/turf/open/floor/circuit{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/ai_upload)
+"clc" = (
+/obj/machinery/computer/upload/ai,
+/turf/open/floor/circuit{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/ai_upload)
+"cld" = (
+/obj/structure/table,
+/obj/machinery/light{
+ dir = 4
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/ai_upload)
+"cle" = (
+/obj/structure/closet/crate{
+ icon_state = "crateopen";
+ opened = 1
+ },
+/obj/item/weapon/ore/silver,
+/obj/item/weapon/ore/silver,
+/obj/item/weapon/ore/iron,
+/obj/item/weapon/ore/iron,
+/obj/item/weapon/ore/iron,
+/obj/item/weapon/ore/gold,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/miningdock{
+ name = "Abandoned Mining Storage"
+ })
+"clf" = (
+/obj/machinery/light/small,
+/obj/structure/table,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/miningdock{
+ name = "Abandoned Mining Storage"
+ })
+"clg" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"clh" = (
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/turf/closed/wall/rust{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cli" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"clj" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"clk" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cll" = (
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"clm" = (
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/obj/effect/spawner/lootdrop/grille_or_trash,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cln" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"clo" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/grille,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"clp" = (
+/obj/machinery/power/apc{
+ dir = 2;
+ name = "Auxillary Construction APC";
+ pixel_y = -24
+ },
+/obj/structure/cable/orange{
+ d2 = 8;
+ icon_state = "0-8"
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/vacantoffice)
+"clq" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/effect/spawner/lootdrop/grille_or_trash,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"clr" = (
+/obj/structure/closet,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cls" = (
+/obj/machinery/airalarm{
+ dir = 4;
+ pixel_x = -23;
+ pixel_y = 0
+ },
+/turf/open/floor/plasteel/escape{
+ tag = "icon-escape (NORTHWEST)";
+ icon_state = "escape";
+ dir = 9;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/exit)
+"clt" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/escape{
+ tag = "icon-escape (NORTH)";
+ icon_state = "escape";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/exit)
+"clu" = (
+/turf/open/floor/plasteel/escape/corner{
+ tag = "icon-escapecorner (NORTH)";
+ icon_state = "escapecorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/exit)
+"clv" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/exit)
+"clw" = (
+/obj/machinery/door/airlock/glass_external{
+ cyclelinkeddir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/exit)
+"clx" = (
+/obj/machinery/door/airlock/glass_external{
+ cyclelinkeddir = 8
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/exit)
+"cly" = (
+/obj/machinery/door/airlock/shuttle{
+ name = "Emergency Shuttle Airlock"
+ },
+/obj/docking_port/mobile/emergency{
+ name = "Box emergency shuttle";
+ timid = 0
+ },
+/obj/docking_port/stationary{
+ dir = 4;
+ dwidth = 12;
+ height = 18;
+ id = "emergency_home";
+ name = "BoxStation emergency evac bay";
+ turf_type = /turf/open/space;
+ width = 32
+ },
+/turf/open/floor/plating,
+/area/shuttle/escape)
+"clz" = (
+/obj/structure/extinguisher_cabinet{
+ pixel_x = -5;
+ pixel_y = 30
+ },
+/turf/open/floor/mineral/titanium/blue,
+/area/shuttle/escape)
+"clA" = (
+/obj/structure/extinguisher_cabinet{
+ pixel_x = 27;
+ pixel_y = 0
+ },
+/turf/open/floor/mineral/titanium/blue,
+/area/shuttle/escape)
+"clB" = (
+/obj/structure/tank_dispenser/oxygen,
+/obj/machinery/light/small{
+ dir = 8
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"clC" = (
+/obj/structure/rack,
+/obj/item/clothing/suit/space/fragile,
+/obj/item/clothing/head/helmet/space/fragile,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"clD" = (
+/obj/structure/sign/securearea{
+ desc = "A warning sign which reads 'EXTERNAL AIRLOCK'";
+ icon_state = "space";
+ layer = 4;
+ name = "EXTERNAL AIRLOCK";
+ pixel_x = 0;
+ pixel_y = 32
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"clE" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"clF" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/machinery/camera{
+ c_tag = "Research Asteroid Hallway 1";
+ dir = 5;
+ icon_state = "camera";
+ tag = "icon-camera (NORTHEAST)"
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"clG" = (
+/obj/machinery/light{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"clH" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/door/airlock/glass_external{
+ cyclelinkeddir = 1;
+ req_access_txt = "24"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"clI" = (
+/obj/structure/table,
+/obj/item/weapon/stock_parts/subspace/filter,
+/obj/item/weapon/stock_parts/subspace/filter,
+/obj/item/weapon/stock_parts/subspace/filter,
+/obj/item/weapon/stock_parts/subspace/filter,
+/obj/item/weapon/stock_parts/subspace/filter,
+/obj/machinery/light/small{
+ dir = 8
+ },
+/obj/structure/extinguisher_cabinet{
+ pixel_x = -24
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/storage/tech)
+"clJ" = (
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/storage/tech)
+"clK" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/obj/effect/landmark/blobstart,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/storage/tech)
+"clL" = (
+/obj/structure/table,
+/obj/item/weapon/electronics/apc,
+/obj/item/weapon/electronics/airlock,
+/obj/machinery/light/small{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/storage/tech)
+"clM" = (
+/obj/structure/table,
+/obj/item/weapon/aiModule/supplied/quarantine,
+/obj/machinery/camera/motion{
+ dir = 4
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/ai_upload)
+"clN" = (
+/turf/open/floor/circuit{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/ai_upload)
+"clO" = (
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/ai_upload)
+"clP" = (
+/obj/structure/table,
+/obj/item/weapon/aiModule/supplied/freeform,
+/obj/structure/sign/kiddieplaque{
+ pixel_x = 32
+ },
+/obj/machinery/camera/motion{
+ dir = 8
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/ai_upload)
+"clQ" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"clR" = (
+/obj/machinery/power/smes/engineering,
+/obj/structure/cable/orange,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"clS" = (
+/obj/machinery/power/terminal{
+ tag = "icon-term (WEST)";
+ icon_state = "term";
+ dir = 8
+ },
+/obj/structure/cable{
+ icon_state = "0-4";
+ d2 = 4
+ },
+/obj/structure/sign/electricshock{
+ pixel_y = -32
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"clT" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0;
+ tag = ""
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"clU" = (
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8";
+ tag = ""
+ },
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"clV" = (
+/obj/structure/reagent_dispensers/fueltank,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"clW" = (
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/vacantoffice)
+"clX" = (
+/obj/structure/chair{
+ dir = 4
+ },
+/turf/open/floor/plasteel/escape{
+ tag = "icon-escape (WEST)";
+ icon_state = "escape";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/exit)
+"clY" = (
+/obj/machinery/light{
+ icon_state = "tube1";
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/exit)
+"clZ" = (
+/obj/structure/chair{
+ dir = 8
+ },
+/obj/structure/window/reinforced{
+ dir = 4
+ },
+/turf/open/floor/mineral/titanium,
+/area/shuttle/escape)
+"cma" = (
+/obj/structure/chair{
+ dir = 4
+ },
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/turf/open/floor/mineral/titanium,
+/area/shuttle/escape)
+"cmb" = (
+/obj/structure/chair{
+ dir = 8
+ },
+/turf/open/floor/mineral/titanium,
+/area/shuttle/escape)
+"cmc" = (
+/obj/structure/table,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cmd" = (
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cme" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cmf" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 9
+ },
+/obj/machinery/atmospherics/components/binary/pump{
+ dir = 2;
+ name = "Mix Input";
+ on = 1
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cmg" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/structure/sign/securearea{
+ desc = "A warning sign which reads 'EXTERNAL AIRLOCK'";
+ icon_state = "space";
+ layer = 4;
+ name = "EXTERNAL AIRLOCK";
+ pixel_x = 0;
+ pixel_y = 32
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cmh" = (
+/obj/structure/table,
+/obj/item/weapon/wrench,
+/obj/item/clothing/glasses/meson,
+/obj/effect/turf_decal/stripes/line{
+ dir = 5
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cmi" = (
+/obj/structure/table,
+/obj/item/weapon/stock_parts/subspace/transmitter,
+/obj/item/weapon/stock_parts/subspace/transmitter,
+/obj/item/weapon/stock_parts/subspace/treatment,
+/obj/item/weapon/stock_parts/subspace/treatment,
+/obj/item/weapon/stock_parts/subspace/treatment,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/storage/tech)
+"cmj" = (
+/obj/structure/table,
+/obj/item/weapon/stock_parts/micro_laser,
+/obj/item/weapon/stock_parts/manipulator,
+/obj/item/weapon/stock_parts/manipulator,
+/obj/item/weapon/stock_parts/manipulator,
+/obj/item/weapon/stock_parts/manipulator,
+/obj/item/weapon/stock_parts/capacitor,
+/obj/item/weapon/stock_parts/micro_laser/high,
+/obj/item/weapon/stock_parts/micro_laser/high,
+/obj/item/weapon/stock_parts/micro_laser/high,
+/obj/item/weapon/stock_parts/micro_laser/high,
+/obj/machinery/requests_console{
+ department = "Tech storage";
+ pixel_x = 0;
+ pixel_y = -32
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/storage/tech)
+"cmk" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ on = 1;
+ scrub_N2O = 0;
+ scrub_Toxins = 0
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/storage/tech)
+"cml" = (
+/obj/structure/table,
+/obj/item/device/aicard,
+/obj/item/weapon/aiModule/reset,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/storage/tech)
+"cmm" = (
+/obj/structure/table,
+/obj/item/device/flashlight{
+ pixel_x = 1;
+ pixel_y = 5
+ },
+/obj/item/device/flashlight{
+ pixel_x = 1;
+ pixel_y = 5
+ },
+/obj/item/device/assembly/flash/handheld,
+/obj/item/device/assembly/flash/handheld,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/storage/tech)
+"cmn" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ dir = 4;
+ on = 1;
+ scrub_N2O = 0;
+ scrub_Toxins = 0
+ },
+/obj/machinery/airalarm{
+ dir = 4;
+ pixel_x = -23;
+ pixel_y = 0
+ },
+/turf/open/floor/circuit{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/ai_upload)
+"cmo" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 10
+ },
+/turf/open/floor/circuit{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/ai_upload)
+"cmp" = (
+/obj/structure/table,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/ai_upload)
+"cmq" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 6
+ },
+/turf/open/floor/circuit{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/ai_upload)
+"cmr" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 8;
+ layer = 2.4;
+ on = 1
+ },
+/turf/open/floor/circuit{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/ai_upload)
+"cms" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/obj/structure/grille/broken,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cmt" = (
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/obj/structure/grille,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cmu" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cmv" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cmw" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/closed/wall/rust{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cmx" = (
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/turf/closed/wall/rust{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cmy" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "Docking Asteroid SMES Access";
+ req_access_txt = "10;11;12"
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cmz" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/item/device/radio/intercom{
+ broadcasting = 0;
+ name = "Station Intercom (General)";
+ pixel_x = 28;
+ pixel_y = 0
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"cmA" = (
+/obj/structure/closet/crate,
+/obj/effect/spawner/lootdrop/maintenance,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cmB" = (
+/obj/structure/filingcabinet,
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/vacantoffice)
+"cmC" = (
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/vacantoffice)
+"cmD" = (
+/obj/structure/table/wood,
+/obj/item/device/flashlight/lamp,
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/vacantoffice)
+"cmE" = (
+/obj/structure/closet,
+/obj/effect/decal/cleanable/cobweb/cobweb2,
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/vacantoffice)
+"cmF" = (
+/obj/structure/closet/crate,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cmG" = (
+/obj/structure/chair{
+ dir = 4
+ },
+/obj/machinery/light{
+ icon_state = "tube1";
+ dir = 8
+ },
+/turf/open/floor/plasteel/escape{
+ tag = "icon-escape (WEST)";
+ icon_state = "escape";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/exit)
+"cmH" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 8
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/exit)
+"cmI" = (
+/obj/structure/barricade/wooden,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cmJ" = (
+/obj/item/clothing/head/cone,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cmK" = (
+/obj/effect/landmark/event_spawn,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cmL" = (
+/obj/structure/extinguisher_cabinet{
+ pixel_x = 27;
+ pixel_y = 0
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cmM" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 5
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/camera{
+ c_tag = "Research Atmospherics Checkpoint";
+ dir = 5;
+ icon_state = "camera";
+ tag = "icon-camera (NORTHEAST)"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cmN" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 1
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cmO" = (
+/obj/machinery/atmospherics/components/unary/portables_connector/visible{
+ icon_state = "connector_map";
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cmP" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 10
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/shuttle/auxillary_base)
+"cmQ" = (
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/shuttle/auxillary_base)
+"cmR" = (
+/obj/machinery/portable_atmospherics/canister/air,
+/obj/effect/turf_decal/stripes/line{
+ dir = 6
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/shuttle/auxillary_base)
+"cmS" = (
+/obj/structure/rack{
+ dir = 8;
+ layer = 2.9
+ },
+/obj/item/weapon/storage/toolbox/electrical{
+ pixel_x = 1;
+ pixel_y = -1
+ },
+/obj/item/clothing/gloves/color/yellow,
+/obj/item/device/t_scanner,
+/obj/item/device/multitool,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/storage/tech)
+"cmT" = (
+/obj/structure/rack{
+ dir = 8;
+ layer = 2.9
+ },
+/obj/item/weapon/storage/toolbox/electrical{
+ pixel_x = 1;
+ pixel_y = -1
+ },
+/obj/item/device/multitool,
+/obj/item/clothing/glasses/meson,
+/obj/machinery/airalarm{
+ dir = 8;
+ icon_state = "alarm0";
+ pixel_x = 24
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/storage/tech)
+"cmU" = (
+/obj/machinery/porta_turret/ai{
+ dir = 4
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/ai_upload)
+"cmV" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/circuit{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/ai_upload)
+"cmW" = (
+/obj/machinery/holopad,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/ai_upload)
+"cmX" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/circuit{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/ai_upload)
+"cmY" = (
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/teleporter{
+ name = "Research Quantum Pad"
+ })
+"cmZ" = (
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/teleporter{
+ name = "Docking Quantum Pad"
+ })
+"cna" = (
+/obj/machinery/status_display{
+ density = 0;
+ layer = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/teleporter{
+ name = "Docking Quantum Pad"
+ })
+"cnb" = (
+/obj/machinery/light/small{
+ dir = 8
+ },
+/turf/open/floor/plating/asteroid,
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cnc" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/obj/effect/turf_decal/stripes/asteroid/line{
+ icon_state = "ast_warn";
+ dir = 1
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cnd" = (
+/obj/machinery/light/small{
+ dir = 1
+ },
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cne" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/disposalpipe/segment,
+/obj/machinery/camera{
+ c_tag = "Docking Asteroid Hall 15";
+ dir = 4;
+ icon_state = "camera"
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"cnf" = (
+/obj/machinery/light{
+ icon_state = "tube1";
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"cng" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/item/device/assembly/mousetrap/armed,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cnh" = (
+/obj/machinery/light/small{
+ dir = 8
+ },
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/vacantoffice)
+"cni" = (
+/obj/structure/chair/office/dark{
+ dir = 4
+ },
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/vacantoffice)
+"cnj" = (
+/obj/structure/table/wood,
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/vacantoffice)
+"cnk" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 6
+ },
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/vacantoffice)
+"cnl" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 8;
+ layer = 2.4;
+ on = 1
+ },
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/vacantoffice)
+"cnm" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cnn" = (
+/obj/machinery/power/apc{
+ dir = 4;
+ name = "Departures APC";
+ pixel_x = 24;
+ pixel_y = 0
+ },
+/obj/structure/cable/orange{
+ d2 = 8;
+ icon_state = "0-8"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/exit)
+"cno" = (
+/obj/structure/grille/broken,
+/obj/item/clothing/head/cone,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/port{
+ name = "Port Asteroid Maintenance"
+ })
+"cnp" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/machinery/light/small{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cnq" = (
+/obj/machinery/door/firedoor,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cnr" = (
+/obj/machinery/door/firedoor,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cns" = (
+/obj/machinery/door/firedoor,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cnt" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cnu" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 8
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cnv" = (
+/obj/machinery/atmospherics/components/unary/portables_connector/visible{
+ icon_state = "connector_map";
+ dir = 8
+ },
+/obj/machinery/portable_atmospherics/canister/air,
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/machinery/light/small{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cnw" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/mining_construction)
+"cnx" = (
+/obj/machinery/door/airlock/external{
+ cyclelinkeddir = 1;
+ name = "Construction Zone";
+ req_access = null;
+ req_access_txt = "0";
+ req_one_access_txt = "0"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/mining_construction)
+"cny" = (
+/obj/structure/rack{
+ dir = 8;
+ layer = 2.9
+ },
+/obj/item/weapon/circuitboard/computer/pandemic{
+ pixel_x = -3;
+ pixel_y = 3
+ },
+/obj/item/weapon/circuitboard/computer/rdconsole,
+/obj/item/weapon/circuitboard/machine/rdserver{
+ pixel_x = 3;
+ pixel_y = -3
+ },
+/obj/item/weapon/circuitboard/machine/destructive_analyzer,
+/obj/item/weapon/circuitboard/machine/protolathe,
+/obj/item/weapon/circuitboard/computer/aifixer,
+/obj/item/weapon/circuitboard/computer/teleporter,
+/obj/item/weapon/circuitboard/machine/circuit_imprinter,
+/obj/item/weapon/circuitboard/machine/mechfab,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/storage/tech)
+"cnz" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/storage/tech)
+"cnA" = (
+/obj/structure/rack{
+ dir = 8;
+ layer = 2.9
+ },
+/obj/item/weapon/circuitboard/computer/cloning{
+ pixel_x = 0
+ },
+/obj/item/weapon/circuitboard/computer/med_data{
+ pixel_x = 3;
+ pixel_y = -3
+ },
+/obj/item/weapon/circuitboard/machine/clonescanner,
+/obj/item/weapon/circuitboard/machine/clonepod,
+/obj/item/weapon/circuitboard/computer/scan_consolenew,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/storage/tech)
+"cnB" = (
+/obj/structure/table,
+/obj/item/weapon/aiModule/core/full/asimov,
+/obj/item/weapon/aiModule/core/freeformcore,
+/obj/machinery/door/window{
+ base_state = "right";
+ dir = 4;
+ icon_state = "right";
+ name = "Core Modules";
+ req_access_txt = "20"
+ },
+/obj/structure/window/reinforced,
+/obj/item/weapon/aiModule/core/full/corp,
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/obj/item/weapon/aiModule/core/full/custom,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/ai_upload)
+"cnC" = (
+/obj/structure/table,
+/obj/item/weapon/aiModule/supplied/oxygen,
+/obj/item/weapon/aiModule/zeroth/oneHuman,
+/obj/machinery/door/window{
+ base_state = "left";
+ dir = 8;
+ icon_state = "left";
+ name = "High-Risk Modules";
+ req_access_txt = "20"
+ },
+/obj/item/weapon/aiModule/reset/purge,
+/obj/structure/window/reinforced,
+/obj/item/weapon/aiModule/core/full/antimov,
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/structure/window/reinforced{
+ dir = 4
+ },
+/obj/item/weapon/aiModule/supplied/protectStation,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/ai_upload)
+"cnD" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 9
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/teleporter{
+ name = "Research Quantum Pad"
+ })
+"cnE" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/machinery/light{
+ dir = 1
+ },
+/obj/structure/sign/securearea{
+ desc = "A warning sign which reads 'KEEP CLEAR OF PAD WHEN IN USE'.";
+ name = "KEEP CLEAR OF PAD WHEN IN USE";
+ pixel_x = 0;
+ pixel_y = 32
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/teleporter{
+ name = "Research Quantum Pad"
+ })
+"cnF" = (
+/obj/machinery/power/apc{
+ dir = 1;
+ name = "Research Quantum Pad APC";
+ pixel_y = 24
+ },
+/obj/structure/cable{
+ icon_state = "0-2";
+ pixel_y = 1;
+ d2 = 2
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 5
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/teleporter{
+ name = "Research Quantum Pad"
+ })
+"cnG" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/teleporter{
+ name = "Research Quantum Pad"
+ })
+"cnH" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/teleporter{
+ name = "Docking Quantum Pad"
+ })
+"cnI" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 9
+ },
+/obj/machinery/power/apc{
+ dir = 1;
+ name = "Docking Quantum Pad APC";
+ pixel_y = 24
+ },
+/obj/structure/cable/orange{
+ d2 = 2;
+ icon_state = "0-2"
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/teleporter{
+ name = "Docking Quantum Pad"
+ })
+"cnJ" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/structure/sign/securearea{
+ desc = "A warning sign which reads 'KEEP CLEAR OF PAD WHEN IN USE'.";
+ name = "KEEP CLEAR OF PAD WHEN IN USE";
+ pixel_x = 0;
+ pixel_y = 32
+ },
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/teleporter{
+ name = "Docking Quantum Pad"
+ })
+"cnK" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 5
+ },
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ on = 1
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/teleporter{
+ name = "Docking Quantum Pad"
+ })
+"cnL" = (
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cnM" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/item/device/assembly/mousetrap/armed,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cnN" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cnO" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cnP" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cnQ" = (
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cnR" = (
+/obj/machinery/door/firedoor,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/stripes/line,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/machinery/door/airlock/glass,
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"cnS" = (
+/obj/machinery/door/firedoor,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/effect/turf_decal/stripes/line,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/machinery/door/airlock/glass,
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"cnT" = (
+/obj/structure/table/wood,
+/obj/item/weapon/paper_bin{
+ pixel_x = -3;
+ pixel_y = 7
+ },
+/obj/item/weapon/pen/fourcolor,
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/vacantoffice)
+"cnU" = (
+/obj/effect/landmark/blobstart,
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/vacantoffice)
+"cnV" = (
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ icon_state = "wood-broken"
+ },
+/area/security/vacantoffice)
+"cnW" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/vacantoffice)
+"cnX" = (
+/obj/structure/reagent_dispensers/watertank,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cnY" = (
+/obj/structure/chair{
+ dir = 4
+ },
+/obj/machinery/camera{
+ c_tag = "Docking Asteroid Hall 6";
+ dir = 4;
+ icon_state = "camera"
+ },
+/obj/item/device/radio/intercom{
+ broadcasting = 0;
+ name = "Station Intercom (General)";
+ pixel_x = -28;
+ pixel_y = 0
+ },
+/turf/open/floor/plasteel/escape{
+ tag = "icon-escape (WEST)";
+ icon_state = "escape";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/exit)
+"cnZ" = (
+/obj/structure/closet/emcloset,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"coa" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 5
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cob" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "External Maintenance Access";
+ req_access_txt = "12"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"coc" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cod" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 6
+ },
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"coe" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0;
+ tag = ""
+ },
+/obj/machinery/door/airlock/atmos{
+ name = "Research Atmospherics Checkpoint";
+ req_access_txt = "24"
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cof" = (
+/obj/machinery/atmospherics/components/binary/pump{
+ dir = 8;
+ name = "Mix Output";
+ on = 1
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 10
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cog" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden,
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"coh" = (
+/obj/machinery/atmospherics/components/unary/portables_connector/visible{
+ icon_state = "connector_map";
+ dir = 8
+ },
+/obj/machinery/portable_atmospherics/canister/air,
+/obj/effect/turf_decal/stripes/line{
+ dir = 6
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"coi" = (
+/obj/structure/closet/toolcloset,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/mining_construction)
+"coj" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/mining_construction)
+"cok" = (
+/obj/machinery/airalarm{
+ frequency = 1439;
+ locked = 0;
+ pixel_y = 23
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/mining_construction)
+"col" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/mining_construction)
+"com" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/machinery/camera{
+ c_tag = "Aux Base Construction";
+ dir = 6;
+ icon_state = "camera"
+ },
+/obj/machinery/computer/camera_advanced/base_construction,
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0;
+ tag = ""
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/mining_construction)
+"con" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0;
+ tag = ""
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/mining_construction)
+"coo" = (
+/obj/structure/rack{
+ dir = 4
+ },
+/obj/item/weapon/electronics/airlock,
+/obj/item/weapon/electronics/airlock,
+/obj/item/weapon/electronics/airlock,
+/obj/item/weapon/electronics/airlock,
+/obj/item/stack/cable_coil,
+/obj/item/stack/cable_coil,
+/obj/item/wallframe/camera,
+/obj/item/wallframe/camera,
+/obj/item/wallframe/camera,
+/obj/item/wallframe/camera,
+/obj/item/device/assault_pod/mining,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/machinery/power/apc{
+ dir = 1;
+ name = "Aux Construction APC";
+ pixel_y = 24
+ },
+/obj/structure/cable{
+ d2 = 8;
+ icon_state = "0-8"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/mining_construction)
+"cop" = (
+/obj/structure/rack{
+ dir = 8;
+ layer = 2.9
+ },
+/obj/item/weapon/circuitboard/computer/mining,
+/obj/item/weapon/circuitboard/machine/autolathe{
+ pixel_x = 3;
+ pixel_y = -3
+ },
+/obj/item/weapon/circuitboard/computer/arcade/battle,
+/obj/machinery/light/small{
+ dir = 8
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/storage/tech)
+"coq" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 2;
+ on = 1
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/storage/tech)
+"cor" = (
+/obj/structure/rack{
+ dir = 8;
+ layer = 2.9
+ },
+/obj/item/weapon/circuitboard/computer/secure_data{
+ pixel_x = -2;
+ pixel_y = 2
+ },
+/obj/item/weapon/circuitboard/computer/security{
+ pixel_x = 1;
+ pixel_y = -1
+ },
+/obj/machinery/light/small{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/storage/tech)
+"cos" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/ai_upload)
+"cot" = (
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/ai_upload)
+"cou" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/power/apc{
+ dir = 4;
+ name = "AI Upload APC";
+ pixel_x = 26;
+ pixel_y = 0
+ },
+/obj/structure/cable{
+ d2 = 8;
+ icon_state = "0-8"
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/ai_upload)
+"cov" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/machinery/camera{
+ c_tag = "Research Quantum Pad";
+ dir = 4;
+ network = list("SS13")
+ },
+/obj/machinery/airalarm{
+ dir = 4;
+ locked = 0;
+ pixel_x = -23;
+ pixel_y = 0;
+ req_access = null;
+ req_one_access_txt = "24;10"
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/teleporter{
+ name = "Research Quantum Pad"
+ })
+"cow" = (
+/obj/machinery/quantumpad,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/teleporter{
+ name = "Research Quantum Pad"
+ })
+"cox" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/teleporter{
+ name = "Research Quantum Pad"
+ })
+"coy" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ on = 1
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/teleporter{
+ name = "Docking Quantum Pad"
+ })
+"coz" = (
+/obj/machinery/quantumpad,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/teleporter{
+ name = "Docking Quantum Pad"
+ })
+"coA" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/machinery/camera{
+ c_tag = "Docking Quantum Pad";
+ dir = 8;
+ icon_state = "camera";
+ network = list("SS13","QM");
+ tag = "icon-camera (WEST)"
+ },
+/obj/machinery/airalarm{
+ dir = 8;
+ icon_state = "alarm0";
+ pixel_x = 24
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/teleporter{
+ name = "Docking Quantum Pad"
+ })
+"coB" = (
+/obj/structure/girder,
+/obj/structure/grille,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"coC" = (
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"coD" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"coE" = (
+/obj/machinery/power/apc{
+ dir = 2;
+ name = "Teleporter APC";
+ pixel_y = -24
+ },
+/obj/structure/cable/orange{
+ d2 = 4;
+ icon_state = "0-4"
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/teleporter)
+"coF" = (
+/obj/machinery/light/small{
+ dir = 1
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"coG" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0
+ },
+/obj/effect/turf_decal/stripes/asteroid/line{
+ icon_state = "ast_warn";
+ dir = 4
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"coH" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "Aft Asteroid Maintenance";
+ req_access_txt = "12"
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"coI" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/disposalpipe/segment,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"coJ" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "Aft Asteroid Maintenance";
+ req_access_txt = "12"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"coK" = (
+/obj/effect/turf_decal/stripes/asteroid/line{
+ icon_state = "ast_warn";
+ dir = 8
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"coL" = (
+/obj/machinery/light/small{
+ dir = 4
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"coM" = (
+/obj/effect/landmark/event_spawn,
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/vacantoffice)
+"coN" = (
+/obj/effect/landmark/event_spawn,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/exit)
+"coO" = (
+/obj/machinery/firealarm{
+ dir = 4;
+ pixel_x = 24
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/exit)
+"coP" = (
+/obj/structure/chair{
+ dir = 4
+ },
+/obj/machinery/light{
+ icon_state = "tube1";
+ dir = 8
+ },
+/turf/open/floor/mineral/titanium,
+/area/shuttle/escape)
+"coQ" = (
+/obj/structure/chair{
+ dir = 8
+ },
+/obj/machinery/light{
+ icon_state = "tube1";
+ dir = 4
+ },
+/turf/open/floor/mineral/titanium,
+/area/shuttle/escape)
+"coR" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"coS" = (
+/obj/structure/closet/toolcloset,
+/turf/open/floor/plasteel/brown/corner{
+ tag = "icon-browncorner (WEST)";
+ icon_state = "browncorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/mining_construction)
+"coT" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ dir = 4;
+ on = 1;
+ scrub_N2O = 0;
+ scrub_Toxins = 0
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/mining_construction)
+"coU" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/mining_construction)
+"coV" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 10
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/mining_construction)
+"coW" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 6
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/mining_construction)
+"coX" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/mining_construction)
+"coY" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 8;
+ layer = 2.4;
+ on = 1
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/mining_construction)
+"coZ" = (
+/turf/open/floor/plasteel/brown/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/mining_construction)
+"cpa" = (
+/obj/structure/rack,
+/obj/item/weapon/circuitboard/machine/telecomms/processor,
+/obj/item/weapon/circuitboard/machine/telecomms/receiver,
+/obj/item/weapon/circuitboard/machine/telecomms/server,
+/obj/item/weapon/circuitboard/machine/telecomms/bus,
+/obj/item/weapon/circuitboard/machine/telecomms/broadcaster,
+/obj/item/weapon/circuitboard/computer/message_monitor{
+ pixel_y = -5
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/storage/tech)
+"cpb" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/storage/tech)
+"cpc" = (
+/obj/structure/rack{
+ dir = 8;
+ layer = 2.9
+ },
+/obj/item/weapon/circuitboard/computer/powermonitor{
+ pixel_x = -2;
+ pixel_y = 2
+ },
+/obj/item/weapon/circuitboard/computer/stationalert{
+ pixel_x = 1;
+ pixel_y = -1
+ },
+/obj/item/weapon/circuitboard/computer/atmos_alert{
+ pixel_x = 3;
+ pixel_y = -3
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/storage/tech)
+"cpd" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/closed/wall/r_wall,
+/area/ai_monitored/turret_protected/ai_upload)
+"cpe" = (
+/obj/machinery/door/airlock/highsecurity{
+ icon_state = "door_closed";
+ locked = 0;
+ name = "AI Upload Access";
+ req_access_txt = "16"
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/ai_upload)
+"cpf" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/closed/wall/r_wall,
+/area/ai_monitored/turret_protected/ai_upload)
+"cpg" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 10
+ },
+/obj/structure/noticeboard{
+ dir = 4;
+ icon_state = "nboard00";
+ pixel_x = -32;
+ tag = "icon-nboard00 (EAST)"
+ },
+/obj/item/weapon/paper{
+ info = "Dummies Guide To Quantum Pads Do you hate the concept of having to use your legs, let alone walk to places? Well, with the Quantum Pad (tm), never again will the fear of cardio keep you from going places!How to set up your Quantum Pad(tm) 1.Unscrew the Quantum Pad(tm) you wish to link. 2. Use your multi-tool to cache the buffer of the Quantum Pad(tm) you wish to link. 3. Apply the multi-tool to the secondary Quantum Pad(tm) you wish to link to the first Quantum Pad(tm)If you followed these instructions carefully, your Quantum Pad(tm) should now be properly linked together for near-instant movement across the station! Bear in mind that this is technically a one-way teleport, so you'll need to do the same process with the secondary pad to the first one if you wish to travel between both. ";
+ name = "Quantum Pad For Dummies"
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/teleporter{
+ name = "Research Quantum Pad"
+ })
+"cph" = (
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/teleporter{
+ name = "Research Quantum Pad"
+ })
+"cpi" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 6
+ },
+/obj/structure/sign/securearea{
+ desc = "A warning sign which reads 'EXTERNAL AIRLOCK'";
+ icon_state = "space";
+ layer = 4;
+ name = "EXTERNAL AIRLOCK";
+ pixel_x = 32;
+ pixel_y = 0
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/teleporter{
+ name = "Research Quantum Pad"
+ })
+"cpj" = (
+/obj/structure/sign/securearea{
+ desc = "A warning sign which reads 'EXTERNAL AIRLOCK'";
+ icon_state = "space";
+ layer = 4;
+ name = "EXTERNAL AIRLOCK";
+ pixel_x = -32;
+ pixel_y = 0
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 10
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/teleporter{
+ name = "Docking Quantum Pad"
+ })
+"cpk" = (
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/teleporter{
+ name = "Docking Quantum Pad"
+ })
+"cpl" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 6
+ },
+/obj/structure/noticeboard{
+ dir = 8;
+ icon_state = "nboard00";
+ pixel_x = 32;
+ pixel_y = 0;
+ tag = "icon-nboard00 (WEST)"
+ },
+/obj/item/weapon/paper{
+ info = "Dummies Guide To Quantum Pads Do you hate the concept of having to use your legs, let alone walk to places? Well, with the Quantum Pad (tm), never again will the fear of cardio keep you from going places!How to set up your Quantum Pad(tm) 1.Unscrew the Quantum Pad(tm) you wish to link. 2. Use your multi-tool to cache the buffer of the Quantum Pad(tm) you wish to link. 3. Apply the multi-tool to the secondary Quantum Pad(tm) you wish to link to the first Quantum Pad(tm)If you followed these instructions carefully, your Quantum Pad(tm) should now be properly linked together for near-instant movement across the station! Bear in mind that this is technically a one-way teleport, so you'll need to do the same process with the secondary pad to the first one if you wish to travel between both. ";
+ name = "Quantum Pad For Dummies"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/teleporter{
+ name = "Docking Quantum Pad"
+ })
+"cpm" = (
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/teleporter)
+"cpn" = (
+/obj/machinery/power/apc{
+ dir = 2;
+ name = "Arrival Security Checkpoint APC";
+ pixel_y = -24
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/obj/structure/cable/orange{
+ d2 = 4;
+ icon_state = "0-4"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint2)
+"cpo" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/effect/turf_decal/stripes/asteroid/line{
+ icon_state = "ast_warn";
+ dir = 4
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cpp" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "Aft Asteroid Maintenance";
+ req_access_txt = "12"
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cpq" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"cpr" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"cps" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/effect/turf_decal/stripes/asteroid/line{
+ icon_state = "ast_warn";
+ dir = 8
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cpt" = (
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/vacantoffice)
+"cpu" = (
+/obj/machinery/door/airlock/shuttle{
+ name = "Emergency Shuttle Airlock"
+ },
+/turf/open/floor/plating,
+/area/shuttle/escape)
+"cpv" = (
+/obj/structure/extinguisher_cabinet{
+ pixel_x = 0;
+ pixel_y = -30
+ },
+/turf/open/floor/mineral/titanium/blue,
+/area/shuttle/escape)
+"cpw" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/machinery/firealarm{
+ dir = 8;
+ pixel_x = -24
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cpx" = (
+/obj/structure/reagent_dispensers/fueltank,
+/turf/open/floor/plasteel/brown{
+ tag = "icon-brown (SOUTHWEST)";
+ icon_state = "brown";
+ dir = 10;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/mining_construction)
+"cpy" = (
+/obj/machinery/light,
+/turf/open/floor/plasteel/brown{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/mining_construction)
+"cpz" = (
+/obj/structure/mining_shuttle_beacon,
+/turf/open/floor/plasteel/brown{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/mining_construction)
+"cpA" = (
+/obj/machinery/firealarm{
+ dir = 1;
+ pixel_y = -24
+ },
+/turf/open/floor/plasteel/brown/corner{
+ tag = "icon-browncorner (WEST)";
+ icon_state = "browncorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/mining_construction)
+"cpB" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/mining_construction)
+"cpC" = (
+/obj/structure/closet/crate/rcd,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel/brown/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/mining_construction)
+"cpD" = (
+/obj/structure/table,
+/obj/item/stack/sheet/metal/fifty,
+/obj/item/stack/sheet/metal/fifty,
+/obj/item/stack/rods{
+ amount = 50
+ },
+/turf/open/floor/plasteel/brown{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/mining_construction)
+"cpE" = (
+/obj/structure/table,
+/obj/item/stack/sheet/plasteel/fifty,
+/obj/item/stack/sheet/rglass{
+ amount = 50
+ },
+/obj/machinery/light,
+/turf/open/floor/plasteel/brown{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/mining_construction)
+"cpF" = (
+/obj/structure/table,
+/obj/item/device/assault_pod/mining,
+/obj/item/weapon/storage/box/lights/mixed,
+/turf/open/floor/plasteel/brown{
+ tag = "icon-brown (SOUTHEAST)";
+ icon_state = "brown";
+ dir = 6;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/mining_construction)
+"cpG" = (
+/obj/machinery/vending/assist,
+/obj/machinery/camera{
+ c_tag = "Tech Storage South";
+ dir = 1
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/storage/tech)
+"cpH" = (
+/obj/structure/table,
+/obj/item/device/plant_analyzer,
+/obj/item/weapon/stock_parts/cell/high/plus,
+/obj/item/device/healthanalyzer,
+/obj/item/device/analyzer,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/storage/tech)
+"cpI" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/machinery/turretid{
+ control_area = "AI Upload Chamber";
+ name = "AI Upload turret control";
+ pixel_y = 25
+ },
+/obj/machinery/camera/motion{
+ dir = 4
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/ai_upload)
+"cpJ" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/ai_upload)
+"cpK" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/light/small{
+ dir = 4
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/ai_upload)
+"cpL" = (
+/obj/item/device/radio/intercom{
+ broadcasting = 0;
+ name = "Station Intercom (General)";
+ pixel_x = -28;
+ pixel_y = 0
+ },
+/obj/structure/table,
+/obj/item/device/multitool,
+/obj/item/weapon/screwdriver,
+/turf/open/floor/plasteel/vault{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 5
+ },
+/area/teleporter{
+ name = "Research Quantum Pad"
+ })
+"cpM" = (
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/turf/open/floor/plasteel/vault{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 5
+ },
+/area/teleporter{
+ name = "Research Quantum Pad"
+ })
+"cpN" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/turf/open/floor/plasteel/vault{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 5
+ },
+/area/teleporter{
+ name = "Research Quantum Pad"
+ })
+"cpO" = (
+/obj/machinery/door/airlock/glass_external{
+ cyclelinkeddir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/teleporter{
+ name = "Research Quantum Pad"
+ })
+"cpP" = (
+/obj/machinery/light/small,
+/obj/structure/fans/tiny,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/teleporter{
+ name = "Research Quantum Pad"
+ })
+"cpQ" = (
+/obj/machinery/door/airlock/glass_external{
+ cyclelinkeddir = 8
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/teleporter{
+ name = "Research Quantum Pad"
+ })
+"cpR" = (
+/obj/machinery/door/airlock/glass_external{
+ cyclelinkeddir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/teleporter{
+ name = "Docking Quantum Pad"
+ })
+"cpS" = (
+/obj/machinery/light/small,
+/obj/structure/fans/tiny,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/teleporter{
+ name = "Docking Quantum Pad"
+ })
+"cpT" = (
+/obj/machinery/door/airlock/glass_external{
+ cyclelinkeddir = 8
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/teleporter{
+ name = "Docking Quantum Pad"
+ })
+"cpU" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/vault{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 5
+ },
+/area/teleporter{
+ name = "Docking Quantum Pad"
+ })
+"cpV" = (
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/turf/open/floor/plasteel/vault{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 5
+ },
+/area/teleporter{
+ name = "Docking Quantum Pad"
+ })
+"cpW" = (
+/obj/structure/table,
+/obj/item/device/multitool,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/item/weapon/screwdriver,
+/turf/open/floor/plasteel/vault{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 5
+ },
+/area/teleporter{
+ name = "Docking Quantum Pad"
+ })
+"cpX" = (
+/obj/effect/turf_decal/stripes/asteroid/line,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cpY" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/effect/turf_decal/stripes/asteroid/line,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cpZ" = (
+/obj/machinery/light/small,
+/obj/structure/reagent_dispensers/watertank,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cqa" = (
+/obj/machinery/computer/teleporter,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/teleporter)
+"cqb" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/machinery/airalarm{
+ frequency = 1439;
+ locked = 0;
+ pixel_y = 23
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/teleporter)
+"cqc" = (
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/teleporter)
+"cqd" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ on = 1
+ },
+/obj/machinery/camera{
+ c_tag = "Teleporter";
+ dir = 6;
+ icon_state = "camera"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/teleporter)
+"cqe" = (
+/obj/effect/turf_decal/bot,
+/obj/machinery/shieldwallgen,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/teleporter)
+"cqf" = (
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint2)
+"cqg" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 8
+ },
+/obj/structure/disposalpipe/segment,
+/obj/machinery/firealarm{
+ dir = 8;
+ pixel_x = -24
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"cqh" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"cqi" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ icon_state = "wood-broken"
+ },
+/area/security/vacantoffice)
+"cqj" = (
+/obj/structure/chair{
+ dir = 4
+ },
+/obj/effect/landmark/start/assistant,
+/turf/open/floor/plasteel/escape{
+ tag = "icon-escape (WEST)";
+ icon_state = "escape";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/exit)
+"cqk" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 8
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/exit)
+"cql" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 8;
+ layer = 2.4;
+ on = 1
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/exit)
+"cqm" = (
+/obj/machinery/door/airlock/shuttle{
+ name = "Emergency Shuttle Cargo"
+ },
+/turf/open/floor/mineral/titanium/blue,
+/area/shuttle/escape)
+"cqn" = (
+/obj/machinery/door/airlock/glass{
+ name = "Emergency Shuttle Infirmary"
+ },
+/turf/open/floor/mineral/titanium/blue,
+/area/shuttle/escape)
+"cqo" = (
+/turf/closed/wall/mineral/titanium,
+/area/shuttle/pod_2)
+"cqp" = (
+/obj/structure/shuttle/engine/propulsion/burst{
+ dir = 4;
+ icon_state = "propulsion";
+ tag = "icon-propulsion (WEST)"
+ },
+/turf/open/floor/mineral/titanium/blue,
+/area/shuttle/pod_2)
+"cqq" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/machinery/light{
+ icon_state = "tube1";
+ dir = 8
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cqr" = (
+/obj/machinery/door/airlock/engineering{
+ cyclelinkeddir = 1;
+ name = "Auxillary Base Construction";
+ req_access_txt = "0";
+ req_one_access_txt = "32;47;48"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/mining_construction)
+"cqs" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/mining_construction)
+"cqt" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/storage/tech)
+"cqu" = (
+/obj/machinery/door/airlock/engineering{
+ name = "Tech Storage";
+ req_access_txt = "23"
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/storage/tech)
+"cqv" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/storage/tech)
+"cqw" = (
+/obj/machinery/vending/snack/random,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cqx" = (
+/obj/machinery/vending/cola/random,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cqy" = (
+/obj/machinery/vending/coffee,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cqz" = (
+/turf/closed/wall/r_wall,
+/area/hallway/primary/aft)
+"cqA" = (
+/obj/structure/grille,
+/obj/machinery/door/firedoor,
+/obj/structure/window/fulltile,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cqB" = (
+/obj/machinery/door/airlock/glass{
+ name = "Research Quantum Pad"
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel/vault{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 5
+ },
+/area/teleporter{
+ name = "Research Quantum Pad"
+ })
+"cqC" = (
+/obj/structure/lattice/catwalk,
+/obj/structure/window/reinforced,
+/obj/structure/grille,
+/turf/open/space,
+/area/space)
+"cqD" = (
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cqE" = (
+/obj/structure/grille,
+/obj/machinery/door/firedoor,
+/obj/structure/window/fulltile,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/teleporter{
+ name = "Docking Quantum Pad"
+ })
+"cqF" = (
+/obj/machinery/door/airlock/glass{
+ name = "Docking Quantum Pad"
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel/vault{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 5
+ },
+/area/teleporter{
+ name = "Docking Quantum Pad"
+ })
+"cqG" = (
+/obj/structure/grille,
+/obj/machinery/door/firedoor,
+/obj/structure/window/fulltile,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/teleporter{
+ name = "Docking Quantum Pad"
+ })
+"cqH" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "Aft Asteroid Maintenance";
+ req_access_txt = "12"
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cqI" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "Aft Asteroid Maintenance";
+ req_access_txt = "12"
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cqJ" = (
+/obj/machinery/teleport/station,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/teleporter)
+"cqK" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/teleporter)
+"cqL" = (
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/teleporter)
+"cqM" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/teleporter)
+"cqN" = (
+/obj/structure/closet/secure_closet/security/engine,
+/turf/open/floor/plasteel/red/side{
+ tag = "icon-red (NORTHWEST)";
+ icon_state = "red";
+ dir = 9;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint2)
+"cqO" = (
+/turf/open/floor/plasteel/red/side{
+ icon_state = "red";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint2)
+"cqP" = (
+/obj/machinery/computer/security,
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/plasteel/red/side{
+ icon_state = "red";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint2)
+"cqQ" = (
+/obj/machinery/computer/card,
+/obj/machinery/camera{
+ c_tag = "Docking Security Checkpoint";
+ dir = 6;
+ icon_state = "camera"
+ },
+/obj/item/device/radio/intercom{
+ broadcasting = 0;
+ name = "Station Intercom (General)";
+ pixel_y = 20
+ },
+/turf/open/floor/plasteel/red/side{
+ icon_state = "red";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint2)
+"cqR" = (
+/obj/machinery/computer/secure_data,
+/obj/machinery/newscaster/security_unit{
+ pixel_y = 32
+ },
+/turf/open/floor/plasteel/red/side{
+ icon_state = "red";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint2)
+"cqS" = (
+/obj/structure/reagent_dispensers/peppertank{
+ pixel_y = 32
+ },
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ dir = 4;
+ on = 1;
+ scrub_N2O = 0;
+ scrub_Toxins = 0
+ },
+/turf/open/floor/plasteel/red/side{
+ icon_state = "red";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint2)
+"cqT" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/machinery/airalarm{
+ frequency = 1439;
+ locked = 0;
+ pixel_y = 23
+ },
+/turf/open/floor/plasteel/red/side{
+ tag = "icon-red (NORTHEAST)";
+ icon_state = "red";
+ dir = 5;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint2)
+"cqU" = (
+/obj/machinery/door/airlock/security{
+ name = "Security Checkpoint";
+ req_access = null;
+ req_access_txt = "1"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/red{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint2)
+"cqV" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"cqW" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"cqX" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"cqY" = (
+/obj/structure/table_frame/wood,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/vacantoffice)
+"cqZ" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/table_frame/wood,
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ icon_state = "wood-broken"
+ },
+/area/security/vacantoffice)
+"cra" = (
+/turf/open/floor/mineral/titanium/yellow,
+/area/shuttle/escape)
+"crb" = (
+/obj/structure/extinguisher_cabinet{
+ pixel_x = 27;
+ pixel_y = 0
+ },
+/turf/open/floor/mineral/titanium/yellow,
+/area/shuttle/escape)
+"crc" = (
+/obj/machinery/sleeper{
+ icon_state = "sleeper-open";
+ dir = 8
+ },
+/turf/open/floor/mineral/titanium,
+/area/shuttle/escape)
+"crd" = (
+/obj/docking_port/stationary/random{
+ dir = 8;
+ id = "pod_asteroid2";
+ name = "asteroid"
+ },
+/turf/open/space,
+/area/space)
+"cre" = (
+/obj/structure/grille,
+/obj/structure/window/shuttle,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/shuttle/pod_2)
+"crf" = (
+/obj/machinery/computer/shuttle/pod{
+ pixel_x = 0;
+ pixel_y = -32;
+ possible_destinations = "pod_asteroid2";
+ shuttleId = "pod2"
+ },
+/obj/structure/chair{
+ dir = 8
+ },
+/obj/machinery/light/small{
+ dir = 1
+ },
+/turf/open/floor/mineral/titanium/blue,
+/area/shuttle/pod_2)
+"crg" = (
+/obj/item/weapon/storage/pod{
+ pixel_x = 6;
+ pixel_y = -28
+ },
+/obj/item/device/radio/intercom{
+ pixel_x = 0;
+ pixel_y = 25
+ },
+/obj/structure/chair{
+ dir = 8
+ },
+/turf/open/floor/mineral/titanium/blue,
+/area/shuttle/pod_2)
+"crh" = (
+/obj/machinery/door/airlock/titanium{
+ name = "Escape Pod Airlock"
+ },
+/obj/docking_port/mobile/pod{
+ dir = 8;
+ id = "pod2";
+ name = "escape pod 2";
+ port_angle = 180
+ },
+/turf/open/floor/mineral/titanium/blue,
+/area/shuttle/pod_2)
+"cri" = (
+/obj/machinery/door/airlock/glass_external{
+ cyclelinkeddir = 4;
+ name = "Research Escape Pod"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"crj" = (
+/obj/machinery/door/airlock/glass_external{
+ cyclelinkeddir = 8;
+ name = "Research Escape Pod"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"crk" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4";
+ tag = ""
+ },
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 8
+ },
+/obj/structure/sign/directions/evac{
+ dir = 4;
+ icon_state = "direction_evac";
+ pixel_x = 32;
+ pixel_y = 24;
+ tag = "icon-direction_evac (EAST)"
+ },
+/obj/structure/sign/directions/security{
+ dir = 1;
+ icon_state = "direction_sec";
+ pixel_x = 32;
+ pixel_y = 32;
+ tag = "icon-direction_sec (NORTH)"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"crl" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0;
+ tag = ""
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"crm" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0;
+ tag = ""
+ },
+/obj/structure/sign/map/left/ceres{
+ pixel_y = 32
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"crn" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0;
+ tag = ""
+ },
+/obj/machinery/camera{
+ c_tag = "Research Asteroid Hallway 2"
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cro" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0;
+ tag = ""
+ },
+/obj/machinery/door/firedoor,
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"crp" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0;
+ tag = ""
+ },
+/obj/item/device/radio/intercom{
+ broadcasting = 0;
+ name = "Station Intercom (General)";
+ pixel_y = 20
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"crq" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 1
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0;
+ tag = ""
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"crr" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0;
+ tag = ""
+ },
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"crs" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0;
+ tag = ""
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"crt" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0;
+ tag = ""
+ },
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden,
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cru" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0;
+ tag = ""
+ },
+/obj/machinery/camera{
+ c_tag = "Research Asteroid Hallway 3"
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"crv" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0;
+ tag = ""
+ },
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 1
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"crw" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8";
+ tag = ""
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"crx" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cry" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"crz" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden,
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"crA" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/light{
+ dir = 1
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"crB" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/camera{
+ c_tag = "Research Asteroid Hallway 4"
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"crC" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"crD" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/item/device/radio/intercom{
+ broadcasting = 0;
+ name = "Station Intercom (General)";
+ pixel_y = 20
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"crE" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"crF" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden,
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"crG" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/extinguisher_cabinet{
+ pixel_y = 32
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"crH" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/camera{
+ c_tag = "Research Asteroid Hallway 5"
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"crI" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 10
+ },
+/obj/machinery/light{
+ dir = 1
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"crJ" = (
+/obj/machinery/door/firedoor,
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"crK" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel/neutral/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 1;
+ heat_capacity = 1e+006
+ },
+/area/hallway/primary/aft)
+"crL" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/turf/open/floor/plasteel/neutral/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 1;
+ heat_capacity = 1e+006
+ },
+/area/hallway/primary/aft)
+"crM" = (
+/obj/structure/sign/directions/evac{
+ dir = 4;
+ icon_state = "direction_evac";
+ pixel_x = 32;
+ pixel_y = 24;
+ tag = "icon-direction_evac (EAST)"
+ },
+/obj/structure/sign/directions/engineering{
+ dir = 1;
+ icon_state = "direction_eng";
+ pixel_x = 32;
+ pixel_y = 32;
+ tag = "icon-direction_eng (NORTH)"
+ },
+/turf/open/floor/plasteel/neutral/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 1;
+ heat_capacity = 1e+006
+ },
+/area/hallway/primary/aft)
+"crN" = (
+/obj/structure/sign/map/left/ceres{
+ pixel_y = 32
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"crO" = (
+/obj/machinery/door/airlock/glass,
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"crP" = (
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"crQ" = (
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"crR" = (
+/obj/structure/sign/directions/science{
+ dir = 8;
+ icon_state = "direction_sci";
+ pixel_x = -32;
+ pixel_y = 24;
+ tag = "icon-direction_sci (WEST)"
+ },
+/obj/structure/sign/directions/engineering{
+ dir = 1;
+ icon_state = "direction_eng";
+ pixel_x = -32;
+ pixel_y = 32;
+ tag = "icon-direction_eng (NORTH)"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"crS" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"crT" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 5
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"crU" = (
+/obj/machinery/door/firedoor,
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"crV" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"crW" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 1
+ },
+/turf/open/floor/plasteel/blue/corner{
+ tag = "icon-bluecorner (EAST)";
+ icon_state = "bluecorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"crX" = (
+/obj/machinery/light{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/camera{
+ c_tag = "Docking Asteroid Hall 1";
+ dir = 6;
+ icon_state = "camera"
+ },
+/obj/structure/extinguisher_cabinet{
+ pixel_y = 32
+ },
+/turf/open/floor/plasteel/blue/corner{
+ tag = "icon-bluecorner (EAST)";
+ icon_state = "bluecorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"crY" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/item/device/radio/intercom{
+ broadcasting = 0;
+ name = "Station Intercom (General)";
+ pixel_y = 20
+ },
+/turf/open/floor/plasteel/blue/corner{
+ tag = "icon-bluecorner (EAST)";
+ icon_state = "bluecorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"crZ" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/airalarm{
+ frequency = 1439;
+ locked = 0;
+ pixel_y = 23
+ },
+/turf/open/floor/plasteel/blue/corner{
+ tag = "icon-bluecorner (EAST)";
+ icon_state = "bluecorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"csa" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 10
+ },
+/obj/machinery/newscaster{
+ pixel_y = 32
+ },
+/turf/open/floor/plasteel/blue/corner{
+ tag = "icon-bluecorner (EAST)";
+ icon_state = "bluecorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"csb" = (
+/obj/machinery/teleport/hub,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/teleporter)
+"csc" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/effect/landmark/event_spawn,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/teleporter)
+"csd" = (
+/turf/open/floor/plasteel/red/side{
+ icon_state = "red";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint2)
+"cse" = (
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint2)
+"csf" = (
+/obj/item/device/radio/intercom{
+ broadcasting = 0;
+ name = "Station Intercom (General)";
+ pixel_x = 28;
+ pixel_y = 0
+ },
+/turf/open/floor/plasteel/red/side{
+ icon_state = "red";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint2)
+"csg" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ dir = 4;
+ on = 1;
+ scrub_N2O = 0;
+ scrub_Toxins = 0
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/vacantoffice)
+"csh" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/vacantoffice)
+"csi" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 10
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/vacantoffice)
+"csj" = (
+/obj/structure/table/wood,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/vacantoffice)
+"csk" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/item/chair,
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ icon_state = "wood-broken"
+ },
+/area/security/vacantoffice)
+"csl" = (
+/obj/machinery/light/small{
+ dir = 4
+ },
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/vacantoffice)
+"csm" = (
+/obj/machinery/light/small{
+ dir = 8
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"csn" = (
+/obj/machinery/light{
+ icon_state = "tube1";
+ dir = 8
+ },
+/turf/open/floor/plasteel/escape{
+ tag = "icon-escape (WEST)";
+ icon_state = "escape";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/exit)
+"cso" = (
+/obj/machinery/light{
+ dir = 4;
+ icon_state = "tube1"
+ },
+/turf/open/floor/mineral/titanium/yellow,
+/area/shuttle/escape)
+"csp" = (
+/obj/machinery/light{
+ icon_state = "tube1";
+ dir = 8
+ },
+/turf/open/floor/mineral/titanium,
+/area/shuttle/escape)
+"csq" = (
+/obj/structure/table,
+/obj/item/weapon/storage/firstaid/fire,
+/obj/item/weapon/storage/firstaid/regular{
+ pixel_x = 2;
+ pixel_y = 3
+ },
+/obj/item/weapon/crowbar,
+/obj/structure/extinguisher_cabinet{
+ pixel_x = 27;
+ pixel_y = 0
+ },
+/turf/open/floor/mineral/titanium,
+/area/shuttle/escape)
+"csr" = (
+/obj/structure/closet/emcloset,
+/obj/machinery/light/small,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"css" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/sign/pods{
+ pixel_x = -32
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cst" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 1;
+ on = 1
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"csu" = (
+/obj/machinery/door/firedoor,
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"csv" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"csw" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ on = 1;
+ scrub_N2O = 0;
+ scrub_Toxins = 0
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"csx" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"csy" = (
+/obj/effect/landmark/lightsout,
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"csz" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"csA" = (
+/obj/machinery/door/airlock/glass,
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"csB" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ on = 1
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"csC" = (
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"csD" = (
+/obj/effect/landmark/event_spawn,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"csE" = (
+/obj/machinery/door/firedoor,
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"csF" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 8
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"csG" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 8;
+ layer = 2.4;
+ on = 1
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"csH" = (
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"csI" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel/blue/corner{
+ tag = "icon-bluecorner (EAST)";
+ icon_state = "bluecorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"csJ" = (
+/obj/structure/table,
+/obj/item/weapon/hand_tele,
+/obj/item/device/radio/beacon,
+/obj/item/device/radio/intercom{
+ broadcasting = 0;
+ name = "Station Intercom (General)";
+ pixel_x = -28;
+ pixel_y = 0
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/teleporter)
+"csK" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ on = 1
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/teleporter)
+"csL" = (
+/obj/item/weapon/twohanded/required/kirbyplants{
+ tag = "icon-plant-21";
+ icon_state = "plant-21"
+ },
+/turf/open/floor/plasteel/red/side{
+ icon_state = "red";
+ dir = 10;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint2)
+"csM" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 4;
+ on = 1
+ },
+/obj/structure/closet/wardrobe/red,
+/turf/open/floor/plasteel/red/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint2)
+"csN" = (
+/obj/structure/table,
+/obj/item/weapon/paper_bin{
+ pixel_x = -3;
+ pixel_y = 7
+ },
+/obj/item/weapon/pen,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/red/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint2)
+"csO" = (
+/obj/structure/chair/office/light,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 10
+ },
+/turf/open/floor/plasteel/red/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint2)
+"csP" = (
+/turf/open/floor/plasteel/red/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint2)
+"csQ" = (
+/obj/structure/table,
+/obj/item/weapon/crowbar,
+/obj/item/device/radio,
+/turf/open/floor/plasteel/red/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint2)
+"csR" = (
+/obj/structure/table,
+/obj/machinery/recharger,
+/turf/open/floor/plasteel/red/side{
+ icon_state = "red";
+ dir = 6;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint2)
+"csS" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/vacantoffice)
+"csT" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/vacantoffice)
+"csU" = (
+/obj/structure/cable/orange{
+ d2 = 4;
+ icon_state = "0-4"
+ },
+/obj/machinery/power/apc{
+ dir = 2;
+ name = "Arrivals APC";
+ pixel_y = -24
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"csV" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/effect/turf_decal/stripes/asteroid/line,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"csW" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 9
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/exit)
+"csX" = (
+/obj/machinery/airalarm{
+ dir = 1;
+ icon_state = "alarm0";
+ pixel_y = -22
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/exit)
+"csY" = (
+/obj/structure/closet,
+/turf/open/floor/mineral/titanium/yellow,
+/area/shuttle/escape)
+"csZ" = (
+/obj/structure/closet/crate,
+/turf/open/floor/mineral/titanium/yellow,
+/area/shuttle/escape)
+"cta" = (
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/assembly/robotics)
+"ctb" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 5
+ },
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"ctc" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"ctd" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/machinery/button/door{
+ id = "MechbayShutters";
+ name = "Mechbay Shutters";
+ pixel_y = -24;
+ req_access_txt = "29"
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cte" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"ctf" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/purple/corner{
+ tag = "icon-purplecorner (WEST)";
+ icon_state = "purplecorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"ctg" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/machinery/door/firedoor,
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/plasteel/purple/corner{
+ tag = "icon-purplecorner (WEST)";
+ icon_state = "purplecorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cth" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/machinery/light,
+/turf/open/floor/plasteel/purple/corner{
+ tag = "icon-purplecorner (WEST)";
+ icon_state = "purplecorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cti" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/machinery/firealarm{
+ dir = 1;
+ pixel_y = -24
+ },
+/turf/open/floor/plasteel/purple/corner{
+ tag = "icon-purplecorner (WEST)";
+ icon_state = "purplecorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"ctj" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/sign/science{
+ pixel_y = -32
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/purple/corner{
+ tag = "icon-purplecorner (WEST)";
+ icon_state = "purplecorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"ctk" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 1
+ },
+/turf/open/floor/plasteel/purple/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"ctl" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel/purple/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"ctm" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,
+/turf/open/floor/plasteel/purple/corner{
+ tag = "icon-purplecorner (WEST)";
+ icon_state = "purplecorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"ctn" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/sign/science{
+ pixel_y = -32
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cto" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/extinguisher_cabinet{
+ pixel_y = -32
+ },
+/turf/open/floor/plasteel/purple/corner{
+ tag = "icon-purplecorner (WEST)";
+ icon_state = "purplecorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"ctp" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/machinery/light,
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"ctq" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"ctr" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cts" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/machinery/firealarm{
+ dir = 1;
+ pixel_y = -24
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"ctt" = (
+/obj/machinery/light,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"ctu" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 9
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"ctv" = (
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"ctw" = (
+/obj/machinery/door/firedoor,
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"ctx" = (
+/obj/machinery/firealarm{
+ dir = 1;
+ pixel_y = -24
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cty" = (
+/obj/machinery/light,
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"ctz" = (
+/obj/machinery/door/airlock/glass,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"ctA" = (
+/obj/structure/window/reinforced,
+/obj/machinery/camera{
+ c_tag = "Research-Docking Bridge 1";
+ dir = 1;
+ icon_state = "camera";
+ network = list("SS13")
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/space)
+"ctB" = (
+/obj/structure/window/reinforced,
+/obj/machinery/camera{
+ c_tag = "Research-Docking Bridge 2";
+ dir = 1;
+ icon_state = "camera";
+ network = list("SS13")
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/space)
+"ctC" = (
+/obj/structure/window/reinforced,
+/obj/machinery/camera{
+ c_tag = "Research-Docking Bridge 3";
+ dir = 1;
+ icon_state = "camera";
+ network = list("SS13")
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/space)
+"ctD" = (
+/obj/machinery/door/airlock/glass,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"ctE" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 5
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"ctF" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"ctG" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"ctH" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/machinery/firealarm{
+ dir = 1;
+ pixel_y = -24
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"ctI" = (
+/obj/machinery/door/firedoor,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"ctJ" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"ctK" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 10
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"ctL" = (
+/obj/machinery/status_display{
+ density = 0;
+ layer = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/teleporter)
+"ctM" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/teleporter)
+"ctN" = (
+/obj/machinery/door/airlock/command{
+ name = "Teleport Access";
+ req_access_txt = "17"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/teleporter)
+"ctO" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint2)
+"ctP" = (
+/obj/structure/table/reinforced,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/door/window/brigdoor/northright{
+ name = "Arrival Security Checkpoint";
+ req_access_txt = "1"
+ },
+/turf/open/floor/plasteel/red{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint2)
+"ctQ" = (
+/obj/machinery/light{
+ icon_state = "tube1";
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"ctR" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/machinery/door/airlock{
+ name = "Vacant Office";
+ req_access_txt = "12"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/vacantoffice)
+"ctS" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/vacantoffice)
+"ctT" = (
+/obj/machinery/status_display{
+ density = 0;
+ layer = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/vacantoffice)
+"ctU" = (
+/obj/machinery/disposal/bin,
+/obj/structure/disposalpipe/trunk,
+/obj/machinery/camera{
+ c_tag = "Docking Asteroid Hall 5";
+ dir = 6;
+ icon_state = "camera"
+ },
+/obj/structure/sign/map/left/ceres{
+ pixel_y = 32
+ },
+/turf/open/floor/plasteel/escape/corner{
+ tag = "icon-escapecorner (NORTH)";
+ icon_state = "escapecorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/exit)
+"ctV" = (
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/structure/shuttle/engine/heater,
+/turf/open/floor/plating/airless,
+/area/shuttle/escape)
+"ctW" = (
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/mixing)
+"ctX" = (
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/assembly/robotics)
+"ctY" = (
+/obj/machinery/mecha_part_fabricator,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/assembly/robotics)
+"ctZ" = (
+/obj/machinery/door/poddoor/shutters{
+ id = "MechbayShutters"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/assembly/robotics)
+"cua" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/obj/machinery/door/poddoor/shutters/preopen{
+ id = "RoboticsShutters"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/assembly/robotics)
+"cub" = (
+/obj/structure/table/reinforced,
+/obj/machinery/door/firedoor,
+/obj/machinery/door/poddoor/shutters/preopen{
+ id = "RoboticsShutters"
+ },
+/obj/machinery/door/window/northright{
+ name = "Robotics Desk";
+ req_access_txt = "29"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/assembly/robotics)
+"cuc" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/research{
+ name = "Research Division"
+ })
+"cud" = (
+/obj/machinery/door/airlock/research{
+ cyclelinkeddir = 2;
+ name = "Research Division Access";
+ req_access_txt = "47"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/whitepurple{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/research{
+ name = "Research Division"
+ })
+"cue" = (
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/research{
+ name = "Research Division"
+ })
+"cuf" = (
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/lab)
+"cug" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/obj/machinery/door/poddoor/shutters/preopen{
+ id = "RnDShutters"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/lab)
+"cuh" = (
+/obj/structure/table/reinforced,
+/obj/machinery/door/firedoor,
+/obj/machinery/door/poddoor/shutters/preopen{
+ id = "RnDShutters"
+ },
+/obj/machinery/door/window/northleft{
+ name = "Research Desk";
+ req_access_txt = "47"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/purple{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/lab)
+"cui" = (
+/obj/structure/table/reinforced,
+/obj/machinery/door/firedoor,
+/obj/machinery/door/poddoor/shutters/preopen{
+ id = "RnDShutters"
+ },
+/obj/machinery/door/window/northright{
+ name = "Research Desk";
+ req_access_txt = "47"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/purple{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/lab)
+"cuj" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "Science SMES Access";
+ req_access_txt = "10;11;12"
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cuk" = (
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/structure/lattice/catwalk,
+/obj/structure/girder,
+/obj/structure/grille,
+/turf/open/space,
+/area/space)
+"cul" = (
+/obj/machinery/status_display{
+ density = 0;
+ layer = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cum" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cun" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cuo" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 5
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cup" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/sign/map/left/ceres{
+ pixel_y = 32
+ },
+/turf/open/floor/plasteel/arrival/corner{
+ tag = "icon-arrivalcorner (NORTH)";
+ icon_state = "arrivalcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cuq" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/arrival/corner{
+ tag = "icon-arrivalcorner (NORTH)";
+ icon_state = "arrivalcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cur" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/camera{
+ c_tag = "Docking Asteroid Hall 2";
+ dir = 6;
+ icon_state = "camera"
+ },
+/turf/open/floor/plasteel/arrival/corner{
+ tag = "icon-arrivalcorner (NORTH)";
+ icon_state = "arrivalcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cus" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/arrival/corner{
+ tag = "icon-arrivalcorner (NORTH)";
+ icon_state = "arrivalcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cut" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden,
+/turf/open/floor/plasteel/arrival/corner{
+ tag = "icon-arrivalcorner (NORTH)";
+ icon_state = "arrivalcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cuu" = (
+/obj/machinery/light{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/arrival/corner{
+ tag = "icon-arrivalcorner (NORTH)";
+ icon_state = "arrivalcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cuv" = (
+/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden,
+/turf/open/floor/plasteel/arrival/corner{
+ tag = "icon-arrivalcorner (NORTH)";
+ icon_state = "arrivalcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cuw" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 1
+ },
+/turf/open/floor/plasteel/arrival/corner{
+ tag = "icon-arrivalcorner (NORTH)";
+ icon_state = "arrivalcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cux" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/camera{
+ c_tag = "Docking Asteroid Hall 3";
+ dir = 6;
+ icon_state = "camera"
+ },
+/obj/item/device/radio/intercom{
+ broadcasting = 0;
+ name = "Station Intercom (General)";
+ pixel_y = 20
+ },
+/turf/open/floor/plasteel/arrival/corner{
+ tag = "icon-arrivalcorner (NORTH)";
+ icon_state = "arrivalcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cuy" = (
+/obj/machinery/door/firedoor,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/turf/open/floor/plasteel/blue/corner{
+ tag = "icon-bluecorner (NORTH)";
+ icon_state = "bluecorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cuz" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/junction{
+ icon_state = "pipe-j1";
+ dir = 1
+ },
+/obj/structure/sign/directions/science{
+ dir = 8;
+ icon_state = "direction_sci";
+ pixel_x = -32;
+ pixel_y = 24;
+ tag = "icon-direction_sci (WEST)"
+ },
+/obj/structure/sign/directions/medical{
+ dir = 1;
+ icon_state = "direction_med";
+ pixel_x = -32;
+ pixel_y = 32;
+ tag = "icon-direction_med (NORTH)"
+ },
+/obj/structure/sign/directions/supply{
+ dir = 1;
+ icon_state = "direction_supply";
+ pixel_x = -32;
+ pixel_y = 40;
+ tag = "icon-direction_supply (NORTH)"
+ },
+/turf/open/floor/plasteel/blue/corner{
+ tag = "icon-bluecorner (NORTH)";
+ icon_state = "bluecorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cuA" = (
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cuB" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 8
+ },
+/obj/structure/sign/directions/evac{
+ dir = 4;
+ icon_state = "direction_evac";
+ pixel_x = 32;
+ pixel_y = 24;
+ tag = "icon-direction_evac (EAST)"
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel/red/corner{
+ tag = "icon-redcorner (EAST)";
+ icon_state = "redcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cuC" = (
+/obj/machinery/door/firedoor,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/turf/open/floor/plasteel/red/corner{
+ tag = "icon-redcorner (EAST)";
+ icon_state = "redcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cuD" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/sign/map/left/ceres{
+ pixel_y = 32
+ },
+/turf/open/floor/plasteel/red/corner{
+ tag = "icon-redcorner (EAST)";
+ icon_state = "redcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cuE" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 1
+ },
+/turf/open/floor/plasteel/red/corner{
+ tag = "icon-redcorner (EAST)";
+ icon_state = "redcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cuF" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/red/corner{
+ tag = "icon-redcorner (EAST)";
+ icon_state = "redcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cuG" = (
+/obj/machinery/light{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/red/corner{
+ tag = "icon-redcorner (EAST)";
+ icon_state = "redcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cuH" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,
+/turf/open/floor/plasteel/red/corner{
+ tag = "icon-redcorner (EAST)";
+ icon_state = "redcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cuI" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/machinery/camera{
+ c_tag = "Docking Asteroid Hall 4";
+ dir = 6;
+ icon_state = "camera"
+ },
+/turf/open/floor/plasteel/red/corner{
+ tag = "icon-redcorner (EAST)";
+ icon_state = "redcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cuJ" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel/red/corner{
+ tag = "icon-redcorner (EAST)";
+ icon_state = "redcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cuK" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/item/device/radio/intercom{
+ broadcasting = 0;
+ name = "Station Intercom (General)";
+ pixel_y = 20
+ },
+/turf/open/floor/plasteel/red/corner{
+ tag = "icon-redcorner (EAST)";
+ icon_state = "redcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cuL" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cuM" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cuN" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cuO" = (
+/obj/structure/shuttle/engine/propulsion,
+/turf/open/floor/plating/airless,
+/area/shuttle/escape)
+"cuP" = (
+/turf/open/space,
+/area/mine/unexplored{
+ name = "Research Asteroid"
+ })
+"cuQ" = (
+/obj/machinery/door/poddoor{
+ id = "mixvent";
+ name = "Mixer Room Vent"
+ },
+/turf/open/floor/engine/vacuum{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/mixing)
+"cuR" = (
+/obj/structure/sign/vacuum{
+ pixel_y = 32
+ },
+/turf/open/floor/engine/vacuum{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/mixing)
+"cuS" = (
+/obj/machinery/sparker{
+ dir = 2;
+ id = "mixingsparker";
+ pixel_x = 25
+ },
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 4;
+ external_pressure_bound = 0;
+ initialize_directions = 1;
+ internal_pressure_bound = 4000;
+ on = 1;
+ pressure_checks = 2;
+ pump_direction = 0
+ },
+/turf/open/floor/engine/vacuum{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/mixing)
+"cuT" = (
+/obj/machinery/atmospherics/pipe/simple/general/visible{
+ dir = 4
+ },
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/mixing)
+"cuU" = (
+/obj/machinery/airlock_sensor{
+ id_tag = "tox_airlock_sensor";
+ master_tag = "tox_airlock_control";
+ pixel_y = 24
+ },
+/obj/machinery/atmospherics/components/binary/pump{
+ dir = 4;
+ on = 1
+ },
+/turf/open/floor/engine{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ name = "reinforced floor"
+ },
+/area/toxins/mixing)
+"cuV" = (
+/obj/machinery/atmospherics/pipe/simple/general/visible{
+ dir = 4
+ },
+/obj/machinery/meter,
+/obj/machinery/embedded_controller/radio/airlock_controller{
+ airpump_tag = "tox_airlock_pump";
+ exterior_door_tag = "tox_airlock_exterior";
+ id_tag = "tox_airlock_control";
+ interior_door_tag = "tox_airlock_interior";
+ pixel_x = -24;
+ pixel_y = 0;
+ sanitize_external = 1;
+ sensor_tag = "tox_airlock_sensor"
+ },
+/turf/open/floor/plasteel/whitepurple/side{
+ tag = "icon-whitepurple (WEST)";
+ icon_state = "whitepurple";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/mixing)
+"cuW" = (
+/obj/machinery/atmospherics/components/binary/valve{
+ dir = 4;
+ name = "mix to port"
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/mixing)
+"cuX" = (
+/obj/machinery/atmospherics/components/unary/portables_connector/visible{
+ dir = 8
+ },
+/turf/open/floor/plasteel/whitepurple/side{
+ tag = "icon-whitepurple (EAST)";
+ icon_state = "whitepurple";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/mixing)
+"cuY" = (
+/obj/machinery/recharge_station,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/assembly/robotics)
+"cuZ" = (
+/obj/item/device/radio/intercom{
+ broadcasting = 0;
+ name = "Station Intercom (General)";
+ pixel_y = 20
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/assembly/robotics)
+"cva" = (
+/obj/effect/turf_decal/bot,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/assembly/robotics)
+"cvb" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/machinery/disposal/bin,
+/obj/structure/disposalpipe/trunk,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/assembly/robotics)
+"cvc" = (
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/assembly/robotics)
+"cvd" = (
+/obj/machinery/button/door{
+ id = "MechbayShutters";
+ name = "Mechbay Shutters";
+ pixel_y = 24;
+ req_access_txt = "29"
+ },
+/obj/structure/rack,
+/obj/item/weapon/storage/belt/utility/full,
+/obj/item/weapon/storage/belt/utility/full,
+/obj/item/clothing/glasses/welding,
+/obj/item/clothing/head/welding,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/assembly/robotics)
+"cve" = (
+/obj/machinery/r_n_d/circuit_imprinter,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/assembly/robotics)
+"cvf" = (
+/obj/structure/chair/office/dark{
+ dir = 1
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/effect/landmark/start/roboticist,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/assembly/robotics)
+"cvg" = (
+/obj/machinery/button/door{
+ id = "RoboticsShutters";
+ name = "Robotics Privacy Shutters";
+ pixel_y = 24;
+ req_access_txt = "29"
+ },
+/obj/machinery/camera{
+ c_tag = "Robotics";
+ network = list("SS13","RD")
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/assembly/robotics)
+"cvh" = (
+/obj/machinery/requests_console{
+ department = "Robotics";
+ departmentType = 2;
+ name = "Robotics RC";
+ pixel_y = 30
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/assembly/robotics)
+"cvi" = (
+/obj/machinery/airalarm{
+ frequency = 1439;
+ locked = 0;
+ pixel_y = 23
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/assembly/robotics)
+"cvj" = (
+/obj/structure/table/optable,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/assembly/robotics)
+"cvk" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 8
+ },
+/obj/machinery/camera{
+ c_tag = "Research Airlock"
+ },
+/obj/structure/window/reinforced{
+ dir = 4
+ },
+/obj/machinery/shower{
+ pixel_y = 24
+ },
+/obj/structure/curtain,
+/turf/open/floor/plasteel/freezer{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/research{
+ name = "Research Division"
+ })
+"cvl" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/research{
+ name = "Research Division"
+ })
+"cvm" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ dir = 8;
+ on = 1;
+ scrub_Toxins = 0
+ },
+/obj/structure/closet/firecloset/full,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/research{
+ name = "Research Division"
+ })
+"cvn" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ dir = 4;
+ on = 1;
+ scrub_N2O = 0;
+ scrub_Toxins = 0
+ },
+/obj/machinery/camera{
+ c_tag = "Research and Development";
+ network = list("SS13","RD")
+ },
+/turf/open/floor/plasteel/whitepurple/side{
+ tag = "icon-whitepurple (NORTH)";
+ icon_state = "whitepurple";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/lab)
+"cvo" = (
+/obj/machinery/button/door{
+ id = "RnDShutters";
+ name = "Research Privacy Shutters";
+ pixel_y = 24;
+ req_access_txt = "47"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/whitepurple/side{
+ tag = "icon-whitepurple (NORTH)";
+ icon_state = "whitepurple";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/lab)
+"cvp" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/whitepurple/side{
+ tag = "icon-whitepurple (NORTH)";
+ icon_state = "whitepurple";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/lab)
+"cvq" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 10
+ },
+/turf/open/floor/plasteel/whitepurple/side{
+ tag = "icon-whitepurple (NORTH)";
+ icon_state = "whitepurple";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/lab)
+"cvr" = (
+/turf/open/floor/plasteel/whitepurple/side{
+ tag = "icon-whitepurple (NORTH)";
+ icon_state = "whitepurple";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/lab)
+"cvs" = (
+/obj/structure/chair/office/light{
+ dir = 1
+ },
+/turf/open/floor/plasteel/whitepurple/side{
+ tag = "icon-whitepurple (NORTH)";
+ icon_state = "whitepurple";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/lab)
+"cvt" = (
+/obj/structure/table,
+/obj/item/stack/sheet/glass/fifty,
+/obj/item/stack/sheet/metal/fifty,
+/obj/item/clothing/glasses/welding,
+/obj/machinery/airalarm{
+ frequency = 1439;
+ locked = 0;
+ pixel_y = 23
+ },
+/turf/open/floor/plasteel/whitepurple/side{
+ tag = "icon-whitepurple (NORTH)";
+ icon_state = "whitepurple";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/lab)
+"cvu" = (
+/obj/structure/table,
+/obj/machinery/cell_charger,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cvv" = (
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cvw" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/machinery/camera{
+ c_tag = "Science SMES";
+ dir = 8;
+ icon_state = "camera";
+ network = list("SS13","QM");
+ tag = "icon-camera (WEST)"
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cvx" = (
+/obj/machinery/power/apc{
+ dir = 8;
+ name = "Aft Asteroid Maintenance APC";
+ pixel_x = -25;
+ pixel_y = 1
+ },
+/obj/structure/cable/orange{
+ d2 = 2;
+ icon_state = "0-2"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cvy" = (
+/obj/effect/turf_decal/stripes/asteroid/line{
+ icon_state = "ast_warn";
+ dir = 1
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cvz" = (
+/obj/structure/rack,
+/obj/item/weapon/storage/bag/ore,
+/obj/item/weapon/pickaxe/emergency,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cvA" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cvB" = (
+/obj/effect/landmark/lightsout,
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cvC" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 1;
+ on = 1
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cvD" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cvE" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cvF" = (
+/obj/machinery/door/firedoor,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cvG" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 5
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cvH" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 1;
+ icon_state = "pipe-c"
+ },
+/obj/machinery/navbeacon{
+ codes_txt = "patrol;next_patrol=Medbay";
+ location = "ArrivalsMiddle";
+ name = "navigation beacon (Arrivals-Middle)"
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cvI" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cvJ" = (
+/obj/machinery/door/firedoor,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cvK" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 1
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cvL" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cvM" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 10
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cvN" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ dir = 1;
+ on = 1;
+ scrub_N2O = 0;
+ scrub_Toxins = 0
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cvO" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ on = 1
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cvP" = (
+/obj/machinery/door/firedoor,
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/machinery/door/airlock/glass,
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cvQ" = (
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cvR" = (
+/turf/open/floor/engine/vacuum{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/mixing)
+"cvS" = (
+/obj/machinery/door/airlock/glass_research{
+ autoclose = 0;
+ frequency = 1449;
+ glass = 1;
+ heat_proof = 1;
+ icon_state = "door_locked";
+ id_tag = "tox_airlock_exterior";
+ locked = 1;
+ name = "Mixing Room Exterior Airlock";
+ req_access_txt = "8"
+ },
+/turf/open/floor/engine{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ name = "reinforced floor"
+ },
+/area/toxins/mixing)
+"cvT" = (
+/turf/open/floor/engine{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ name = "reinforced floor"
+ },
+/area/toxins/mixing)
+"cvU" = (
+/obj/machinery/door/airlock/glass_research{
+ autoclose = 0;
+ frequency = 1449;
+ glass = 1;
+ heat_proof = 1;
+ icon_state = "door_locked";
+ id_tag = "tox_airlock_interior";
+ locked = 1;
+ name = "Mixing Room Interior Airlock";
+ req_access_txt = "8"
+ },
+/turf/open/floor/engine{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ name = "reinforced floor"
+ },
+/area/toxins/mixing)
+"cvV" = (
+/turf/open/floor/plasteel/whitepurple/side{
+ tag = "icon-whitepurple (WEST)";
+ icon_state = "whitepurple";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/mixing)
+"cvW" = (
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/mixing)
+"cvX" = (
+/obj/structure/extinguisher_cabinet{
+ pixel_x = 27;
+ pixel_y = 0
+ },
+/obj/machinery/light{
+ dir = 4;
+ icon_state = "tube1"
+ },
+/turf/open/floor/plasteel/whitepurple/side{
+ tag = "icon-whitepurple (EAST)";
+ icon_state = "whitepurple";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/mixing)
+"cvY" = (
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/assembly/robotics)
+"cvZ" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/assembly/robotics)
+"cwa" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 2;
+ on = 1
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/assembly/robotics)
+"cwb" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/assembly/robotics)
+"cwc" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 6
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/assembly/robotics)
+"cwd" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/assembly/robotics)
+"cwe" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ dir = 8;
+ on = 1;
+ scrub_Toxins = 0
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/assembly/robotics)
+"cwf" = (
+/obj/machinery/computer/operating,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/assembly/robotics)
+"cwg" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/research{
+ name = "Research Division"
+ })
+"cwh" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/research{
+ name = "Research Division"
+ })
+"cwi" = (
+/obj/machinery/light/small{
+ dir = 4
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/research{
+ name = "Research Division"
+ })
+"cwj" = (
+/obj/machinery/r_n_d/destructive_analyzer,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/lab)
+"cwk" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/lab)
+"cwl" = (
+/obj/machinery/r_n_d/protolathe,
+/obj/effect/turf_decal/stripes/line{
+ dir = 5
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/lab)
+"cwm" = (
+/obj/item/weapon/folder/white,
+/obj/item/weapon/disk/tech_disk{
+ pixel_x = 0;
+ pixel_y = 0
+ },
+/obj/item/weapon/disk/tech_disk{
+ pixel_x = 0;
+ pixel_y = 0
+ },
+/obj/item/weapon/disk/design_disk,
+/obj/item/weapon/disk/design_disk,
+/obj/structure/table/glass,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/lab)
+"cwn" = (
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/lab)
+"cwo" = (
+/obj/item/weapon/reagent_containers/glass/beaker/large{
+ pixel_x = -3;
+ pixel_y = 3
+ },
+/obj/item/weapon/reagent_containers/glass/beaker{
+ pixel_x = 8;
+ pixel_y = 2
+ },
+/obj/item/weapon/reagent_containers/dropper,
+/obj/structure/table,
+/obj/machinery/newscaster{
+ pixel_x = 28;
+ pixel_y = 4
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/lab)
+"cwp" = (
+/obj/structure/closet/toolcloset,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cwq" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cwr" = (
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cws" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "Science SMES Access";
+ req_access_txt = "10;11;12"
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cwt" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/effect/turf_decal/stripes/asteroid/line{
+ icon_state = "ast_warn";
+ dir = 8
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cwu" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 8
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cwv" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/arrival{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cww" = (
+/obj/machinery/light,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/arrival{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cwx" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,
+/turf/open/floor/plasteel/arrival{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cwy" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/machinery/firealarm{
+ dir = 1;
+ pixel_y = -24
+ },
+/turf/open/floor/plasteel/arrival{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cwz" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 1
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cwA" = (
+/obj/machinery/door/firedoor,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/turf/open/floor/plasteel/arrival{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cwB" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 9
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/turf/open/floor/plasteel/arrival{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cwC" = (
+/obj/machinery/door/firedoor,
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/turf/open/floor/plasteel/arrival{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cwD" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cwE" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cwF" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 5
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 1;
+ icon_state = "pipe-c"
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/firealarm{
+ dir = 1;
+ pixel_y = -24
+ },
+/turf/open/floor/plasteel/arrival{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cwG" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel/arrival{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cwH" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel/arrival{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cwI" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/airalarm{
+ dir = 1;
+ icon_state = "alarm0";
+ pixel_y = -22
+ },
+/turf/open/floor/plasteel/arrival{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cwJ" = (
+/obj/machinery/door/firedoor,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/machinery/door/airlock/glass,
+/turf/open/floor/plasteel/arrival{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cwK" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/junction{
+ icon_state = "pipe-j1";
+ dir = 8
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel/arrival{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cwL" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 1
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
+ },
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cwM" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cwN" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 9
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cwO" = (
+/obj/machinery/sparker{
+ dir = 2;
+ id = "mixingsparker";
+ pixel_x = 25
+ },
+/obj/machinery/atmospherics/components/unary/outlet_injector/on{
+ dir = 4;
+ frequency = 1441;
+ id = "air_in"
+ },
+/turf/open/floor/engine/vacuum{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/mixing)
+"cwP" = (
+/obj/structure/sign/fire{
+ pixel_y = -32
+ },
+/obj/machinery/atmospherics/components/binary/pump{
+ dir = 8;
+ on = 1
+ },
+/turf/open/floor/engine{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ name = "reinforced floor"
+ },
+/area/toxins/mixing)
+"cwQ" = (
+/obj/machinery/atmospherics/pipe/simple/general/visible{
+ dir = 4
+ },
+/obj/machinery/meter,
+/obj/machinery/button/door{
+ id = "mixvent";
+ name = "Mixing Room Vent Control";
+ pixel_x = -25;
+ pixel_y = 5;
+ req_access_txt = "7"
+ },
+/obj/machinery/button/ignition{
+ id = "mixingsparker";
+ pixel_x = -25;
+ pixel_y = -5
+ },
+/turf/open/floor/plasteel/whitepurple/side{
+ tag = "icon-whitepurple (WEST)";
+ icon_state = "whitepurple";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/mixing)
+"cwR" = (
+/obj/machinery/atmospherics/components/binary/valve{
+ dir = 4;
+ name = "port to mix"
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/mixing)
+"cwS" = (
+/obj/machinery/mech_bay_recharge_port,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/assembly/robotics)
+"cwT" = (
+/turf/open/floor/mech_bay_recharge_floor,
+/area/assembly/robotics)
+"cwU" = (
+/obj/machinery/computer/mech_bay_power_console,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/assembly/robotics)
+"cwV" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 1;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/assembly/robotics)
+"cwW" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/assembly/robotics)
+"cwX" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/landmark/event_spawn,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/assembly/robotics)
+"cwY" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/assembly/robotics)
+"cwZ" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/corner{
+ dir = 8
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/assembly/robotics)
+"cxa" = (
+/obj/structure/rack,
+/obj/item/stack/sheet/metal/fifty,
+/obj/item/stack/sheet/metal/fifty,
+/obj/item/stack/sheet/glass/fifty,
+/obj/item/stack/sheet/metal/fifty,
+/obj/item/stack/sheet/glass/fifty,
+/obj/item/stack/sheet/plasteel/twenty,
+/obj/item/stack/sheet/metal/fifty,
+/obj/item/stack/sheet/metal/fifty,
+/obj/item/stack/sheet/metal/fifty,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/effect/turf_decal/stripes/line{
+ dir = 5
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/assembly/robotics)
+"cxb" = (
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/assembly/robotics)
+"cxc" = (
+/obj/structure/table,
+/obj/item/device/mmi,
+/obj/item/device/mmi,
+/obj/item/device/mmi,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/assembly/robotics)
+"cxd" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/closet/l3closet/scientist,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/research{
+ name = "Research Division"
+ })
+"cxe" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 8
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/research{
+ name = "Research Division"
+ })
+"cxf" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 8;
+ layer = 2.4;
+ on = 1
+ },
+/obj/structure/closet/firecloset/full,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/research{
+ name = "Research Division"
+ })
+"cxg" = (
+/obj/machinery/light{
+ icon_state = "tube1";
+ dir = 8
+ },
+/obj/machinery/requests_console{
+ department = "Science";
+ departmentType = 2;
+ name = "Science Requests Console";
+ pixel_x = -30;
+ pixel_y = 0
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/lab)
+"cxh" = (
+/obj/structure/chair/office/light{
+ dir = 8
+ },
+/obj/effect/landmark/start/scientist,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/lab)
+"cxi" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/lab)
+"cxj" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/lab)
+"cxk" = (
+/obj/effect/landmark/event_spawn,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/lab)
+"cxl" = (
+/obj/item/weapon/stock_parts/manipulator,
+/obj/item/weapon/stock_parts/capacitor,
+/obj/item/weapon/stock_parts/capacitor,
+/obj/item/weapon/stock_parts/manipulator,
+/obj/item/weapon/stock_parts/micro_laser,
+/obj/item/weapon/stock_parts/micro_laser,
+/obj/item/stack/cable_coil{
+ pixel_x = 3;
+ pixel_y = 3
+ },
+/obj/item/stack/cable_coil,
+/obj/structure/table,
+/obj/machinery/light{
+ dir = 4;
+ icon_state = "tube1"
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/lab)
+"cxm" = (
+/obj/machinery/computer/station_alert,
+/obj/structure/cable/orange{
+ d2 = 2;
+ icon_state = "0-2"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cxn" = (
+/obj/machinery/power/apc{
+ dir = 4;
+ name = "Aft Asteroid Hallway APC";
+ pixel_x = 24;
+ pixel_y = 0
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/cable/orange{
+ d2 = 2;
+ icon_state = "0-2"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cxo" = (
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/xenobiology)
+"cxp" = (
+/obj/machinery/door/firedoor,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cxq" = (
+/obj/machinery/door/firedoor,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cxr" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cxs" = (
+/obj/machinery/door/firedoor,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cxt" = (
+/obj/machinery/door/firedoor,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/structure/disposalpipe/segment,
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cxu" = (
+/obj/machinery/status_display{
+ density = 0;
+ layer = 4
+ },
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/mixing)
+"cxv" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ dir = 4;
+ on = 1;
+ scrub_N2O = 0;
+ scrub_Toxins = 0
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/mixing)
+"cxw" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 10
+ },
+/obj/item/device/radio/intercom{
+ broadcasting = 0;
+ name = "Station Intercom (General)";
+ pixel_x = 28;
+ pixel_y = 0
+ },
+/turf/open/floor/plasteel/whitepurple/side{
+ tag = "icon-whitepurple (EAST)";
+ icon_state = "whitepurple";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/mixing)
+"cxx" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/assembly/robotics)
+"cxy" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/assembly/robotics)
+"cxz" = (
+/obj/structure/chair/office/dark,
+/obj/effect/landmark/start/roboticist,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/assembly/robotics)
+"cxA" = (
+/obj/effect/landmark/start/roboticist,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/assembly/robotics)
+"cxB" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/assembly/robotics)
+"cxC" = (
+/obj/structure/table,
+/obj/structure/window/reinforced,
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/obj/item/weapon/retractor,
+/obj/item/weapon/hemostat,
+/obj/item/weapon/circular_saw,
+/obj/item/weapon/scalpel,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/assembly/robotics)
+"cxD" = (
+/obj/structure/window/reinforced,
+/obj/structure/table,
+/obj/item/device/assembly/flash/handheld,
+/obj/item/device/assembly/flash/handheld,
+/obj/item/device/assembly/flash/handheld,
+/obj/item/device/assembly/flash/handheld,
+/obj/item/device/assembly/flash/handheld,
+/obj/item/device/assembly/flash/handheld,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/assembly/robotics)
+"cxE" = (
+/obj/structure/table,
+/obj/structure/window/reinforced,
+/obj/item/weapon/surgical_drapes,
+/obj/item/clothing/gloves/color/latex,
+/obj/item/weapon/storage/box/bodybags,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/assembly/robotics)
+"cxF" = (
+/obj/machinery/door/airlock/research{
+ cyclelinkeddir = 1;
+ name = "Research Division Access";
+ req_access_txt = "47"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel/whitepurple{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/research{
+ name = "Research Division"
+ })
+"cxG" = (
+/obj/machinery/computer/rdconsole/core,
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/lab)
+"cxH" = (
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/lab)
+"cxI" = (
+/obj/machinery/r_n_d/circuit_imprinter,
+/obj/item/weapon/reagent_containers/glass/beaker/sulphuric,
+/obj/effect/turf_decal/stripes/line{
+ dir = 6
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/lab)
+"cxJ" = (
+/obj/structure/table/glass,
+/obj/machinery/cell_charger,
+/obj/item/weapon/stock_parts/cell/high,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/lab)
+"cxK" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 6
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/lab)
+"cxL" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 8;
+ layer = 2.4;
+ on = 1
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/lab)
+"cxM" = (
+/obj/item/weapon/stock_parts/console_screen,
+/obj/item/weapon/stock_parts/console_screen,
+/obj/item/weapon/stock_parts/console_screen,
+/obj/item/weapon/stock_parts/matter_bin,
+/obj/item/weapon/stock_parts/matter_bin,
+/obj/item/weapon/stock_parts/scanning_module{
+ pixel_x = 2;
+ pixel_y = 3
+ },
+/obj/item/weapon/stock_parts/scanning_module,
+/obj/structure/cable{
+ d2 = 8;
+ icon_state = "0-8"
+ },
+/obj/structure/table,
+/obj/structure/sign/poster/random{
+ name = "random official poster";
+ pixel_x = 32;
+ random_basetype = /obj/structure/sign/poster/official
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/lab)
+"cxN" = (
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/obj/structure/chair/stool,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cxO" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cxP" = (
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/light/small{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cxQ" = (
+/turf/open/floor/plasteel/darkpurple/side{
+ tag = "icon-darkpurple (NORTH)";
+ icon_state = "darkpurple";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/xenobiology)
+"cxR" = (
+/obj/machinery/light/small{
+ dir = 1
+ },
+/turf/open/floor/plasteel/darkpurple/side{
+ tag = "icon-darkpurple (NORTH)";
+ icon_state = "darkpurple";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/xenobiology)
+"cxS" = (
+/obj/structure/disposalpipe/trunk,
+/obj/structure/disposaloutlet{
+ dir = 8
+ },
+/turf/open/floor/plasteel/darkpurple/side{
+ tag = "icon-darkpurple (NORTH)";
+ icon_state = "darkpurple";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/xenobiology)
+"cxT" = (
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cxU" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cxV" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cxW" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cxX" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/structure/disposalpipe/segment,
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cxY" = (
+/obj/machinery/atmospherics/components/unary/portables_connector/visible{
+ dir = 4
+ },
+/obj/machinery/portable_atmospherics/canister,
+/turf/open/floor/plasteel/whitepurple/side{
+ tag = "icon-whitepurple (NORTHWEST)";
+ icon_state = "whitepurple";
+ dir = 9;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/mixing)
+"cxZ" = (
+/obj/machinery/atmospherics/pipe/simple/general/visible{
+ dir = 10;
+ pixel_x = 0;
+ initialize_directions = 10
+ },
+/turf/open/floor/plasteel/whitepurple/side{
+ tag = "icon-whitepurple (NORTH)";
+ icon_state = "whitepurple";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/mixing)
+"cya" = (
+/obj/machinery/disposal/bin,
+/obj/structure/disposalpipe/trunk,
+/turf/open/floor/plasteel/whitepurple/side{
+ tag = "icon-whitepurple (NORTH)";
+ icon_state = "whitepurple";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/mixing)
+"cyb" = (
+/turf/open/floor/plasteel/whitepurple/corner{
+ tag = "icon-whitepurplecorner (NORTH)";
+ icon_state = "whitepurplecorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/mixing)
+"cyc" = (
+/obj/effect/landmark/start/scientist,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/mixing)
+"cyd" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/machinery/camera{
+ c_tag = "Toxins Mixing";
+ dir = 9;
+ icon_state = "camera";
+ network = list("SS13","RD");
+ tag = "icon-camera (NORTHWEST)"
+ },
+/turf/open/floor/plasteel/whitepurple/side{
+ tag = "icon-whitepurple (EAST)";
+ icon_state = "whitepurple";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/mixing)
+"cye" = (
+/obj/machinery/computer/mech_bay_power_console,
+/obj/machinery/camera{
+ c_tag = "Robotics 2";
+ dir = 1;
+ network = list("SS13","RD")
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/assembly/robotics)
+"cyf" = (
+/obj/machinery/light,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/assembly/robotics)
+"cyg" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/structure/table,
+/obj/item/weapon/storage/firstaid{
+ name = "first-aid kit (empty)"
+ },
+/obj/item/weapon/storage/firstaid{
+ name = "first-aid kit (empty)"
+ },
+/obj/item/weapon/reagent_containers/glass/bucket,
+/obj/item/weapon/reagent_containers/glass/bucket,
+/obj/item/device/assembly/prox_sensor,
+/obj/item/device/assembly/prox_sensor,
+/obj/item/device/assembly/prox_sensor,
+/obj/item/device/assembly/prox_sensor,
+/obj/item/device/assembly/prox_sensor,
+/obj/item/device/assembly/prox_sensor,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/assembly/robotics)
+"cyh" = (
+/obj/machinery/computer/rdconsole/robotics,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/assembly/robotics)
+"cyi" = (
+/obj/structure/table,
+/obj/machinery/cell_charger,
+/obj/item/weapon/stock_parts/cell/high,
+/obj/item/weapon/stock_parts/cell/high,
+/obj/item/weapon/stock_parts/cell/high,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/assembly/robotics)
+"cyj" = (
+/obj/structure/table,
+/obj/item/weapon/storage/toolbox/mechanical,
+/obj/item/weapon/storage/toolbox/electrical{
+ pixel_x = -4;
+ pixel_x = 1;
+ pixel_y = 5
+ },
+/obj/item/device/multitool,
+/obj/item/device/multitool,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/assembly/robotics)
+"cyk" = (
+/obj/machinery/computer/aifixer,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/assembly/robotics)
+"cyl" = (
+/obj/item/device/radio/intercom{
+ broadcasting = 0;
+ name = "Station Intercom (General)";
+ pixel_x = 0;
+ pixel_y = -28
+ },
+/turf/open/floor/plasteel/whitepurple/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/assembly/robotics)
+"cym" = (
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/whitepurple/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/assembly/robotics)
+"cyn" = (
+/obj/machinery/power/apc{
+ cell_type = 5000;
+ dir = 2;
+ name = "Robotics APC";
+ pixel_y = -24
+ },
+/obj/structure/cable/orange{
+ d2 = 8;
+ icon_state = "0-8"
+ },
+/turf/open/floor/plasteel/whitepurple/corner{
+ tag = "icon-whitepurplecorner (WEST)";
+ icon_state = "whitepurplecorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/assembly/robotics)
+"cyo" = (
+/obj/machinery/light,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/assembly/robotics)
+"cyp" = (
+/obj/structure/closet/wardrobe/robotics_black,
+/obj/item/device/radio/headset/headset_sci{
+ pixel_x = -3
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/assembly/robotics)
+"cyq" = (
+/obj/machinery/status_display{
+ density = 0;
+ layer = 4
+ },
+/obj/structure/disposalpipe/segment,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/assembly/robotics)
+"cyr" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/whitepurple/corner{
+ tag = "icon-whitepurplecorner (EAST)";
+ icon_state = "whitepurplecorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/research{
+ name = "Research Division"
+ })
+"cys" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel/whitepurple/side{
+ tag = "icon-whitepurple (NORTH)";
+ icon_state = "whitepurple";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/research{
+ name = "Research Division"
+ })
+"cyt" = (
+/turf/open/floor/plasteel/whitepurple/corner{
+ tag = "icon-whitepurplecorner (NORTH)";
+ icon_state = "whitepurplecorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/research{
+ name = "Research Division"
+ })
+"cyu" = (
+/obj/machinery/status_display{
+ density = 0;
+ layer = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/lab)
+"cyv" = (
+/obj/machinery/disposal/bin,
+/obj/structure/disposalpipe/trunk{
+ dir = 4
+ },
+/turf/open/floor/plasteel/whitepurple/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/lab)
+"cyw" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/item/device/radio/intercom{
+ broadcasting = 0;
+ name = "Station Intercom (General)";
+ pixel_x = 0;
+ pixel_y = -28
+ },
+/turf/open/floor/plasteel/whitepurple/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/lab)
+"cyx" = (
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plasteel/whitepurple/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/lab)
+"cyy" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/whitepurple/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/lab)
+"cyz" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel/whitepurple/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/lab)
+"cyA" = (
+/turf/open/floor/plasteel/whitepurple/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/lab)
+"cyB" = (
+/obj/structure/table,
+/obj/item/weapon/storage/toolbox/mechanical,
+/obj/item/weapon/storage/toolbox/mechanical,
+/turf/open/floor/plasteel/whitepurple/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/lab)
+"cyC" = (
+/obj/machinery/power/apc{
+ dir = 8;
+ name = "Research and Development APC";
+ pixel_x = -25
+ },
+/obj/structure/cable/orange,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/lab)
+"cyD" = (
+/obj/machinery/power/terminal{
+ dir = 4
+ },
+/obj/structure/cable,
+/obj/structure/sign/electricshock{
+ pixel_y = -32
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cyE" = (
+/obj/machinery/power/smes/engineering,
+/obj/structure/cable/orange,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cyF" = (
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/xenobiology)
+"cyG" = (
+/obj/effect/landmark/blobstart,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/xenobiology)
+"cyH" = (
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/xenobiology)
+"cyI" = (
+/mob/living/simple_animal/slime,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/xenobiology)
+"cyJ" = (
+/obj/effect/landmark/event_spawn,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/xenobiology)
+"cyK" = (
+/obj/structure/closet/emcloset,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cyL" = (
+/turf/closed/wall/mineral/titanium,
+/area/shuttle/arrival)
+"cyM" = (
+/obj/structure/grille,
+/obj/structure/window/shuttle,
+/turf/open/floor/plating,
+/area/shuttle/arrival)
+"cyN" = (
+/obj/machinery/atmospherics/components/unary/portables_connector/visible{
+ dir = 4
+ },
+/obj/machinery/portable_atmospherics/canister,
+/obj/machinery/airalarm{
+ dir = 4;
+ icon_state = "alarm0";
+ pixel_x = -22
+ },
+/turf/open/floor/plasteel/whitepurple/side{
+ tag = "icon-whitepurple (WEST)";
+ icon_state = "whitepurple";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/mixing)
+"cyO" = (
+/obj/machinery/atmospherics/pipe/manifold/general/visible{
+ dir = 4;
+ initialize_directions = 11
+ },
+/obj/machinery/meter,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/mixing)
+"cyP" = (
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/mixing)
+"cyQ" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/sign/nosmoking_2{
+ pixel_x = 32
+ },
+/turf/open/floor/plasteel/whitepurple/side{
+ tag = "icon-whitepurple (EAST)";
+ icon_state = "whitepurple";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/mixing)
+"cyR" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/assembly/robotics)
+"cyS" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/assembly/robotics)
+"cyT" = (
+/obj/machinery/door/airlock/glass_research{
+ name = "Robotics Lab";
+ req_access_txt = "29"
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/whitepurple{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/assembly/robotics)
+"cyU" = (
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/research{
+ name = "Research Division"
+ })
+"cyV" = (
+/obj/machinery/door/firedoor,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/whitepurple/corner{
+ tag = "icon-whitepurplecorner (NORTH)";
+ icon_state = "whitepurplecorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/lab)
+"cyW" = (
+/obj/machinery/door/firedoor,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/lab)
+"cyX" = (
+/obj/machinery/door/firedoor,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel/whitepurple/corner{
+ tag = "icon-whitepurplecorner (EAST)";
+ icon_state = "whitepurplecorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/lab)
+"cyY" = (
+/turf/open/floor/plasteel/darkpurple/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/xenobiology)
+"cyZ" = (
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/darkpurple/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/xenobiology)
+"cza" = (
+/obj/machinery/door/airlock/glass_external{
+ cyclelinkeddir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"czb" = (
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"czc" = (
+/obj/machinery/door/airlock/glass_external{
+ cyclelinkeddir = 8
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"czd" = (
+/turf/open/floor/plasteel/shuttle,
+/area/shuttle/arrival)
+"cze" = (
+/obj/structure/table,
+/turf/open/floor/plasteel/shuttle,
+/area/shuttle/arrival)
+"czf" = (
+/obj/structure/frame/computer,
+/turf/open/floor/plasteel/shuttle,
+/area/shuttle/arrival)
+"czg" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/turf/open/space,
+/area/hallway/secondary/entry)
+"czh" = (
+/obj/machinery/atmospherics/pipe/simple/general/visible{
+ dir = 9
+ },
+/turf/open/floor/plasteel/whitepurple/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/mixing)
+"czi" = (
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/whitepurple/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/mixing)
+"czj" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 5
+ },
+/turf/open/floor/plasteel/whitepurple/corner{
+ tag = "icon-whitepurplecorner (EAST)";
+ icon_state = "whitepurplecorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/mixing)
+"czk" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/whitepurple/side{
+ tag = "icon-whitepurple (NORTH)";
+ icon_state = "whitepurple";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/mixing)
+"czl" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/whitepurple/side{
+ tag = "icon-whitepurple (NORTHEAST)";
+ icon_state = "whitepurple";
+ dir = 5;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/mixing)
+"czm" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/mixing)
+"czn" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/plasteel/whitepurple/side{
+ tag = "icon-whitepurple (WEST)";
+ icon_state = "whitepurple";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/research{
+ name = "Research Division"
+ })
+"czo" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/research{
+ name = "Research Division"
+ })
+"czp" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/whitepurple/corner{
+ tag = "icon-whitepurplecorner (EAST)";
+ icon_state = "whitepurplecorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/research{
+ name = "Research Division"
+ })
+"czq" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/whitepurple/side{
+ tag = "icon-whitepurple (NORTH)";
+ icon_state = "whitepurple";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/research{
+ name = "Research Division"
+ })
+"czr" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel/whitepurple/side{
+ tag = "icon-whitepurple (NORTH)";
+ icon_state = "whitepurple";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/research{
+ name = "Research Division"
+ })
+"czs" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 1
+ },
+/turf/open/floor/plasteel/whitepurple/side{
+ tag = "icon-whitepurple (NORTH)";
+ icon_state = "whitepurple";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/research{
+ name = "Research Division"
+ })
+"czt" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/whitepurple/side{
+ tag = "icon-whitepurple (NORTH)";
+ icon_state = "whitepurple";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/research{
+ name = "Research Division"
+ })
+"czu" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/whitepurple/corner{
+ tag = "icon-whitepurplecorner (NORTH)";
+ icon_state = "whitepurplecorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/research{
+ name = "Research Division"
+ })
+"czv" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/item/device/radio/intercom{
+ broadcasting = 0;
+ name = "Station Intercom (General)";
+ pixel_y = 20
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/research{
+ name = "Research Division"
+ })
+"czw" = (
+/obj/machinery/door/firedoor,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/research{
+ name = "Research Division"
+ })
+"czx" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/noticeboard{
+ pixel_y = 32
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/research{
+ name = "Research Division"
+ })
+"czy" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/research{
+ name = "Research Division"
+ })
+"czz" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/effect/landmark/lightsout,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/research{
+ name = "Research Division"
+ })
+"czA" = (
+/obj/machinery/airalarm{
+ frequency = 1439;
+ locked = 0;
+ pixel_y = 23
+ },
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 1
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/research{
+ name = "Research Division"
+ })
+"czB" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/research{
+ name = "Research Division"
+ })
+"czC" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 10
+ },
+/obj/structure/extinguisher_cabinet{
+ pixel_x = 27;
+ pixel_y = 0
+ },
+/turf/open/floor/plasteel/whitepurple/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/research{
+ name = "Research Division"
+ })
+"czD" = (
+/obj/machinery/shower{
+ pixel_y = 24
+ },
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/obj/structure/curtain,
+/turf/open/floor/plasteel/freezer{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/research{
+ name = "Research Division"
+ })
+"czE" = (
+/obj/machinery/shower{
+ pixel_y = 24
+ },
+/obj/structure/window/reinforced{
+ dir = 4
+ },
+/obj/structure/curtain,
+/turf/open/floor/plasteel/freezer{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/research{
+ name = "Research Division"
+ })
+"czF" = (
+/obj/structure/closet/l3closet/scientist,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/research{
+ name = "Research Division"
+ })
+"czG" = (
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/research{
+ name = "Research Division"
+ })
+"czH" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/poddoor/preopen{
+ id = "XenoPod1";
+ name = "containment door 1"
+ },
+/obj/structure/cable/orange{
+ d2 = 4;
+ icon_state = "0-4"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/xenobiology)
+"czI" = (
+/obj/machinery/door/poddoor/preopen{
+ id = "XenoPod1";
+ name = "containment door 1"
+ },
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/obj/machinery/door/window/northleft{
+ req_access_txt = "55"
+ },
+/turf/open/floor/plasteel/purple{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/xenobiology)
+"czJ" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/structure/disposalpipe/segment,
+/obj/machinery/door/poddoor/preopen{
+ id = "XenoPod1";
+ name = "containment door 1"
+ },
+/obj/structure/cable/orange{
+ d2 = 8;
+ icon_state = "0-8"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/xenobiology)
+"czK" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/poddoor/preopen{
+ id = "XenoPod2";
+ name = "containment door 2"
+ },
+/obj/structure/cable/orange{
+ d2 = 4;
+ icon_state = "0-4"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/xenobiology)
+"czL" = (
+/obj/machinery/door/poddoor/preopen{
+ id = "XenoPod2";
+ name = "containment door 2"
+ },
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/obj/machinery/door/window/northleft{
+ req_access_txt = "55"
+ },
+/turf/open/floor/plasteel/purple{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/xenobiology)
+"czM" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/structure/disposalpipe/segment,
+/obj/machinery/door/poddoor/preopen{
+ id = "XenoPod2";
+ name = "containment door 2"
+ },
+/obj/structure/cable/orange{
+ d2 = 8;
+ icon_state = "0-8"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/xenobiology)
+"czN" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/poddoor/preopen{
+ id = "XenoPod3";
+ name = "containment door 3"
+ },
+/obj/structure/cable/orange{
+ d2 = 4;
+ icon_state = "0-4"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/xenobiology)
+"czO" = (
+/obj/machinery/door/poddoor/preopen{
+ id = "XenoPod3";
+ name = "containment door 3"
+ },
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/obj/machinery/door/window/northleft{
+ req_access_txt = "55"
+ },
+/turf/open/floor/plasteel/purple{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/xenobiology)
+"czP" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/structure/disposalpipe/segment,
+/obj/machinery/door/poddoor/preopen{
+ id = "XenoPod3";
+ name = "containment door 3"
+ },
+/obj/structure/cable/orange{
+ d2 = 8;
+ icon_state = "0-8"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/xenobiology)
+"czQ" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/poddoor/preopen{
+ id = "XenoPod4";
+ name = "containment door 4"
+ },
+/obj/structure/cable/orange{
+ d2 = 4;
+ icon_state = "0-4"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/xenobiology)
+"czR" = (
+/obj/machinery/door/poddoor/preopen{
+ id = "XenoPod4";
+ name = "containment door 4"
+ },
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/obj/machinery/door/window/northleft{
+ req_access_txt = "55"
+ },
+/turf/open/floor/plasteel/purple{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/xenobiology)
+"czS" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/structure/disposalpipe/segment,
+/obj/machinery/door/poddoor/preopen{
+ id = "XenoPod4";
+ name = "containment door 4"
+ },
+/obj/structure/cable/orange{
+ d2 = 8;
+ icon_state = "0-8"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/xenobiology)
+"czT" = (
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/xenobiology)
+"czU" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "Aft Asteroid Maintenance";
+ req_access_txt = "47"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/xenobiology)
+"czV" = (
+/obj/machinery/light{
+ icon_state = "tube1";
+ dir = 8
+ },
+/turf/open/floor/plasteel/shuttle,
+/area/shuttle/arrival)
+"czW" = (
+/turf/open/floor/plasteel/shuttle/white,
+/area/shuttle/arrival)
+"czX" = (
+/obj/structure/chair/comfy{
+ tag = "icon-comfychair (NORTH)";
+ icon_state = "comfychair";
+ dir = 1
+ },
+/turf/open/floor/plasteel/shuttle/white,
+/area/shuttle/arrival)
+"czY" = (
+/obj/machinery/light{
+ dir = 4;
+ icon_state = "tube1"
+ },
+/turf/open/floor/plasteel/shuttle,
+/area/shuttle/arrival)
+"czZ" = (
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 4;
+ on = 1
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/mixing)
+"cAa" = (
+/obj/structure/disposalpipe/junction{
+ icon_state = "pipe-j1";
+ dir = 8
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/closet/bombcloset,
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/mixing)
+"cAb" = (
+/obj/item/device/assembly/prox_sensor{
+ pixel_x = -4;
+ pixel_y = 1
+ },
+/obj/item/device/assembly/prox_sensor{
+ pixel_x = 8;
+ pixel_y = 9
+ },
+/obj/item/device/assembly/prox_sensor{
+ pixel_x = 9;
+ pixel_y = -2
+ },
+/obj/item/device/assembly/prox_sensor{
+ pixel_x = 0;
+ pixel_y = 2
+ },
+/obj/structure/table/reinforced,
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/turf/open/floor/plasteel/whitepurple/side{
+ tag = "icon-whitepurple (WEST)";
+ icon_state = "whitepurple";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/mixing)
+"cAc" = (
+/obj/structure/chair/stool,
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/mixing)
+"cAd" = (
+/obj/structure/table/reinforced,
+/obj/item/weapon/wrench,
+/obj/item/weapon/screwdriver{
+ pixel_y = 10
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/mixing)
+"cAe" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/mixing)
+"cAf" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/whitepurple/side{
+ tag = "icon-whitepurple (EAST)";
+ icon_state = "whitepurple";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/mixing)
+"cAg" = (
+/obj/machinery/door/airlock/glass_research{
+ name = "Toxins Lab";
+ req_access_txt = "8"
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/whitepurple{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/mixing)
+"cAh" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel/whitepurple/side{
+ tag = "icon-whitepurple (WEST)";
+ icon_state = "whitepurple";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/research{
+ name = "Research Division"
+ })
+"cAi" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/research{
+ name = "Research Division"
+ })
+"cAj" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/research{
+ name = "Research Division"
+ })
+"cAk" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/research{
+ name = "Research Division"
+ })
+"cAl" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/research{
+ name = "Research Division"
+ })
+"cAm" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/disposalpipe/junction{
+ icon_state = "pipe-j1";
+ dir = 8
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/research{
+ name = "Research Division"
+ })
+"cAn" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 1
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/research{
+ name = "Research Division"
+ })
+"cAo" = (
+/obj/machinery/door/firedoor,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/research{
+ name = "Research Division"
+ })
+"cAp" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/research{
+ name = "Research Division"
+ })
+"cAq" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 1
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/research{
+ name = "Research Division"
+ })
+"cAr" = (
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden,
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/landmark/start/scientist,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/research{
+ name = "Research Division"
+ })
+"cAs" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/research{
+ name = "Research Division"
+ })
+"cAt" = (
+/obj/machinery/door/firedoor,
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/research{
+ name = "Research Division"
+ })
+"cAu" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/junction{
+ icon_state = "pipe-j1";
+ dir = 8
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/research{
+ name = "Research Division"
+ })
+"cAv" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/research{
+ name = "Research Division"
+ })
+"cAw" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 10
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/research{
+ name = "Research Division"
+ })
+"cAx" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 5
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/whitepurple/side{
+ tag = "icon-whitepurple (EAST)";
+ icon_state = "whitepurple";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/research{
+ name = "Research Division"
+ })
+"cAy" = (
+/obj/machinery/door/airlock/glass_research{
+ name = "Decontamination Center";
+ req_access_txt = "55"
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/whitepurple{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/research{
+ name = "Research Division"
+ })
+"cAz" = (
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/research{
+ name = "Research Division"
+ })
+"cAA" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 1
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/research{
+ name = "Research Division"
+ })
+"cAB" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 10
+ },
+/obj/structure/sign/xenobio{
+ pixel_x = 32
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/research{
+ name = "Research Division"
+ })
+"cAC" = (
+/obj/structure/window/reinforced{
+ dir = 4
+ },
+/obj/structure/table,
+/obj/machinery/button/door{
+ id = "XenoPod1";
+ name = "Containment Control 1"
+ },
+/obj/effect/turf_decal/stripes/end{
+ tag = "icon-warn_end (NORTH)";
+ icon_state = "warn_end";
+ dir = 1
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/xenobiology)
+"cAD" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/door/window/southleft{
+ req_access_txt = "55"
+ },
+/turf/open/floor/plasteel/whitepurple/side{
+ tag = "icon-whitepurple (NORTH)";
+ icon_state = "whitepurple";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/xenobiology)
+"cAE" = (
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/obj/structure/disposalpipe/trunk{
+ dir = 1
+ },
+/obj/machinery/disposal/bin,
+/obj/effect/turf_decal/stripes/end{
+ tag = "icon-warn_end (NORTH)";
+ icon_state = "warn_end";
+ dir = 1
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/xenobiology)
+"cAF" = (
+/obj/structure/window/reinforced{
+ dir = 4
+ },
+/obj/structure/table,
+/obj/machinery/button/door{
+ id = "XenoPod2";
+ name = "Containment Control 2"
+ },
+/obj/effect/turf_decal/stripes/end{
+ tag = "icon-warn_end (NORTH)";
+ icon_state = "warn_end";
+ dir = 1
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/xenobiology)
+"cAG" = (
+/obj/structure/window/reinforced{
+ dir = 4
+ },
+/obj/structure/table,
+/obj/machinery/button/door{
+ id = "XenoPod3";
+ name = "Containment Control 3"
+ },
+/obj/effect/turf_decal/stripes/end{
+ tag = "icon-warn_end (NORTH)";
+ icon_state = "warn_end";
+ dir = 1
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/xenobiology)
+"cAH" = (
+/obj/structure/window/reinforced{
+ dir = 4
+ },
+/obj/structure/table,
+/obj/machinery/button/door{
+ id = "XenoPod4";
+ name = "Containment Control 4"
+ },
+/obj/effect/turf_decal/stripes/end{
+ tag = "icon-warn_end (NORTH)";
+ icon_state = "warn_end";
+ dir = 1
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/xenobiology)
+"cAI" = (
+/obj/machinery/status_display{
+ density = 0;
+ layer = 4
+ },
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/xenobiology)
+"cAJ" = (
+/obj/structure/table,
+/obj/item/stack/sheet/mineral/plasma,
+/obj/item/device/radio/intercom{
+ broadcasting = 0;
+ name = "Station Intercom (General)";
+ pixel_y = 20
+ },
+/turf/open/floor/plasteel/whitepurple{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/xenobiology)
+"cAK" = (
+/turf/open/floor/plasteel/whitepurple{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/xenobiology)
+"cAL" = (
+/obj/structure/reagent_dispensers/watertank/high,
+/turf/open/floor/plasteel/whitepurple{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/xenobiology)
+"cAM" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/machinery/firealarm{
+ dir = 4;
+ pixel_x = 24
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/machinery/camera{
+ c_tag = "Docking Asteroid Hall 13";
+ dir = 9;
+ icon_state = "camera";
+ tag = "icon-camera (NORTHWEST)"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cAN" = (
+/obj/machinery/door/airlock/shuttle{
+ name = "Cockpit"
+ },
+/turf/open/floor/plasteel/shuttle/white,
+/area/shuttle/arrival)
+"cAO" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/machinery/camera{
+ c_tag = "Docking Asteroid Hall 11";
+ dir = 4;
+ icon_state = "camera"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cAP" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/machinery/firealarm{
+ dir = 4;
+ pixel_x = 24
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment,
+/obj/machinery/light{
+ dir = 4;
+ icon_state = "tube1"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cAQ" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/machinery/light{
+ icon_state = "tube1";
+ dir = 8
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cAR" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/machinery/firealarm{
+ dir = 4;
+ pixel_x = 24
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/machinery/camera{
+ c_tag = "Docking Asteroid Hall 9";
+ dir = 9;
+ icon_state = "camera";
+ tag = "icon-camera (NORTHWEST)"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cAS" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/structure/disposalpipe/segment,
+/obj/machinery/camera{
+ c_tag = "Docking Asteroid Hall 7";
+ dir = 4;
+ icon_state = "camera"
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cAT" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/machinery/firealarm{
+ dir = 4;
+ pixel_x = 24
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cAU" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/mixing)
+"cAV" = (
+/obj/structure/closet/bombcloset,
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/mixing)
+"cAW" = (
+/obj/item/device/assembly/signaler{
+ pixel_x = 0;
+ pixel_y = 8
+ },
+/obj/item/device/assembly/signaler{
+ pixel_x = -8;
+ pixel_y = 5
+ },
+/obj/item/device/assembly/signaler{
+ pixel_x = 6;
+ pixel_y = 5
+ },
+/obj/item/device/assembly/signaler{
+ pixel_x = -2;
+ pixel_y = -2
+ },
+/obj/structure/table/reinforced,
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/turf/open/floor/plasteel/whitepurple/side{
+ tag = "icon-whitepurple (SOUTHWEST)";
+ icon_state = "whitepurple";
+ dir = 10;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/mixing)
+"cAX" = (
+/obj/item/device/transfer_valve{
+ pixel_x = -5
+ },
+/obj/item/device/transfer_valve{
+ pixel_x = -5
+ },
+/obj/item/device/transfer_valve{
+ pixel_x = 0
+ },
+/obj/item/device/transfer_valve{
+ pixel_x = 0
+ },
+/obj/item/device/transfer_valve{
+ pixel_x = 5
+ },
+/obj/item/device/transfer_valve{
+ pixel_x = 5
+ },
+/obj/structure/table/reinforced,
+/turf/open/floor/plasteel/whitepurple/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/mixing)
+"cAY" = (
+/obj/item/device/assembly/timer{
+ pixel_x = 5;
+ pixel_y = 4
+ },
+/obj/item/device/assembly/timer{
+ pixel_x = -4;
+ pixel_y = 2
+ },
+/obj/item/device/assembly/timer{
+ pixel_x = 6;
+ pixel_y = -4
+ },
+/obj/item/device/assembly/timer{
+ pixel_x = 0;
+ pixel_y = 0
+ },
+/obj/structure/table/reinforced,
+/turf/open/floor/plasteel/whitepurple/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/mixing)
+"cAZ" = (
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/obj/structure/tank_dispenser,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/mixing)
+"cBa" = (
+/obj/machinery/portable_atmospherics/pump,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/mixing)
+"cBb" = (
+/obj/machinery/portable_atmospherics/scrubber,
+/turf/open/floor/plasteel/whitepurple/side{
+ tag = "icon-whitepurple (EAST)";
+ icon_state = "whitepurple";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/mixing)
+"cBc" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/mixing)
+"cBd" = (
+/turf/open/floor/plasteel/whitepurple/side{
+ tag = "icon-whitepurple (WEST)";
+ icon_state = "whitepurple";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/research{
+ name = "Research Division"
+ })
+"cBe" = (
+/obj/structure/sign/bluecross_2{
+ pixel_x = -32;
+ pixel_y = -32
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/research{
+ name = "Research Division"
+ })
+"cBf" = (
+/obj/machinery/power/apc{
+ cell_type = 5000;
+ dir = 2;
+ name = "Science APC";
+ pixel_y = -24
+ },
+/obj/structure/cable/orange,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/research{
+ name = "Research Division"
+ })
+"cBg" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ dir = 4;
+ on = 1;
+ scrub_N2O = 0;
+ scrub_Toxins = 0
+ },
+/obj/machinery/camera{
+ c_tag = "Research Western Wing";
+ dir = 1;
+ icon_state = "camera";
+ network = list("SS13")
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/research{
+ name = "Research Division"
+ })
+"cBh" = (
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/whitepurple/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/research{
+ name = "Research Division"
+ })
+"cBi" = (
+/turf/open/floor/plasteel/whitepurple/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/research{
+ name = "Research Division"
+ })
+"cBj" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel/whitepurple/corner{
+ tag = "icon-whitepurplecorner (WEST)";
+ icon_state = "whitepurplecorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/research{
+ name = "Research Division"
+ })
+"cBk" = (
+/obj/machinery/light,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/research{
+ name = "Research Division"
+ })
+"cBl" = (
+/obj/machinery/door/firedoor,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/research{
+ name = "Research Division"
+ })
+"cBm" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/research{
+ name = "Research Division"
+ })
+"cBn" = (
+/obj/machinery/camera{
+ c_tag = "Research Eastern Wing";
+ dir = 1;
+ icon_state = "camera";
+ network = list("SS13")
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/research{
+ name = "Research Division"
+ })
+"cBo" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 1;
+ on = 1
+ },
+/obj/machinery/newscaster{
+ pixel_y = -32
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/research{
+ name = "Research Division"
+ })
+"cBp" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 5
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/research{
+ name = "Research Division"
+ })
+"cBq" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/whitepurple/corner{
+ tag = "icon-whitepurplecorner (EAST)";
+ icon_state = "whitepurplecorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/research{
+ name = "Research Division"
+ })
+"cBr" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/research{
+ name = "Research Division"
+ })
+"cBs" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 10
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/research{
+ name = "Research Division"
+ })
+"cBt" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 5
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/research{
+ name = "Research Division"
+ })
+"cBu" = (
+/obj/machinery/door/airlock/glass_research{
+ name = "Xenobiology";
+ req_access_txt = "55"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/whitepurple{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/xenobiology)
+"cBv" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/xenobiology)
+"cBw" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/xenobiology)
+"cBx" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 10
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/xenobiology)
+"cBy" = (
+/obj/structure/sign/electricshock{
+ pixel_y = 32
+ },
+/obj/machinery/camera{
+ c_tag = "Xenobiology 1";
+ dir = 6;
+ icon_state = "camera";
+ network = list("SS13","RD")
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/xenobiology)
+"cBz" = (
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/xenobiology)
+"cBA" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/xenobiology)
+"cBB" = (
+/obj/machinery/airalarm{
+ frequency = 1439;
+ locked = 0;
+ pixel_y = 23
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/xenobiology)
+"cBC" = (
+/obj/machinery/light{
+ dir = 1
+ },
+/obj/structure/sign/electricshock{
+ pixel_y = 32
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/xenobiology)
+"cBD" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 2;
+ on = 1
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/xenobiology)
+"cBE" = (
+/obj/machinery/door/firedoor,
+/turf/open/floor/plasteel/whitepurple/side{
+ tag = "icon-whitepurple (EAST)";
+ icon_state = "whitepurple";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/xenobiology)
+"cBF" = (
+/obj/structure/chair{
+ dir = 4
+ },
+/turf/open/floor/plasteel/whitepurple{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/xenobiology)
+"cBG" = (
+/obj/machinery/computer/camera_advanced/xenobio,
+/turf/open/floor/plasteel/whitepurple{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/xenobiology)
+"cBH" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/effect/spawner/lootdrop/grille_or_trash,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cBI" = (
+/obj/machinery/light{
+ icon_state = "tube1";
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cBJ" = (
+/obj/machinery/computer/arcade,
+/turf/open/floor/plasteel/shuttle/white,
+/area/shuttle/arrival)
+"cBK" = (
+/obj/structure/closet/emcloset,
+/turf/open/floor/plasteel/shuttle/white,
+/area/shuttle/arrival)
+"cBL" = (
+/obj/structure/table,
+/obj/item/weapon/storage/firstaid/regular,
+/turf/open/floor/plasteel/shuttle/white,
+/area/shuttle/arrival)
+"cBM" = (
+/obj/machinery/vending/cola,
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cBN" = (
+/obj/machinery/vending/snack/random,
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cBO" = (
+/obj/machinery/light{
+ icon_state = "tube1";
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cBP" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "Aft Asteroid Maintenance";
+ req_access_txt = "47"
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cBQ" = (
+/obj/machinery/door/airlock/command{
+ name = "Server Room";
+ req_access = null;
+ req_access_txt = "30"
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/server)
+"cBR" = (
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/server)
+"cBS" = (
+/obj/structure/bed/roller,
+/obj/effect/turf_decal/delivery,
+/turf/open/floor/plasteel/whitepurple/corner{
+ tag = "icon-whitepurplecorner (WEST)";
+ icon_state = "whitepurplecorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/research{
+ name = "Research Division"
+ })
+"cBT" = (
+/turf/open/floor/plasteel/whitepurple/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/research{
+ name = "Research Division"
+ })
+"cBU" = (
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/storage)
+"cBV" = (
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/storage)
+"cBW" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/storage)
+"cBX" = (
+/obj/machinery/door/airlock/research{
+ name = "Toxins Storage";
+ req_access_txt = "8"
+ },
+/turf/open/floor/plasteel/whitepurple{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/storage)
+"cBY" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/storage)
+"cBZ" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint/science)
+"cCa" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint/science)
+"cCb" = (
+/obj/machinery/door/airlock/glass_security{
+ name = "Security Office";
+ req_access_txt = "63"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint/science)
+"cCc" = (
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/misc_lab)
+"cCd" = (
+/obj/machinery/light{
+ icon_state = "tube1";
+ dir = 8
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 8
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/research{
+ name = "Research Division"
+ })
+"cCe" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/research{
+ name = "Research Division"
+ })
+"cCf" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/research{
+ name = "Research Division"
+ })
+"cCg" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/research{
+ name = "Research Division"
+ })
+"cCh" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/xenobiology)
+"cCi" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/xenobiology)
+"cCj" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/xenobiology)
+"cCk" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/effect/landmark/lightsout,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/xenobiology)
+"cCl" = (
+/obj/machinery/monkey_recycler,
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/xenobiology)
+"cCm" = (
+/obj/machinery/smartfridge/extract,
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/xenobiology)
+"cCn" = (
+/obj/machinery/processor{
+ desc = "A machine used to process slimes and retrieve their extract.";
+ name = "Slime Processor"
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/xenobiology)
+"cCo" = (
+/obj/effect/landmark/start/scientist,
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/xenobiology)
+"cCp" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/effect/landmark/start/scientist,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/xenobiology)
+"cCq" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 9
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/xenobiology)
+"cCr" = (
+/obj/structure/table,
+/obj/item/weapon/extinguisher,
+/obj/item/weapon/extinguisher,
+/obj/machinery/light{
+ dir = 4;
+ icon_state = "tube1"
+ },
+/turf/open/floor/plasteel/whitepurple{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/xenobiology)
+"cCs" = (
+/obj/machinery/power/apc{
+ dir = 8;
+ name = "Xenobiology APC";
+ pixel_x = -25
+ },
+/obj/structure/cable/orange{
+ d2 = 4;
+ icon_state = "0-4"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/xenobiology)
+"cCt" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cCu" = (
+/obj/machinery/door/airlock/shuttle,
+/obj/structure/fans/tiny,
+/turf/open/floor/plasteel/shuttle/white,
+/area/shuttle/arrival)
+"cCv" = (
+/obj/machinery/vending/cigarette,
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cCw" = (
+/obj/machinery/vending/coffee,
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cCx" = (
+/obj/structure/shuttle/engine/propulsion{
+ icon_state = "propulsion";
+ dir = 4
+ },
+/turf/closed/wall/mineral/titanium,
+/area/shuttle/transport)
+"cCy" = (
+/turf/closed/wall/mineral/titanium,
+/area/shuttle/transport)
+"cCz" = (
+/obj/structure/window/shuttle,
+/obj/structure/grille,
+/turf/open/floor/plating,
+/area/shuttle/transport)
+"cCA" = (
+/obj/structure/grille,
+/obj/structure/window/shuttle,
+/turf/open/floor/plating,
+/area/shuttle/transport)
+"cCB" = (
+/obj/machinery/door/airlock/glass_external{
+ cyclelinkeddir = 8
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cCC" = (
+/obj/machinery/light/small,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cCD" = (
+/obj/structure/disposalpipe/segment,
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/obj/effect/turf_decal/stripes/asteroid/line{
+ icon_state = "ast_warn";
+ dir = 1
+ },
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cCE" = (
+/obj/machinery/power/apc{
+ dir = 1;
+ name = "Toxins Lab APC";
+ pixel_x = 0;
+ pixel_y = 25
+ },
+/obj/structure/cable/orange{
+ d2 = 8;
+ icon_state = "0-8"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/mixing)
+"cCF" = (
+/obj/machinery/r_n_d/server/core,
+/turf/open/floor/circuit{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/server)
+"cCG" = (
+/turf/open/floor/circuit{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/server)
+"cCH" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/server)
+"cCI" = (
+/obj/machinery/airalarm{
+ frequency = 1439;
+ locked = 0;
+ pixel_y = 23
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/server)
+"cCJ" = (
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/server)
+"cCK" = (
+/obj/structure/bed/roller,
+/obj/effect/turf_decal/delivery,
+/turf/open/floor/plasteel/whitepurple/side{
+ tag = "icon-whitepurple (WEST)";
+ icon_state = "whitepurple";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/research{
+ name = "Research Division"
+ })
+"cCL" = (
+/obj/machinery/iv_drip,
+/turf/open/floor/plasteel/whitepurple/side{
+ tag = "icon-whitepurple (EAST)";
+ icon_state = "whitepurple";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/research{
+ name = "Research Division"
+ })
+"cCM" = (
+/obj/machinery/portable_atmospherics/canister/toxins,
+/obj/effect/turf_decal/delivery,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/storage)
+"cCN" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/storage)
+"cCO" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 4;
+ on = 1
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/storage)
+"cCP" = (
+/obj/machinery/portable_atmospherics/scrubber/huge/movable,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 9
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/storage)
+"cCQ" = (
+/obj/machinery/portable_atmospherics/scrubber/huge/movable,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/storage)
+"cCR" = (
+/obj/structure/table,
+/obj/item/weapon/paper_bin,
+/turf/open/floor/plasteel/red/side{
+ tag = "icon-red (NORTHWEST)";
+ icon_state = "red";
+ dir = 9;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint/science)
+"cCS" = (
+/obj/structure/table,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/computer/security/telescreen{
+ desc = "Used for watching the RD's goons from a (questionably) safe distance.";
+ name = "Research Monitor";
+ network = list("RD")
+ },
+/turf/open/floor/plasteel/red/side{
+ icon_state = "red";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint/science)
+"cCT" = (
+/obj/structure/table,
+/turf/open/floor/plasteel/red/side{
+ icon_state = "red";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint/science)
+"cCU" = (
+/turf/open/floor/plasteel/red/side{
+ icon_state = "red";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint/science)
+"cCV" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ dir = 1;
+ on = 1;
+ scrub_N2O = 0;
+ scrub_Toxins = 0
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/sign/poster/random{
+ name = "random official poster";
+ pixel_x = 32;
+ random_basetype = /obj/structure/sign/poster/official
+ },
+/turf/open/floor/plasteel/red/side{
+ tag = "icon-red (NORTHEAST)";
+ icon_state = "red";
+ dir = 5;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint/science)
+"cCW" = (
+/obj/structure/reagent_dispensers/watertank,
+/obj/effect/turf_decal/delivery,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/misc_lab)
+"cCX" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 6
+ },
+/obj/item/device/radio/intercom{
+ broadcasting = 0;
+ name = "Station Intercom (General)";
+ pixel_y = 20
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/misc_lab)
+"cCY" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/misc_lab)
+"cCZ" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/research{
+ name = "Research Division"
+ })
+"cDa" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment,
+/obj/item/device/radio/intercom{
+ broadcasting = 0;
+ name = "Station Intercom (General)";
+ pixel_x = -28;
+ pixel_y = 0
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/research{
+ name = "Research Division"
+ })
+"cDb" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 9
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/research{
+ name = "Research Division"
+ })
+"cDc" = (
+/obj/machinery/door/airlock/glass_research{
+ name = "Xenobiology";
+ req_access_txt = "55"
+ },
+/turf/open/floor/plasteel/whitepurple{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/xenobiology)
+"cDd" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ dir = 1;
+ on = 1;
+ scrub_N2O = 0;
+ scrub_Toxins = 0
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/xenobiology)
+"cDe" = (
+/obj/machinery/light,
+/obj/structure/sign/electricshock{
+ pixel_y = -32
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/xenobiology)
+"cDf" = (
+/obj/structure/sign/electricshock{
+ pixel_y = -32
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/xenobiology)
+"cDg" = (
+/obj/structure/sign/electricshock{
+ pixel_y = -32
+ },
+/obj/machinery/camera{
+ c_tag = "Xenobiology 2";
+ dir = 1;
+ icon_state = "camera";
+ network = list("SS13","RD")
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/xenobiology)
+"cDh" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/item/device/radio/intercom{
+ broadcasting = 0;
+ name = "Station Intercom (General)";
+ pixel_x = -28;
+ pixel_y = 0
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cDi" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ dir = 1;
+ on = 1;
+ scrub_N2O = 0;
+ scrub_Toxins = 0
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/machinery/airalarm{
+ dir = 8;
+ icon_state = "alarm0";
+ pixel_x = 24
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cDj" = (
+/obj/structure/chair{
+ dir = 4
+ },
+/obj/machinery/light{
+ icon_state = "tube1";
+ dir = 8
+ },
+/turf/open/floor/plasteel/shuttle,
+/area/shuttle/arrival)
+"cDk" = (
+/obj/structure/chair{
+ dir = 8
+ },
+/turf/open/floor/plasteel/shuttle,
+/area/shuttle/arrival)
+"cDl" = (
+/obj/structure/chair{
+ dir = 4
+ },
+/turf/open/floor/plasteel/shuttle,
+/area/shuttle/arrival)
+"cDm" = (
+/obj/structure/chair{
+ dir = 8
+ },
+/obj/machinery/light{
+ dir = 4;
+ icon_state = "tube1"
+ },
+/turf/open/floor/plasteel/shuttle,
+/area/shuttle/arrival)
+"cDn" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ dir = 1;
+ on = 1;
+ scrub_N2O = 0;
+ scrub_Toxins = 0
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment,
+/obj/machinery/airalarm{
+ dir = 8;
+ icon_state = "alarm0";
+ pixel_x = 24
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cDo" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/structure/disposalpipe/segment,
+/obj/item/device/radio/intercom{
+ broadcasting = 0;
+ name = "Station Intercom (General)";
+ pixel_x = -28;
+ pixel_y = 0
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cDp" = (
+/turf/open/floor/mineral/titanium/blue,
+/turf/closed/wall/mineral/titanium/interior,
+/area/shuttle/transport)
+"cDq" = (
+/turf/open/floor/mineral/titanium/blue,
+/area/shuttle/transport)
+"cDr" = (
+/obj/machinery/computer/shuttle/ferry/request,
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/mineral/titanium/blue,
+/area/shuttle/transport)
+"cDs" = (
+/obj/structure/chair,
+/turf/open/floor/mineral/titanium/blue,
+/area/shuttle/transport)
+"cDt" = (
+/obj/structure/chair,
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/mineral/titanium/blue,
+/area/shuttle/transport)
+"cDu" = (
+/obj/structure/sign/securearea{
+ desc = "A warning sign which reads 'EXTERNAL AIRLOCK'";
+ icon_state = "space";
+ layer = 4;
+ name = "EXTERNAL AIRLOCK";
+ pixel_x = -32;
+ pixel_y = 0
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cDv" = (
+/obj/structure/disposalpipe/segment,
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cDw" = (
+/obj/machinery/light/small{
+ dir = 8
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/server)
+"cDx" = (
+/obj/machinery/door/airlock/glass_command{
+ name = "Server Room";
+ req_access_txt = "30"
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/server)
+"cDy" = (
+/obj/effect/landmark/event_spawn,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/server)
+"cDz" = (
+/obj/structure/chair/office/light,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/server)
+"cDA" = (
+/obj/machinery/light{
+ dir = 4;
+ icon_state = "tube1"
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/server)
+"cDB" = (
+/obj/structure/table,
+/obj/item/weapon/storage/firstaid/o2,
+/turf/open/floor/plasteel/whitepurple/side{
+ tag = "icon-whitepurple (SOUTHWEST)";
+ icon_state = "whitepurple";
+ dir = 10;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/research{
+ name = "Research Division"
+ })
+"cDC" = (
+/obj/machinery/light,
+/obj/item/weapon/reagent_containers/blood/random,
+/obj/item/weapon/reagent_containers/blood/random,
+/obj/item/weapon/reagent_containers/blood/random,
+/obj/structure/closet/crate/freezer,
+/turf/open/floor/plasteel/whitepurple/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/research{
+ name = "Research Division"
+ })
+"cDD" = (
+/obj/machinery/iv_drip,
+/turf/open/floor/plasteel/whitepurple/side{
+ tag = "icon-whitepurple (SOUTHEAST)";
+ icon_state = "whitepurple";
+ dir = 6;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/research{
+ name = "Research Division"
+ })
+"cDE" = (
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/storage)
+"cDF" = (
+/obj/machinery/portable_atmospherics/canister/oxygen,
+/obj/effect/turf_decal/delivery,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/storage)
+"cDG" = (
+/obj/structure/table,
+/obj/machinery/newscaster/security_unit{
+ pixel_x = -28
+ },
+/turf/open/floor/plasteel/red/side{
+ icon_state = "red";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint/science)
+"cDH" = (
+/obj/structure/chair/office/dark{
+ dir = 1
+ },
+/obj/effect/landmark/start/depsec/science,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint/science)
+"cDI" = (
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint/science)
+"cDJ" = (
+/obj/machinery/airalarm{
+ dir = 8;
+ icon_state = "alarm0";
+ pixel_x = 24
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel/red/side{
+ icon_state = "red";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint/science)
+"cDK" = (
+/obj/structure/reagent_dispensers/fueltank,
+/obj/effect/turf_decal/delivery,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/misc_lab)
+"cDL" = (
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ dir = 1;
+ on = 1;
+ scrub_N2O = 0;
+ scrub_Toxins = 0
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/misc_lab)
+"cDM" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/misc_lab)
+"cDN" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 6
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/misc_lab)
+"cDO" = (
+/obj/machinery/door/airlock/glass_research{
+ name = "Testing Lab";
+ req_access_txt = "55"
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/research{
+ name = "Research Division"
+ })
+"cDP" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 9
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/research{
+ name = "Research Division"
+ })
+"cDQ" = (
+/obj/structure/sign/xenobio{
+ pixel_x = 32
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/research{
+ name = "Research Division"
+ })
+"cDR" = (
+/obj/structure/window/reinforced{
+ dir = 4
+ },
+/obj/structure/table,
+/obj/machinery/button/door{
+ id = "XenoPod5";
+ name = "Containment Control 5"
+ },
+/obj/effect/turf_decal/stripes/end,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/xenobiology)
+"cDS" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/door/window/northleft{
+ req_access_txt = "55"
+ },
+/turf/open/floor/plasteel/whitepurple/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/xenobiology)
+"cDT" = (
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/obj/structure/disposalpipe/trunk,
+/obj/machinery/disposal/bin,
+/obj/effect/turf_decal/stripes/end,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/xenobiology)
+"cDU" = (
+/obj/structure/window/reinforced{
+ dir = 4
+ },
+/obj/structure/table,
+/obj/machinery/button/door{
+ id = "XenoPod6";
+ name = "Containment Control 6"
+ },
+/obj/effect/turf_decal/stripes/end,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/xenobiology)
+"cDV" = (
+/obj/structure/window/reinforced{
+ dir = 4
+ },
+/obj/structure/table,
+/obj/machinery/button/door{
+ id = "XenoPod7";
+ name = "Containment Control 7"
+ },
+/obj/effect/turf_decal/stripes/end,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/xenobiology)
+"cDW" = (
+/obj/structure/window/reinforced{
+ dir = 4
+ },
+/obj/structure/table,
+/obj/machinery/button/door{
+ id = "XenoPod8";
+ name = "Containment Control 8"
+ },
+/obj/effect/turf_decal/stripes/end,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/xenobiology)
+"cDX" = (
+/obj/structure/table,
+/obj/machinery/reagentgrinder,
+/turf/open/floor/plasteel/whitepurple{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/xenobiology)
+"cDY" = (
+/obj/structure/table,
+/obj/item/weapon/storage/box/beakers,
+/obj/item/weapon/storage/box/syringes,
+/obj/item/weapon/storage/box/monkeycubes,
+/obj/item/weapon/storage/box/monkeycubes,
+/turf/open/floor/plasteel/whitepurple{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/xenobiology)
+"cDZ" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cEa" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cEb" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 1;
+ icon_state = "pipe-c"
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cEc" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
+ },
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cEd" = (
+/obj/machinery/door/airlock/shuttle,
+/turf/open/floor/mineral/titanium/blue,
+/area/shuttle/transport)
+"cEe" = (
+/obj/machinery/door/airlock/shuttle,
+/obj/docking_port/mobile{
+ dir = 8;
+ dwidth = 2;
+ height = 12;
+ id = "ferry";
+ name = "ferry shuttle";
+ port_angle = 0;
+ preferred_direction = 4;
+ roundstart_move = "ferry_away";
+ width = 5
+ },
+/obj/docking_port/stationary{
+ dir = 8;
+ dwidth = 2;
+ height = 12;
+ id = "ferry_home";
+ name = "port bay 2";
+ turf_type = /turf/open/space;
+ width = 5
+ },
+/turf/open/floor/mineral/titanium/blue,
+/area/shuttle/transport)
+"cEf" = (
+/obj/machinery/r_n_d/server/robotics,
+/turf/open/floor/circuit{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/server)
+"cEg" = (
+/obj/machinery/camera{
+ c_tag = "Research Server Room";
+ dir = 1;
+ icon_state = "camera";
+ network = list("SS13","RD")
+ },
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/server)
+"cEh" = (
+/obj/machinery/computer/rdservercontrol,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/server)
+"cEi" = (
+/obj/structure/table,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/server)
+"cEj" = (
+/obj/effect/landmark/event_spawn,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/storage)
+"cEk" = (
+/obj/machinery/portable_atmospherics/canister/oxygen,
+/obj/machinery/camera{
+ c_tag = "Toxins Storage";
+ dir = 9;
+ icon_state = "camera";
+ network = list("SS13","RD");
+ tag = "icon-camera (NORTHWEST)"
+ },
+/obj/effect/turf_decal/delivery,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/storage)
+"cEl" = (
+/obj/machinery/computer/secure_data,
+/obj/item/device/radio/intercom{
+ broadcasting = 0;
+ name = "Station Intercom (General)";
+ pixel_x = 0;
+ pixel_y = -28
+ },
+/turf/open/floor/plasteel/red/side{
+ icon_state = "red";
+ dir = 10;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint/science)
+"cEm" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 1;
+ on = 1
+ },
+/obj/machinery/camera{
+ c_tag = "Research Security Checkpoint";
+ dir = 1;
+ icon_state = "camera";
+ network = list("SS13")
+ },
+/turf/open/floor/plasteel/red/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint/science)
+"cEn" = (
+/obj/machinery/light,
+/obj/structure/reagent_dispensers/peppertank{
+ pixel_y = -32
+ },
+/turf/open/floor/plasteel/red/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint/science)
+"cEo" = (
+/obj/structure/closet/secure_closet/security/engine,
+/obj/machinery/power/apc{
+ cell_type = 5000;
+ dir = 2;
+ name = "Science Security Checkpoint APC";
+ pixel_y = -24
+ },
+/obj/structure/cable/orange{
+ d2 = 4;
+ icon_state = "0-4"
+ },
+/turf/open/floor/plasteel/red/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint/science)
+"cEp" = (
+/obj/structure/filingcabinet,
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/turf/open/floor/plasteel/red/side{
+ icon_state = "red";
+ dir = 6;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint/science)
+"cEq" = (
+/obj/machinery/portable_atmospherics/scrubber,
+/obj/effect/turf_decal/delivery,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/misc_lab)
+"cEr" = (
+/obj/machinery/portable_atmospherics/pump,
+/obj/effect/turf_decal/delivery,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/misc_lab)
+"cEs" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/misc_lab)
+"cEt" = (
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/misc_lab)
+"cEu" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/disposalpipe/segment,
+/obj/structure/sign/map/left/ceres{
+ pixel_x = 32
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/misc_lab)
+"cEv" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/machinery/suit_storage_unit/rd,
+/obj/machinery/door/window/brigdoor/northleft{
+ name = "Research Director's Hardsuit";
+ req_access_txt = "30"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/research{
+ name = "Research Division"
+ })
+"cEw" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/poddoor/preopen{
+ id = "XenoPod5";
+ name = "containment door 5"
+ },
+/obj/structure/cable/orange{
+ d2 = 4;
+ icon_state = "0-4"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/xenobiology)
+"cEx" = (
+/obj/machinery/door/poddoor/preopen{
+ id = "XenoPod5";
+ name = "containment door 5"
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/machinery/door/window/southleft{
+ req_access_txt = "55"
+ },
+/turf/open/floor/plasteel/purple{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/xenobiology)
+"cEy" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/structure/disposalpipe/segment,
+/obj/machinery/door/poddoor/preopen{
+ id = "XenoPod5";
+ name = "containment door 5"
+ },
+/obj/structure/cable/orange{
+ d2 = 8;
+ icon_state = "0-8"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/xenobiology)
+"cEz" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/poddoor/preopen{
+ id = "XenoPod6";
+ name = "containment door 6"
+ },
+/obj/structure/cable/orange{
+ d2 = 4;
+ icon_state = "0-4"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/xenobiology)
+"cEA" = (
+/obj/machinery/door/poddoor/preopen{
+ id = "XenoPod6";
+ name = "containment door 6"
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/machinery/door/window/southleft{
+ req_access_txt = "55"
+ },
+/turf/open/floor/plasteel/purple{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/xenobiology)
+"cEB" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/structure/disposalpipe/segment,
+/obj/machinery/door/poddoor/preopen{
+ id = "XenoPod6";
+ name = "containment door 6"
+ },
+/obj/structure/cable/orange{
+ d2 = 8;
+ icon_state = "0-8"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/xenobiology)
+"cEC" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/poddoor/preopen{
+ id = "XenoPod7";
+ name = "containment door 7"
+ },
+/obj/structure/cable/orange{
+ d2 = 4;
+ icon_state = "0-4"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/xenobiology)
+"cED" = (
+/obj/machinery/door/poddoor/preopen{
+ id = "XenoPod7";
+ name = "containment door 7"
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/machinery/door/window/southleft{
+ req_access_txt = "55"
+ },
+/turf/open/floor/plasteel/purple{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/xenobiology)
+"cEE" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/structure/disposalpipe/segment,
+/obj/machinery/door/poddoor/preopen{
+ id = "XenoPod7";
+ name = "containment door 7"
+ },
+/obj/structure/cable/orange{
+ d2 = 8;
+ icon_state = "0-8"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/xenobiology)
+"cEF" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/structure/cable/orange{
+ d2 = 4;
+ icon_state = "0-4"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/xenobiology)
+"cEG" = (
+/obj/machinery/door/poddoor/preopen{
+ id = "XenoPod8";
+ name = "containment door 8"
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/machinery/door/window/southleft{
+ req_access_txt = "55"
+ },
+/turf/open/floor/plasteel/purple{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/xenobiology)
+"cEH" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/structure/disposalpipe/segment,
+/obj/structure/cable/orange{
+ d2 = 8;
+ icon_state = "0-8"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/xenobiology)
+"cEI" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/xenobiology)
+"cEJ" = (
+/obj/machinery/door/firedoor,
+/obj/machinery/door/airlock/research{
+ name = "Kill Chamber";
+ req_access_txt = "55"
+ },
+/obj/machinery/atmospherics/pipe/simple/general/visible{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/xenobiology)
+"cEK" = (
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/turf/closed/mineral,
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cEL" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment,
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cEM" = (
+/obj/structure/closet/crate,
+/turf/open/floor/mineral/titanium/blue,
+/area/shuttle/transport)
+"cEN" = (
+/obj/structure/closet/crate,
+/obj/machinery/light,
+/turf/open/floor/mineral/titanium/blue,
+/area/shuttle/transport)
+"cEO" = (
+/obj/structure/chair{
+ dir = 1
+ },
+/turf/open/floor/mineral/titanium/blue,
+/area/shuttle/transport)
+"cEP" = (
+/obj/structure/chair{
+ dir = 1
+ },
+/obj/machinery/light,
+/turf/open/floor/mineral/titanium/blue,
+/area/shuttle/transport)
+"cEQ" = (
+/obj/structure/disposalpipe/segment,
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/item/device/assembly/mousetrap/armed,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cER" = (
+/obj/structure/closet/crate,
+/obj/item/weapon/storage/bag/ore,
+/obj/item/weapon/pickaxe/emergency,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cES" = (
+/obj/machinery/portable_atmospherics/canister/nitrous_oxide,
+/obj/effect/turf_decal/delivery,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/storage)
+"cET" = (
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/misc_lab)
+"cEU" = (
+/obj/machinery/status_display{
+ density = 0;
+ layer = 4
+ },
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/misc_lab)
+"cEV" = (
+/obj/machinery/light{
+ icon_state = "tube1";
+ dir = 8
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/extinguisher_cabinet{
+ pixel_x = -32
+ },
+/obj/structure/closet/crate/bin,
+/obj/item/weapon/book/manual/wiki/telescience,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/misc_lab)
+"cEW" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/misc_lab)
+"cEX" = (
+/obj/structure/rack,
+/obj/item/clothing/mask/gas,
+/obj/item/clothing/mask/gas,
+/obj/item/clothing/mask/gas,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/misc_lab)
+"cEY" = (
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/darkpurple/side{
+ tag = "icon-darkpurple (NORTH)";
+ icon_state = "darkpurple";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/xenobiology)
+"cEZ" = (
+/turf/open/floor/circuit{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ initial_gas_mix = "n2=500;TEMP=80";
+ name = "Killroom Floor"
+ },
+/area/toxins/xenobiology)
+"cFa" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/effect/landmark/event_spawn,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cFb" = (
+/obj/structure/disposalpipe/segment{
+ dir = 1;
+ icon_state = "pipe-c"
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cFc" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cFd" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cFe" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cFf" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cFg" = (
+/obj/machinery/power/apc{
+ dir = 1;
+ name = "RnD Server APC";
+ pixel_x = 0;
+ pixel_y = 25
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/cable/orange{
+ d2 = 4;
+ icon_state = "0-4"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/server)
+"cFh" = (
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
+ },
+/obj/structure/grille,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cFi" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ dir = 1;
+ on = 1;
+ scrub_N2O = 0;
+ scrub_Toxins = 0
+ },
+/obj/machinery/airalarm{
+ dir = 1;
+ icon_state = "alarm0";
+ pixel_y = -22
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/storage)
+"cFj" = (
+/obj/machinery/light,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/storage)
+"cFk" = (
+/obj/machinery/portable_atmospherics/canister/carbon_dioxide,
+/obj/effect/turf_decal/delivery,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/storage)
+"cFl" = (
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/misc_lab)
+"cFm" = (
+/obj/machinery/shieldwallgen{
+ req_access = list(55)
+ },
+/obj/structure/cable/orange{
+ d2 = 2;
+ icon_state = "0-2"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/misc_lab)
+"cFn" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/misc_lab)
+"cFo" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/disposalpipe/segment,
+/obj/structure/chair/stool,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/misc_lab)
+"cFp" = (
+/obj/machinery/airalarm{
+ dir = 8;
+ icon_state = "alarm0";
+ pixel_x = 24
+ },
+/obj/structure/table,
+/obj/item/weapon/storage/toolbox/mechanical,
+/obj/item/weapon/storage/toolbox/electrical{
+ pixel_x = -4;
+ pixel_x = 1;
+ pixel_y = 5
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/misc_lab)
+"cFq" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 4;
+ on = 1
+ },
+/obj/machinery/camera{
+ c_tag = "Xenobiology Killroom";
+ dir = 1;
+ icon_state = "camera";
+ network = list("SS13","RD")
+ },
+/turf/open/floor/circuit{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ initial_gas_mix = "n2=500;TEMP=80";
+ name = "Killroom Floor"
+ },
+/area/toxins/xenobiology)
+"cFr" = (
+/obj/machinery/light/small,
+/obj/machinery/atmospherics/pipe/manifold/general/visible{
+ dir = 1
+ },
+/turf/open/floor/circuit{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ initial_gas_mix = "n2=500;TEMP=80";
+ name = "Killroom Floor"
+ },
+/area/toxins/xenobiology)
+"cFs" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 8;
+ layer = 2.4;
+ on = 1
+ },
+/turf/open/floor/circuit{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ initial_gas_mix = "n2=500;TEMP=80";
+ name = "Killroom Floor"
+ },
+/area/toxins/xenobiology)
+"cFt" = (
+/obj/structure/disposalpipe/segment{
+ dir = 1;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cFu" = (
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cFv" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 1;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cFw" = (
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cFx" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/cable/orange{
+ d2 = 2;
+ icon_state = "0-2"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/misc_lab)
+"cFy" = (
+/obj/structure/table,
+/obj/item/weapon/wrench,
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/misc_lab)
+"cFz" = (
+/obj/effect/landmark/lightsout,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/misc_lab)
+"cFA" = (
+/obj/effect/landmark/start/scientist,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/misc_lab)
+"cFB" = (
+/obj/structure/table,
+/obj/item/stack/packageWrap,
+/obj/item/device/destTagger,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/misc_lab)
+"cFC" = (
+/obj/machinery/light/small,
+/turf/open/floor/plasteel/darkpurple/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/xenobiology)
+"cFD" = (
+/obj/structure/disposalpipe/trunk{
+ dir = 1
+ },
+/obj/structure/disposaloutlet{
+ dir = 8
+ },
+/turf/open/floor/plasteel/darkpurple/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/xenobiology)
+"cFE" = (
+/obj/machinery/atmospherics/pipe/simple/general/visible,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/xenobiology)
+"cFF" = (
+/obj/machinery/light{
+ icon_state = "tube1";
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cFG" = (
+/obj/machinery/light{
+ icon_state = "tube1";
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment,
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cFH" = (
+/obj/machinery/light/small,
+/obj/structure/closet/firecloset/full,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cFI" = (
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cFJ" = (
+/obj/structure/cable/orange{
+ d2 = 2;
+ icon_state = "0-2"
+ },
+/obj/machinery/power/apc{
+ dir = 1;
+ name = "Toxins Storage APC";
+ pixel_x = 0;
+ pixel_y = 25
+ },
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/storage)
+"cFK" = (
+/obj/structure/disposaloutlet{
+ dir = 8
+ },
+/obj/structure/disposalpipe/trunk{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/misc_lab)
+"cFL" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/cable/orange{
+ d2 = 2;
+ icon_state = "0-2"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/misc_lab)
+"cFM" = (
+/obj/structure/window/reinforced,
+/obj/machinery/disposal/bin,
+/obj/structure/disposalpipe/trunk{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 10
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/misc_lab)
+"cFN" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/machinery/door/window{
+ dir = 8;
+ icon_state = "right";
+ name = "Research Delievery Chute";
+ opacity = 1;
+ req_access_txt = "55";
+ tag = "icon-right (WEST)"
+ },
+/obj/effect/turf_decal/delivery,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/misc_lab)
+"cFO" = (
+/obj/structure/disposalpipe/trunk,
+/obj/structure/disposaloutlet{
+ dir = 8
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/misc_lab)
+"cFP" = (
+/obj/machinery/atmospherics/components/unary/thermomachine/freezer{
+ target_temperature = 80;
+ dir = 2;
+ on = 1
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cFQ" = (
+/obj/machinery/atmospherics/pipe/simple/general/visible,
+/obj/machinery/light/small{
+ dir = 1
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cFR" = (
+/obj/structure/closet/emcloset,
+/obj/machinery/camera{
+ c_tag = "Docking Asteroid Hall 14";
+ dir = 4;
+ icon_state = "camera"
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cFS" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 1;
+ on = 1
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cFT" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 1;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cFU" = (
+/obj/machinery/disposal/bin,
+/obj/structure/disposalpipe/trunk{
+ dir = 8
+ },
+/obj/machinery/camera{
+ c_tag = "Docking Asteroid Hall 12";
+ dir = 9;
+ icon_state = "camera";
+ tag = "icon-camera (NORTHWEST)"
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cFV" = (
+/obj/structure/closet/emcloset,
+/obj/machinery/camera{
+ c_tag = "Docking Asteroid Hall 10";
+ dir = 4;
+ icon_state = "camera"
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cFW" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 1;
+ icon_state = "pipe-c"
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cFX" = (
+/obj/machinery/disposal/bin,
+/obj/structure/disposalpipe/trunk{
+ dir = 8
+ },
+/obj/machinery/camera{
+ c_tag = "Docking Asteroid Hall 8";
+ dir = 9;
+ icon_state = "camera";
+ tag = "icon-camera (NORTHWEST)"
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cFY" = (
+/turf/closed/mineral,
+/area/hallway/secondary/entry)
+"cFZ" = (
+/obj/machinery/light{
+ icon_state = "tube1";
+ dir = 8
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/misc_lab)
+"cGa" = (
+/obj/effect/landmark/event_spawn,
+/obj/machinery/r_n_d/experimentor,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/misc_lab)
+"cGb" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/door/window/westleft{
+ name = "Containment Pen";
+ req_access_txt = "55"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/misc_lab)
+"cGc" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/door/window/eastleft{
+ name = "Containment Pen";
+ req_access_txt = "55"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/misc_lab)
+"cGd" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/misc_lab)
+"cGe" = (
+/obj/machinery/autolathe,
+/obj/structure/window/reinforced{
+ dir = 1;
+ layer = 2.9
+ },
+/obj/machinery/camera{
+ c_tag = "Testing Lab";
+ dir = 9;
+ icon_state = "camera";
+ network = list("SS13","RD");
+ tag = "icon-camera (NORTHWEST)"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/misc_lab)
+"cGf" = (
+/obj/structure/plasticflaps,
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/misc_lab)
+"cGg" = (
+/obj/structure/rack,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cGh" = (
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/obj/machinery/atmospherics/pipe/simple/general/visible{
+ dir = 5
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cGi" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/general/visible{
+ dir = 9
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cGj" = (
+/obj/structure/closet/emcloset,
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cGk" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 10
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cGl" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 6
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cGm" = (
+/obj/structure/closet/wardrobe/mixed,
+/turf/open/floor/plasteel/shuttle/white,
+/area/shuttle/arrival)
+"cGn" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 10
+ },
+/obj/effect/landmark/blobstart,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cGo" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 6
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cGp" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cGq" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "Aft Disposals Maintenance";
+ req_access_txt = "12"
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cGr" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/effect/turf_decal/stripes/asteroid/line{
+ icon_state = "ast_warn";
+ dir = 8
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cGs" = (
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cGt" = (
+/turf/closed/wall/rust{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cGu" = (
+/obj/machinery/light/small,
+/turf/open/floor/plating/asteroid,
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cGv" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cGw" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/cable/orange,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/misc_lab)
+"cGx" = (
+/obj/structure/window/reinforced{
+ dir = 1;
+ layer = 2.9
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 9
+ },
+/obj/machinery/computer/rdconsole/experiment,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/misc_lab)
+"cGy" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 1;
+ on = 1
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/misc_lab)
+"cGz" = (
+/obj/machinery/light{
+ dir = 4;
+ icon_state = "tube1"
+ },
+/obj/structure/rack,
+/obj/item/stack/sheet/metal/fifty,
+/obj/item/stack/sheet/glass/fifty,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/misc_lab)
+"cGA" = (
+/obj/structure/disposalpipe/segment,
+/obj/structure/closet/firecloset/full,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cGB" = (
+/obj/machinery/door/airlock/shuttle{
+ name = "Engines"
+ },
+/turf/open/floor/plating,
+/area/shuttle/arrival)
+"cGC" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cGD" = (
+/obj/machinery/light/small{
+ dir = 1
+ },
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cGE" = (
+/turf/open/floor/plating/asteroid,
+/area/hallway/secondary/entry)
+"cGF" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 4;
+ on = 1
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/misc_lab)
+"cGG" = (
+/obj/machinery/atmospherics/pipe/simple/general/visible{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/misc_lab)
+"cGH" = (
+/obj/machinery/atmospherics/pipe/simple/general/visible{
+ dir = 4
+ },
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/misc_lab)
+"cGI" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/cable/orange,
+/obj/machinery/atmospherics/pipe/simple/general/visible{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/misc_lab)
+"cGJ" = (
+/obj/structure/table,
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/general/visible{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/misc_lab)
+"cGK" = (
+/obj/machinery/atmospherics/components/binary/pump{
+ dir = 8;
+ name = "Injector Toggle";
+ on = 0
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/misc_lab)
+"cGL" = (
+/obj/machinery/atmospherics/components/unary/portables_connector/visible{
+ icon_state = "connector_map";
+ dir = 8
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/misc_lab)
+"cGM" = (
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/misc_lab)
+"cGN" = (
+/obj/structure/filingcabinet/chestdrawer,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/misc_lab)
+"cGO" = (
+/obj/structure/shuttle/engine/heater,
+/obj/structure/window/reinforced,
+/turf/open/floor/plating,
+/area/shuttle/arrival)
+"cGP" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cGQ" = (
+/obj/structure/grille/broken,
+/turf/open/floor/plating/asteroid,
+/area/hallway/secondary/entry)
+"cGR" = (
+/turf/closed/wall,
+/area/maintenance/disposal{
+ name = "South-Western External Waste Belt"
+ })
+"cGS" = (
+/obj/structure/disposalpipe/trunk,
+/obj/machinery/disposal/deliveryChute{
+ tag = "icon-intake (NORTH)";
+ icon_state = "intake";
+ dir = 1
+ },
+/turf/open/floor/plating/airless,
+/area/maintenance/disposal{
+ name = "South-Western External Waste Belt"
+ })
+"cGT" = (
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/mine/unexplored{
+ name = "Research Asteroid"
+ })
+"cGU" = (
+/obj/structure/disposalpipe/segment,
+/obj/structure/grille,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cGV" = (
+/obj/effect/spawner/lootdrop/two_percent_xeno_egg_spawner,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/misc_lab)
+"cGW" = (
+/obj/machinery/shieldwallgen{
+ req_access = list(55)
+ },
+/obj/structure/cable/orange,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/misc_lab)
+"cGX" = (
+/obj/item/device/radio/intercom{
+ broadcasting = 0;
+ name = "Station Intercom (General)";
+ pixel_x = 0;
+ pixel_y = -28
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/misc_lab)
+"cGY" = (
+/obj/structure/disposalpipe/segment{
+ dir = 1;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/misc_lab)
+"cGZ" = (
+/obj/machinery/disposal/bin,
+/obj/structure/disposalpipe/trunk{
+ dir = 8
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/misc_lab)
+"cHa" = (
+/obj/machinery/status_display{
+ density = 0;
+ layer = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/misc_lab)
+"cHb" = (
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cHc" = (
+/obj/structure/barricade/wooden,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cHd" = (
+/obj/structure/shuttle/engine/propulsion{
+ name = "shuttle engine"
+ },
+/turf/open/floor/plating/airless,
+/area/shuttle/arrival)
+"cHe" = (
+/obj/docking_port/stationary{
+ dir = 1;
+ dwidth = 4;
+ height = 17;
+ id = "arrivals_stationary";
+ name = "arrivals";
+ width = 9
+ },
+/obj/docking_port/mobile/arrivals{
+ dir = 1;
+ dwidth = 4;
+ height = 17;
+ width = 9
+ },
+/turf/closed/wall/mineral/titanium,
+/area/shuttle/arrival)
+"cHf" = (
+/turf/closed/wall,
+/area/maintenance/disposal{
+ name = "South-Eastern External Waste Belt"
+ })
+"cHg" = (
+/obj/structure/disposaloutlet{
+ icon_state = "outlet";
+ dir = 1
+ },
+/obj/structure/disposalpipe/trunk,
+/turf/open/floor/plating/airless,
+/area/maintenance/disposal{
+ name = "South-Eastern External Waste Belt"
+ })
+"cHh" = (
+/obj/structure/disposalpipe/segment,
+/turf/closed/wall,
+/area/maintenance/disposal{
+ name = "South-Western External Waste Belt"
+ })
+"cHi" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/disposalpipe/segment,
+/obj/item/device/assembly/mousetrap/armed,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cHj" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "Aft Asteroid Maintenance";
+ req_access_txt = "47"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/misc_lab)
+"cHk" = (
+/obj/structure/rack,
+/obj/effect/spawner/lootdrop/maintenance,
+/obj/effect/decal/cleanable/cobweb,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cHl" = (
+/obj/structure/girder,
+/obj/structure/grille,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cHm" = (
+/turf/closed/wall,
+/area/hallway/secondary/entry)
+"cHn" = (
+/obj/machinery/door/airlock/glass_external{
+ cyclelinkeddir = 8
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cHo" = (
+/obj/structure/disposalpipe/segment,
+/turf/closed/wall/rust,
+/area/maintenance/disposal{
+ name = "South-Eastern External Waste Belt"
+ })
+"cHp" = (
+/obj/structure/disposalpipe/trunk{
+ dir = 1
+ },
+/obj/structure/disposaloutlet,
+/turf/open/floor/plating,
+/area/maintenance/disposal{
+ name = "South-Western External Waste Belt"
+ })
+"cHq" = (
+/turf/closed/wall/rust,
+/area/maintenance/disposal{
+ name = "South-Western External Waste Belt"
+ })
+"cHr" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/spawner/lootdrop/grille_or_trash,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cHs" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/asteroid/line{
+ icon_state = "ast_warn";
+ dir = 1
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cHt" = (
+/obj/machinery/power/apc{
+ dir = 1;
+ name = "Testing Lab APC";
+ pixel_x = 0;
+ pixel_y = 25
+ },
+/obj/structure/cable/orange{
+ d2 = 4;
+ icon_state = "0-4"
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/misc_lab)
+"cHu" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/item/device/assembly/mousetrap/armed,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cHv" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cHw" = (
+/obj/structure/girder,
+/obj/structure/grille,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cHx" = (
+/obj/machinery/hydroponics/soil,
+/obj/item/seeds/poppy,
+/obj/effect/decal/cleanable/cobweb/cobweb2,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cHy" = (
+/obj/machinery/light/small,
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cHz" = (
+/obj/machinery/door/airlock/glass_external{
+ cyclelinkeddir = 8
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cHA" = (
+/obj/structure/lattice/catwalk,
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/space,
+/area/space)
+"cHB" = (
+/obj/structure/lattice/catwalk,
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/turf/open/space,
+/area/space)
+"cHC" = (
+/turf/closed/wall/rust,
+/area/maintenance/disposal{
+ name = "South-Eastern External Waste Belt"
+ })
+"cHD" = (
+/obj/machinery/power/apc{
+ dir = 1;
+ name = "South-Eastern External Waste Belt APC";
+ pixel_x = 0;
+ pixel_y = 24
+ },
+/obj/structure/cable/orange{
+ d2 = 2;
+ icon_state = "0-2"
+ },
+/obj/effect/turf_decal/stripes/end,
+/turf/open/floor/plating,
+/area/maintenance/disposal{
+ name = "South-Eastern External Waste Belt"
+ })
+"cHE" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/structure/rack,
+/obj/item/clothing/mask/gas,
+/obj/item/clothing/mask/gas,
+/obj/item/weapon/wirecutters,
+/turf/open/floor/plasteel/floorgrime,
+/area/maintenance/disposal{
+ name = "South-Eastern External Waste Belt"
+ })
+"cHF" = (
+/obj/machinery/disposal/deliveryChute,
+/obj/structure/disposalpipe/trunk{
+ dir = 1
+ },
+/turf/open/floor/plating,
+/area/maintenance/disposal{
+ name = "South-Eastern External Waste Belt"
+ })
+"cHG" = (
+/obj/machinery/conveyor/auto,
+/obj/machinery/light/small{
+ dir = 8
+ },
+/turf/open/floor/plating,
+/area/maintenance/disposal{
+ name = "South-Western External Waste Belt"
+ })
+"cHH" = (
+/obj/structure/rack,
+/obj/item/clothing/mask/breath,
+/obj/item/weapon/tank/internals/emergency_oxygen,
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/turf/open/floor/plasteel/floorgrime,
+/area/maintenance/disposal{
+ name = "South-Western External Waste Belt"
+ })
+"cHI" = (
+/obj/effect/turf_decal/stripes/end,
+/obj/structure/cable/orange{
+ d2 = 2;
+ icon_state = "0-2"
+ },
+/obj/machinery/power/apc{
+ dir = 1;
+ name = "South-Western External Waste Belt APC";
+ pixel_x = 0;
+ pixel_y = 24
+ },
+/turf/open/floor/plating,
+/area/maintenance/disposal{
+ name = "South-Western External Waste Belt"
+ })
+"cHJ" = (
+/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/stripes/asteroid/line,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cHK" = (
+/obj/structure/disposalpipe/segment,
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/effect/turf_decal/stripes/asteroid/line,
+/obj/item/device/assembly/mousetrap/armed,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cHL" = (
+/obj/structure/closet,
+/obj/item/seeds/random,
+/obj/item/seeds/chili,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cHM" = (
+/obj/effect/spawner/lootdrop/grille_or_trash,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cHN" = (
+/obj/machinery/hydroponics/soil,
+/obj/machinery/light/small{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cHO" = (
+/obj/machinery/door/airlock/glass_external{
+ cyclelinkeddir = 8
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plating,
+/area/maintenance/disposal{
+ name = "South-Eastern External Waste Belt"
+ })
+"cHP" = (
+/obj/machinery/light/small,
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plating,
+/area/maintenance/disposal{
+ name = "South-Eastern External Waste Belt"
+ })
+"cHQ" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel/floorgrime,
+/area/maintenance/disposal{
+ name = "South-Eastern External Waste Belt"
+ })
+"cHR" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/turf/open/floor/plasteel/floorgrime,
+/area/maintenance/disposal{
+ name = "South-Eastern External Waste Belt"
+ })
+"cHS" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/plasteel/floorgrime,
+/area/maintenance/disposal{
+ name = "South-Eastern External Waste Belt"
+ })
+"cHT" = (
+/obj/machinery/conveyor/auto{
+ icon_state = "conveyor0";
+ dir = 1
+ },
+/obj/machinery/light/small{
+ dir = 4
+ },
+/turf/open/floor/plating,
+/area/maintenance/disposal{
+ name = "South-Eastern External Waste Belt"
+ })
+"cHU" = (
+/obj/machinery/conveyor/auto,
+/turf/open/floor/plating,
+/area/maintenance/disposal{
+ name = "South-Western External Waste Belt"
+ })
+"cHV" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 10
+ },
+/turf/open/floor/plasteel/floorgrime,
+/area/maintenance/disposal{
+ name = "South-Western External Waste Belt"
+ })
+"cHW" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel/floorgrime,
+/area/maintenance/disposal{
+ name = "South-Western External Waste Belt"
+ })
+"cHX" = (
+/obj/effect/decal/cleanable/cobweb/cobweb2,
+/turf/open/floor/plasteel/floorgrime,
+/area/maintenance/disposal{
+ name = "South-Western External Waste Belt"
+ })
+"cHY" = (
+/obj/structure/disposalpipe/segment,
+/obj/machinery/door/airlock/maintenance{
+ name = "Aft Asteroid Maintenance";
+ req_access_txt = "12"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cHZ" = (
+/obj/structure/disposalpipe/segment,
+/obj/machinery/door/airlock/maintenance{
+ name = "Aft Asteroid Maintenance";
+ req_access_txt = "12"
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cIa" = (
+/obj/structure/girder,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cIb" = (
+/obj/structure/table,
+/obj/item/weapon/cultivator,
+/obj/item/seeds/banana,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cIc" = (
+/obj/structure/grille,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cId" = (
+/obj/machinery/hydroponics/soil,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cIe" = (
+/obj/structure/grille/broken,
+/obj/effect/turf_decal/stripes/corner,
+/turf/open/floor/plating,
+/area/maintenance/disposal{
+ name = "South-Eastern External Waste Belt"
+ })
+"cIf" = (
+/obj/effect/turf_decal/stripes/line,
+/obj/item/weapon/wrench,
+/turf/open/floor/plasteel/floorgrime,
+/area/maintenance/disposal{
+ name = "South-Eastern External Waste Belt"
+ })
+"cIg" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 6
+ },
+/turf/open/floor/plasteel/floorgrime,
+/area/maintenance/disposal{
+ name = "South-Eastern External Waste Belt"
+ })
+"cIh" = (
+/obj/machinery/conveyor/auto{
+ icon_state = "conveyor0";
+ dir = 1
+ },
+/turf/open/floor/plating,
+/area/maintenance/disposal{
+ name = "South-Eastern External Waste Belt"
+ })
+"cIi" = (
+/obj/machinery/conveyor/auto{
+ dir = 9;
+ icon_state = "conveyor0";
+ verted = -1
+ },
+/turf/open/floor/plating,
+/area/maintenance/disposal{
+ name = "South-Western External Waste Belt"
+ })
+"cIj" = (
+/obj/machinery/conveyor/auto{
+ tag = "icon-conveyor0 (SOUTHEAST)";
+ icon_state = "conveyor0";
+ dir = 6
+ },
+/turf/open/floor/plating,
+/area/maintenance/disposal{
+ name = "South-Western External Waste Belt"
+ })
+"cIk" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 10
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/turf/open/floor/plasteel/floorgrime,
+/area/maintenance/disposal{
+ name = "South-Western External Waste Belt"
+ })
+"cIl" = (
+/obj/effect/turf_decal/stripes/line,
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plating,
+/area/maintenance/disposal{
+ name = "South-Western External Waste Belt"
+ })
+"cIm" = (
+/obj/machinery/door/airlock/glass_external{
+ cyclelinkeddir = 8
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plating,
+/area/maintenance/disposal{
+ name = "South-Western External Waste Belt"
+ })
+"cIn" = (
+/obj/machinery/light/small,
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plating,
+/area/maintenance/disposal{
+ name = "South-Western External Waste Belt"
+ })
+"cIo" = (
+/obj/machinery/door/airlock/glass_external{
+ cyclelinkeddir = 8
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cIp" = (
+/obj/machinery/light/small,
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cIq" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cIr" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/girder,
+/obj/structure/grille,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cIs" = (
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cIt" = (
+/obj/structure/disposalpipe/segment,
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cIu" = (
+/obj/structure/rack,
+/obj/effect/decal/cleanable/cobweb/cobweb2,
+/obj/item/weapon/storage/toolbox/mechanical,
+/obj/effect/spawner/lootdrop/maintenance,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cIv" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cIw" = (
+/obj/structure/table,
+/obj/item/weapon/weldingtool/mini,
+/turf/open/floor/plasteel/floorgrime,
+/area/maintenance/disposal{
+ name = "South-Eastern External Waste Belt"
+ })
+"cIx" = (
+/obj/item/chair,
+/turf/open/floor/plasteel/floorgrime,
+/area/maintenance/disposal{
+ name = "South-Eastern External Waste Belt"
+ })
+"cIy" = (
+/obj/machinery/conveyor/auto{
+ tag = "icon-conveyor0 (NORTHEAST)";
+ icon_state = "conveyor0";
+ dir = 5
+ },
+/turf/open/floor/plating,
+/area/maintenance/disposal{
+ name = "South-Eastern External Waste Belt"
+ })
+"cIz" = (
+/obj/machinery/conveyor/auto{
+ tag = "icon-conveyor0 (EAST)";
+ icon_state = "conveyor0";
+ dir = 4
+ },
+/turf/open/floor/plating,
+/area/maintenance/disposal{
+ name = "South-Eastern External Waste Belt"
+ })
+"cIA" = (
+/obj/machinery/conveyor/auto{
+ dir = 10;
+ icon_state = "conveyor0";
+ tag = "icon-conveyor0 (SOUTHWEST)";
+ verted = -1
+ },
+/turf/open/floor/plating,
+/area/maintenance/disposal{
+ name = "South-Eastern External Waste Belt"
+ })
+"cIB" = (
+/obj/machinery/conveyor/auto{
+ tag = "icon-conveyor0 (EAST)";
+ icon_state = "conveyor0";
+ dir = 4
+ },
+/obj/structure/sign/poster/random{
+ name = "random official poster";
+ pixel_x = 0;
+ pixel_y = -32;
+ random_basetype = /obj/structure/sign/poster/official
+ },
+/turf/open/floor/plating,
+/area/maintenance/disposal{
+ name = "South-Western External Waste Belt"
+ })
+"cIC" = (
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cID" = (
+/obj/structure/disposalpipe/segment,
+/obj/structure/girder,
+/obj/structure/grille,
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cIE" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
+/obj/item/weapon/wrench,
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cIF" = (
+/obj/structure/disposalpipe/junction{
+ icon_state = "pipe-j2";
+ dir = 1
+ },
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cIG" = (
+/obj/structure/girder,
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cIH" = (
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plating,
+/area/maintenance/disposal{
+ name = "South-Eastern External Waste Belt"
+ })
+"cII" = (
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plasteel/floorgrime,
+/area/maintenance/disposal{
+ name = "South-Eastern External Waste Belt"
+ })
+"cIJ" = (
+/obj/machinery/light/small,
+/obj/machinery/conveyor/auto{
+ dir = 9;
+ icon_state = "conveyor0";
+ verted = -1
+ },
+/turf/open/floor/plating,
+/area/maintenance/disposal{
+ name = "South-Western External Waste Belt"
+ })
+"cIK" = (
+/obj/structure/disposalpipe/trunk{
+ dir = 4
+ },
+/obj/machinery/disposal/deliveryChute{
+ dir = 8
+ },
+/turf/open/floor/plating,
+/area/maintenance/disposal{
+ name = "South-Western External Waste Belt"
+ })
+"cIL" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall,
+/area/maintenance/disposal{
+ name = "South-Western External Waste Belt"
+ })
+"cIM" = (
+/obj/structure/disposalpipe/trunk{
+ dir = 8
+ },
+/obj/structure/disposaloutlet{
+ dir = 4
+ },
+/turf/open/floor/plating/airless,
+/area/maintenance/disposal{
+ name = "South-Western External Waste Belt"
+ })
+"cIN" = (
+/obj/structure/disposalpipe/trunk{
+ dir = 4
+ },
+/obj/machinery/disposal/deliveryChute{
+ dir = 8
+ },
+/turf/open/floor/plating/airless,
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cIO" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall/rust{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cIP" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/light/small{
+ dir = 8
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cIQ" = (
+/obj/structure/disposalpipe/junction{
+ dir = 4;
+ icon_state = "pipe-j2"
+ },
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cIR" = (
+/obj/structure/disposalpipe/sortjunction{
+ dir = 4;
+ icon_state = "pipe-j2s";
+ name = "disposal pipe - Research";
+ sortType = 12
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cIS" = (
+/obj/structure/disposalpipe/sortjunction{
+ dir = 4;
+ icon_state = "pipe-j2s";
+ name = "disposal pipe - Robotics";
+ sortType = 14
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cIT" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cIU" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/light/small{
+ dir = 4
+ },
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cIV" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cIW" = (
+/obj/structure/disposalpipe/trunk{
+ dir = 8
+ },
+/obj/structure/disposaloutlet{
+ dir = 4
+ },
+/turf/open/floor/plating/airless,
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cIX" = (
+/obj/machinery/disposal/deliveryChute{
+ dir = 8
+ },
+/obj/structure/disposalpipe/trunk{
+ dir = 4
+ },
+/turf/open/floor/plating/airless,
+/area/maintenance/disposal{
+ name = "South-Eastern External Waste Belt"
+ })
+"cIY" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall,
+/area/maintenance/disposal{
+ name = "South-Eastern External Waste Belt"
+ })
+"cIZ" = (
+/obj/structure/disposaloutlet{
+ dir = 4
+ },
+/obj/structure/disposalpipe/trunk{
+ dir = 8
+ },
+/turf/open/floor/plating,
+/area/maintenance/disposal{
+ name = "South-Eastern External Waste Belt"
+ })
+"cJa" = (
+/obj/machinery/conveyor/auto{
+ tag = "icon-conveyor0 (EAST)";
+ icon_state = "conveyor0";
+ dir = 4
+ },
+/obj/machinery/light/small,
+/turf/open/floor/plating,
+/area/maintenance/disposal{
+ name = "South-Eastern External Waste Belt"
+ })
+"cJb" = (
+/obj/structure/window/reinforced/fulltile,
+/obj/structure/grille,
+/turf/open/floor/plating,
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cJc" = (
+/obj/structure/table,
+/obj/item/weapon/storage/fancy/cigarettes,
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cJd" = (
+/obj/structure/chair{
+ dir = 8
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cJe" = (
+/obj/structure/closet/firecloset/full,
+/obj/item/weapon/coin/silver,
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cJf" = (
+/obj/structure/reagent_dispensers/fueltank,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cJg" = (
+/obj/structure/table,
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cJh" = (
+/obj/docking_port/stationary{
+ dheight = 9;
+ dir = 2;
+ dwidth = 5;
+ height = 24;
+ id = "syndicate_s";
+ name = "south of station";
+ turf_type = /turf/open/space;
+ width = 18
+ },
+/turf/open/space,
+/area/space)
+"cJi" = (
+/obj/machinery/ai_status_display,
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/ai)
+"cJj" = (
+/obj/machinery/ai_status_display,
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/ai)
+"cJk" = (
+/obj/machinery/ai_status_display,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/ai)
+"cJl" = (
+/obj/machinery/ai_status_display,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/ai)
+"cJm" = (
+/obj/machinery/ai_status_display,
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/ai)
+"cJn" = (
+/obj/machinery/ai_status_display,
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/ai)
+"cJo" = (
+/obj/machinery/ai_status_display,
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/ai)
+"cJp" = (
+/obj/machinery/ai_status_display,
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/turret_protected/ai)
+"cJq" = (
+/obj/structure/closet,
+/obj/effect/spawner/lootdrop/maintenance,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"cJr" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/status_display{
+ density = 0;
+ layer = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/sorting)
+"cJs" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/ai_status_display,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/sorting)
+"cJt" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/ai_status_display,
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/prison)
+"cJu" = (
+/obj/machinery/ai_status_display,
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/warden)
+"cJv" = (
+/obj/machinery/status_display{
+ density = 0;
+ layer = 4
+ },
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/warden)
+"cJw" = (
+/obj/machinery/newscaster/security_unit{
+ pixel_x = 32
+ },
+/turf/open/floor/carpet{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/captain)
+"cJx" = (
+/obj/machinery/light/small{
+ dir = 8
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"cJy" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/main)
+"cJz" = (
+/obj/structure/disposalpipe/trunk{
+ dir = 8
+ },
+/obj/structure/disposaloutlet,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/main)
+"cJA" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"cJB" = (
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
+/obj/structure/plasticflaps,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/main)
+"cJC" = (
+/obj/effect/turf_decal/delivery,
+/obj/machinery/navbeacon{
+ codes_txt = "delivery;dir=8";
+ dir = 8;
+ freq = 1400;
+ location = "Brig"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/main)
+"cJD" = (
+/obj/effect/turf_decal/stripes/line,
+/obj/machinery/door/window/brigdoor/southleft{
+ name = "Armory Delievery Chute";
+ req_access_txt = "3"
+ },
+/obj/effect/turf_decal/delivery,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/main)
+"cJE" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/machinery/newscaster{
+ pixel_y = 32
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/locker)
+"cJF" = (
+/obj/machinery/ai_status_display,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/captain)
+"cJG" = (
+/obj/machinery/status_display{
+ density = 0;
+ layer = 4
+ },
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/warden)
+"cJH" = (
+/obj/machinery/ai_status_display,
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/warden)
+"cJI" = (
+/obj/machinery/ai_status_display,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/sleep_female)
+"cJJ" = (
+/obj/machinery/status_display{
+ density = 0;
+ layer = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/courtroom)
+"cJK" = (
+/obj/machinery/ai_status_display,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/courtroom)
+"cJL" = (
+/obj/machinery/ai_status_display,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/courtroom)
+"cJM" = (
+/obj/structure/sign/poster/random{
+ name = "random contraband poster";
+ pixel_x = 32;
+ random_basetype = /obj/structure/sign/poster/contraband
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"cJN" = (
+/obj/machinery/ai_status_display,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"cJO" = (
+/obj/machinery/ai_status_display,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/bridge)
+"cJP" = (
+/obj/machinery/ai_status_display,
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/lawoffice)
+"cJQ" = (
+/obj/machinery/newscaster{
+ pixel_y = 32
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/locker)
+"cJR" = (
+/obj/machinery/status_display{
+ density = 0;
+ layer = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/courtroom)
+"cJS" = (
+/obj/machinery/ai_status_display,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/courtroom)
+"cJT" = (
+/obj/structure/table,
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"cJU" = (
+/obj/machinery/holopad,
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"cJV" = (
+/obj/machinery/ai_status_display,
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/heads)
+"cJW" = (
+/obj/machinery/status_display{
+ density = 0;
+ layer = 4
+ },
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/heads)
+"cJX" = (
+/obj/structure/bed,
+/obj/structure/sign/poster/official/work_for_a_future{
+ pixel_x = -32
+ },
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"cJY" = (
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"cJZ" = (
+/obj/machinery/ai_status_display,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/locker)
+"cKa" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/obj/structure/cable/orange{
+ d2 = 4;
+ icon_state = "0-4"
+ },
+/obj/machinery/door/poddoor/preopen{
+ id = "frontbrig";
+ name = "Emergency External Blast Doors"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"cKb" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/navbeacon{
+ codes_txt = "patrol;next_patrol=CommandWest";
+ location = "Security";
+ name = "navigation beacon (Security)"
+ },
+/turf/open/floor/plasteel/red/corner{
+ tag = "icon-redcorner (EAST)";
+ icon_state = "redcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"cKc" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/turf/open/floor/plasteel/red/corner{
+ tag = "icon-redcorner (EAST)";
+ icon_state = "redcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"cKd" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/navbeacon{
+ codes_txt = "patrol;next_patrol=Service";
+ location = "CommandWest";
+ name = "navigation beacon (Command-West)"
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"cKe" = (
+/obj/machinery/ai_status_display,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"cKf" = (
+/obj/machinery/ai_status_display,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/teleporter{
+ name = "Security Quantum Pad"
+ })
+"cKg" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/circuit,
+/area/ai_monitored/nuke_storage)
+"cKh" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 1;
+ on = 1
+ },
+/turf/open/floor/circuit,
+/area/ai_monitored/nuke_storage)
+"cKi" = (
+/obj/machinery/ai_status_display,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"cKj" = (
+/obj/machinery/ai_status_display,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters{
+ name = "Rehabilitation Dome"
+ })
+"cKk" = (
+/obj/machinery/status_display{
+ density = 0;
+ layer = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters{
+ name = "Rehabilitation Dome"
+ })
+"cKl" = (
+/obj/machinery/hydroponics/soil,
+/obj/structure/sign/poster/random{
+ name = "random official poster";
+ pixel_x = 32;
+ random_basetype = /obj/structure/sign/poster/official
+ },
+/turf/open/floor/grass{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters{
+ name = "Rehabilitation Dome"
+ })
+"cKm" = (
+/obj/machinery/hydroponics/soil,
+/obj/machinery/newscaster{
+ pixel_y = -32
+ },
+/turf/open/floor/grass{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters{
+ name = "Rehabilitation Dome"
+ })
+"cKn" = (
+/obj/machinery/ai_status_display,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/bar)
+"cKo" = (
+/obj/machinery/ai_status_display,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/kitchen)
+"cKp" = (
+/obj/machinery/ai_status_display,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"cKq" = (
+/obj/machinery/navbeacon{
+ codes_txt = "patrol;next_patrol=EngineeringWest2";
+ location = "EngineeringWest";
+ name = "navigation beacon (Engineering-West)"
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"cKr" = (
+/obj/machinery/ai_status_display,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"cKs" = (
+/obj/structure/flora/ausbushes/fullgrass,
+/obj/structure/sign/poster/random{
+ name = "random official poster";
+ pixel_x = 0;
+ pixel_y = -32;
+ random_basetype = /obj/structure/sign/poster/official
+ },
+/turf/open/floor/grass{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters{
+ name = "Rehabilitation Dome"
+ })
+"cKt" = (
+/obj/structure/flora/ausbushes/fullgrass,
+/obj/machinery/newscaster{
+ pixel_x = 28
+ },
+/turf/open/floor/grass{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters{
+ name = "Rehabilitation Dome"
+ })
+"cKu" = (
+/obj/machinery/navbeacon{
+ codes_txt = "patrol;next_patrol=EngineeringMiddle2";
+ location = "EngineeringWest3";
+ name = "navigation beacon (Engineering-West 3)"
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"cKv" = (
+/obj/machinery/ai_status_display,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters{
+ name = "Rehabilitation Dome"
+ })
+"cKw" = (
+/obj/machinery/status_display{
+ density = 0;
+ layer = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters{
+ name = "Rehabilitation Dome"
+ })
+"cKx" = (
+/obj/machinery/ai_status_display,
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engineering)
+"cKy" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/obj/machinery/navbeacon{
+ codes_txt = "patrol;next_patrol=Medbay2";
+ location = "Medbay";
+ name = "navigation beacon (Medbay)"
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"cKz" = (
+/obj/machinery/navbeacon{
+ codes_txt = "patrol;next_patrol=Cargo";
+ location = "Medbay2";
+ name = "navigation beacon (Medbay-2)"
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"cKA" = (
+/obj/machinery/ai_status_display,
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engineering)
+"cKB" = (
+/obj/machinery/ai_status_display,
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engineering)
+"cKC" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/extinguisher_cabinet{
+ pixel_x = 24
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"cKD" = (
+/obj/machinery/status_display{
+ density = 0;
+ layer = 4
+ },
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"cKE" = (
+/obj/machinery/ai_status_display,
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"cKF" = (
+/turf/open/space/basic,
+/area/space)
+"cKG" = (
+/turf/open/space/basic,
+/area/space)
+"cKH" = (
+/turf/open/space/basic,
+/area/space)
+"cKI" = (
+/obj/machinery/ai_status_display,
+/turf/closed/wall/r_wall,
+/area/engine/engineering)
+"cKJ" = (
+/obj/machinery/status_display{
+ density = 0;
+ layer = 4
+ },
+/turf/closed/wall/r_wall,
+/area/engine/engineering)
+"cKK" = (
+/obj/machinery/ai_status_display,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"cKL" = (
+/turf/open/space/basic,
+/area/space)
+"cKM" = (
+/obj/machinery/navbeacon{
+ codes_txt = "patrol;next_patrol=Research";
+ location = "Service";
+ name = "navigation beacon (Service)"
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"cKN" = (
+/turf/open/space/basic,
+/area/space)
+"cKO" = (
+/obj/machinery/light/small{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/fans/tiny,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"cKP" = (
+/obj/machinery/status_display{
+ density = 0;
+ layer = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/genetics_cloning)
+"cKQ" = (
+/obj/machinery/navbeacon{
+ codes_txt = "delivery;dir=8";
+ dir = 8;
+ freq = 1400;
+ location = "Hydroponics"
+ },
+/obj/effect/turf_decal/delivery,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"cKR" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/plasticflaps,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"cKS" = (
+/obj/machinery/ai_status_display,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/storage/primary)
+"cKT" = (
+/obj/machinery/ai_status_display,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/chemistry)
+"cKU" = (
+/obj/machinery/ai_status_display,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/genetics)
+"cKV" = (
+/obj/machinery/atmospherics/pipe/simple/orange/visible{
+ dir = 4
+ },
+/obj/machinery/ai_status_display,
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"cKW" = (
+/obj/structure/window/reinforced{
+ dir = 4;
+ pixel_x = 0
+ },
+/obj/structure/closet/secure_closet/medical3,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay2)
+"cKX" = (
+/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/stripes/line,
+/obj/machinery/door/window/southleft{
+ name = "Medbay Mail Chute";
+ req_access_txt = "45"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay2)
+"cKY" = (
+/obj/machinery/navbeacon{
+ codes_txt = "delivery;dir=4";
+ dir = 4;
+ freq = 1400;
+ location = "Medbay"
+ },
+/obj/machinery/door/window/eastleft{
+ req_access_txt = "45"
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay2)
+"cKZ" = (
+/obj/machinery/status_display{
+ density = 0;
+ layer = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/genetics)
+"cLa" = (
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/maintcentral{
+ name = "Central Asteroid Maintenance"
+ })
+"cLb" = (
+/obj/structure/extinguisher_cabinet{
+ pixel_x = 24
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"cLc" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/navbeacon{
+ codes_txt = "delivery;dir=8";
+ dir = 8;
+ freq = 1400;
+ location = "Engineering"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engine_smes)
+"cLd" = (
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/maintcentral{
+ name = "Central Asteroid Maintenance"
+ })
+"cLe" = (
+/obj/structure/plasticflaps,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engine_smes)
+"cLf" = (
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/maintcentral{
+ name = "Central Asteroid Maintenance"
+ })
+"cLg" = (
+/obj/machinery/ai_status_display,
+/obj/structure/disposalpipe/segment,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/chapel/main)
+"cLh" = (
+/obj/machinery/ai_status_display,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/fitness)
+"cLi" = (
+/obj/machinery/power/apc{
+ dir = 8;
+ name = "Chapel Office APC";
+ pixel_x = -23;
+ pixel_y = 2
+ },
+/obj/structure/cable/orange{
+ d2 = 4;
+ icon_state = "0-4"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/chapel/office)
+"cLj" = (
+/obj/machinery/door/window/westleft{
+ req_access_txt = "22"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/chapel/office)
+"cLk" = (
+/obj/structure/extinguisher_cabinet{
+ pixel_x = 24
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"cLl" = (
+/obj/structure/plasticflaps{
+ name = "Officer Beepsky's Home"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"cLm" = (
+/obj/structure/bed/dogbed,
+/mob/living/simple_animal/bot/secbot/beepsky/jr,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"cLn" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/disposalpipe/segment,
+/obj/structure/sign/securearea{
+ desc = "A warning sign which reads 'WARNING: FUN-SIZED JUSTICE'.";
+ name = "WARNING: FUN-SIZED JUSTICE";
+ pixel_x = -32;
+ pixel_y = 0
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"cLo" = (
+/obj/machinery/ai_status_display,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/exit)
+"cLp" = (
+/obj/machinery/ai_status_display,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cLq" = (
+/obj/structure/chair{
+ dir = 4
+ },
+/obj/machinery/newscaster{
+ pixel_x = -28
+ },
+/turf/open/floor/plasteel/escape{
+ tag = "icon-escape (WEST)";
+ icon_state = "escape";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/exit)
+"cLr" = (
+/obj/machinery/ai_status_display,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/exit)
+"cLs" = (
+/obj/machinery/ai_status_display,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cLt" = (
+/obj/machinery/navbeacon{
+ codes_txt = "patrol;next_patrol=ArrivalsWest";
+ location = "Research";
+ name = "navigation beacon (Research)"
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cLu" = (
+/obj/machinery/navbeacon{
+ codes_txt = "patrol;next_patrol=Departures";
+ location = "ArrivalsWest";
+ name = "navigation beacon (Arrivals-West)"
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cLv" = (
+/obj/structure/extinguisher_cabinet{
+ pixel_x = 24
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/exit)
+"cLw" = (
+/obj/machinery/ai_status_display,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/assembly/robotics)
+"cLx" = (
+/obj/machinery/ai_status_display,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cLy" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/extinguisher_cabinet{
+ pixel_y = 32
+ },
+/turf/open/floor/plasteel/red/corner{
+ tag = "icon-redcorner (EAST)";
+ icon_state = "redcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cLz" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/machinery/navbeacon{
+ codes_txt = "patrol;next_patrol=ArrivalsMiddle";
+ location = "Departures";
+ name = "navigation beacon (Departures)"
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cLA" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/newscaster{
+ pixel_y = -32
+ },
+/turf/open/floor/plasteel/arrival{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cLB" = (
+/obj/machinery/ai_status_display,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cLC" = (
+/obj/machinery/ai_status_display,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cLD" = (
+/obj/machinery/ai_status_display,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cLE" = (
+/obj/machinery/newscaster{
+ pixel_x = -28;
+ pixel_y = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/assembly/robotics)
+"cLF" = (
+/obj/machinery/status_display{
+ density = 0;
+ layer = 4
+ },
+/turf/closed/wall/mineral/titanium,
+/area/shuttle/arrival)
+"cLG" = (
+/obj/machinery/ai_status_display,
+/turf/closed/wall/mineral/titanium,
+/area/shuttle/arrival)
+"cLH" = (
+/obj/machinery/ai_status_display,
+/turf/closed/wall/mineral/titanium,
+/area/shuttle/arrival)
+"cLI" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment,
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/extinguisher_cabinet{
+ pixel_x = 24
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cLJ" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/structure/extinguisher_cabinet{
+ pixel_x = 24
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cLK" = (
+/obj/machinery/status_display{
+ density = 0;
+ layer = 4
+ },
+/turf/closed/wall/mineral/titanium,
+/area/shuttle/arrival)
+"cLL" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/structure/extinguisher_cabinet{
+ pixel_x = 24
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cLM" = (
+/obj/machinery/navbeacon{
+ codes_txt = "delivery;dir=8";
+ dir = 8;
+ freq = 1400;
+ location = "Science"
+ },
+/obj/effect/turf_decal/delivery,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/misc_lab)
+"cLN" = (
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/misc_lab)
+"cLO" = (
+/obj/machinery/ai_status_display,
+/turf/closed/wall/mineral/titanium,
+/area/shuttle/arrival)
+"cLP" = (
+/obj/machinery/status_display{
+ density = 0;
+ layer = 4
+ },
+/turf/closed/wall/mineral/titanium,
+/area/shuttle/arrival)
+"cLQ" = (
+/obj/structure/chair/office/light{
+ dir = 4
+ },
+/obj/effect/landmark/start/warden,
+/turf/open/floor/plasteel/showroomfloor{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/warden)
+"cLR" = (
+/obj/structure/chair/office/light{
+ dir = 8
+ },
+/obj/effect/landmark/start/warden,
+/turf/open/floor/plasteel/showroomfloor{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/warden)
+"cLS" = (
+/obj/structure/chair/stool,
+/obj/effect/landmark/start/assistant,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/locker)
+"cLT" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/effect/landmark/start/cargo_technician,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"cLU" = (
+/obj/structure/disposalpipe/segment,
+/obj/effect/landmark/start/cargo_technician,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"cLV" = (
+/obj/effect/landmark/start/security_officer,
+/turf/open/floor/plasteel/showroomfloor{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/main)
+"cLW" = (
+/obj/effect/landmark/start/security_officer,
+/turf/open/floor/plasteel/showroomfloor{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/main)
+"cLX" = (
+/obj/effect/landmark/start/security_officer,
+/turf/open/floor/plasteel/showroomfloor{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/main)
+"cLY" = (
+/obj/structure/chair/stool,
+/obj/effect/landmark/start/assistant,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/locker)
+"cLZ" = (
+/obj/effect/landmark/start/security_officer,
+/turf/open/floor/plasteel/showroomfloor{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/main)
+"cMa" = (
+/obj/effect/landmark/start/security_officer,
+/turf/open/floor/plasteel/showroomfloor{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/main)
+"cMb" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/effect/landmark/start/cargo_technician,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"cMc" = (
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/toilet)
+"cMd" = (
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/toilet)
+"cMe" = (
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/toilet)
+"cMf" = (
+/obj/structure/chair{
+ dir = 1
+ },
+/obj/effect/landmark/start/assistant,
+/turf/open/floor/plasteel/vault{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 5
+ },
+/area/crew_quarters/courtroom)
+"cMg" = (
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/toilet)
+"cMh" = (
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/toilet)
+"cMi" = (
+/obj/structure/chair{
+ dir = 1
+ },
+/obj/effect/landmark/start/assistant,
+/turf/open/floor/plasteel/vault{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 5
+ },
+/area/crew_quarters/courtroom)
+"cMj" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/effect/landmark/start/lawyer,
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/lawoffice)
+"cMk" = (
+/obj/machinery/door/firedoor,
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/machinery/door/airlock/glass,
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"cMl" = (
+/obj/machinery/door/firedoor,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/machinery/door/airlock/glass,
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"cMm" = (
+/obj/effect/landmark/start/janitor,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/janitor)
+"cMn" = (
+/obj/structure/chair/stool,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/effect/landmark/start/assistant,
+/turf/open/floor/grass{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters{
+ name = "Rehabilitation Dome"
+ })
+"cMo" = (
+/obj/structure/chair/stool,
+/obj/effect/landmark/start/assistant,
+/turf/open/floor/grass{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters{
+ name = "Rehabilitation Dome"
+ })
+"cMp" = (
+/obj/effect/landmark/start/medical_doctor,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/surgery)
+"cMq" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/effect/landmark/start/medical_doctor,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"cMr" = (
+/obj/structure/chair{
+ dir = 4
+ },
+/obj/effect/landmark/start/assistant,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"cMs" = (
+/obj/effect/landmark/start/botanist,
+/turf/open/floor/plasteel/hydrofloor{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"cMt" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/effect/landmark/start/botanist,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"cMu" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/effect/landmark/start/botanist,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"cMv" = (
+/obj/effect/landmark/start/botanist,
+/turf/open/floor/plasteel/hydrofloor{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"cMw" = (
+/obj/machinery/door/firedoor,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/effect/turf_decal/stripes/line,
+/obj/machinery/door/airlock/glass,
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"cMx" = (
+/obj/machinery/door/firedoor,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/disposalpipe/segment,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/effect/turf_decal/stripes/line,
+/obj/machinery/door/airlock/glass,
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"cMy" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/machinery/light{
+ dir = 8
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"cMz" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_y = 0
+ },
+/obj/effect/landmark/start/station_engineer,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engineering)
+"cMA" = (
+/obj/structure/stacklifter,
+/obj/effect/landmark/start/assistant,
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/fitness)
+"cMB" = (
+/obj/structure/chair/comfy/black{
+ tag = "icon-comfychair (NORTH)";
+ icon_state = "comfychair";
+ dir = 1
+ },
+/obj/effect/landmark/start/assistant,
+/turf/open/floor/plasteel/grimy{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library{
+ name = "Lounge"
+ })
+"cMC" = (
+/obj/effect/landmark/start/station_engineer,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/engineering)
+"cMD" = (
+/obj/effect/landmark/start/medical_doctor,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay2)
+"cME" = (
+/obj/structure/weightlifter,
+/obj/effect/landmark/start/assistant,
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/fitness)
+"cMF" = (
+/obj/effect/landmark/start/atmospheric_technician,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/atmos)
+"cMG" = (
+/obj/structure/chair/comfy/brown{
+ dir = 4
+ },
+/obj/machinery/light/small{
+ dir = 8
+ },
+/obj/effect/landmark/start/assistant,
+/turf/open/floor/plasteel/grimy{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library)
+"cMH" = (
+/turf/closed/wall/rust{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/maintcentral{
+ name = "Central Asteroid Maintenance"
+ })
+"cMI" = (
+/turf/closed/wall/rust{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/maintcentral{
+ name = "Central Asteroid Maintenance"
+ })
+"cMJ" = (
+/turf/closed/wall/rust{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/maintcentral{
+ name = "Central Asteroid Maintenance"
+ })
+"cMK" = (
+/turf/closed/wall/rust{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/maintcentral{
+ name = "Central Asteroid Maintenance"
+ })
+"cML" = (
+/obj/structure/chair{
+ dir = 4
+ },
+/obj/effect/landmark/start/assistant,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/chapel/main)
+"cMM" = (
+/turf/closed/wall/rust{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/maintcentral{
+ name = "Central Asteroid Maintenance"
+ })
+"cMN" = (
+/turf/closed/wall/rust{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/maintcentral{
+ name = "Central Asteroid Maintenance"
+ })
+"cMO" = (
+/turf/closed/wall/rust{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/maintcentral{
+ name = "Central Asteroid Maintenance"
+ })
+"cMP" = (
+/obj/machinery/droneDispenser/preloaded,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/maintcentral{
+ name = "Central Asteroid Maintenance"
+ })
+"cMQ" = (
+/obj/structure/rack,
+/obj/item/stack/sheet/metal/fifty,
+/obj/item/stack/sheet/metal/fifty,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/maintcentral{
+ name = "Central Asteroid Maintenance"
+ })
+"cMR" = (
+/turf/closed/wall/rust{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/maintcentral{
+ name = "Central Asteroid Maintenance"
+ })
+"cMS" = (
+/turf/closed/wall/rust{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/maintcentral{
+ name = "Central Asteroid Maintenance"
+ })
+"cMT" = (
+/turf/closed/wall/rust{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/maintcentral{
+ name = "Central Asteroid Maintenance"
+ })
+"cMU" = (
+/turf/closed/wall/rust{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/maintcentral{
+ name = "Central Asteroid Maintenance"
+ })
+"cMV" = (
+/obj/machinery/light/small{
+ dir = 8
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/maintcentral{
+ name = "Central Asteroid Maintenance"
+ })
+"cMW" = (
+/obj/structure/rack,
+/obj/item/stack/sheet/glass/fifty,
+/obj/item/stack/sheet/glass/fifty,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/maintcentral{
+ name = "Central Asteroid Maintenance"
+ })
+"cMX" = (
+/turf/closed/wall/rust{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/maintcentral{
+ name = "Central Asteroid Maintenance"
+ })
+"cMY" = (
+/turf/closed/wall/rust{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/maintcentral{
+ name = "Central Asteroid Maintenance"
+ })
+"cMZ" = (
+/turf/closed/wall/rust{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/maintcentral{
+ name = "Central Asteroid Maintenance"
+ })
+"cNa" = (
+/obj/structure/chair{
+ dir = 4
+ },
+/obj/effect/landmark/start/assistant,
+/turf/open/floor/plasteel/black{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/chapel/main)
+"cNb" = (
+/turf/closed/wall/rust{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/maintcentral{
+ name = "Central Asteroid Maintenance"
+ })
+"cNc" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "Maintenance Drone Dispensery";
+ req_access_txt = "12"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/maintcentral{
+ name = "Central Asteroid Maintenance"
+ })
+"cNd" = (
+/turf/closed/wall/rust{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/maintcentral{
+ name = "Central Asteroid Maintenance"
+ })
+"cNe" = (
+/turf/closed/wall/rust{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/maintcentral{
+ name = "Central Asteroid Maintenance"
+ })
+"cNf" = (
+/turf/closed/wall/rust{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/maintcentral{
+ name = "Central Asteroid Maintenance"
+ })
+"cNg" = (
+/turf/closed/wall/rust{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/maintcentral{
+ name = "Central Asteroid Maintenance"
+ })
+"cNh" = (
+/turf/closed/wall/rust{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/maintcentral{
+ name = "Central Asteroid Maintenance"
+ })
+"cNi" = (
+/turf/closed/wall/rust{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/maintcentral{
+ name = "Central Asteroid Maintenance"
+ })
+"cNj" = (
+/turf/closed/wall/rust{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/maintcentral{
+ name = "Central Asteroid Maintenance"
+ })
+"cNk" = (
+/turf/closed/wall/rust{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/maintcentral{
+ name = "Central Asteroid Maintenance"
+ })
+"cNl" = (
+/turf/closed/wall/rust{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/maintcentral{
+ name = "Central Asteroid Maintenance"
+ })
+"cNm" = (
+/obj/structure/chair{
+ dir = 4
+ },
+/obj/effect/landmark/start/assistant,
+/turf/open/floor/plasteel/escape{
+ tag = "icon-escape (WEST)";
+ icon_state = "escape";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/exit)
+"cNn" = (
+/obj/machinery/door/firedoor,
+/obj/effect/turf_decal/stripes/line,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/machinery/door/airlock/glass,
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"cNo" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0;
+ tag = ""
+ },
+/obj/machinery/door/firedoor,
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/machinery/door/airlock/glass,
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cNp" = (
+/obj/machinery/door/firedoor,
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/machinery/door/airlock/glass,
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cNq" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/machinery/door/firedoor,
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/machinery/door/airlock/glass,
+/turf/open/floor/plasteel/purple/corner{
+ tag = "icon-purplecorner (WEST)";
+ icon_state = "purplecorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cNr" = (
+/obj/machinery/door/firedoor,
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/machinery/door/airlock/glass,
+/turf/open/floor/plasteel/red/corner{
+ tag = "icon-redcorner (EAST)";
+ icon_state = "redcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cNs" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/effect/landmark/start/roboticist,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/assembly/robotics)
+"cNt" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/effect/landmark/start/scientist,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/xenobiology)
+"cNu" = (
+/obj/effect/landmark/start/scientist,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/misc_lab)
+"cNv" = (
+/obj/effect/landmark/start/scientist,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/misc_lab)
+"cNw" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/newscaster{
+ pixel_y = 32
+ },
+/turf/open/floor/plasteel/red/corner{
+ icon_state = "redcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"cNx" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"cNy" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"cNz" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"cNA" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"cNB" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel/red/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"cNC" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel/red/side{
+ icon_state = "red";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"cND" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"cNE" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel/red/side{
+ icon_state = "red";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"cNF" = (
+/obj/machinery/door/airlock/glass_security{
+ cyclelinkeddir = 2;
+ id_tag = "innerbrig";
+ name = "Brig";
+ req_access_txt = "0";
+ req_one_access_txt = "38;63"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel/red/corner{
+ tag = "icon-redcorner (WEST)";
+ icon_state = "redcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"cNG" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/turf/open/floor/plasteel/red/corner{
+ tag = "icon-redcorner (WEST)";
+ icon_state = "redcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"cNH" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/obj/structure/cable/orange{
+ d2 = 8;
+ icon_state = "0-8"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"cNI" = (
+/obj/structure/table,
+/obj/item/weapon/storage/fancy/donut_box,
+/turf/open/floor/plasteel/red/side{
+ icon_state = "red";
+ dir = 10;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"cNJ" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/obj/structure/cable/orange{
+ d2 = 4;
+ icon_state = "0-4"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"cNK" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/machinery/door/window/brigdoor{
+ name = "Holding Cell";
+ req_access_txt = "2"
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"cNL" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/obj/structure/cable/orange{
+ d2 = 8;
+ icon_state = "0-8"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"cNM" = (
+/obj/machinery/door/airlock/glass_security{
+ cyclelinkeddir = 2;
+ id_tag = "innerbrig";
+ name = "Brig";
+ req_access_txt = "0";
+ req_one_access_txt = "38;63"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel/red/corner{
+ tag = "icon-redcorner (WEST)";
+ icon_state = "redcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"cNN" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/obj/machinery/door/poddoor/preopen{
+ id = "frontbrig";
+ name = "Emergency External Blast Doors"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"cNO" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/obj/machinery/door/poddoor/preopen{
+ id = "frontbrig";
+ name = "Emergency External Blast Doors"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"cNP" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ dir = 1;
+ on = 1
+ },
+/obj/structure/sign/poster/official/help_others{
+ pixel_x = -32
+ },
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"cNQ" = (
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"cNR" = (
+/obj/machinery/airalarm{
+ frequency = 1439;
+ locked = 0;
+ pixel_y = 23
+ },
+/turf/open/floor/plasteel/red/corner{
+ tag = "icon-redcorner (EAST)";
+ icon_state = "redcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"cNS" = (
+/obj/item/weapon/twohanded/required/kirbyplants{
+ icon_state = "plant-21";
+ layer = 4.1;
+ pixel_x = -3;
+ pixel_y = 3
+ },
+/turf/open/floor/plasteel/red/corner{
+ tag = "icon-redcorner (EAST)";
+ icon_state = "redcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"cNT" = (
+/obj/machinery/airalarm{
+ dir = 4;
+ pixel_x = -23;
+ pixel_y = 0
+ },
+/turf/open/floor/plasteel/vault{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ dir = 5
+ },
+/area/crew_quarters/courtroom)
+"cNU" = (
+/obj/structure/disposalpipe/trunk,
+/obj/machinery/disposal/deliveryChute{
+ desc = "A chute for big and small crimnals alike!";
+ dir = 1;
+ icon_state = "intake";
+ name = "Criminal Delivery Chute";
+ tag = "icon-intake (NORTH)"
+ },
+/obj/machinery/door/window/brigdoor/northleft{
+ name = "Criminal Deposit";
+ req_access_txt = "2"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint/supply)
+"cNV" = (
+/obj/machinery/light/small{
+ dir = 8
+ },
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"cNW" = (
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"cNX" = (
+/obj/structure/chair{
+ dir = 8
+ },
+/obj/machinery/flasher{
+ id = "HoldingCell";
+ pixel_x = 24;
+ pixel_y = 0
+ },
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"cNY" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/firealarm{
+ dir = 8;
+ pixel_x = -24
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"cNZ" = (
+/obj/machinery/holopad,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"cOa" = (
+/obj/structure/chair{
+ dir = 8
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"cOb" = (
+/obj/structure/disposalpipe/segment,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint/supply)
+"cOc" = (
+/obj/structure/chair{
+ dir = 8
+ },
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"cOd" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/sign/poster/random{
+ name = "random official poster";
+ pixel_x = -32;
+ random_basetype = /obj/structure/sign/poster/official
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"cOe" = (
+/obj/structure/chair{
+ dir = 8
+ },
+/obj/machinery/light{
+ dir = 4
+ },
+/obj/structure/sign/poster/random{
+ name = "random official poster";
+ pixel_x = 32;
+ random_basetype = /obj/structure/sign/poster/official
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"cOf" = (
+/obj/structure/grille/broken,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"cOg" = (
+/obj/structure/disposaloutlet{
+ dir = 8
+ },
+/obj/structure/disposalpipe/trunk{
+ dir = 4
+ },
+/turf/open/floor/plasteel/floorgrime{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"cOh" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel/red/corner{
+ icon_state = "redcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"cOi" = (
+/turf/open/floor/plasteel/red/corner{
+ icon_state = "redcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"cOj" = (
+/obj/item/weapon/twohanded/required/kirbyplants{
+ icon_state = "plant-21";
+ layer = 4.1;
+ pixel_x = -3;
+ pixel_y = 3
+ },
+/turf/open/floor/plasteel/red/corner{
+ icon_state = "redcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"cOk" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 4;
+ on = 1
+ },
+/turf/open/floor/plasteel/red/corner{
+ icon_state = "redcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"cOl" = (
+/obj/structure/table,
+/obj/item/weapon/book/manual/wiki/security_space_law,
+/turf/open/floor/plasteel/red/corner{
+ icon_state = "redcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"cOm" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/obj/structure/cable/orange{
+ d2 = 2;
+ icon_state = "0-2"
+ },
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/obj/machinery/door/poddoor/preopen{
+ id = "frontbrig";
+ name = "Emergency External Blast Doors"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"cOn" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/obj/structure/cable/orange{
+ d2 = 8;
+ icon_state = "0-8"
+ },
+/obj/machinery/door/poddoor/preopen{
+ id = "frontbrig";
+ name = "Emergency External Blast Doors"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"cOo" = (
+/obj/structure/disposalpipe/segment,
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"cOp" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"cOq" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"cOr" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/brig)
+"cOs" = (
+/obj/structure/cable/orange{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"cOt" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel/red/corner{
+ tag = "icon-redcorner (EAST)";
+ icon_state = "redcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"cOu" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel/red/corner{
+ tag = "icon-redcorner (EAST)";
+ icon_state = "redcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"cOv" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel/red/corner{
+ tag = "icon-redcorner (EAST)";
+ icon_state = "redcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"cOw" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel/red/corner{
+ tag = "icon-redcorner (EAST)";
+ icon_state = "redcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"cOx" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/camera{
+ c_tag = "Command Asteroid Hall 3";
+ dir = 6;
+ icon_state = "camera"
+ },
+/turf/open/floor/plasteel/red/corner{
+ tag = "icon-redcorner (EAST)";
+ icon_state = "redcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"cOy" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/newscaster{
+ pixel_y = 32
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"cOz" = (
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/item/device/assembly/mousetrap/armed,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"cOA" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"cOB" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"cOC" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 9
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/quartermaster/office)
+"cOD" = (
+/obj/effect/turf_decal/stripes/asteroid/line{
+ icon_state = "ast_warn";
+ dir = 8
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/fore{
+ name = "Fore Asteroid Maintenance"
+ })
+"cOE" = (
+/obj/structure/disposalpipe/segment{
+ dir = 1;
+ icon_state = "pipe-c"
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"cOF" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"cOG" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"cOH" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"cOI" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"cOJ" = (
+/obj/machinery/status_display{
+ density = 0;
+ layer = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"cOK" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"cOL" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"cOM" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"cON" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"cOO" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"cOP" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"cOQ" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"cOR" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "Fore Asteroid Maintenance Access";
+ req_access_txt = "12"
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"cOS" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "Fore Asteroid Maintenance Access";
+ req_access_txt = "12"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"cOT" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"cOU" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"cOV" = (
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/janitor)
+"cOW" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/janitor)
+"cOX" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"cOY" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"cOZ" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"cPa" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"cPb" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"cPc" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"cPd" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"cPe" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"cPf" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"cPg" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"cPh" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"cPi" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"cPj" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"cPk" = (
+/obj/machinery/status_display{
+ density = 0;
+ layer = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"cPl" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"cPm" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"cPn" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"cPo" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"cPp" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"cPq" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ icon_state = "neutralcorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"cPr" = (
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"cPs" = (
+/obj/structure/disposalpipe/segment{
+ dir = 1;
+ icon_state = "pipe-c"
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/janitor)
+"cPt" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/janitor)
+"cPu" = (
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/janitor)
+"cPv" = (
+/obj/structure/disposalpipe/segment{
+ dir = 1;
+ icon_state = "pipe-c"
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/janitor)
+"cPw" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/janitor)
+"cPx" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/janitor)
+"cPy" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/janitor)
+"cPz" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/janitor)
+"cPA" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/janitor)
+"cPB" = (
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/janitor)
+"cPC" = (
+/obj/machinery/door/airlock/glass,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"cPD" = (
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/engine,
+/area/space)
+"cPE" = (
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/engine,
+/area/space)
+"cPF" = (
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/engine,
+/area/space)
+"cPG" = (
+/obj/machinery/vending/coffee,
+/turf/open/floor/plasteel/red/side{
+ icon_state = "red";
+ dir = 10;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/space)
+"cPH" = (
+/obj/machinery/vending/cigarette,
+/turf/open/floor/plasteel/red/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/space)
+"cPI" = (
+/obj/structure/table,
+/obj/item/weapon/storage/fancy/donut_box,
+/turf/open/floor/plasteel/red/side{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/space)
+"cPJ" = (
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/engine,
+/area/space)
+"cPK" = (
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/space)
+"cPL" = (
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/space)
+"cPM" = (
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/space)
+"cPN" = (
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/engine,
+/area/space)
+"cPO" = (
+/obj/machinery/door/airlock/glass,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/fore)
+"cPP" = (
+/obj/machinery/light/small{
+ dir = 8
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/space)
+"cPQ" = (
+/obj/structure/bed/dogbed,
+/mob/living/simple_animal/bot/secbot/beepsky,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/space)
+"cPR" = (
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/space)
+"cPS" = (
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/engine,
+/area/space)
+"cPT" = (
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/engine,
+/area/space)
+"cPU" = (
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/space)
+"cPV" = (
+/obj/structure/table,
+/obj/item/weapon/reagent_containers/food/snacks/grown/potato,
+/obj/item/weapon/reagent_containers/food/drinks/bottle/whiskey,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/space)
+"cPW" = (
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/space)
+"cPX" = (
+/obj/structure/sign/securearea{
+ desc = "A warning sign which reads 'WARNING: LOOSE CANNON'.";
+ name = "WARNING: LOOSE CANNON";
+ pixel_y = 32
+ },
+/turf/open/space,
+/area/space)
+"cPY" = (
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/engine,
+/area/space)
+"cPZ" = (
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/engine,
+/area/space)
+"cQa" = (
+/obj/structure/plasticflaps{
+ name = "Officer Beepsky's Home"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/space)
+"cQb" = (
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/space)
+"cQc" = (
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/engine,
+/area/space)
+"cQd" = (
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/engine,
+/area/space)
+"cQe" = (
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/engine,
+/area/space)
+"cQf" = (
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/engine,
+/area/space)
+"cQg" = (
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/engine,
+/area/space)
+"cQh" = (
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/engine,
+/area/space)
+"cQi" = (
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/engine,
+/area/space)
+"cQj" = (
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/engine,
+/area/space)
+"cQk" = (
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/engine,
+/area/space)
+"cQl" = (
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/engine,
+/area/space)
+"cQm" = (
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/engine,
+/area/space)
+"cQn" = (
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/engine,
+/area/space)
+"cQo" = (
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/engine,
+/area/space)
+"cQp" = (
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/engine,
+/area/space)
+"cQq" = (
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/engine,
+/area/space)
+"cQr" = (
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/engine,
+/area/space)
+"cQs" = (
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/engine,
+/area/space)
+"cQt" = (
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/engine,
+/area/space)
+"cQu" = (
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/engine,
+/area/space)
+"cQv" = (
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/engine,
+/area/space)
+"cQw" = (
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/engine,
+/area/space)
+"cQx" = (
+/obj/machinery/door/airlock/glass,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"cQy" = (
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/engine,
+/area/space)
+"cQz" = (
+/obj/structure/disposalpipe/junction{
+ icon_state = "pipe-j1";
+ dir = 1
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"cQA" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"cQB" = (
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"cQC" = (
+/obj/machinery/door/airlock/glass,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"cQD" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"cQE" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"cQF" = (
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"cQG" = (
+/obj/structure/disposalpipe/segment,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"cQH" = (
+/obj/structure/disposalpipe/segment,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"cQI" = (
+/obj/structure/disposalpipe/segment,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"cQJ" = (
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"cQK" = (
+/obj/structure/disposalpipe/segment,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"cQL" = (
+/obj/structure/disposalpipe/segment,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"cQM" = (
+/obj/structure/disposalpipe/segment,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"cQN" = (
+/obj/structure/disposalpipe/segment,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"cQO" = (
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"cQP" = (
+/obj/structure/disposalpipe/segment,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"cQQ" = (
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"cQR" = (
+/obj/structure/disposalpipe/segment,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"cQS" = (
+/obj/structure/disposalpipe/segment,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"cQT" = (
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"cQU" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters{
+ name = "Rehabilitation Dome"
+ })
+"cQV" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters{
+ name = "Rehabilitation Dome"
+ })
+"cQW" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"cQX" = (
+/obj/machinery/status_display{
+ density = 0;
+ layer = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"cQY" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"cQZ" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"cRa" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"cRb" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"cRc" = (
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"cRd" = (
+/obj/structure/disposalpipe/segment{
+ dir = 1;
+ icon_state = "pipe-c"
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"cRe" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"cRf" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"cRg" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"cRh" = (
+/obj/machinery/status_display{
+ density = 0;
+ layer = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"cRi" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"cRj" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"cRk" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"cRl" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/storage/eva)
+"cRm" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/storage/eva)
+"cRn" = (
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
+ },
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/storage/eva)
+"cRo" = (
+/obj/structure/disposalpipe/segment,
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/storage/eva)
+"cRp" = (
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"cRq" = (
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"cRr" = (
+/obj/structure/disposalpipe/segment,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters{
+ name = "Rehabilitation Dome"
+ })
+"cRs" = (
+/obj/structure/disposalpipe/segment,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"cRt" = (
+/obj/structure/disposalpipe/segment,
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/ai_monitored/storage/eva)
+"cRu" = (
+/obj/structure/disposalpipe/segment,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"cRv" = (
+/obj/structure/disposalpipe/segment,
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"cRw" = (
+/obj/structure/disposalpipe/segment,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"cRx" = (
+/obj/structure/disposalpipe/segment,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"cRy" = (
+/obj/structure/disposalpipe/segment,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"cRz" = (
+/obj/structure/disposalpipe/segment,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"cRA" = (
+/obj/structure/disposalpipe/segment,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"cRB" = (
+/obj/structure/disposalpipe/segment,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"cRC" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"cRD" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"cRE" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"cRF" = (
+/obj/machinery/status_display{
+ density = 0;
+ layer = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"cRG" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"cRH" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"cRI" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"cRJ" = (
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"cRK" = (
+/obj/structure/disposalpipe/segment,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"cRL" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 8;
+ layer = 2.4;
+ on = 1
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"cRM" = (
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/space)
+"cRN" = (
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/space)
+"cRO" = (
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/space)
+"cRP" = (
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/space)
+"cRQ" = (
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/space)
+"cRR" = (
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/space)
+"cRS" = (
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/space)
+"cRT" = (
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/space)
+"cRU" = (
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/space)
+"cRV" = (
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/space)
+"cRW" = (
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/space)
+"cRX" = (
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/space)
+"cRY" = (
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/space)
+"cRZ" = (
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/space)
+"cSa" = (
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/space)
+"cSb" = (
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/space)
+"cSc" = (
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/space)
+"cSd" = (
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/space)
+"cSe" = (
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/space)
+"cSf" = (
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/space)
+"cSg" = (
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/space)
+"cSh" = (
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/space)
+"cSi" = (
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/space)
+"cSj" = (
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/space)
+"cSk" = (
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/space)
+"cSl" = (
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/space)
+"cSm" = (
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/space)
+"cSn" = (
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/space)
+"cSo" = (
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/space)
+"cSp" = (
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/space)
+"cSq" = (
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/space)
+"cSr" = (
+/obj/machinery/door/airlock/glass,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"cSs" = (
+/obj/structure/sign/map/left/ceres{
+ pixel_y = 32
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"cSt" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint/medical)
+"cSu" = (
+/obj/structure/disposalpipe/junction{
+ icon_state = "pipe-j1";
+ dir = 1
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"cSv" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"cSw" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"cSx" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"cSy" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"cSz" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"cSA" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"cSB" = (
+/obj/machinery/door/airlock/glass,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"cSC" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/space)
+"cSD" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/space)
+"cSE" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/space)
+"cSF" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/space)
+"cSG" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/space)
+"cSH" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/space)
+"cSI" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/space)
+"cSJ" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/space)
+"cSK" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/space)
+"cSL" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/space)
+"cSM" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/space)
+"cSN" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/space)
+"cSO" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/space)
+"cSP" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/space)
+"cSQ" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/space)
+"cSR" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/space)
+"cSS" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/space)
+"cST" = (
+/obj/machinery/door/airlock/glass,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"cSU" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/disposalpipe/segment,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/arrival/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/starboard)
+"cSV" = (
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint/medical)
+"cSW" = (
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint/medical)
+"cSX" = (
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint/medical)
+"cSY" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint/medical)
+"cSZ" = (
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plasteel/red/side{
+ icon_state = "red";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint/medical)
+"cTa" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/green/corner{
+ tag = "icon-greencorner (WEST)";
+ icon_state = "greencorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"cTb" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/disposalpipe/segment,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"cTc" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"cTd" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/green/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"cTe" = (
+/obj/structure/disposalpipe/segment,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"cTf" = (
+/obj/structure/disposalpipe/segment,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"cTg" = (
+/obj/structure/disposalpipe/segment,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/central)
+"cTh" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/obj/structure/cable/orange{
+ d2 = 4;
+ icon_state = "0-4"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint/medical)
+"cTi" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/cable/orange{
+ d2 = 4;
+ icon_state = "0-4"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint/medical)
+"cTj" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/cable/orange{
+ d2 = 4;
+ icon_state = "0-4"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint/medical)
+"cTk" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/cable/orange{
+ d2 = 4;
+ icon_state = "0-4"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint/medical)
+"cTl" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/structure/cable/orange,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint/medical)
+"cTm" = (
+/obj/structure/disposalpipe/segment{
+ dir = 1;
+ icon_state = "pipe-c"
+ },
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/break_room)
+"cTn" = (
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
+ },
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/break_room)
+"cTo" = (
+/mob/living/simple_animal/pet/cat/Runtime,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"cTp" = (
+/obj/structure/disposalpipe/segment,
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/break_room)
+"cTq" = (
+/obj/structure/disposalpipe/segment{
+ dir = 1;
+ icon_state = "pipe-c"
+ },
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint/engineering)
+"cTr" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint/engineering)
+"cTs" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint/engineering)
+"cTt" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint/engineering)
+"cTu" = (
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
+ },
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint/engineering)
+"cTv" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"cTw" = (
+/obj/structure/disposalpipe/segment{
+ dir = 1;
+ icon_state = "pipe-c"
+ },
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint/engineering)
+"cTx" = (
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
+ },
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint/engineering)
+"cTy" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"cTz" = (
+/obj/structure/disposalpipe/trunk{
+ dir = 4
+ },
+/obj/machinery/disposal/deliveryChute{
+ desc = "A chute for big and small criminals alike!";
+ dir = 8;
+ name = "Criminal Delivery Chute"
+ },
+/obj/machinery/light/small{
+ dir = 4
+ },
+/obj/machinery/door/window/brigdoor/westleft{
+ name = "Criminal Deposit";
+ req_access_txt = "2"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint/engineering)
+"cTA" = (
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint/engineering)
+"cTB" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"cTC" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"cTD" = (
+/obj/machinery/status_display{
+ density = 0;
+ layer = 4
+ },
+/obj/structure/disposalpipe/segment,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hydroponics)
+"cTE" = (
+/obj/structure/disposalpipe/segment,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library)
+"cTF" = (
+/obj/structure/disposalpipe/segment,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library)
+"cTG" = (
+/obj/structure/disposalpipe/segment,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library)
+"cTH" = (
+/obj/structure/disposalpipe/segment,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library)
+"cTI" = (
+/obj/structure/disposalpipe/segment,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library)
+"cTJ" = (
+/obj/structure/disposalpipe/segment,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library)
+"cTK" = (
+/obj/structure/disposalpipe/segment,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library)
+"cTL" = (
+/obj/structure/disposalpipe/segment,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library)
+"cTM" = (
+/obj/structure/disposalpipe/segment,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library)
+"cTN" = (
+/obj/structure/disposalpipe/segment,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/library)
+"cTO" = (
+/obj/structure/disposalpipe/segment,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"cTP" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/chapel/main)
+"cTQ" = (
+/obj/structure/disposalpipe/segment,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"cTR" = (
+/obj/structure/disposalpipe/segment,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"cTS" = (
+/obj/structure/disposalpipe/segment,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"cTT" = (
+/obj/structure/disposalpipe/segment,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"cTU" = (
+/obj/structure/disposalpipe/segment,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"cTV" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"cTW" = (
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"cTX" = (
+/obj/machinery/door/airlock/glass,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/neutral/corner{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/port)
+"cTY" = (
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (EAST)";
+ icon_state = "neutralcorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cTZ" = (
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cUa" = (
+/obj/structure/disposalpipe/segment,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cUb" = (
+/obj/structure/disposalpipe/segment,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cUc" = (
+/obj/machinery/ai_status_display,
+/obj/structure/disposalpipe/segment,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cUd" = (
+/obj/structure/disposalpipe/segment,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cUe" = (
+/obj/structure/disposalpipe/segment,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cUf" = (
+/obj/machinery/power/apc{
+ dir = 2;
+ name = "Arrival Security Checkpoint APC";
+ pixel_y = -24
+ },
+/obj/structure/cable/orange{
+ d2 = 8;
+ icon_state = "0-8"
+ },
+/obj/structure/cable/orange{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cUg" = (
+/obj/structure/disposalpipe/segment,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cUh" = (
+/obj/effect/spawner/lootdrop/grille_or_trash,
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/turf/open/floor/plating/astplate{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cUi" = (
+/obj/structure/disposalpipe/segment,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cUj" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/teleporter)
+"cUk" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint2)
+"cUl" = (
+/obj/machinery/disposal/deliveryChute{
+ desc = "A chute for big and small criminals alike!";
+ name = "Criminal Delivery Chute"
+ },
+/obj/machinery/door/window/brigdoor{
+ name = "Criminal Deposit";
+ req_access_txt = "2"
+ },
+/obj/effect/turf_decal/stripes/line,
+/obj/structure/disposalpipe/trunk{
+ dir = 8
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint2)
+"cUm" = (
+/obj/structure/disposalpipe/segment{
+ dir = 1;
+ icon_state = "pipe-c"
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cUn" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cUo" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cUp" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cUq" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cUr" = (
+/obj/machinery/status_display{
+ density = 0;
+ layer = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cUs" = (
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cUt" = (
+/obj/structure/disposalpipe/segment,
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/teleporter)
+"cUu" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0;
+ tag = ""
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/neutral/corner{
+ tag = "icon-neutralcorner (NORTH)";
+ icon_state = "neutralcorner";
+ dir = 1;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cUv" = (
+/obj/structure/disposalpipe/segment,
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/teleporter)
+"cUw" = (
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cUx" = (
+/obj/structure/disposalpipe/segment,
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/teleporter)
+"cUy" = (
+/obj/structure/window/reinforced,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/space)
+"cUz" = (
+/obj/structure/window/reinforced,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/space)
+"cUA" = (
+/obj/structure/window/reinforced,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/space)
+"cUB" = (
+/obj/structure/window/reinforced,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/space)
+"cUC" = (
+/obj/structure/window/reinforced,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/space)
+"cUD" = (
+/obj/structure/window/reinforced,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/space)
+"cUE" = (
+/obj/structure/window/reinforced,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/space)
+"cUF" = (
+/obj/structure/window/reinforced,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/space)
+"cUG" = (
+/obj/structure/window/reinforced,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/space)
+"cUH" = (
+/obj/structure/window/reinforced,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/space)
+"cUI" = (
+/obj/structure/window/reinforced,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/space)
+"cUJ" = (
+/obj/structure/window/reinforced,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/space)
+"cUK" = (
+/obj/structure/window/reinforced,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/space)
+"cUL" = (
+/obj/structure/window/reinforced,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/space)
+"cUM" = (
+/obj/structure/window/reinforced,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/space)
+"cUN" = (
+/obj/structure/window/reinforced,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/space)
+"cUO" = (
+/obj/structure/window/reinforced,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/space)
+"cUP" = (
+/obj/structure/window/reinforced,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/space)
+"cUQ" = (
+/obj/structure/window/reinforced,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/space)
+"cUR" = (
+/obj/structure/window/reinforced,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/space)
+"cUS" = (
+/obj/structure/window/reinforced,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/space)
+"cUT" = (
+/obj/structure/window/reinforced,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/space)
+"cUU" = (
+/obj/structure/window/reinforced,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/space)
+"cUV" = (
+/obj/structure/window/reinforced,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/space)
+"cUW" = (
+/obj/structure/window/reinforced,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/space)
+"cUX" = (
+/obj/structure/window/reinforced,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/space)
+"cUY" = (
+/obj/structure/window/reinforced,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/space)
+"cUZ" = (
+/obj/structure/window/reinforced,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/space)
+"cVa" = (
+/obj/structure/window/reinforced,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/space)
+"cVb" = (
+/obj/structure/window/reinforced,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/space)
+"cVc" = (
+/obj/structure/window/reinforced,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/space)
+"cVd" = (
+/obj/structure/window/reinforced,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/space)
+"cVe" = (
+/obj/structure/window/reinforced,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/space)
+"cVf" = (
+/obj/structure/window/reinforced,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/space)
+"cVg" = (
+/obj/structure/window/reinforced,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/space)
+"cVh" = (
+/obj/structure/window/reinforced,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/space)
+"cVi" = (
+/obj/structure/window/reinforced,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/space)
+"cVj" = (
+/obj/structure/window/reinforced,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/space)
+"cVk" = (
+/obj/structure/window/reinforced,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/space)
+"cVl" = (
+/obj/structure/window/reinforced,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/space)
+"cVm" = (
+/obj/structure/window/reinforced,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/space)
+"cVn" = (
+/obj/structure/window/reinforced,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/engine,
+/area/space)
+"cVo" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cVp" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cVq" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cVr" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plasteel/blue/corner{
+ tag = "icon-bluecorner (EAST)";
+ icon_state = "bluecorner";
+ dir = 4;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cVs" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/teleporter)
+"cVt" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/teleporter)
+"cVu" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/teleporter)
+"cVv" = (
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/teleporter)
+"cVw" = (
+/obj/structure/disposalpipe/junction{
+ icon_state = "pipe-j1";
+ dir = 1
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/assembly/robotics)
+"cVx" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/research{
+ name = "Research Division"
+ })
+"cVy" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/research{
+ name = "Research Division"
+ })
+"cVz" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/lab)
+"cVA" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/lab)
+"cVB" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/lab)
+"cVC" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/lab)
+"cVD" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/lab)
+"cVE" = (
+/obj/machinery/status_display{
+ density = 0;
+ layer = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cVF" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cVG" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cVH" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cVI" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cVJ" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cVK" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cVL" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cVM" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "Aft Asteroid Maintenance";
+ req_access_txt = "12"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/maintenance/aft{
+ name = "Aft Asteroid Maintenance"
+ })
+"cVN" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cVO" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cVP" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cVQ" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cVR" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cVS" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cVT" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cVU" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cVV" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cVW" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cVX" = (
+/obj/machinery/ai_status_display,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cVY" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cVZ" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cWa" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cWb" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cWc" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cWd" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cWe" = (
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/primary/aft)
+"cWf" = (
+/obj/structure/disposalpipe/segment,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/assembly/robotics)
+"cWg" = (
+/obj/structure/disposalpipe/segment,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/assembly/robotics)
+"cWh" = (
+/obj/structure/disposalpipe/segment,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/assembly/robotics)
+"cWi" = (
+/obj/structure/disposalpipe/segment,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/assembly/robotics)
+"cWj" = (
+/obj/structure/disposalpipe/segment,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/assembly/robotics)
+"cWk" = (
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/research{
+ name = "Research Division"
+ })
+"cWl" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/storage)
+"cWm" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/security/checkpoint/science)
+"cWn" = (
+/obj/structure/disposalpipe/segment,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/storage)
+"cWo" = (
+/obj/structure/disposalpipe/segment,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/storage)
+"cWp" = (
+/obj/structure/disposalpipe/segment,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/storage)
+"cWq" = (
+/obj/structure/disposalpipe/segment{
+ dir = 1;
+ icon_state = "pipe-c"
+ },
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/storage)
+"cWr" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/closed/wall/r_wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/misc_lab)
+"cWs" = (
+/obj/structure/disposalpipe/trunk{
+ dir = 8
+ },
+/obj/machinery/disposal/deliveryChute{
+ desc = "A chute for big and small crimnals alike!";
+ dir = 1;
+ icon_state = "intake";
+ name = "Criminal Delivery Chute";
+ tag = "icon-intake (NORTH)"
+ },
+/obj/machinery/door/window/brigdoor/northleft{
+ name = "Criminal Deposit";
+ req_access_txt = "2"
+ },
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/misc_lab)
+"cWt" = (
+/obj/machinery/door/airlock{
+ name = "Bathroom"
+ },
+/turf/open/floor/plasteel/freezer{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/virology)
+"cWu" = (
+/obj/structure/toilet{
+ dir = 4
+ },
+/turf/open/floor/plasteel/freezer{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/virology)
+"cWv" = (
+/obj/machinery/light/small{
+ dir = 4
+ },
+/turf/open/floor/plasteel/freezer{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/virology)
+"cWw" = (
+/obj/structure/sign/bluecross_2,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay)
+"cWx" = (
+/obj/structure/sign/bluecross_2,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/genetics_cloning)
+"cWy" = (
+/mob/living/carbon/monkey,
+/turf/open/floor/grass{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/genetics)
+"cWz" = (
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/grass{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/genetics)
+"cWA" = (
+/obj/structure/sign/bluecross_2,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/medbay2)
+"cWB" = (
+/obj/structure/flora/tree/palm,
+/obj/machinery/camera{
+ c_tag = "Genetics Monkey Dome";
+ dir = 9;
+ icon_state = "camera";
+ tag = "icon-camera (NORTHWEST)"
+ },
+/turf/open/floor/grass{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/genetics)
+"cWC" = (
+/mob/living/carbon/monkey,
+/turf/open/floor/grass{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/genetics)
+"cWD" = (
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/obj/machinery/light,
+/turf/open/floor/grass{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/genetics)
+"cWE" = (
+/mob/living/carbon/monkey,
+/turf/open/floor/grass{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/medical/genetics)
+"cWF" = (
+/obj/structure/urinal{
+ pixel_x = -32
+ },
+/turf/open/floor/plasteel/freezer{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/toilet{
+ name = "Fitness Toilets"
+ })
+"cWG" = (
+/obj/structure/sign/nanotrasen,
+/turf/closed/wall{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/hallway/secondary/entry)
+"cWH" = (
+/obj/structure/sign/poster/official/pda_ad{
+ pixel_x = -32
+ },
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/heads)
+"cWI" = (
+/obj/machinery/pdapainter,
+/turf/open/floor/wood{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/crew_quarters/heads)
+"cWJ" = (
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"cWK" = (
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"cWL" = (
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"cWM" = (
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"cWN" = (
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"cWO" = (
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"cWP" = (
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"cWQ" = (
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"cWR" = (
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"cWS" = (
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"cWT" = (
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"cWU" = (
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"cWV" = (
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"cWW" = (
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"cWX" = (
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/supermatter)
+"cWY" = (
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/supermatter)
+"cWZ" = (
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"cXa" = (
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"cXb" = (
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"cXc" = (
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"cXd" = (
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/supermatter)
+"cXe" = (
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"cXf" = (
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"cXg" = (
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"cXh" = (
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"cXi" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/supermatter)
+"cXj" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/supermatter)
+"cXk" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/door/firedoor,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/engine/supermatter)
+"cXl" = (
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"cXm" = (
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"cXn" = (
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"cXo" = (
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"cXp" = (
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"cXq" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/manifold/general/visible{
+ dir = 1
+ },
+/obj/machinery/airalarm{
+ frequency = 1439;
+ locked = 0;
+ pixel_y = 23
+ },
+/turf/open/floor/engine{
+ baseturf = /turf/open/floor/plating/asteroid/airless;
+ name = "reinforced floor"
+ },
+/area/engine/supermatter)
+"cXr" = (
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"cXs" = (
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"cXt" = (
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"cXu" = (
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"cXv" = (
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"cXw" = (
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"cXx" = (
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"cXy" = (
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"cXz" = (
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"cXA" = (
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"cXB" = (
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"cXC" = (
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"cXD" = (
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"cXE" = (
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"cXF" = (
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"cXG" = (
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"cXH" = (
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"cXI" = (
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"cXJ" = (
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"cXK" = (
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"cXL" = (
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"cXM" = (
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"cXN" = (
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"cXO" = (
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"cXP" = (
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"cXQ" = (
+/obj/machinery/atmospherics/pipe/simple/orange/visible{
+ dir = 4
+ },
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"cXR" = (
+/obj/machinery/atmospherics/pipe/simple/orange/visible{
+ dir = 4
+ },
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"cXS" = (
+/obj/machinery/atmospherics/pipe/simple/orange/visible{
+ dir = 4
+ },
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"cXT" = (
+/obj/machinery/atmospherics/pipe/simple/orange/visible{
+ dir = 4
+ },
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"cXU" = (
+/obj/machinery/atmospherics/pipe/simple/orange/visible{
+ dir = 4
+ },
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"cXV" = (
+/obj/machinery/atmospherics/pipe/simple/orange/visible{
+ dir = 4
+ },
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"cXW" = (
+/obj/machinery/atmospherics/pipe/simple/general/visible{
+ dir = 4
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/mixing)
+"cXX" = (
+/obj/machinery/atmospherics/pipe/simple/general/visible{
+ dir = 4
+ },
+/turf/open/floor/plasteel/white{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/mixing)
+"cXY" = (
+/obj/machinery/atmospherics/components/unary/portables_connector/visible{
+ dir = 4
+ },
+/obj/machinery/portable_atmospherics/canister,
+/turf/open/floor/plasteel/whitepurple/side{
+ tag = "icon-whitepurple (SOUTHWEST)";
+ icon_state = "whitepurple";
+ dir = 10;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/mixing)
+"cXZ" = (
+/turf/open/floor/plasteel/whitepurple/corner{
+ tag = "icon-whitepurplecorner (WEST)";
+ icon_state = "whitepurplecorner";
+ dir = 8;
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/mixing)
+"cYa" = (
+/obj/structure/closet/wardrobe/science_white,
+/obj/machinery/light{
+ icon_state = "tube1";
+ dir = 8
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/mixing)
+"cYb" = (
+/obj/structure/closet/l3closet/scientist{
+ pixel_x = -2
+ },
+/turf/open/floor/plasteel/neutral{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/mixing)
+"cYc" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "Aft Asteroid Maintenance";
+ req_access_txt = "47"
+ },
+/obj/structure/cable/orange{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plating{
+ baseturf = /turf/open/floor/plating/asteroid/airless
+ },
+/area/toxins/mixing)
+
+(1,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(2,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(3,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(4,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aac
+aac
+aac
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(5,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aac
+aac
+aac
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(6,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aac
+aac
+aac
+aab
+aaa
+aaa
+aac
+aac
+aac
+aaa
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aab
+aab
+aad
+aab
+aab
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(7,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aab
+aad
+aac
+aac
+aac
+aab
+aaa
+aaa
+aac
+aac
+aac
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aad
+aac
+aad
+aad
+aaa
+aaa
+aaa
+aad
+aab
+aab
+aad
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aad
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aab
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(8,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aad
+aad
+aac
+aac
+aac
+aad
+aaa
+aaa
+aad
+aad
+aab
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aad
+aac
+aac
+aac
+aac
+aac
+aad
+aad
+aac
+aac
+aac
+aac
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aag
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aad
+aac
+aac
+aac
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(9,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aad
+aad
+aac
+aac
+aac
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aac
+aac
+aac
+aac
+aac
+aab
+aac
+aac
+aac
+aac
+aac
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aac
+aac
+aac
+aac
+aac
+aac
+aad
+aaa
+aaa
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(10,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aac
+aac
+aac
+aac
+aac
+aac
+aac
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aac
+aac
+aac
+aab
+aab
+aab
+aac
+aac
+aad
+aac
+aac
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aac
+aac
+aac
+aab
+aac
+aac
+aac
+aac
+aac
+aab
+aab
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(11,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aac
+aac
+aac
+aac
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aaa
+aaa
+aaa
+aad
+aac
+aab
+aab
+aab
+aab
+aab
+aab
+aac
+aac
+aac
+aac
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aac
+aac
+aac
+aac
+aac
+aad
+aad
+aac
+aac
+aab
+aab
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aab
+aab
+aab
+aab
+aad
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(12,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aac
+aac
+aac
+aac
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aab
+aab
+aab
+aab
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aac
+aac
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aab
+aad
+aac
+aac
+aac
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aab
+aab
+aac
+aac
+aac
+aac
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(13,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aac
+aac
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aaa
+aaa
+aaa
+aad
+aab
+aad
+aad
+aad
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aab
+aab
+aab
+aac
+aac
+aac
+aac
+aac
+aac
+aac
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(14,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aab
+aab
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aac
+aac
+aac
+aac
+aac
+aac
+aac
+aac
+aad
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(15,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aad
+aad
+aad
+aac
+aac
+aac
+aac
+aad
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(16,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aad
+aad
+aad
+aab
+aab
+aab
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(17,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aah
+aai
+aai
+aai
+aai
+aer
+aai
+aai
+aai
+aaM
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(18,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aah
+aai
+aai
+aai
+aai
+aai
+aai
+acU
+adm
+acU
+acV
+aes
+aeP
+afg
+afk
+afH
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aag
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(19,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aai
+abT
+acd
+acd
+acd
+abT
+aai
+acV
+acV
+acV
+acV
+aet
+acV
+afh
+afk
+afI
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aag
+aaa
+aaa
+aaa
+aaa
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(20,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aai
+aan
+aan
+aan
+aan
+aan
+aai
+acW
+acV
+acV
+acV
+aeu
+aeQ
+afi
+afk
+afJ
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aZm
+aZm
+cdT
+cdT
+cdT
+aZm
+aZm
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(21,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aah
+aai
+aai
+aai
+aaM
+aaa
+aaa
+aai
+aan
+ace
+aan
+aan
+aan
+aai
+acX
+acV
+acV
+acV
+aev
+aai
+aai
+aai
+agl
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aZm
+bdM
+beC
+bUi
+ceF
+cfc
+aZm
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(22,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aai
+aam
+aas
+aaA
+aai
+aaa
+aaa
+aai
+abU
+acf
+acq
+aan
+aan
+aai
+acY
+acV
+acV
+acV
+aew
+aai
+afj
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aac
+aad
+aab
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaP
+aaP
+aaP
+aaP
+aaP
+aaP
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aZm
+aZm
+aZm
+cdC
+bVi
+bVi
+ceG
+beC
+aZm
+aZm
+aZm
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+cGR
+cGR
+cGR
+cGR
+cGR
+cGR
+cGR
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(23,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaj
+aan
+aan
+aaB
+aai
+aai
+aai
+aai
+aai
+aai
+aai
+acE
+acM
+aai
+aai
+adn
+adC
+adW
+aai
+aai
+aai
+aaM
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aad
+aab
+aab
+aab
+aaa
+aaa
+aaa
+aaa
+aaa
+aac
+aab
+aab
+aab
+aac
+aab
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaP
+aba
+abr
+abr
+abV
+bat
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aYO
+bpL
+cdk
+cdD
+cdU
+cel
+ceH
+cfd
+cfr
+bpL
+cfL
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+cGS
+cHh
+cHp
+cHG
+cHU
+cIi
+cHq
+cGR
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(24,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaj
+aao
+aan
+aan
+aai
+aaY
+aan
+aan
+aan
+aan
+acr
+aan
+aan
+acQ
+aan
+aan
+aan
+aan
+aaB
+aeR
+afk
+afH
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aac
+aac
+aad
+aab
+aab
+aab
+aab
+aab
+aaa
+aad
+aad
+aac
+aab
+aab
+aab
+aad
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaP
+abb
+abs
+abs
+aaP
+aaP
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aZm
+aYX
+cdl
+cdE
+cdV
+cem
+ceI
+cfe
+aZm
+aZm
+aZm
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+cGR
+cGR
+cHq
+cHH
+cHV
+cIj
+cIi
+cGR
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(25,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaj
+aap
+aat
+aan
+aaN
+aan
+aan
+aan
+aan
+aan
+acs
+aan
+aan
+aan
+aan
+aan
+aan
+aan
+aan
+aeS
+afk
+afI
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aac
+aac
+aad
+aad
+aac
+aac
+aac
+aab
+aab
+aac
+aac
+aac
+aab
+aab
+aab
+aac
+aac
+aaa
+aaa
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaP
+abb
+abs
+aaP
+aaP
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aYP
+aYP
+cdl
+cdF
+cdW
+cen
+ceJ
+cff
+aYX
+aYP
+aYP
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+cGR
+cHI
+cHW
+cIk
+cIB
+cGR
+cGR
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(26,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaj
+aaq
+aan
+aaC
+aai
+aaZ
+abq
+abq
+abq
+acg
+acr
+aan
+aan
+aan
+aan
+acG
+aan
+aan
+aaB
+aeR
+afk
+afJ
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aac
+aac
+aac
+aac
+aac
+aab
+aab
+aac
+aac
+aac
+aab
+aab
+aab
+aac
+aac
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaP
+abc
+aaP
+aaP
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aYP
+aYP
+aYP
+aYP
+cdl
+cdG
+cdX
+ceo
+cdF
+cfg
+aYX
+aYP
+aYP
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+cgN
+cgN
+aaa
+abC
+aaa
+cGR
+cGR
+cHX
+cIl
+cIj
+cIJ
+cGR
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(27,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaj
+aar
+aan
+aaB
+aai
+aai
+aai
+abB
+aai
+aai
+aai
+acF
+acr
+aai
+aai
+aai
+adD
+adX
+aai
+aai
+aai
+aaO
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aac
+aac
+aac
+aaa
+aaa
+aaa
+aaa
+aac
+aac
+aac
+aad
+aad
+aab
+aad
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaP
+abd
+aaP
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aYP
+aYP
+aYP
+aZn
+cdm
+aZm
+baz
+cep
+aYX
+aYX
+aYX
+aYP
+aYP
+aYP
+aYP
+aYP
+aYP
+aYP
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+cgS
+cgS
+cgS
+cgN
+cgN
+cgN
+abC
+aaa
+aaa
+cGR
+cHq
+cIm
+cHq
+cIK
+cGR
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(28,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aai
+aar
+aan
+aaD
+aai
+aaO
+aaa
+aaa
+aaa
+aai
+aan
+aan
+aan
+aai
+acZ
+aan
+aan
+aan
+aex
+aeT
+aai
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aac
+aad
+aad
+aad
+aad
+aab
+aab
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aZm
+aZm
+bVg
+bVg
+bVg
+aZm
+aZm
+aYP
+aYP
+aYP
+aYT
+aYT
+aYT
+aYT
+aYT
+aZn
+cdn
+aZA
+aZy
+ceq
+bqE
+aZo
+aZn
+aYT
+aYT
+aYT
+aYT
+aYT
+aYT
+aYP
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+cgS
+cgS
+cgS
+cgN
+cgN
+aaa
+abC
+aaa
+aaa
+aaa
+cGR
+cIn
+cHq
+cIL
+cGR
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(29,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aak
+aai
+aai
+aai
+aaO
+aaa
+aaa
+aaa
+aaa
+ach
+aan
+aan
+aan
+aai
+ada
+aan
+aan
+aan
+aey
+aai
+aai
+aai
+agm
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aab
+aab
+aab
+aab
+aab
+aab
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aYT
+aYT
+aYT
+aYT
+aZm
+bUh
+bVh
+bVW
+bWK
+bXm
+aYX
+aYT
+aYT
+aYT
+aYT
+aYT
+aYT
+aYT
+aYT
+aZn
+cdo
+aZA
+cdY
+bCF
+bqE
+aZo
+aZo
+aYT
+aYT
+aYT
+aYT
+aYT
+aYT
+aYP
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+cgN
+cgS
+cgS
+cgS
+cgS
+cgS
+cgS
+cgS
+cgS
+aaa
+abC
+aaa
+aaa
+aaa
+cGR
+cIm
+cGR
+cIM
+cGR
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(30,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aci
+aan
+acG
+aan
+aai
+adb
+aan
+aan
+aan
+aan
+aan
+afl
+afk
+afH
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aab
+aab
+aab
+aab
+aab
+aab
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aYP
+aYP
+aYP
+aYP
+aYP
+aYP
+aYP
+aYP
+aYP
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aYP
+aYP
+aYT
+aYT
+aYX
+bUi
+bVi
+beC
+bWL
+beC
+aYX
+aYT
+aYT
+aYT
+aZo
+aZo
+aZo
+aZo
+aZn
+aZm
+cdp
+bbu
+bbu
+cdp
+aZo
+aZo
+aZo
+aZo
+aZo
+aZn
+aZn
+aZn
+aZn
+aYP
+aYP
+cgN
+cgS
+cgS
+cgS
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+cgS
+cgS
+cgS
+cgS
+cgS
+cgS
+cgS
+cgS
+cgN
+cgN
+cgS
+cgS
+cgS
+aaa
+abC
+aaa
+aaa
+aaa
+abC
+cHA
+abC
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(31,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aak
+aai
+aai
+aai
+aai
+adc
+ace
+aan
+aan
+aan
+aan
+afm
+afk
+afI
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aab
+aab
+aab
+aab
+aaa
+aaa
+aaa
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aYP
+aYP
+aYP
+aYP
+aYP
+aYT
+aYT
+aYT
+aYT
+aYT
+aYP
+aaa
+aaa
+aaa
+aaa
+aYP
+aYP
+aYT
+aYP
+aYP
+aYP
+aYT
+aYT
+aZm
+aYX
+aZm
+bVX
+bWM
+bXn
+aZm
+aYT
+aZo
+aZo
+aZn
+aZA
+aZA
+bbg
+aZA
+bHy
+bCF
+aZA
+aZA
+cer
+aYX
+ceK
+cfs
+aZz
+aZA
+aZA
+cge
+aZn
+cgj
+cgv
+cgv
+cgN
+cgN
+cgN
+cgS
+cgS
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+cgS
+cgS
+cgS
+cgN
+cgR
+cgR
+cgR
+cgR
+cgR
+cgR
+cgN
+cgN
+cgS
+cgS
+aaa
+abC
+aaa
+aaa
+aaa
+abC
+cHA
+abC
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(32,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+acN
+aai
+add
+ado
+aan
+adY
+adY
+acG
+afn
+afk
+afJ
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aag
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aYP
+aYP
+aYP
+aYP
+aYP
+aYP
+aYP
+aYT
+aYT
+aYT
+aYT
+aYT
+aYP
+aYT
+aYT
+aYT
+aYT
+aYP
+aYP
+aYP
+aYP
+aYP
+aYT
+aYT
+aYT
+aYT
+aYT
+aZm
+aYX
+aYX
+bXo
+aYX
+aZo
+aZo
+aZo
+bWp
+blT
+bbf
+bbf
+bbf
+bbf
+bmN
+aZA
+aZA
+ces
+ceK
+ceK
+cft
+aZA
+aZA
+aZA
+aZA
+aZX
+cgj
+cgj
+cgj
+cgO
+cgO
+cgN
+cgS
+cgS
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+cgS
+cgR
+cgR
+cgR
+cgR
+cgR
+cgR
+cgR
+cgR
+cgR
+cgN
+cgS
+cgS
+cgN
+aaa
+abC
+aaa
+aaa
+aaa
+abC
+cHA
+abC
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(33,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aak
+aai
+aai
+aai
+aai
+abB
+aai
+aai
+aai
+aaO
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aYP
+aYP
+aYP
+aYP
+aYT
+aYT
+aYT
+aYT
+aYT
+aYT
+aYT
+aYT
+aYT
+aYT
+aYT
+aYT
+aYT
+aYT
+aYT
+aYT
+aYT
+aYT
+aYT
+aYT
+aYT
+aYT
+aZo
+aZo
+aYX
+bWN
+bXp
+aZn
+aYX
+aZn
+bec
+aZA
+bCF
+blT
+bbf
+bbf
+bVY
+bbf
+bbf
+bbf
+bmN
+aZn
+aZn
+aZn
+aZn
+aZn
+aZn
+bec
+aZA
+aZA
+aZA
+cgj
+cgj
+cgj
+cgO
+cgN
+cgS
+cgS
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+cgS
+cgS
+cgR
+cgR
+cgR
+cgR
+cgR
+cgR
+cgR
+cgR
+cgR
+cgN
+cgS
+cgS
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+abC
+cHA
+abC
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(34,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+awc
+awc
+awd
+awc
+awc
+awd
+awc
+awc
+awc
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aYN
+aZg
+aYN
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aYP
+aYP
+aYP
+aYT
+aYT
+aYT
+aYT
+aYT
+aYT
+aYT
+aYP
+aYT
+aYT
+aYT
+aYT
+aYT
+aYT
+aYT
+aYT
+aYT
+aYT
+aYP
+aYP
+aYP
+aYT
+aZo
+aZo
+aZo
+aZo
+aZo
+aZn
+aZn
+aZz
+aZA
+bHy
+aZA
+aZA
+aZA
+bCF
+bCF
+aZA
+ccr
+bbg
+aZA
+aZA
+aZA
+bec
+aZn
+aZn
+cea
+cea
+cea
+cea
+cea
+aZn
+cgm
+aZA
+aZA
+cgj
+cgj
+cgO
+cgO
+cgO
+cgO
+cgS
+cgS
+cgS
+cgS
+cgS
+cgS
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+cgS
+cgS
+cgN
+cgR
+cgR
+cgR
+cgR
+cgR
+cgR
+cgR
+cgR
+cgN
+cgS
+cgS
+cgS
+aaa
+abC
+aaa
+aaa
+aaa
+abC
+cHA
+abC
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(35,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+awd
+axf
+ayb
+azI
+aAW
+aAW
+aDh
+aEw
+aFQ
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aYN
+aZh
+aYN
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aYP
+aYP
+aYP
+aYP
+aYT
+aYT
+aYT
+aYT
+aYT
+aYT
+aYT
+aYT
+aYT
+aYT
+aYT
+aYT
+aYP
+aZn
+aZn
+aZn
+aYX
+aZo
+aZo
+aZn
+aZn
+aZn
+aZo
+aZo
+aZo
+aZn
+aZn
+bVj
+bau
+aZn
+aZz
+blT
+bbf
+bbf
+bbf
+bbf
+bmN
+bCF
+aZA
+aZA
+bbg
+aZn
+aZn
+aZn
+aZn
+aZn
+cea
+cea
+cfD
+cfE
+cfW
+cea
+cgj
+cgj
+cgj
+aZA
+aZA
+cgj
+cgj
+cgO
+cgO
+cgO
+cgO
+cgO
+cgS
+cgS
+cgS
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+cgS
+cgS
+cgS
+cgN
+cgR
+cgR
+cgR
+cgR
+cgR
+cgR
+cgR
+cgR
+cgN
+cgN
+cgS
+cgS
+aaa
+abC
+aaa
+aaa
+aaa
+abC
+cHA
+abC
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(36,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+awd
+axg
+ayc
+awc
+aAW
+aAW
+aAW
+aEw
+aFQ
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+afV
+afV
+afV
+afV
+afV
+afV
+afV
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aYN
+aZi
+aYN
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aYP
+aYP
+aYP
+aYT
+aYT
+aYT
+bnS
+aYT
+aYT
+aYT
+aYT
+aYT
+aYT
+aYT
+aYT
+aYP
+aZn
+aZm
+aZn
+bFa
+aZA
+bHy
+bec
+aZA
+aZn
+bNg
+bNg
+aZA
+aZn
+aZA
+aZA
+blT
+bbf
+bVY
+bMd
+bbf
+bmN
+blT
+bbf
+bbf
+bbf
+bbf
+bmN
+bGo
+aYX
+aZn
+aZn
+aZn
+aZn
+aZn
+aZn
+cea
+cfu
+cfE
+cfE
+cfX
+cea
+cgj
+cgj
+cgj
+cgj
+aZA
+bec
+cgj
+cgj
+cgO
+cgO
+cgO
+cgO
+cgN
+cgS
+cgS
+cgN
+cgS
+cgS
+cgS
+cgS
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+cgS
+cgS
+cgS
+cgS
+cgN
+cgN
+cgN
+cgN
+cgR
+cgR
+cgR
+cgR
+cgR
+cgR
+cgR
+cgR
+cgR
+cgN
+aaa
+abC
+aaa
+aaa
+aaa
+abC
+cHA
+abC
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(37,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+awd
+axh
+ayd
+azJ
+aAX
+aCa
+aAW
+aEw
+aFQ
+aaa
+aaa
+aaa
+aaa
+abC
+abC
+afV
+aOF
+aPB
+aRj
+aSd
+ajr
+afV
+abC
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aYN
+aZj
+aYN
+aYN
+aYN
+aYN
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aYP
+aYP
+aYP
+aYP
+aYT
+aYT
+aYT
+aYT
+aYT
+aYT
+aYT
+aYT
+aYT
+aYT
+aYT
+aYT
+aYP
+aZn
+bCE
+bbf
+bbf
+bbf
+bbf
+bbf
+bbf
+bMd
+bbf
+bbf
+bbf
+bbf
+bbf
+bbf
+bmN
+bVk
+bVZ
+bPW
+bPW
+bPW
+bYP
+aZA
+aZA
+aZA
+bWp
+cbw
+cbZ
+aZn
+aZn
+aZo
+aZo
+aZo
+aZn
+aZn
+cea
+cfv
+cfF
+cfE
+cfE
+cea
+aZn
+aZn
+cgj
+cgj
+cgP
+aZA
+aZA
+cgj
+cgj
+cgO
+cgO
+cgO
+cgO
+cgO
+cgO
+cgO
+cgO
+cgN
+cgN
+cgN
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+cgS
+cgS
+cgS
+cgS
+cgN
+cgN
+cgN
+cgN
+cgN
+cgN
+cgR
+cgR
+cgR
+cgR
+cgR
+cgR
+cgN
+aaa
+abC
+aaa
+aaa
+aaa
+abC
+cHA
+abC
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(38,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaP
+aaP
+aaP
+aaP
+aaP
+aaP
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+awc
+awc
+aye
+awc
+awc
+awc
+aDi
+awc
+awc
+aaa
+aaa
+aaa
+aaa
+afV
+afV
+afS
+aOG
+akp
+aym
+aym
+aym
+afS
+afV
+afV
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aYN
+aYN
+aYN
+aYN
+aYN
+aYX
+aZk
+aZu
+aZJ
+aZW
+aZJ
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aYP
+aYP
+aYP
+aYP
+aYP
+aYP
+aYT
+aYT
+aYT
+aYT
+aYT
+aYT
+aYT
+bsc
+bsd
+bsd
+bsd
+bsd
+bsc
+bsc
+bsc
+bCF
+bEd
+bnT
+bnT
+bnT
+bvh
+bnT
+bnT
+bnT
+bOv
+bPW
+bQY
+bPW
+bPW
+bPW
+bVl
+aYX
+aZA
+aZA
+aZA
+bCW
+aZA
+bbi
+bdL
+aZn
+aZn
+aZo
+aZo
+aZo
+aZo
+aZo
+aZo
+aZn
+aZn
+cea
+cea
+cfE
+cfE
+cfY
+cea
+aZn
+aZn
+cgn
+cgE
+cgQ
+aZA
+aZA
+aZA
+cgj
+cgj
+cgO
+cgO
+cgO
+cgO
+cgO
+cgO
+cgO
+cgN
+cgN
+cgN
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+cgS
+cgS
+cgS
+cgS
+cgS
+cgS
+cgS
+cgN
+cgN
+cgN
+cgR
+cgR
+cgR
+cgR
+cgR
+cgR
+cgR
+cgR
+abC
+aaa
+aaa
+aaa
+abC
+cHA
+abC
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(39,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaP
+aba
+abr
+abr
+abV
+acj
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+awe
+axi
+ayf
+axi
+aAY
+axi
+aDj
+axi
+acj
+aaa
+aaa
+aaa
+aaa
+aLv
+aMC
+aNz
+aNz
+aPC
+ahA
+aSe
+aSe
+aTM
+aMC
+aVn
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aYO
+aYR
+aYS
+aYV
+aYX
+aZa
+aZb
+aZv
+aYX
+aYN
+aYN
+aYP
+aYP
+aYP
+aYP
+aYP
+aYP
+aYP
+aYP
+aYP
+aYP
+aYP
+aYP
+aYT
+aYT
+aYT
+aYT
+aYT
+aYT
+aYT
+bsc
+btx
+bty
+bwx
+bty
+bzs
+bty
+bsd
+bCF
+blW
+aZA
+aZA
+aZA
+aZA
+aZn
+bFn
+aZA
+bCW
+aZn
+aZm
+aZn
+aZn
+aZn
+aZn
+aZn
+aZn
+aZn
+aZA
+bCW
+aZn
+aZm
+aZn
+aZo
+aZo
+aZo
+aZo
+aZo
+aZo
+aZn
+aZn
+cdZ
+cdZ
+cdZ
+cea
+cfG
+cfE
+cfZ
+cea
+aZn
+cgn
+cgw
+cgF
+cgj
+cgj
+aZA
+aZA
+aZA
+cgj
+cgj
+cgj
+cgj
+cgj
+cgO
+cgO
+cgO
+cgO
+cgO
+cgN
+cgS
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+cgS
+cgS
+cgS
+cgS
+cgS
+cgS
+cgS
+cgS
+cgS
+cgN
+cgN
+cgN
+cgR
+cgR
+cgR
+cgR
+cgR
+cgR
+cGT
+aaa
+aaa
+aaa
+abC
+cHA
+abC
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(40,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaP
+abb
+abs
+abs
+aaP
+aaP
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+abC
+abC
+axj
+ayg
+axj
+abC
+axj
+ayg
+axj
+abC
+abC
+aaa
+aaa
+aaa
+afV
+afV
+afV
+aOH
+aPD
+aiW
+aym
+aym
+afS
+afV
+afV
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aYN
+aYN
+aYN
+aYW
+aYY
+aZb
+aZl
+aZw
+aYX
+aZn
+aYT
+aYT
+aYT
+aYT
+aYT
+aYT
+aYT
+aYT
+aYT
+aYT
+aYT
+aYT
+aYP
+aYT
+aYT
+aYP
+aYT
+aYT
+aYT
+aYP
+bsc
+bty
+bvc
+bwy
+byg
+bzt
+bAy
+bsd
+bCF
+blW
+aZA
+bGn
+bHz
+aZA
+aZn
+aZn
+aZA
+bCW
+aZA
+aZn
+aZn
+aZo
+aZo
+aZo
+aZo
+aZo
+aZn
+aZB
+bYQ
+aZn
+aZn
+aZn
+bWO
+bWO
+bWO
+bWO
+bWO
+bWO
+aZn
+cdZ
+cdZ
+ceu
+cev
+cfw
+cev
+cev
+cea
+cea
+aZn
+cgo
+aZn
+aZn
+aZn
+cgj
+cgj
+aZA
+aZA
+aZA
+bdL
+cgj
+cgj
+cgj
+cgO
+cgO
+cgO
+cgO
+cgO
+cgN
+cgN
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+cgS
+aaa
+aaa
+aaa
+cgS
+cgN
+cgS
+cgS
+cgS
+cgS
+cgS
+cgS
+cgS
+cgN
+cgN
+cgR
+cgR
+cgR
+cgR
+cgR
+cgR
+cgN
+aaa
+aaa
+aaa
+abC
+cHA
+abC
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(41,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaP
+abb
+abs
+aaP
+aaP
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abW
+abW
+abW
+abW
+abW
+abW
+atR
+atR
+atR
+axk
+ayh
+axo
+atR
+axo
+aDk
+aEx
+atR
+atR
+abW
+abW
+aaa
+abW
+abW
+afS
+aym
+aiW
+aht
+aSf
+aTi
+afV
+abW
+abW
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aYN
+aYN
+aYN
+aYN
+aZm
+aZx
+aYX
+aZn
+aYT
+aYT
+aYT
+aYT
+aZo
+aZo
+aZo
+aZo
+aZo
+aYT
+aYT
+aYT
+aYP
+aYT
+aYT
+aYP
+aYT
+aYT
+aYT
+aYP
+bsc
+bty
+bvd
+bwz
+byh
+bzu
+bAz
+bsd
+bCF
+blW
+aZn
+aZn
+aZn
+aZn
+aZn
+aZn
+aZA
+bCW
+aZA
+aZn
+aZn
+bHA
+bHA
+bHA
+bHA
+bWO
+bWO
+bWO
+bWO
+bWO
+bWO
+bWO
+bWO
+cbx
+cbx
+cbx
+cbx
+bWO
+aZn
+cea
+cet
+ceu
+cdZ
+cea
+cea
+cea
+cea
+aYP
+aZn
+aZn
+aZn
+aYP
+cgN
+cgO
+cgj
+cgj
+cgj
+aZA
+aZA
+aZA
+aZA
+cgj
+cgj
+cgj
+cgj
+cgO
+cgO
+cgN
+cgN
+cgS
+aaa
+aaa
+aaa
+aaa
+cgS
+ctW
+cuQ
+cuQ
+cuQ
+ctW
+cgN
+cgN
+cgN
+cgN
+cgN
+cgS
+cgS
+cgS
+cgS
+cgN
+cgR
+cgR
+cgR
+cgR
+cgR
+cgR
+aaa
+aaa
+aaa
+aaa
+abC
+cHA
+abC
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(42,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaP
+abc
+aaP
+aaP
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abW
+abW
+acH
+acH
+acH
+acH
+atR
+auV
+awf
+axl
+ayi
+azK
+aAZ
+aCb
+axl
+axl
+aFR
+atR
+abW
+acH
+acH
+acH
+acH
+afS
+aym
+aPE
+aRk
+aSg
+aTj
+afV
+abW
+abW
+akG
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+aZm
+aZy
+aZK
+aZn
+aZo
+aZo
+aZo
+aZo
+aZm
+aZL
+bdL
+beA
+aZo
+aZo
+aZo
+aZo
+aZn
+aZn
+aYT
+aYT
+aYT
+aYT
+aYT
+aYP
+bsd
+bty
+bve
+bwA
+byi
+bzv
+bAA
+bsc
+bCF
+blW
+aZn
+aZn
+aZn
+aZn
+aZn
+aZn
+aZn
+bOw
+bbi
+aZn
+aZn
+bHA
+bUj
+bVm
+bWa
+bWO
+bXq
+bYd
+bYR
+bZp
+cWF
+cao
+caY
+cby
+cca
+bYd
+bYd
+bWO
+aZn
+cdZ
+ceu
+cdZ
+cdZ
+aYP
+aYT
+aYT
+aYT
+aYT
+aYT
+aYT
+aYP
+aYP
+cgN
+cgO
+cgO
+cgO
+cgj
+cgj
+bec
+aZA
+aZA
+aZA
+bec
+cgj
+cgj
+cgO
+cgO
+cgO
+cgN
+cgN
+aaa
+aaa
+aaa
+aaa
+cgS
+ctW
+cuR
+cvR
+cvR
+ctW
+cgR
+cgR
+cgR
+cgR
+cgN
+cjU
+cCB
+cjU
+cgN
+cgN
+cgR
+cgR
+cgR
+cgR
+cgR
+cgR
+aaa
+aaa
+aaa
+aaa
+abC
+cHA
+abC
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(43,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaP
+abd
+aaP
+abC
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abE
+abE
+abE
+abW
+abW
+abW
+acH
+acH
+acH
+aez
+atS
+auW
+awg
+axm
+axm
+azL
+aBa
+axm
+aDl
+axm
+aFS
+atR
+aez
+aez
+aez
+aez
+aez
+afV
+afV
+aPF
+aRl
+afS
+afS
+afS
+adZ
+abW
+abW
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aYP
+aZn
+aZz
+aZz
+aZz
+aZn
+aZn
+bbg
+bbV
+aZA
+aZz
+aZz
+aZz
+aZz
+aZz
+aZz
+aZz
+aZz
+aZn
+aZo
+aYT
+aYT
+aYT
+aYT
+aYT
+bsd
+btz
+bvf
+bwB
+byj
+bzw
+bty
+bsc
+bCG
+blW
+aZn
+aZn
+aZn
+bHA
+bHA
+bHA
+bHA
+bHA
+bHA
+bHA
+bHA
+bHA
+bUk
+bVn
+bWb
+bWP
+bXr
+bXr
+bYS
+bXr
+bXr
+cap
+caZ
+bXr
+ccb
+ccs
+ccJ
+bWO
+aZn
+cdZ
+ceu
+ceL
+cdZ
+aYP
+aYT
+aYT
+aYT
+aYT
+aYT
+aYT
+aYT
+aYP
+cgN
+cgO
+cgO
+cgO
+cgO
+cgj
+cgj
+cgj
+cgj
+aZA
+aZA
+aZA
+aZn
+aZn
+aZn
+cgN
+cgN
+cgN
+aaa
+aaa
+aaa
+aaa
+cgS
+ctW
+cuS
+cvR
+cwO
+ctW
+ctW
+ctW
+ctW
+ctW
+ctW
+ctW
+cCC
+cjU
+chc
+chc
+cgu
+cgu
+cgu
+cgR
+cgN
+cgN
+cgN
+aaa
+aaa
+aaa
+abC
+cHA
+abC
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(44,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+abC
+abE
+abE
+abE
+abE
+acH
+acH
+acH
+acH
+acH
+acH
+aez
+aez
+atR
+auX
+awh
+axn
+ayj
+azL
+aAZ
+axn
+ayj
+axm
+aFT
+atR
+aIo
+afq
+aqH
+afq
+afq
+afq
+afq
+aPG
+aPG
+afq
+aTk
+adZ
+aez
+acH
+acH
+abE
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aYP
+aZn
+aYX
+aZL
+aZz
+aZz
+aZz
+aZz
+aZz
+aZz
+aZz
+aZn
+aZn
+aZn
+aZm
+aZL
+aZA
+aZz
+aZz
+aZo
+aZo
+aZo
+aZo
+aZo
+aZo
+bsd
+bsd
+bsd
+bwC
+bwC
+bsd
+bsd
+bsc
+bCH
+blW
+aZn
+aZn
+aZn
+bHA
+bKz
+bMe
+bNh
+bOx
+cME
+bMe
+bPX
+bHC
+bIY
+bKF
+bWc
+bWQ
+bXs
+bXs
+bWQ
+bZq
+bWQ
+caq
+bWQ
+bXs
+bXs
+cct
+ccK
+bWO
+aZn
+cdZ
+ceu
+cdZ
+cdZ
+aYP
+aYT
+aYT
+aYT
+aYT
+aYT
+aYT
+aYT
+aYP
+cgN
+cgN
+cgO
+cgO
+cgO
+cgO
+cgO
+cgj
+cgj
+aZA
+aZA
+aZA
+bbu
+aZA
+aZn
+aZo
+cgR
+cgN
+cgS
+aaa
+aaa
+aaa
+cgS
+ctW
+cuT
+cvS
+cuT
+ctW
+cxY
+cyN
+cXY
+cYa
+cYb
+ctW
+cCB
+cjU
+cgu
+cgL
+cgL
+cgu
+cgu
+cgR
+cgR
+cgR
+cgR
+aaa
+aaa
+aaa
+abC
+cHA
+abC
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(45,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+afV
+ajo
+ajo
+ajo
+afV
+acH
+acH
+acH
+acH
+aez
+aez
+aez
+aez
+atR
+atR
+atR
+axo
+ayk
+azM
+atR
+axo
+aDm
+axo
+aFU
+atR
+aIp
+aJx
+aqk
+aox
+aox
+aNA
+afo
+aot
+aeV
+afq
+afq
+aiS
+aez
+aez
+acH
+abE
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aYP
+aYP
+aYP
+aZn
+aZn
+aZX
+aZA
+aZA
+bbu
+aZn
+aZn
+aZn
+aZn
+aZn
+aZn
+aZn
+aZn
+aZn
+aZA
+aZz
+aZo
+aZo
+aZo
+aZo
+aZo
+aZo
+aZn
+aZn
+bvg
+bwD
+aZy
+bzx
+aZn
+aZn
+bCF
+blW
+aZn
+aZn
+aZn
+bHA
+bKA
+bKA
+bKA
+bKA
+bKA
+bKA
+bKA
+bHA
+bIZ
+bKF
+bWd
+bWO
+bXt
+bXt
+bWO
+bZr
+bWO
+car
+bWO
+cbz
+cbz
+cbz
+cbz
+bWO
+aZn
+cdZ
+cev
+cdZ
+cdZ
+aYP
+aYT
+aYT
+aYT
+aYT
+aYT
+aYT
+aYT
+aYT
+cgR
+cgR
+cgN
+cgN
+cgO
+cgO
+cgO
+cgO
+cgj
+aZn
+aZn
+aZn
+aZA
+aZA
+bad
+aZo
+cgR
+cgN
+cgS
+aaa
+aaa
+aaa
+cgN
+ctW
+cuU
+cvT
+cwP
+ctW
+cxZ
+cyO
+czh
+czZ
+cAU
+cYc
+cCD
+cDv
+cDv
+cEQ
+cFb
+cmA
+cgu
+cgu
+cgR
+cgR
+cgR
+aaa
+aaa
+aaa
+abC
+cHA
+abC
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aag
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(46,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abW
+abW
+afS
+ajp
+ako
+ajr
+afS
+acH
+acH
+acH
+aez
+aez
+afq
+aqH
+afq
+amJ
+auY
+awi
+axp
+ayl
+azN
+aBb
+aCc
+aDn
+aEy
+aFV
+aHr
+anz
+aJy
+afo
+aju
+afo
+aNB
+aOI
+afo
+aRm
+aus
+akq
+akq
+ajt
+aez
+acH
+abW
+abE
+abE
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aYP
+aYT
+aYT
+aYT
+aYT
+aYT
+aZo
+aZo
+bau
+aZn
+aZn
+aZn
+aZn
+aZm
+aZm
+aZm
+aZm
+aZm
+aZm
+aZm
+aZn
+bka
+aYX
+blT
+bbf
+bbf
+bbf
+bbf
+bbf
+bbf
+bbf
+bbf
+bbf
+bbf
+bbf
+bbf
+bmN
+blW
+aZA
+aZn
+bHA
+bHA
+cMA
+bKA
+bKB
+bKA
+bKB
+bKA
+bKB
+bHA
+bUl
+bVo
+bWe
+bWO
+bWO
+bWO
+bWO
+bWO
+bWO
+bWO
+bWO
+bWO
+bWO
+bWO
+bWO
+bWO
+bHA
+bHA
+cew
+bHA
+bHA
+aYT
+aYT
+aYT
+aYT
+aYT
+aYT
+aYT
+aYT
+aYT
+cgR
+cgR
+cgN
+cgN
+cgO
+cgO
+cgO
+cgO
+cgO
+cgN
+cgN
+aZn
+aZn
+aZA
+aZA
+aZn
+cgR
+cgN
+cgS
+aaa
+aaa
+aaa
+cgN
+ctW
+cuT
+cvU
+cuT
+cxu
+cya
+cyP
+czi
+cAa
+cAV
+ctW
+cCE
+cgL
+cgL
+cgL
+cFc
+ckH
+cgu
+cgu
+cgR
+cgR
+cgN
+aaa
+aaa
+aaa
+cjU
+cIo
+cjU
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(47,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abW
+abW
+afV
+ajq
+akp
+ala
+afV
+abW
+aez
+aez
+adZ
+afS
+amJ
+aqk
+aox
+anz
+auZ
+awj
+axq
+aym
+azO
+aBc
+aCd
+aDo
+aEz
+aFW
+akE
+afo
+aJz
+afq
+aLm
+afV
+aNC
+aOJ
+aLm
+aLn
+aLn
+aLn
+akq
+ajt
+aez
+aez
+abW
+abW
+abE
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aYT
+aYT
+aYT
+aYT
+aZo
+aZo
+aZn
+aZA
+aZA
+aZn
+aZn
+aZn
+aZn
+aZm
+bdM
+beB
+bfp
+beD
+bhi
+biu
+bjk
+bkb
+bkT
+blU
+bmM
+bnT
+bnT
+bnT
+bse
+bnT
+bvh
+bwE
+bnT
+bnT
+bnT
+bnT
+bnT
+bEe
+aZz
+bec
+bHA
+bIV
+bIW
+bIW
+bNi
+bKA
+bPZ
+bPZ
+bPZ
+bTn
+bPZ
+bVp
+bWf
+bWR
+bXu
+bYe
+bYT
+bZs
+bZs
+bZs
+bZs
+bZs
+bZs
+bZs
+bZs
+bZs
+bZs
+bYT
+bIW
+ceM
+bHA
+aYT
+aYT
+aYT
+aYT
+aYT
+aYP
+aYP
+aYP
+aYT
+cgR
+cgR
+cgN
+cgN
+cgN
+cgN
+cgN
+cgN
+cgN
+cgN
+cgN
+aZn
+aZA
+aZA
+aZA
+aZn
+cgR
+cgN
+cgS
+aaa
+aaa
+aaa
+cgN
+ctW
+cuV
+cvV
+cwQ
+cvV
+cyb
+cvW
+cXZ
+cAb
+cAW
+ctW
+ckH
+ckz
+chc
+cgu
+cFc
+cgL
+cFH
+cjU
+cgR
+cgR
+cgN
+cgN
+cgN
+cgN
+cjU
+cIp
+cjU
+cIN
+cjU
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(48,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abW
+abW
+abW
+abW
+acH
+acH
+afS
+ajr
+akp
+akq
+afS
+acH
+aez
+aoR
+ahr
+cJx
+cJA
+arS
+arS
+arS
+arS
+arS
+axr
+arS
+arS
+arS
+arS
+arS
+aEA
+aFX
+arS
+adZ
+anC
+aiS
+aLm
+aMD
+aND
+aOK
+aPH
+aRn
+aSh
+aLm
+akq
+afq
+aVo
+afV
+abW
+abW
+abE
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aYP
+aYP
+aYP
+aYP
+aYP
+aYP
+aZn
+aZA
+aZA
+aZA
+aZn
+aZo
+aZo
+aZo
+aZn
+aZm
+bdN
+beC
+bfq
+beC
+bhj
+biv
+bjl
+bkc
+bkU
+blV
+bmN
+bau
+aZX
+bqE
+aZm
+aZn
+aZA
+aZn
+bmO
+bmO
+bmO
+bmO
+bmO
+bmO
+aZz
+bbE
+bHB
+bIW
+bKC
+bMf
+bNj
+bOy
+bOy
+bOy
+bOy
+bOy
+bOy
+bVq
+bOA
+bWS
+bXv
+bYf
+bYT
+bZs
+bZs
+bZs
+bZs
+bZs
+bZs
+bZs
+bZs
+bZs
+bZs
+bYT
+bYf
+ceN
+bHA
+aYT
+aYT
+aYT
+aYT
+aYT
+aYP
+bjB
+aYP
+aYP
+cgN
+cgN
+cgS
+cgN
+cgS
+cgN
+cgN
+cgN
+cgR
+cgR
+aZo
+aZn
+aZA
+cge
+bec
+aZn
+aZo
+cgN
+cgN
+aaa
+aaa
+aaa
+cgN
+ctW
+cXW
+cvW
+cXX
+cvW
+cvW
+cvW
+cvW
+cAc
+cAX
+ctW
+cBR
+cBR
+cBR
+cBR
+cFd
+cgL
+cgL
+cgu
+cgR
+cgR
+cgR
+cgN
+chc
+chc
+cjU
+cIo
+cjV
+cIO
+cjU
+cJb
+cJb
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(49,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+acH
+acH
+acH
+acH
+acH
+acH
+afV
+ajs
+akq
+alb
+afS
+aez
+adZ
+anC
+arS
+cJy
+cJB
+arS
+asM
+atT
+arS
+awk
+axs
+ayn
+azP
+aBd
+aCe
+aDp
+aEB
+aFY
+arS
+adZ
+anC
+aKF
+aLn
+aME
+aNp
+aNp
+aOl
+aNp
+aNp
+aLn
+akq
+akq
+aqH
+aez
+acH
+abW
+akG
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abD
+aYP
+aYP
+aZn
+aZB
+aZn
+aZo
+aZo
+aZo
+aZo
+aZo
+aZn
+aZm
+bdO
+beC
+bfr
+beC
+bhk
+aZm
+aZB
+aZA
+bkV
+blW
+aZB
+aZn
+aZn
+aZn
+aZn
+aZn
+aZn
+aZn
+bmO
+bzy
+bAB
+bBy
+bBz
+bmO
+bka
+bbE
+bHB
+bIX
+bKD
+bMg
+bNk
+bOz
+bQa
+bQa
+bQa
+bQa
+bQa
+bVr
+bWg
+bMj
+bXw
+bYg
+bYT
+bZs
+bZs
+bZs
+bZs
+bZs
+bZs
+bZs
+bZs
+bZs
+bZs
+bYT
+bYg
+ceO
+bHA
+aYT
+aYT
+aYT
+aYP
+aYP
+bjB
+bjB
+aYP
+aYP
+cgS
+cgS
+cgS
+cgS
+cgS
+cgS
+cgS
+cgN
+cgR
+cgR
+aZo
+bec
+aZA
+aZA
+cfs
+cge
+aZn
+cgR
+cgR
+aaa
+crd
+aaa
+cgN
+ctW
+cuW
+cvW
+cwR
+cxv
+cyc
+cvW
+cvW
+cAd
+cAY
+ctW
+cCF
+cDw
+cEf
+cBR
+cFd
+cgL
+cnX
+cgu
+cgu
+cgu
+cgu
+chc
+chc
+chc
+cjV
+cIq
+cIC
+cIP
+cIC
+cJc
+cJb
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(50,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+abC
+aaa
+aaa
+aaa
+abW
+abW
+abW
+abW
+abW
+abW
+acH
+acH
+acH
+acH
+acH
+aez
+afV
+afV
+afS
+alc
+afS
+aez
+afq
+anC
+arS
+cJz
+cJC
+cJD
+asN
+atU
+ava
+awl
+cLV
+ayo
+azQ
+aBe
+azQ
+aDq
+aEC
+aFZ
+arS
+adZ
+anC
+aKG
+aLn
+aMF
+aNE
+aOL
+aPI
+aRo
+aNp
+aLm
+alb
+aUQ
+afS
+aez
+acH
+abE
+abE
+abE
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aYP
+aYP
+aZn
+aZn
+aZn
+aZo
+aZo
+aZo
+aZo
+aZo
+aZn
+aZm
+bdP
+beD
+bfs
+bgt
+bhl
+aZm
+aZn
+aZA
+bkV
+blW
+bmO
+bmO
+bpx
+bmO
+bmO
+bmO
+bmO
+bmO
+bmO
+bzy
+bzy
+bBz
+bBz
+bmO
+aZz
+bGo
+bHA
+bIY
+bKE
+bMh
+bNi
+bOA
+bQb
+bQZ
+bSb
+bSb
+bUm
+bKA
+bWh
+bHA
+bXx
+bYg
+bYT
+bZs
+bZs
+bZs
+bZs
+bZs
+bZs
+bZs
+bZs
+bZs
+bZs
+bYT
+bYg
+ceP
+bHA
+aYT
+aYP
+aYP
+bjB
+bjB
+bjB
+bjB
+aYP
+bjB
+cgS
+cgS
+cgS
+cgS
+cgS
+cgS
+cgS
+cgN
+cgR
+cgR
+aZo
+aZn
+aZn
+aZm
+ceK
+cno
+aZm
+cgR
+cgR
+cqo
+cre
+cqo
+cgN
+ctW
+cuX
+cvX
+cuX
+cxw
+cyd
+cyQ
+czj
+cAe
+cAZ
+ctW
+cCG
+cCJ
+cCG
+cBR
+cFe
+cFt
+chc
+cgu
+cgu
+cgu
+cgu
+chc
+chc
+chb
+cjV
+cIr
+cID
+cIQ
+cIC
+cJd
+cjU
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(51,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+abC
+aaa
+aaa
+aaa
+abW
+abW
+abW
+abW
+abW
+abW
+acH
+acH
+acH
+acH
+acH
+aez
+cJq
+aqm
+akq
+ald
+akq
+akq
+akq
+anC
+arS
+arS
+arS
+arS
+asO
+atU
+ava
+awm
+cLV
+cLV
+azR
+cLV
+cLV
+aDr
+aED
+aGa
+arS
+adZ
+aJA
+adZ
+aLm
+aMG
+aNF
+aLm
+aPJ
+aRp
+aLm
+aLm
+aTN
+aTN
+aLn
+aLn
+aLm
+aLm
+abE
+abE
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aYP
+aYT
+aYT
+aYT
+aZY
+aZY
+aZY
+aZm
+aZm
+bdQ
+aZm
+bft
+bgu
+bgu
+aZm
+aZn
+aZn
+bkV
+blW
+bmO
+bnU
+bpy
+bqF
+bsf
+btA
+bvi
+bwF
+byk
+bzy
+bzy
+bBz
+bBz
+bmO
+aZz
+aZA
+bHA
+bIZ
+bKF
+bMh
+bNi
+bOB
+bQb
+bRa
+bSc
+bSd
+bUn
+bKA
+bWi
+bHA
+bXy
+bYg
+bYT
+bZs
+bZs
+bZs
+bZs
+bZs
+bZs
+bZs
+bZs
+bZs
+bZs
+bYT
+bYg
+ceQ
+bHA
+aYP
+aYP
+aYP
+bjB
+bjB
+bjB
+bjB
+bjB
+bjB
+cgS
+cgS
+cgS
+cgS
+cgS
+cgS
+cgS
+cgS
+cgN
+cgR
+cgR
+cjg
+cjg
+cjg
+cmI
+cmI
+cjg
+cjg
+cgN
+cqo
+crf
+cqo
+cgN
+ctX
+ctX
+ctX
+ctX
+ctX
+ctX
+ctX
+czk
+cAe
+cBa
+ctW
+cCH
+cDx
+cCH
+cBR
+cln
+cFu
+cFI
+cFI
+cFI
+cFI
+cGU
+cFI
+cFI
+cHJ
+cHY
+cIs
+cIE
+cIR
+cIC
+cIC
+cjU
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(52,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+abC
+aaa
+aaa
+aaa
+abW
+abW
+abW
+acH
+acH
+acH
+acH
+acH
+acH
+acH
+acH
+aez
+akq
+afq
+afq
+afq
+afq
+afq
+afq
+amI
+ahr
+apX
+anN
+arS
+asP
+atV
+arS
+awn
+axt
+axt
+axt
+axt
+axt
+aDs
+aEE
+aGb
+aHs
+aHs
+aHs
+aHs
+aHs
+aHs
+aHs
+aHs
+aPK
+aRq
+aSi
+aLm
+aTO
+aTO
+aUw
+aMo
+aMn
+aLm
+abE
+abE
+abE
+aXR
+aXR
+aXR
+aaa
+aXR
+aXR
+aXR
+aXR
+aaa
+aXR
+aXR
+aXR
+aXR
+aXR
+aXR
+aYP
+aYT
+aYT
+aYP
+aZY
+bbv
+bbW
+bcy
+bde
+bdR
+aZm
+aZm
+aZm
+aZm
+aZm
+aZn
+aZm
+bkW
+blW
+bmO
+bnV
+bpz
+bqG
+bqG
+bqG
+bqG
+bwG
+bqI
+bqI
+bqI
+bqI
+bCI
+bmO
+aZz
+bbV
+bHC
+bJa
+bKG
+bMh
+bNi
+bOA
+bQb
+bRa
+bSd
+bSd
+bUn
+bKA
+bKA
+bHC
+bXz
+bYg
+bYT
+bYT
+bYT
+bYT
+cba
+bYT
+bYT
+cba
+bYT
+bYT
+bYT
+bYT
+bYg
+bXz
+bHA
+aYP
+aYP
+bjB
+bjB
+bjB
+bjB
+bjB
+bjB
+bjB
+cgS
+cgS
+cgS
+cgS
+cgS
+cgS
+cgS
+cgS
+cgN
+cgR
+cgR
+cjg
+clB
+cmc
+cmJ
+cmd
+cnZ
+cjg
+cgN
+cqo
+crg
+cqo
+cgN
+cta
+cuY
+cuY
+cwS
+cLE
+cwS
+ctX
+czl
+cAf
+cBb
+ctW
+cCI
+cDy
+cEg
+cBR
+cFf
+cDv
+cDv
+cDv
+cDv
+cDv
+cDv
+cDv
+cDv
+cHK
+cHZ
+cIt
+cIF
+cIS
+cll
+cJe
+cjU
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(53,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+abC
+aaa
+abW
+abW
+abW
+abW
+abW
+acH
+acH
+acH
+acH
+acH
+afr
+afr
+afr
+afr
+afr
+alf
+afr
+alf
+afr
+afr
+afr
+afr
+afr
+afr
+afr
+afr
+afr
+afr
+arS
+arS
+arS
+arS
+arS
+arS
+arS
+aDt
+aEF
+aGc
+aHs
+aIq
+aJB
+aKH
+aLw
+aMH
+aNG
+aHs
+aPL
+aRr
+aSj
+aLm
+aNp
+aNp
+aNp
+aNp
+aMp
+aLm
+abE
+abE
+abE
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aYP
+aYT
+aYT
+aYP
+aZY
+bbw
+bbX
+bbX
+bbX
+bbX
+aZY
+aZo
+aZo
+aZo
+aZn
+aZn
+aZn
+bkV
+blW
+bmO
+bnV
+bpA
+bqH
+bqH
+bqH
+bvj
+bwH
+byl
+bzz
+bzz
+bBA
+bqI
+bpx
+aZz
+bbg
+bHA
+bJb
+bKF
+bMi
+bNi
+bOA
+bQb
+bRb
+bSe
+bSe
+bUo
+bKA
+bWi
+bHA
+bXz
+bYg
+bYU
+bSf
+bTo
+bSf
+bIW
+cbA
+ccc
+bIW
+bSf
+bSf
+bTo
+bYU
+bYg
+bXz
+bHA
+aYP
+bjB
+bjB
+bjB
+bjB
+bjB
+bjB
+bjB
+bjB
+cgS
+cgS
+cgS
+cgS
+cgS
+cgS
+cgS
+cgS
+cgS
+cgN
+cgN
+cjg
+clC
+cmd
+cmK
+cmd
+cnZ
+cjg
+cjg
+cqp
+crh
+cqp
+cta
+cta
+cuZ
+cvY
+cwT
+cvY
+cwT
+ctX
+czm
+cAg
+cBc
+ctW
+cCJ
+cDz
+cEh
+cBR
+cFg
+cgL
+cgL
+chb
+cGu
+cjV
+chc
+chc
+chb
+cgL
+cjV
+cIc
+cIG
+cIT
+cIC
+cJf
+cjU
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(54,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+abC
+aaa
+abW
+abW
+abW
+abW
+abW
+acH
+acH
+acH
+acH
+acH
+afr
+agn
+ahj
+ahU
+aiC
+ajv
+ahV
+alg
+alH
+amm
+anm
+aoa
+alH
+apY
+anm
+arT
+alH
+atW
+anm
+awo
+alH
+ayp
+anm
+aBf
+afr
+aDu
+aEG
+aGd
+aHt
+aIr
+aJC
+aJC
+aLx
+aJC
+aJC
+aHs
+aPM
+aRs
+aSk
+aTl
+aTP
+aNp
+aNp
+aNp
+aWg
+aLm
+aLm
+aLm
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aZY
+aZY
+aZY
+bbw
+bbX
+bbX
+bdf
+bdS
+aZY
+aZY
+aZY
+aZo
+aZo
+aZo
+aZo
+bkV
+blW
+bmO
+bnW
+bpB
+bqI
+bqI
+bqI
+bqI
+bqI
+bqI
+bqI
+bqI
+bBB
+bqI
+bmO
+aZz
+aZX
+bHA
+bJc
+bKF
+bMh
+bNi
+bOA
+bQb
+bIW
+bSf
+bTo
+bUp
+bKA
+bWi
+bHA
+bXA
+bYh
+bMf
+bMf
+bMf
+bMf
+bMf
+cbB
+ccd
+ccu
+ccu
+ccu
+ccu
+ccu
+cex
+ceR
+bHA
+bHA
+bHA
+bjB
+bjB
+bjB
+bjB
+bjB
+bjB
+bjB
+cgS
+cgS
+cgS
+cgS
+cgS
+cgS
+cgS
+cgS
+cgS
+cjg
+cjg
+cjg
+clD
+cmd
+cmd
+cmd
+cmd
+cjg
+cjg
+cjg
+cri
+cjg
+cta
+ctY
+cva
+cvY
+cwU
+cvY
+cye
+cta
+czn
+cAh
+cBd
+cBQ
+cCJ
+cDA
+cEi
+cBR
+cFd
+cgL
+chc
+chc
+chc
+chc
+chc
+chc
+chc
+chc
+cjV
+cIu
+cIG
+cIU
+cll
+cJg
+cJb
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(55,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+abC
+aaa
+abW
+abW
+abW
+abW
+acH
+acH
+acH
+acH
+acH
+afr
+afr
+ago
+ahk
+ahV
+aiD
+ajw
+akr
+alh
+alH
+amn
+ann
+ann
+alH
+apZ
+ann
+ann
+alH
+atX
+anv
+ann
+alH
+ayq
+ann
+ann
+afr
+aDv
+aEH
+aGe
+aHu
+aIs
+aJD
+aKI
+aIs
+aIs
+aNH
+aHs
+aPL
+aRt
+aSl
+aLm
+aTQ
+aUR
+aUR
+aUR
+aWp
+aWG
+aWU
+aXj
+aXB
+arw
+arw
+arw
+arw
+arw
+arw
+arw
+arw
+arw
+arw
+arw
+arw
+arw
+arw
+arw
+arw
+aYF
+aZZ
+bav
+baX
+bbx
+bbY
+bcz
+bcz
+bcz
+bcz
+bfu
+aZY
+aZo
+aZo
+aZo
+aZo
+bkX
+blX
+bmO
+bnX
+bpC
+bqJ
+bsg
+btB
+bvk
+bwI
+bym
+bzA
+bAC
+bBB
+bCJ
+bmO
+bFb
+bGp
+bHA
+bJd
+bKH
+bMh
+bNi
+bOA
+bQb
+bIW
+bSg
+bTp
+bUq
+bIW
+bWk
+bHA
+bXB
+bYi
+bYV
+bZt
+bYi
+cas
+cbb
+cbC
+cce
+bMg
+bMg
+bMg
+cdH
+bMg
+bMg
+ceS
+cfh
+cfx
+cfH
+cfM
+bjB
+bjB
+bjB
+bjB
+bjB
+bjB
+cgS
+cgS
+cgS
+cgS
+cgS
+cgS
+cgS
+ciC
+cjf
+cjE
+ckm
+ckM
+clE
+clE
+clE
+cnp
+coa
+cjg
+cjg
+cmd
+cmd
+csr
+cta
+ctY
+cva
+cvY
+cvY
+cvY
+cyf
+cta
+czo
+cAi
+cyU
+cBR
+cBR
+cBR
+cBR
+cBR
+cFd
+cgL
+cgL
+cgu
+cgu
+chc
+chc
+chc
+chc
+chc
+cjV
+cjU
+cjU
+cIV
+cjV
+cJb
+cJb
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(56,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+abD
+abE
+abE
+abW
+abW
+abW
+acH
+acH
+acH
+acH
+acH
+afr
+afL
+agp
+ahl
+ahW
+aiE
+ajx
+ahV
+ali
+alH
+amo
+ann
+aob
+alH
+amo
+ann
+aob
+alH
+amo
+ann
+aob
+alH
+amo
+ann
+aob
+afr
+aDv
+aEI
+aGf
+aHv
+aIt
+aJE
+aKJ
+aLy
+aMI
+aNI
+aHs
+aPL
+aRt
+aSm
+aLm
+aLm
+aLm
+aLm
+aPl
+aLm
+aLm
+aLm
+aLm
+aXC
+aXS
+aXS
+aXS
+aXS
+aXS
+aXS
+aXS
+aXS
+aXS
+aXS
+aXS
+aXS
+aXS
+aXS
+aXS
+aXS
+aZM
+aZY
+aZY
+aZY
+aZY
+aZY
+bcA
+aZY
+aZY
+aZY
+bfv
+aZY
+aZY
+aZY
+aZY
+aZY
+bkY
+blY
+bmO
+bmO
+bpD
+bmO
+bmO
+btC
+btC
+btC
+btC
+bmO
+bmO
+bBC
+bmO
+cKS
+bFc
+bFc
+bHA
+bHA
+bKI
+bMj
+bNl
+bOC
+bNl
+bMj
+bHA
+bHA
+bHA
+bHA
+bHA
+bHC
+bHA
+bHA
+bHA
+bHA
+bHA
+bHA
+bOC
+cbD
+ccf
+bMj
+bHA
+bHA
+bHA
+cLh
+bHA
+bHA
+bHA
+bHA
+bHA
+cfN
+cga
+cga
+cga
+cga
+cga
+cga
+cgT
+cgT
+cgT
+cgT
+cgT
+cgT
+cgT
+ciD
+cjg
+cjg
+cjg
+ckN
+cjg
+cjg
+cjg
+cjg
+cob
+cjg
+cjg
+cjg
+crj
+cjg
+cta
+cta
+cvb
+cvZ
+cwV
+cxx
+cyg
+cta
+czo
+cAi
+cBe
+cBS
+cCK
+cDB
+czG
+chb
+cFd
+cgL
+cgL
+cgu
+cgu
+cgu
+cgu
+chc
+chc
+chc
+cgN
+cgS
+cjU
+cIW
+cjU
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(57,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+abE
+abE
+abE
+abE
+acH
+acH
+acH
+acH
+acH
+acH
+acH
+acH
+afr
+afr
+afr
+afr
+ahX
+aiF
+ajy
+aks
+alj
+alH
+amp
+ano
+aoc
+alH
+amp
+aqV
+aoc
+alH
+amp
+avb
+aoc
+alH
+amp
+azS
+aoc
+afr
+cNw
+aEI
+aGg
+aHs
+aIu
+aJF
+aKK
+aLz
+aMJ
+aNJ
+aOM
+aPL
+aRt
+aSn
+aSU
+aTR
+aSU
+aSU
+aVJ
+aSU
+aVB
+aSU
+aSR
+ary
+ary
+ary
+ary
+ary
+ary
+ary
+ary
+aYI
+ary
+ary
+ary
+ary
+ary
+ary
+ary
+ary
+ary
+baa
+baw
+baY
+bby
+bbZ
+bcB
+bcB
+bdT
+bcB
+bfw
+bcB
+bhm
+bcB
+bcB
+bkd
+bkZ
+blZ
+bby
+bcB
+bpE
+bcB
+bsh
+btD
+bcB
+bcB
+bcB
+bzB
+bAD
+bBD
+bcB
+bcB
+bcB
+bcB
+bHD
+cMy
+bKJ
+bcB
+bcB
+bOD
+bcB
+bcB
+bSh
+btD
+bsh
+bdT
+bWl
+bcB
+bcB
+bby
+bcB
+bcB
+bZV
+bcB
+cbc
+cbE
+ccg
+ccv
+bcB
+bdT
+bAD
+bcB
+bsh
+ceT
+cfi
+cfy
+baa
+cfO
+cfO
+cfO
+cfO
+cgp
+cfO
+cfO
+cgU
+cgU
+cgU
+cgU
+cgU
+cgU
+cgU
+cgU
+cjh
+cjF
+cjF
+ckO
+clF
+cme
+cme
+cnq
+coc
+cme
+cpw
+cqq
+cme
+css
+ctb
+ctZ
+cvc
+cvc
+cNs
+cvc
+cyh
+cyR
+czp
+cAi
+cyU
+cyU
+cyU
+cDC
+czG
+ckH
+cFh
+cFv
+cgL
+cgL
+cgu
+cgu
+cgu
+chc
+chc
+chc
+cgN
+cgS
+cgS
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(58,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+abE
+abE
+abW
+acH
+acH
+acH
+acH
+abW
+abW
+acH
+acH
+acH
+abW
+afr
+agq
+ahm
+ahY
+aiG
+ajz
+cJt
+akt
+alI
+amq
+anp
+aod
+apk
+aqa
+anp
+aod
+asQ
+aqa
+anp
+aod
+axu
+ayr
+azT
+aBg
+afr
+aDv
+aEJ
+aGh
+aHs
+aIv
+aJG
+aKK
+aLA
+aMK
+aNK
+aHs
+aPL
+cKd
+aSo
+aRD
+aTS
+aRD
+aRD
+aRD
+aRD
+aRD
+aRD
+aRP
+arz
+arz
+arz
+arz
+arz
+arz
+arz
+arz
+arz
+arz
+arz
+arz
+arz
+arz
+arz
+arz
+arz
+arz
+bab
+bax
+baZ
+bbz
+bbz
+bbz
+bbz
+bdU
+bbz
+bfx
+bbz
+bbz
+biw
+bbz
+bbz
+bla
+bma
+bmP
+bmP
+bpF
+bqK
+bsi
+btE
+cKM
+bax
+bax
+bax
+bax
+bax
+bax
+bax
+bax
+bGq
+cMw
+bax
+bKK
+bax
+bax
+bax
+bQc
+bax
+bSi
+bTq
+bax
+bHE
+bax
+bax
+bax
+bax
+bax
+bax
+bax
+bGq
+bSi
+bKK
+cch
+ccw
+bax
+bHE
+bax
+bax
+bax
+bTq
+bax
+bax
+bab
+cfP
+cfP
+cfP
+cfP
+cfP
+cfP
+cfP
+cgV
+cgV
+cgV
+cgV
+cgV
+cgV
+cgV
+cgV
+cji
+cjG
+cjG
+ckP
+cjG
+cjG
+cjG
+cnr
+cjG
+cjG
+cjG
+cjG
+cjG
+cLt
+ctc
+ctZ
+cvc
+cvc
+cwX
+cvc
+cyi
+cyR
+czq
+cAj
+cyU
+cBT
+cCL
+cDD
+czG
+cER
+ckH
+cFw
+cFv
+chb
+cgu
+cgu
+cgu
+cgu
+cgu
+chc
+cgN
+cgS
+cgS
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(59,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+abE
+abE
+abW
+acH
+acH
+abW
+acO
+acO
+acO
+acO
+acO
+acO
+acO
+acO
+acO
+afr
+ahZ
+aiH
+ajA
+aku
+alk
+alJ
+amr
+anq
+aoe
+ajF
+ajF
+ajF
+arU
+ajF
+ajF
+ajF
+aoe
+axv
+ays
+azU
+aBh
+aBj
+aDv
+aEI
+aGi
+aHw
+aHx
+aHx
+aHx
+aHx
+aHx
+aHx
+aHx
+aPL
+aRt
+aSp
+aSN
+aTT
+aSN
+aSN
+aVK
+aSN
+aSN
+aSN
+aSP
+arA
+arA
+arA
+arA
+arA
+arA
+arA
+arA
+arA
+arA
+arA
+arA
+arA
+arA
+arA
+arA
+arA
+arA
+bac
+bay
+bba
+bbA
+bbA
+bbA
+bbA
+bdV
+beE
+bfy
+bbA
+bbA
+bix
+bbA
+bbA
+blb
+bmb
+bmQ
+bnY
+bpG
+bqL
+bsj
+btF
+bvl
+bwJ
+byn
+bvl
+bvl
+bvl
+bvl
+bvl
+bvl
+bGr
+cMx
+bvl
+bGr
+bvl
+bvl
+bvl
+bvl
+byn
+bSj
+bmQ
+bUr
+bHF
+bvl
+bvl
+bvl
+bvl
+bvl
+bvl
+bnY
+cat
+cbd
+cbF
+cci
+ccx
+ccL
+cdq
+cdI
+bay
+bay
+ceU
+bay
+cTV
+cTX
+cfQ
+cfQ
+cfQ
+cfQ
+cfQ
+cfQ
+cfQ
+cgW
+chd
+chd
+cho
+chd
+chd
+chd
+chd
+cjj
+cTY
+ckn
+cjH
+clG
+cjH
+cmL
+cns
+cod
+coR
+coR
+coR
+crk
+cst
+ctd
+cta
+cvd
+cwa
+cwY
+cxy
+cyj
+cyS
+czr
+cAk
+cBf
+cBU
+cBU
+cBU
+cBU
+cBU
+cBU
+cBU
+cFd
+cgL
+chc
+chc
+cgu
+cgu
+cgu
+chc
+cgN
+cgN
+cgS
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(60,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abD
+abE
+abE
+abW
+acH
+acH
+abW
+acO
+acO
+acO
+acO
+acO
+acO
+acO
+acO
+acO
+acO
+acO
+afr
+afr
+afr
+afr
+alf
+ams
+anr
+aof
+apl
+aof
+aof
+aof
+aof
+aof
+apl
+aof
+axw
+ayt
+aof
+aof
+aCf
+aDw
+aEK
+aGj
+aHx
+aIw
+aJH
+aKL
+aLB
+aJI
+aNL
+aON
+aPL
+aRt
+aSl
+aTm
+aTm
+aTm
+aTm
+cKf
+aTm
+aLm
+aLm
+aLm
+aXD
+aXD
+aXD
+aXD
+aXD
+aXD
+aXD
+aXD
+aXD
+aXD
+aXD
+aXD
+aXD
+aXD
+aXD
+aXD
+aXD
+aXD
+aZY
+baz
+bbb
+bbB
+bbB
+bbB
+cKn
+bbB
+bbB
+bbB
+bbB
+bbB
+bbB
+bbB
+bbB
+blc
+bmc
+bmR
+blc
+bbB
+bqM
+bsk
+btG
+bBK
+bvs
+bvs
+bvs
+bvs
+cTv
+cTv
+cTv
+cTv
+cTD
+bvs
+cTE
+cTE
+cTE
+cTE
+cTE
+cTE
+cTE
+bSk
+bTr
+bUs
+cTE
+cTE
+cTE
+bXC
+cTO
+cLg
+bZa
+bZW
+cau
+cbe
+cbG
+bZa
+cTP
+ccM
+cTO
+cdJ
+cTO
+cTO
+cTO
+cTO
+cTW
+aZY
+cfR
+cgb
+cgb
+cgb
+cgb
+cgb
+cgb
+cgX
+cgX
+cgX
+cgX
+cgX
+cgX
+cgX
+ciE
+cjg
+cjg
+cTZ
+cUa
+cUa
+cUc
+cUa
+cUa
+coe
+cUa
+cUa
+cUm
+crl
+cjG
+cte
+cua
+cve
+cvc
+cwW
+cxz
+cyk
+cyR
+czq
+cAj
+cBg
+cBV
+cCM
+cCM
+cCM
+cCM
+cCM
+cBU
+cFd
+cgL
+cjU
+chc
+cgu
+cgu
+cgu
+chc
+cgN
+cgS
+cgS
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(61,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abE
+abE
+abE
+abW
+acH
+acH
+abW
+acO
+acO
+adF
+aea
+aeB
+aeB
+aeB
+aeB
+agr
+acO
+aia
+aiI
+ajB
+akv
+ajB
+afr
+amt
+anr
+aof
+aog
+aog
+aqW
+arV
+asR
+aog
+aog
+aof
+axx
+ayt
+aof
+aof
+aBm
+aDv
+aEI
+aGj
+aHx
+aIx
+aJI
+aJI
+aJI
+aJI
+aNM
+aOO
+aPL
+aRt
+aSq
+aTn
+aTU
+aUS
+aVp
+aVL
+aWq
+abE
+abE
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aYP
+aZn
+aZy
+bbc
+bbB
+bca
+bcC
+bdg
+bbB
+beF
+bfz
+bcD
+bhn
+biy
+bjm
+bke
+bjp
+bmd
+bmS
+bnZ
+blc
+bqN
+bsl
+btH
+cTa
+bvn
+byo
+bvm
+bAE
+bBE
+bBE
+bBE
+bBE
+bGs
+bvm
+bJf
+bKL
+bMk
+bJe
+bOE
+bQd
+bRc
+bSl
+bTs
+bUt
+bVs
+bVs
+bJe
+bXD
+bYj
+bYm
+bZu
+bZX
+bZD
+cbf
+cbH
+ccj
+ccy
+ccN
+aZY
+cdK
+ceb
+ceb
+ceb
+cfj
+cfz
+cfj
+cfS
+bjB
+bjB
+bjB
+bjB
+bjB
+bjB
+cgS
+cgS
+cgS
+cgS
+cgS
+cgS
+cgS
+ciF
+cjk
+cjk
+cko
+ckQ
+clH
+cmf
+cmM
+cnt
+cof
+cjg
+cgN
+cUn
+crm
+cjG
+ctf
+cub
+cvf
+cwb
+cwZ
+cvc
+cyl
+cta
+czs
+cAl
+cBh
+cBW
+cCN
+cCN
+cCN
+cCN
+cFi
+cBU
+cFJ
+cFv
+cnb
+clV
+chc
+chc
+chc
+chc
+cgN
+cgN
+cgS
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(62,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abE
+abE
+abW
+abW
+abW
+abW
+abW
+acO
+acO
+adG
+aeb
+aeC
+aeY
+afs
+afM
+ags
+ahn
+aib
+aiJ
+ajC
+akw
+akw
+afr
+ams
+anr
+cJu
+aog
+aqb
+aqX
+arW
+asS
+atY
+aog
+cJv
+axw
+ayt
+aof
+aBi
+afr
+aDu
+aEL
+aGk
+aHy
+aIy
+aJJ
+aJJ
+aLC
+aMM
+aNN
+aOP
+aPL
+aRu
+aSr
+aTo
+aTV
+aUT
+aVq
+aVM
+aWq
+abE
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aYP
+aZn
+aZA
+baB
+bbB
+bcb
+bcD
+bdh
+bbB
+beG
+bfA
+bgv
+bho
+biz
+bjn
+bkf
+bld
+bme
+bmT
+boa
+bpH
+bqO
+bsm
+btI
+cTb
+bvo
+bvo
+bzC
+bAF
+bBF
+cMt
+bBF
+bFd
+bGt
+bvm
+bJg
+bKM
+bMl
+bNm
+bKO
+bKO
+bRd
+bSl
+bTs
+bUu
+bVt
+bWm
+bJe
+bJe
+bJe
+bYm
+bZv
+bZY
+bZD
+cbf
+cbI
+cck
+ccy
+bYm
+aZY
+bbX
+bbX
+bbX
+ceV
+aZY
+aZY
+aZY
+bjB
+bjB
+bjB
+bjB
+bjB
+bjB
+bjB
+cgS
+cgS
+cgS
+cgS
+cgS
+cgS
+cgS
+cgS
+cgS
+cgS
+cjg
+cjg
+cjg
+cmg
+cmN
+cnu
+cog
+cjg
+cgN
+cUn
+crn
+cjG
+ctf
+cta
+cvg
+cwc
+cxa
+cxB
+cym
+cyT
+czt
+cAm
+cBi
+cBX
+cCO
+cDE
+cEj
+cDE
+cFj
+cBU
+chc
+cFd
+cgL
+cgL
+chc
+chc
+chc
+cjV
+chc
+cgN
+cgN
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(63,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abE
+abE
+abW
+abW
+abW
+abW
+abW
+acO
+acO
+adH
+aec
+aeD
+aeD
+aeD
+aeD
+agt
+acO
+acO
+afr
+ajD
+akx
+akx
+akx
+amu
+anr
+aoh
+apm
+apo
+asT
+arX
+cLR
+atZ
+avc
+aoh
+axw
+ayt
+afr
+aBj
+afr
+aDv
+aEM
+aGl
+aHz
+aIz
+aJK
+aKM
+aLD
+cMj
+aNO
+aHx
+aPN
+aRv
+aSs
+aTp
+aTW
+aUU
+aVr
+aVN
+aWq
+abE
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aYP
+aYT
+aZn
+aZz
+bbd
+bbB
+bcc
+bcE
+bdi
+bdW
+beH
+bfB
+bgw
+bhp
+biA
+bjo
+bkg
+ble
+bmf
+bmU
+bob
+bpI
+bqP
+bsn
+btJ
+cTc
+bvp
+bvp
+bzD
+bvp
+bvp
+bCK
+bEf
+bFe
+bGu
+bvm
+bJh
+bKN
+bMm
+bJe
+bKO
+bQe
+bMn
+bSl
+bTs
+bUu
+bVt
+bVt
+bWT
+bXE
+bYk
+bYm
+bYX
+bYX
+bZD
+cbf
+cbJ
+bYX
+ccz
+ccO
+aZY
+bbX
+bbX
+bbX
+bbw
+aZY
+aYP
+bjB
+bjB
+bjB
+bjB
+bjB
+bjB
+bjB
+bjB
+cgS
+cgS
+cgS
+cgS
+cgS
+cgS
+cgS
+cgS
+cgS
+cgN
+cgN
+cgN
+cjg
+cmh
+cmO
+cnv
+coh
+cjg
+cgN
+cUn
+cro
+csu
+ctg
+cta
+cvh
+cwd
+cxb
+cxC
+cyn
+cta
+czu
+cAn
+cBj
+cBY
+cCP
+cDF
+cDF
+cES
+cFk
+cBU
+chc
+cFd
+cgL
+cgL
+cgL
+cgL
+cgL
+cnb
+chc
+cgN
+cgN
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aac
+aac
+aac
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(64,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abE
+abE
+abE
+abW
+abW
+abW
+abW
+acO
+acO
+adI
+aed
+aeE
+aeZ
+aft
+afN
+agu
+aho
+aic
+aiK
+ajE
+aky
+aky
+aky
+amv
+ans
+aoi
+apn
+aqc
+aqZ
+arY
+aqc
+aua
+avd
+awp
+axy
+ayu
+azV
+aBk
+azV
+aDx
+aEN
+aGm
+aHA
+aIA
+aJL
+aKN
+aLE
+aMN
+aNP
+aHx
+aPO
+aRw
+aSl
+aTm
+aTm
+aTm
+aVs
+aTm
+aTm
+abE
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+aZc
+aYP
+aYP
+aZn
+aZm
+baA
+bbe
+bbC
+bcd
+bcF
+bdj
+bbB
+beI
+bfC
+bgx
+bhq
+biB
+bjp
+bkh
+blf
+bmg
+bmV
+bjp
+blc
+bqQ
+bax
+btK
+cTd
+bvq
+bvq
+bvm
+bAG
+bBG
+bCL
+bBG
+bFf
+bGv
+bvm
+bJe
+bJe
+bJe
+bJe
+bOF
+bKO
+bRe
+bSl
+bTs
+bUv
+bVu
+bVu
+bJe
+bXF
+bYl
+bYm
+bZw
+bZX
+bZD
+cbf
+cbK
+bZX
+ccy
+ccP
+aZY
+cdL
+cec
+cec
+bbw
+aZY
+aYP
+bjB
+bjB
+bjB
+bjB
+bjB
+bjB
+bjB
+bjB
+cgS
+cgS
+cgS
+cgS
+cgS
+cgS
+cgS
+cgS
+cgS
+cgN
+cgN
+cgN
+cjg
+cjg
+cjg
+cjg
+cjg
+cjg
+cgN
+cUn
+crp
+cjG
+cth
+cLw
+cvi
+cwe
+cvY
+cxD
+cyo
+cta
+czv
+cAj
+cBk
+cBV
+cCQ
+cDF
+cEk
+cES
+cFk
+cBU
+chc
+cFw
+cGv
+cGv
+cGv
+cHi
+cFv
+chb
+chc
+cgN
+cgN
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aab
+aac
+aac
+aac
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(65,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abE
+abE
+abE
+abW
+abW
+abW
+abW
+acO
+acO
+adJ
+aee
+aeF
+afa
+afu
+afO
+agv
+ahp
+aid
+aiL
+ajF
+ajF
+ajF
+ajF
+amw
+ans
+aoj
+apo
+aqd
+ara
+arZ
+ara
+ara
+ara
+awq
+axz
+ayv
+azW
+aBl
+azW
+aDy
+aEO
+aGj
+cJP
+aHx
+aHx
+aHx
+aHx
+aHx
+aHx
+aHx
+aPP
+aRt
+aSl
+aLm
+abW
+abW
+abW
+abW
+abW
+abE
+abE
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aYP
+aYT
+aYT
+aZn
+bad
+baB
+aZn
+bbB
+bce
+bcG
+bdk
+bbB
+beJ
+bcD
+bgx
+bhq
+biB
+bjp
+bki
+blg
+bmh
+bmS
+boc
+bpJ
+bqR
+bax
+btL
+bBL
+bwK
+byp
+bvm
+bAH
+bBG
+bCM
+bBG
+bFf
+bGw
+bBK
+bJi
+bKO
+bKO
+bKO
+bKO
+bQf
+bRf
+bSl
+bTs
+bUu
+bVt
+bWm
+bJe
+bJe
+bJe
+bYm
+bZx
+bZY
+bZD
+cbf
+cbI
+bZY
+ccA
+ccQ
+aZY
+aZY
+aZY
+aZY
+aZY
+aZY
+aYP
+aYP
+bjB
+bjB
+bjB
+bjB
+bjB
+bjB
+bjB
+cgS
+cgS
+cgS
+cgS
+cgS
+cgS
+cgS
+cgS
+cgN
+cgN
+cgN
+cgR
+cgR
+cgR
+cgR
+cgN
+cgN
+cgN
+cgN
+cUr
+crl
+cjG
+cti
+cta
+cvj
+cwf
+cxc
+cxE
+cyp
+cta
+czw
+cAo
+cBl
+cWl
+cWn
+cWn
+cWn
+cWq
+cBV
+cBU
+chc
+chc
+chc
+cjX
+cgL
+cgL
+cFd
+ckH
+chc
+chc
+cgN
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aad
+aac
+aac
+aac
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(66,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abE
+abE
+abE
+abW
+abW
+abW
+abW
+acO
+acO
+adK
+aef
+aef
+afb
+aee
+afP
+agw
+acO
+acO
+afr
+ajG
+akz
+akz
+akz
+amx
+anr
+aok
+app
+aqe
+cLQ
+arX
+arb
+apo
+ave
+awr
+axA
+ayw
+afr
+aBm
+afr
+aDz
+aEI
+aGf
+cNC
+aIB
+cNJ
+cNP
+cNV
+cJT
+cJX
+cKa
+cKb
+aRt
+aSl
+aLm
+abW
+abW
+abW
+abW
+abW
+abE
+abE
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aYP
+aYT
+aYT
+aZn
+aZA
+baB
+aZn
+bbB
+bcf
+bcG
+bcD
+bbB
+beK
+bcF
+bgx
+bhq
+biB
+bjp
+bkj
+bjp
+bmi
+bmS
+bjp
+bbB
+bqS
+bax
+btM
+bBL
+bwL
+byq
+bzE
+bAI
+byr
+bCN
+bAI
+bFg
+byr
+bBL
+bJj
+bKP
+bMn
+bMn
+bMn
+bQg
+bQg
+bSl
+bTs
+bUu
+bVt
+bVt
+bWT
+bXE
+cMG
+bYm
+bZA
+cML
+bZD
+cbf
+cbL
+cML
+ccB
+ccR
+cdr
+cdr
+cdr
+cdr
+cdr
+cdr
+cdr
+aYP
+aYP
+bjB
+bjB
+bjB
+bjB
+bjB
+bjB
+cgS
+cgS
+cgS
+cgS
+cgS
+cgS
+cgS
+cgS
+cgN
+cgN
+cgN
+cgR
+cgR
+cgR
+cgR
+cgN
+cgN
+cgN
+cgN
+cTZ
+cUu
+cUw
+ctj
+cVw
+cWf
+cWf
+cWf
+cWf
+cyq
+cWf
+czx
+cAp
+cWk
+cWm
+cCR
+cDG
+cEl
+cWr
+cET
+cET
+cET
+cET
+cET
+cET
+cET
+cET
+cFd
+cgL
+cyK
+chc
+cgN
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aab
+aad
+aac
+aac
+aac
+aac
+aab
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(67,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abE
+abE
+abE
+abW
+abW
+abW
+abW
+acO
+acO
+adL
+aef
+aef
+aef
+aef
+afQ
+adM
+ahn
+aib
+aiM
+ajH
+akw
+akw
+afr
+amy
+anr
+cJv
+aog
+aqf
+arc
+arW
+asU
+aub
+aog
+cJu
+axw
+ayt
+aof
+aBi
+afr
+aDv
+cNx
+aGn
+cND
+aIC
+cNK
+cNQ
+cNQ
+cJU
+cNQ
+cOm
+cKc
+aRt
+aSl
+aLm
+abW
+acH
+acH
+abW
+abW
+abE
+abE
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aYP
+aYT
+aYT
+aZn
+aZA
+baC
+bbf
+bbD
+bcg
+bcH
+bdl
+bdX
+beL
+bfE
+bbB
+bhr
+biC
+bjq
+bkk
+bjq
+bmj
+bmW
+bod
+bpK
+bqT
+bso
+btM
+bvr
+bwM
+byr
+byr
+bwM
+byr
+bCO
+bwM
+bFg
+byr
+bBL
+bJk
+bKO
+bMo
+bNn
+bNn
+bNn
+bNn
+bSm
+bTt
+bUw
+bVv
+bVv
+bJe
+bXF
+bYl
+bYm
+bZz
+bZZ
+cav
+cbg
+cbM
+ccl
+ccC
+ccS
+cds
+cdM
+ced
+ccW
+ceW
+cfk
+cdr
+aYP
+aYP
+bjB
+bjB
+bjB
+bjB
+bjB
+bjB
+cgS
+cgS
+cgS
+cgS
+cgS
+chM
+chM
+chM
+chM
+chM
+chM
+chM
+chM
+chM
+chM
+chM
+chM
+chM
+chM
+chM
+crl
+cjG
+ctk
+cVx
+cvk
+cwg
+cxd
+cuc
+cyr
+cwg
+czy
+cAq
+cwh
+cCa
+cCS
+cDH
+cEm
+cWs
+cET
+cFl
+cFl
+cFZ
+cFl
+cFl
+cGV
+cET
+cFd
+cgL
+chb
+chc
+cgN
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aac
+aac
+aac
+aac
+aab
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(68,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abE
+abE
+abE
+abW
+abW
+abW
+abW
+acO
+acO
+adM
+aeg
+aeG
+afc
+afv
+aeG
+agx
+acO
+aia
+aiN
+ajB
+akA
+ajB
+afr
+amz
+anr
+aof
+aog
+aog
+aqW
+asa
+asR
+aog
+aog
+aws
+axw
+ayt
+aof
+aof
+aBj
+aDu
+cNy
+cNB
+cNE
+aID
+cNH
+aKO
+cNX
+cOc
+cOg
+cOn
+cOt
+aRt
+aSl
+aLm
+abW
+acH
+acH
+abW
+abW
+abE
+abE
+abE
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aYP
+aYP
+aYP
+aYX
+aZL
+baD
+aZn
+bbB
+bch
+bch
+bch
+bch
+bch
+bfF
+bgy
+bhs
+biD
+bjr
+bkl
+blh
+bmk
+bjp
+boe
+bbB
+bqU
+bax
+btM
+bvr
+bwM
+bys
+byr
+bwM
+byr
+bCN
+bwM
+bFg
+byr
+bBL
+bJl
+bKQ
+bMp
+bNo
+bOG
+bOG
+bOG
+bSn
+bTu
+bUx
+bVt
+bWm
+bJe
+bJe
+bJe
+bYm
+bZA
+bZA
+bZD
+bZD
+cbL
+bZA
+ccD
+ccT
+cdt
+cdN
+cee
+cdt
+ceX
+cfl
+cdr
+cdr
+aYP
+aYP
+aYP
+bjB
+bjB
+bjB
+bjB
+cgS
+cgS
+cgS
+cgS
+cgS
+chM
+cif
+ciG
+ciG
+ciG
+ciG
+ciG
+ciG
+ciG
+cmP
+chM
+coi
+coS
+cpx
+chM
+crq
+csv
+ctl
+cud
+cvl
+cwh
+cxe
+cxF
+cys
+cwh
+czz
+cAr
+cyU
+cBZ
+cCT
+cDI
+cEn
+cET
+cET
+cFl
+cFl
+cGa
+cFl
+cFl
+cFl
+cET
+cFd
+cGu
+cjU
+chc
+cgN
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aad
+aac
+aac
+aac
+aab
+aab
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(69,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abE
+abE
+abE
+abW
+abW
+abW
+abW
+acO
+acO
+acO
+acO
+acO
+acO
+acO
+acO
+acO
+acO
+acO
+afr
+afr
+afr
+afr
+alf
+amy
+anr
+aof
+apq
+aof
+aof
+aof
+aof
+aof
+apq
+aof
+axw
+ayt
+aof
+aof
+aCf
+aDw
+aEK
+aGo
+aES
+aIF
+aES
+aES
+aES
+aES
+aNQ
+cOo
+aPR
+cOA
+aSz
+cOE
+adZ
+adZ
+aez
+aez
+aWr
+aWr
+aWr
+aWr
+aXE
+abW
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aYT
+aYT
+aYT
+aZn
+aZA
+baB
+aZn
+aZn
+bch
+bcI
+bcK
+bcK
+bch
+cKo
+bch
+bch
+biE
+bch
+bkm
+bli
+bli
+bli
+bch
+bch
+bqU
+bax
+btM
+bvr
+bwM
+byr
+byr
+bwM
+bBH
+bCP
+bwM
+bFh
+bGx
+bBL
+bJm
+bJm
+bMq
+bNp
+bJm
+bJm
+bJm
+bJm
+bTv
+bUu
+bVt
+bVt
+bWT
+bXE
+bYk
+bYm
+bZB
+caa
+caw
+caw
+cbN
+caa
+ccE
+ccU
+cdu
+cdO
+cef
+cey
+cdr
+cfm
+cfA
+cdr
+aYP
+aYP
+aYP
+bjB
+bjB
+bjB
+bjB
+cgS
+cgS
+cgS
+cgS
+cgS
+chM
+cig
+ciH
+ciH
+ciH
+ciH
+ciH
+ciH
+ciH
+cmQ
+cnw
+coj
+coT
+cpy
+chM
+crl
+csw
+ctm
+cVy
+cvm
+cwi
+cxf
+cue
+cyt
+cyU
+czo
+cAj
+cyU
+cBZ
+cCU
+cDI
+cEo
+cET
+cET
+cFl
+cFl
+cFl
+cFl
+cGF
+cFl
+cET
+cFd
+cgL
+chc
+chc
+cgN
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aac
+aac
+aac
+aac
+aac
+aab
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(70,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abE
+abE
+abE
+abW
+abW
+acH
+acH
+acO
+acO
+acO
+acO
+acO
+acO
+acO
+acO
+acO
+acO
+acO
+aiO
+ajI
+akB
+all
+alK
+amA
+ant
+aol
+apr
+apr
+apr
+aol
+asV
+apr
+apr
+aol
+axB
+ays
+azU
+aBn
+aBm
+aDv
+cNx
+aGp
+cNF
+cNG
+cNF
+aKQ
+cNY
+cOd
+cOh
+aOQ
+cOu
+cOB
+aSl
+cOF
+aez
+adZ
+aez
+aez
+aWs
+aWH
+aWV
+aXk
+aXE
+aXE
+aXE
+abC
+abC
+abC
+abC
+abC
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aYT
+aYT
+aYT
+aZn
+aZA
+baE
+aZm
+aZn
+bch
+bcJ
+bcN
+bdY
+beM
+bfG
+bgz
+bht
+biF
+bjs
+bkn
+bjw
+bjw
+bjw
+bof
+bch
+bqU
+bax
+btM
+bvr
+bwM
+byr
+byr
+bwM
+byr
+cMu
+bwM
+bFg
+bGy
+bBL
+bJn
+bKR
+bMr
+bNq
+bOH
+bQh
+bRg
+bJm
+bJm
+bUy
+bVw
+bVw
+bJe
+bXF
+bYl
+bYm
+bZA
+bZA
+cax
+bZD
+bZA
+cML
+ccB
+ccV
+cdv
+cdP
+ceg
+ccW
+ceY
+cfn
+cfB
+cdr
+aYP
+aYP
+aYP
+bjB
+bjB
+bjB
+bjB
+cgS
+cgS
+cgS
+cgS
+cgS
+chM
+cig
+ciH
+ciH
+ciH
+ciH
+ciH
+ciH
+ciH
+cmQ
+cnw
+coj
+coU
+cpz
+chM
+crl
+cjG
+ctn
+cVz
+cuf
+cuf
+cuf
+cuf
+cyu
+cuf
+czA
+cAs
+cBm
+cCb
+cCV
+cDJ
+cEp
+cEU
+cET
+cFl
+cFl
+cFl
+cFl
+cGG
+cFl
+cET
+cFd
+ckH
+cgu
+chc
+cgN
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aac
+aac
+aac
+aad
+aab
+aab
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(71,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abE
+abE
+abE
+abW
+abW
+acH
+acH
+abW
+abW
+abW
+abW
+abW
+abW
+abW
+abW
+abW
+agy
+agy
+aiP
+ajJ
+ajJ
+alm
+afr
+amB
+anp
+aom
+aps
+aqg
+anp
+aom
+asW
+aqg
+anp
+aom
+axC
+ayx
+azT
+aBo
+afr
+aDu
+aEQ
+aGq
+aHE
+aIG
+aHE
+aKR
+aHC
+aHC
+cOi
+aOR
+aPS
+aRt
+aSl
+cOF
+aez
+adZ
+apx
+afq
+aWs
+aWI
+aWW
+aXl
+aXF
+aXT
+aXF
+aYn
+aYn
+aYn
+aYn
+aXB
+abC
+abC
+abC
+abC
+abC
+abC
+aYT
+aYT
+aYT
+aZn
+aZA
+baB
+bbg
+aZn
+bch
+bcK
+bcI
+bcK
+bcN
+bfH
+bch
+bhu
+biG
+bjt
+bko
+bjw
+bjt
+bjw
+bjw
+bch
+bqU
+bax
+btN
+bBL
+bwM
+byr
+byr
+bwM
+byr
+bCN
+bwM
+bFg
+bGz
+bBL
+bJo
+bJr
+bMr
+bNr
+bOI
+bOI
+bRh
+bSo
+bJm
+bJm
+bJm
+bJm
+bJm
+bJm
+bYm
+bYm
+bZC
+bZX
+bZD
+bZD
+bZw
+ccm
+ccB
+ccW
+cdw
+cdQ
+ceh
+cez
+cdr
+cfo
+cfC
+cdr
+aYP
+aYP
+aYP
+bjB
+bjB
+bjB
+bjB
+cgS
+cgS
+cgS
+cgS
+cgS
+chM
+cig
+ciH
+ciH
+ciH
+ckp
+ciH
+ciH
+ciH
+cmQ
+chM
+cok
+coU
+cpA
+chM
+crr
+cjG
+cto
+cVz
+cvn
+cwj
+cxg
+cxG
+cyv
+cuf
+czw
+cAt
+cBl
+cCc
+cCc
+cCc
+cCc
+cET
+cET
+cET
+cFK
+cFl
+cFl
+cGH
+cET
+cET
+cFd
+clV
+cgu
+chc
+cgN
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aac
+aac
+aac
+aad
+aab
+aab
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(72,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abW
+abW
+abW
+abW
+abW
+acH
+acH
+acH
+abW
+abW
+abW
+abW
+abW
+abW
+abW
+agy
+agz
+aiQ
+agA
+ajJ
+ajJ
+afr
+amC
+anu
+aon
+alH
+amC
+ard
+aon
+alH
+amC
+avf
+aon
+alH
+amC
+azX
+aon
+afr
+aDv
+aEI
+aGr
+aES
+cNH
+aES
+cNR
+cNZ
+aHC
+cOj
+aES
+aPT
+aRt
+aSl
+cOF
+aez
+aez
+afq
+aVO
+aWt
+aWJ
+aWX
+aXm
+aXE
+aXE
+aXE
+abC
+abC
+abC
+abC
+aYA
+abC
+aaa
+aaa
+aaa
+aaa
+aYP
+aYT
+aYT
+aYT
+aZn
+bae
+baF
+bbh
+aZn
+bch
+bcL
+bdm
+bdZ
+bcN
+bfI
+bch
+bhv
+biG
+bju
+bkp
+blj
+bml
+bjw
+bjw
+bch
+bqU
+bax
+btO
+bBL
+bwN
+byt
+bzF
+bAJ
+bBI
+bCQ
+bEg
+bFi
+bGA
+bBL
+bJp
+bKU
+bMs
+bNs
+bOJ
+bQi
+bRi
+bSp
+bJm
+bUz
+bVx
+bJr
+bVx
+bUz
+bYm
+bYW
+bZx
+bZY
+bZD
+bZD
+bZx
+bZY
+ccF
+ccX
+cdr
+cdr
+cdr
+cdr
+cdr
+cLj
+cdr
+cdr
+aYP
+aYP
+aYP
+bjB
+bjB
+bjB
+bjB
+cgS
+cgS
+cgS
+cgS
+cgS
+chM
+cih
+ciH
+ciH
+ciH
+ckq
+ciH
+ciH
+ciH
+cmQ
+cnx
+col
+coV
+cpB
+cqr
+crs
+csx
+ctm
+cVz
+cvo
+cwk
+cxh
+cxH
+cyw
+cuf
+czo
+cAj
+cBk
+cCc
+cCW
+cDK
+cEq
+cEU
+cFm
+cFx
+cFL
+cGb
+cGw
+cGI
+cGW
+cET
+cFd
+cgL
+cgu
+chc
+cgN
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aac
+aac
+aac
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(73,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abW
+abW
+abW
+abW
+abW
+abW
+abW
+acH
+acH
+acH
+acH
+acH
+abW
+abW
+abW
+afR
+afR
+agA
+agA
+agA
+agA
+afr
+amD
+ann
+aoo
+alH
+amD
+ann
+aoo
+alH
+amD
+ann
+aoo
+alH
+amD
+ann
+aoo
+afr
+aDA
+aEI
+aGs
+aHB
+cNI
+cNN
+aKT
+aHC
+aHC
+cOk
+cOp
+cOt
+aRy
+aSu
+cOF
+aez
+afV
+alR
+anC
+aWs
+aWs
+aWr
+aWs
+aXE
+abW
+aaa
+aaa
+aaa
+aaa
+abC
+aYA
+abC
+aaa
+aaa
+aaa
+aaa
+aYP
+aYT
+aYT
+aYT
+aZn
+aZm
+aZA
+baB
+aZn
+bch
+bcM
+bdn
+bea
+beN
+beN
+bgA
+bhw
+biH
+bjv
+bkq
+blk
+bmm
+bmX
+bjw
+bch
+bqV
+bsp
+btP
+bBL
+bvm
+bvm
+bzG
+bvm
+bvm
+bCR
+bvm
+bFj
+bvm
+bBL
+bJq
+bKT
+bMs
+bNs
+bOK
+bQj
+bRj
+bSp
+bJm
+bJr
+bVx
+bWn
+bVx
+bJr
+bYm
+bYX
+bZD
+bZD
+bZD
+bZD
+bZD
+bZD
+bYX
+ccY
+cdx
+cdx
+cdx
+bYm
+cdr
+cfp
+cdr
+aZn
+aYP
+aaa
+bjB
+bjB
+bjB
+bjB
+bjB
+cgS
+cgS
+cgS
+cgS
+cgS
+chM
+cig
+ciH
+ciH
+ciH
+ckr
+ciH
+ciH
+ciH
+cmQ
+chM
+com
+coW
+cpC
+cqs
+crt
+csy
+ctf
+cug
+cvp
+cwl
+cxi
+cxI
+cyx
+cyV
+czB
+cAu
+cBn
+cCc
+cCW
+cDK
+cEr
+cCc
+cFn
+cFy
+cFM
+cGc
+cGx
+cGJ
+cFn
+cCc
+cHr
+cGu
+cjU
+chc
+cgN
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(74,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abW
+abW
+abW
+abW
+abW
+abW
+abW
+acH
+acH
+acH
+acH
+acH
+abW
+acH
+acH
+afR
+afR
+agy
+ajJ
+agA
+agA
+afr
+amE
+anv
+ann
+alH
+aqh
+ann
+ann
+alH
+auc
+ann
+ann
+alH
+ayy
+ann
+ann
+afr
+aDB
+cNy
+aKS
+aKS
+aII
+aJN
+aIH
+aKS
+aKS
+aNR
+cOq
+cOw
+aRx
+aSt
+cOJ
+aez
+afq
+aoR
+apu
+aez
+adZ
+abW
+abW
+abW
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aYA
+abC
+aaa
+aaa
+aaa
+aaa
+aYP
+aYP
+aYP
+aYP
+aYP
+aZn
+aZA
+baB
+bbE
+bci
+bcN
+bcN
+beb
+beO
+bfJ
+bch
+bhx
+biI
+bjw
+bjw
+bjw
+bjw
+bjw
+bog
+bch
+bqU
+bax
+btQ
+bBL
+bwO
+byu
+bzH
+bzH
+bzH
+bCS
+byv
+bFk
+byv
+bBL
+bJr
+cMB
+bMs
+bNs
+bOK
+bQk
+bRk
+bSq
+bJm
+bJr
+bVy
+bJr
+bJr
+bJr
+bYm
+bYY
+bZD
+cab
+cab
+cab
+cab
+bZD
+bYX
+ccY
+cdx
+cdx
+cdx
+bYm
+cLi
+aZA
+bad
+aZo
+aYP
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+cgS
+cgS
+cgS
+cgS
+cgS
+chM
+cig
+ciH
+ciH
+ciH
+ciH
+ciH
+ciH
+ciH
+cmQ
+cnw
+con
+coX
+cpD
+chM
+cru
+cjG
+ctf
+cug
+cvq
+cwm
+cxj
+cxJ
+cyy
+cyW
+czy
+cAj
+cyU
+cCc
+cCX
+cDL
+cEs
+cEV
+cEs
+cEs
+cEs
+cGd
+cEt
+cGK
+cEt
+cCc
+cHr
+cgL
+chc
+chc
+cgN
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(75,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+acH
+abW
+abW
+acH
+acH
+acH
+acH
+acH
+abW
+acH
+acH
+acH
+afR
+agz
+ahq
+agA
+agA
+afr
+amF
+anw
+aop
+alH
+aqi
+anw
+asb
+alH
+aud
+anw
+awt
+alH
+ayz
+anw
+aBp
+afr
+aDC
+aER
+aGu
+aHH
+aIJ
+cNN
+cNS
+cOa
+cOe
+cOl
+cOp
+cOt
+aRt
+aSv
+cOF
+adZ
+apx
+anC
+aez
+aez
+abW
+abW
+abW
+akG
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aYA
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aZc
+aYT
+aYT
+aZo
+aZn
+baF
+bbh
+bch
+bch
+bch
+bch
+bch
+bch
+bch
+bhy
+biJ
+bjx
+bkr
+bll
+bmn
+bmY
+boh
+bch
+bqU
+bax
+btO
+bBL
+bwP
+cMs
+bzI
+byv
+byv
+bCT
+cMs
+bFk
+bGB
+bBL
+bJs
+bJr
+bMr
+bNs
+bKR
+bKR
+bKR
+bKR
+bTw
+bUA
+bVz
+bWo
+bVz
+bUA
+bYm
+bYX
+bZD
+cab
+bZD
+cbh
+cab
+bZD
+bYX
+ccZ
+bYX
+bYX
+bYX
+bYm
+cfq
+aZA
+aZo
+aZo
+aYP
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+cgS
+cgS
+chM
+cig
+ciH
+ciH
+ciH
+ciH
+ciH
+ciH
+ciH
+cmQ
+cnw
+con
+coY
+cpE
+chM
+crl
+cjG
+ctf
+cuh
+cvr
+cwn
+cxk
+cxK
+cyz
+cyX
+cvl
+cAv
+cBo
+cCc
+cCY
+cDM
+cNu
+cEt
+cEt
+cFz
+cEt
+cEt
+cNu
+cGL
+cGX
+cCc
+cFd
+cgL
+cgu
+cgu
+cgN
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(76,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+acH
+acH
+acH
+abW
+abW
+abW
+acH
+acH
+acH
+acH
+afR
+agy
+agy
+agA
+agA
+agA
+agA
+afr
+afr
+afr
+afr
+afr
+afr
+afr
+afr
+afr
+afr
+afr
+afr
+afr
+afr
+afr
+afr
+afr
+aDD
+aES
+aGv
+aES
+aES
+aES
+aES
+aGv
+aES
+aES
+aES
+cOx
+aRt
+aSl
+cOF
+adZ
+aUV
+anC
+aez
+aez
+abW
+abW
+abW
+abW
+aaa
+aYe
+aYe
+aYe
+aYe
+aYe
+aYA
+aYe
+aYe
+aYe
+aYe
+aYe
+aaa
+aaa
+aYP
+aYT
+aYT
+aYT
+aZn
+bbi
+bbF
+bcj
+bcj
+bdo
+bbh
+bad
+aZn
+bch
+bch
+bch
+bch
+bch
+bch
+bch
+bch
+boi
+bch
+bqU
+bax
+btR
+bBL
+bwQ
+byw
+bzJ
+byw
+bBJ
+bCU
+bEh
+bFl
+bGC
+bBL
+bJt
+bKV
+bMt
+bNs
+bOL
+bQl
+bRl
+bSr
+bTx
+bJu
+bJu
+bJu
+bJu
+bJu
+bYn
+bYZ
+bZE
+bZD
+cay
+bZD
+bZD
+bZE
+bYX
+ccY
+cdx
+cdx
+cei
+bYm
+bCW
+aZA
+aZn
+aZn
+aYP
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+chM
+cii
+ciI
+ciI
+ciI
+ciI
+ciI
+ciI
+ciI
+cmR
+chM
+coo
+coZ
+cpF
+chM
+crl
+cjG
+ctf
+cui
+cvs
+cwn
+cwn
+cxL
+cyA
+cuf
+czo
+cAw
+cBp
+cCc
+cCY
+cDM
+cEt
+cEt
+cEt
+cEt
+cEt
+cEt
+cEt
+cEt
+cEt
+cHj
+cHs
+cgL
+cgu
+cgR
+cgN
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(77,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+acH
+acH
+acH
+abW
+abW
+abW
+acH
+acH
+acH
+afR
+agy
+agA
+agA
+agA
+agA
+ajJ
+agA
+agy
+agy
+agy
+agy
+agy
+agy
+agy
+adZ
+adZ
+adZ
+adZ
+adZ
+adZ
+adZ
+azY
+aBq
+aCg
+aDE
+aET
+aGw
+aHI
+azY
+aJR
+cNT
+aJR
+aJR
+aJR
+aLm
+aPV
+aRt
+aSl
+cOF
+adZ
+aUW
+anC
+aez
+aez
+abW
+abW
+aaa
+aaa
+aaa
+aYf
+aYf
+aYf
+aYf
+aYf
+aYB
+aYJ
+aYJ
+aYJ
+aYJ
+aYJ
+aaa
+aaa
+aYP
+aYT
+aYT
+aYT
+aZn
+aYX
+bbG
+aZA
+aZA
+aZA
+baF
+bcj
+bcj
+bcj
+bhz
+biK
+bjy
+bks
+blm
+bmo
+bmZ
+boj
+bpL
+bqW
+bsi
+btS
+bBL
+bwR
+bvm
+bvm
+bAK
+bBK
+bvs
+bvs
+bvs
+bvs
+bHG
+bJu
+bJu
+bJu
+bNt
+bJu
+bJu
+bJu
+bJu
+bTy
+aZn
+aZo
+aZo
+aZo
+aZn
+bYo
+bZa
+bZa
+bZa
+bZa
+bZa
+bZa
+bZa
+bZa
+cda
+bYm
+bYm
+bYm
+bYm
+bCW
+bGo
+aYX
+aYP
+aaa
+aaa
+aaa
+aaa
+aad
+aad
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+chM
+chM
+chM
+chM
+chM
+chM
+chM
+chM
+chM
+chM
+chM
+chM
+chM
+chM
+chM
+cNo
+cNp
+cNq
+cVz
+cvt
+cwo
+cxl
+cxM
+cyB
+cuf
+czC
+cAx
+cBq
+cCc
+cCY
+cDN
+cEu
+cEW
+cFo
+cEW
+cEW
+cEW
+cGy
+cGM
+cGY
+cCc
+cHt
+cgL
+cgu
+cgR
+cgN
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(78,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+acH
+abW
+abW
+abW
+acH
+acH
+acH
+afR
+agz
+ahq
+agA
+agA
+agA
+agA
+agy
+aig
+agy
+agy
+agA
+agA
+agy
+agy
+afS
+afS
+afS
+afV
+afV
+adZ
+adZ
+azY
+aBr
+aCh
+aDF
+aEU
+aGx
+aHJ
+aIK
+aJO
+aJQ
+aJQ
+aJR
+aNS
+aLm
+aPW
+aRz
+cMl
+cOF
+aez
+anN
+ayB
+afS
+aez
+adZ
+abW
+aaa
+aaa
+aaa
+aYg
+aYg
+aYg
+aYg
+aYg
+aYC
+aYg
+aYg
+aYg
+aYg
+aYg
+aaa
+aaa
+aaa
+aYP
+aYT
+aYT
+aYT
+aZo
+aZn
+aZn
+aZm
+aZA
+bec
+bbi
+aZA
+aZA
+bbE
+biL
+bjz
+bkt
+bln
+bmp
+aZm
+bok
+aZm
+bqX
+bbz
+btT
+cTe
+bwS
+byx
+bzK
+cKQ
+cKR
+bCV
+aZo
+aZn
+bGD
+bkb
+bkb
+bKW
+bMu
+bNu
+bkb
+bQm
+bkb
+bSs
+aZB
+bbg
+aZo
+aZo
+aZo
+aZo
+bFm
+bkb
+bkb
+bkb
+caz
+bkb
+bkb
+ccn
+bkb
+bMu
+bkb
+bkb
+bkb
+ceA
+bCY
+bFn
+aZo
+aYP
+aaa
+aad
+aaa
+aaa
+aad
+aad
+aad
+aaa
+aaa
+aad
+aaa
+aaa
+abC
+cgN
+cgN
+cgR
+cgR
+cgR
+cgR
+cgN
+cgN
+cgN
+cgN
+cgN
+cgR
+cgR
+cjg
+crl
+cjG
+ctp
+cVz
+cuf
+cuf
+cuf
+cuf
+cuf
+cuf
+cue
+cAy
+cBr
+cue
+cCZ
+cDO
+cue
+cEX
+cFp
+cFB
+cEt
+cGe
+cGz
+cGN
+cGZ
+cCc
+cFd
+cgL
+chc
+cgR
+cgN
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(79,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abW
+abW
+abW
+abW
+abW
+abW
+acH
+afR
+agA
+agA
+aie
+agA
+agA
+akC
+agz
+alL
+akD
+amG
+amG
+alN
+agA
+agy
+afV
+asX
+aue
+avg
+afS
+axD
+adZ
+azY
+aBs
+aCi
+aDG
+aEV
+aGy
+aHK
+aIL
+aJP
+aJP
+aJP
+aMQ
+aNT
+aLm
+aPQ
+aRt
+aSl
+cOF
+aez
+afq
+anC
+afq
+aez
+adZ
+abW
+aaa
+aaa
+aaa
+abC
+abC
+abC
+abC
+abC
+arw
+abC
+abC
+abC
+abC
+abC
+aaa
+aaa
+aaa
+aYP
+aYT
+aYT
+aYT
+aYT
+aYT
+aYT
+aZo
+aZo
+aZn
+aZm
+aZn
+aZn
+aZn
+aZm
+bjA
+bku
+blo
+bmq
+aZm
+bol
+aZm
+bqY
+bbz
+btU
+bvt
+bwT
+byy
+bBL
+bAL
+bBL
+bCW
+aZA
+bFm
+bCY
+aZA
+bbi
+aZA
+aZA
+aZA
+aZA
+bbi
+aZA
+bSt
+bkb
+bkb
+bkb
+bkb
+bkb
+bMu
+bCY
+aZA
+bbi
+aZz
+bad
+bbg
+aZo
+aYX
+aZo
+bqE
+aZA
+bWp
+bbi
+ceB
+aZn
+aZn
+aZo
+aYT
+aYP
+aaa
+aaa
+aaa
+aad
+aad
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+cgN
+cgN
+cjl
+cjl
+cjl
+cjl
+cjl
+cgN
+cgN
+cgN
+cgR
+cLp
+crv
+cst
+cte
+cUr
+cvu
+cwp
+cxm
+cxN
+cyC
+cue
+czD
+cAz
+cBs
+cCd
+cDa
+cDP
+cue
+cue
+cCc
+cCc
+cFN
+cCc
+cCc
+cCc
+cHa
+cCc
+cHu
+cgL
+chc
+cgR
+cgN
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(80,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaQ
+abe
+aaQ
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+ads
+abW
+abW
+abW
+abW
+acH
+afR
+agA
+agA
+agA
+agA
+agA
+akD
+aln
+alM
+amG
+anx
+amG
+amG
+akC
+agz
+afV
+akp
+auf
+akp
+afS
+afq
+akq
+cJJ
+aBt
+aCj
+aDH
+aDI
+aGz
+aHL
+aIK
+aJQ
+aJQ
+cMf
+aMR
+aNU
+aLm
+aPX
+aRt
+aSx
+cOF
+aez
+aez
+anC
+afq
+aez
+adZ
+abW
+aaa
+aaa
+aaa
+aYe
+aYe
+aYe
+aYe
+aYe
+arw
+aYe
+aYe
+aYe
+aYe
+aYe
+aaa
+aaa
+aaa
+aYP
+aYP
+aYP
+aYT
+aYT
+aYT
+aYT
+aYT
+aYT
+aYP
+aYT
+aYT
+aYT
+aZo
+aZm
+aZm
+aZm
+aZm
+aZm
+aZm
+bom
+aZm
+bqZ
+bab
+baa
+bvm
+bwU
+bvm
+bzL
+bAM
+bBM
+bCX
+bkb
+bCY
+bbg
+aZn
+aZm
+bKX
+bKX
+bKX
+bKX
+aZm
+aZn
+bSu
+aZn
+bUB
+aZA
+bWp
+aZA
+aZA
+aZA
+aZo
+aZm
+cac
+aZm
+aZo
+aZo
+aZo
+cbO
+cbO
+cbO
+cbO
+cbO
+ceC
+cbO
+aYP
+aYT
+aYT
+aYP
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+cgN
+cjl
+ckR
+clI
+cmi
+cjl
+cjl
+cjl
+cjl
+cjl
+cjl
+crl
+cjG
+cte
+cUn
+cvv
+cwq
+cwq
+cxO
+cyD
+cue
+czE
+cAA
+cwg
+cCe
+cDb
+cyU
+cEv
+cue
+chc
+cCc
+cLM
+cGf
+cFI
+cFI
+cHb
+cGv
+cHv
+cGu
+cjU
+cgR
+cgN
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(81,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaQ
+abf
+aaQ
+aaQ
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abW
+abW
+abW
+abW
+abW
+acH
+afR
+agy
+agA
+aif
+aiR
+ajK
+agy
+agy
+alN
+alN
+amG
+amG
+agA
+afR
+afR
+afV
+asY
+akp
+avh
+awu
+axE
+ayA
+azY
+aBu
+aCk
+aDI
+aEW
+aDI
+aDI
+aIM
+aJR
+aJR
+aJR
+aJR
+aJR
+aOT
+aPQ
+aRt
+aSm
+cOF
+aez
+afq
+anC
+afq
+aez
+adZ
+abW
+aaa
+aaa
+aaa
+aYf
+aYf
+aYf
+aYf
+aYf
+arw
+aYJ
+aYJ
+aYJ
+aYJ
+aYJ
+aaa
+aaa
+aaa
+aYP
+aYP
+aYP
+aYT
+aYT
+aYT
+aYT
+aYT
+aYT
+aYP
+aYT
+aYT
+aYT
+aYT
+aYP
+aYP
+aYP
+aYP
+aYP
+aZm
+bon
+bpM
+cRM
+arz
+arz
+bvm
+bwV
+byz
+bzM
+bkb
+bkb
+bCY
+bbi
+bFn
+aZn
+aZn
+aZm
+bjB
+bjB
+bjB
+bjB
+aZm
+aZn
+aZn
+aZo
+aYX
+aZn
+aZn
+aZo
+aZo
+aZo
+aZo
+aZm
+cad
+aZm
+aYP
+cbO
+cbO
+cbO
+cdb
+cdy
+cdR
+cdc
+ceD
+cbO
+cbO
+aYT
+aYT
+aYP
+aaa
+aaa
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+chN
+ciJ
+cjl
+cjl
+cks
+ckS
+clJ
+cmj
+cjl
+cny
+cop
+cpa
+cpG
+cjl
+crw
+csz
+ctq
+cuj
+cvw
+cwr
+cxn
+cxP
+cyE
+cue
+czF
+cAB
+cBt
+cCf
+cyU
+cDQ
+cue
+cue
+chc
+cCc
+cFO
+cLN
+cxT
+ckH
+cln
+cgL
+cgL
+cmA
+chc
+cgN
+cgN
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(82,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaQ
+abg
+abt
+abF
+aaQ
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abW
+abW
+acH
+acH
+agy
+agy
+aig
+afR
+afR
+afR
+afR
+afR
+afR
+afR
+afR
+agy
+afR
+aez
+afV
+afV
+afV
+afV
+afV
+afq
+anC
+cJK
+aBt
+aCl
+aDJ
+aDI
+aGA
+aHL
+aIK
+aJQ
+aJQ
+aJQ
+aMS
+aJR
+aOU
+aPY
+aRA
+aSy
+cOR
+aTX
+ahr
+aVt
+aVP
+aez
+adZ
+akG
+abC
+abC
+abC
+aYg
+aYg
+aYg
+aYg
+aYg
+arw
+aYg
+aYg
+aYg
+aYg
+aYg
+abC
+abC
+abC
+abC
+abD
+aYP
+aYP
+aYP
+aYP
+aYP
+aYP
+aYP
+aYT
+aYT
+aYT
+aYT
+aYT
+aYP
+aYP
+bjB
+bjB
+bjB
+bjB
+arw
+bpN
+cRM
+arz
+arz
+bvm
+bwW
+bvm
+aZn
+aZn
+aZn
+aZn
+aZm
+aZn
+aZn
+aZm
+aZm
+bjB
+aaa
+aaa
+bjB
+aZm
+aZm
+aYP
+aYT
+aYT
+aYP
+aYP
+aYT
+aYT
+aYT
+aYT
+aZm
+cac
+aZm
+aYP
+cbO
+cco
+ccG
+cdc
+cdf
+cdf
+cdc
+ceE
+ceZ
+cbO
+aYT
+aYT
+aYP
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+chN
+cij
+ciK
+cjl
+cjI
+cjl
+ckT
+clJ
+cmk
+cmS
+cnz
+cnz
+cnz
+cnz
+cqt
+crx
+csx
+ctr
+cUn
+cjg
+cws
+cxo
+cxo
+cxo
+cxo
+czG
+cue
+cBu
+cCg
+cDc
+czG
+czG
+czG
+cxo
+cxo
+cxo
+cjU
+cnL
+cjT
+coD
+cgL
+chc
+cgu
+cgu
+cgR
+cgN
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aag
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(83,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaQ
+abh
+abu
+abG
+aaQ
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abW
+abW
+abW
+abW
+adZ
+adZ
+adZ
+aez
+aez
+aez
+aez
+aez
+aez
+aez
+aez
+adZ
+adZ
+aez
+adZ
+aez
+aez
+adZ
+afS
+afq
+ayB
+cJK
+aBs
+aCm
+aDK
+aEX
+aGB
+aDK
+aIN
+aJS
+aJS
+aJS
+aMT
+aNV
+aOV
+aPZ
+aRB
+aSl
+cOS
+aTY
+afq
+afV
+aez
+aez
+adZ
+abW
+aaa
+aaa
+aaa
+abC
+abC
+abC
+abC
+abC
+arw
+abC
+abC
+abC
+abC
+abC
+aaa
+aaa
+aaa
+aaa
+aXn
+aaa
+aaa
+aaa
+aaa
+aaa
+aYP
+aYP
+aYT
+aYT
+aYT
+aYT
+aYT
+aYP
+bjB
+aZc
+aaa
+aaa
+aaa
+arw
+bpN
+cRM
+arz
+aSQ
+bvu
+bwX
+bjB
+aYP
+aYP
+aYP
+aYP
+aYP
+aYP
+aYP
+aYP
+bjB
+aaa
+aaa
+aaa
+aaa
+bjB
+aYP
+aYP
+aYP
+aYP
+aYP
+aYP
+aYP
+aYP
+aYP
+aYP
+bjB
+bjB
+bjB
+aYP
+cbO
+ccp
+cbO
+cdd
+cdy
+cdy
+cco
+cej
+cfa
+cbO
+aYT
+aYT
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+chO
+cik
+ciL
+cjm
+cjJ
+cjm
+ckU
+clK
+ckU
+ckU
+ckU
+ckU
+ckU
+ckU
+cqu
+cry
+cjG
+cte
+cUn
+cvx
+cwt
+cxo
+cxQ
+cyF
+cyY
+czH
+cAC
+cBv
+cCh
+cBz
+cDR
+cEw
+cxQ
+cyF
+cyY
+cxo
+chc
+clq
+cgL
+cgL
+ckF
+chc
+cgR
+cgR
+cgR
+cgN
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(84,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaR
+abi
+abt
+abH
+aaQ
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abW
+adZ
+adZ
+adZ
+adZ
+adZ
+adZ
+adZ
+adZ
+adZ
+aez
+aez
+aez
+aez
+aez
+aez
+aez
+aez
+aez
+aez
+adZ
+afq
+anC
+azY
+aBv
+aCn
+aDL
+aEY
+aGC
+aHM
+aIK
+cMf
+aJQ
+aJQ
+aMU
+aNW
+aLm
+aQa
+aRt
+aSl
+cOF
+anC
+aez
+aez
+aez
+aez
+abW
+abW
+aaa
+aaa
+aaa
+aYe
+aYe
+aYe
+aYe
+aYe
+arw
+aYe
+aYe
+aYe
+aYe
+aYe
+aaa
+aaa
+aaa
+aXn
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aYP
+aYP
+aYP
+aYP
+aYP
+aYP
+aYP
+aYP
+aaa
+abC
+aaa
+aaa
+aaa
+arw
+bpN
+cRM
+arz
+aSQ
+bvv
+arw
+aaa
+aYP
+aYP
+aaa
+aaa
+aaa
+abD
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+bjB
+bjB
+aYP
+aYP
+bjB
+bjB
+aYP
+aYP
+aYP
+aYP
+aYP
+bjB
+bjB
+bjB
+aYT
+cbO
+cbO
+ccH
+cde
+cdz
+cdS
+cej
+cdf
+cfb
+cbO
+aYP
+aYP
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+chP
+cil
+ciM
+cjl
+cjK
+cjl
+ckV
+clJ
+clJ
+cmT
+clJ
+coq
+cpb
+cpb
+cqv
+crz
+cjG
+cts
+cUn
+cgL
+cln
+cxo
+cxR
+cyG
+cyY
+czI
+cAD
+cBw
+cCi
+cBA
+cDS
+cEx
+cxQ
+cyF
+cFC
+cxo
+chc
+cln
+cgL
+cgL
+chc
+chc
+cgR
+cgN
+cgN
+cgN
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(85,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaR
+abi
+abu
+abI
+aaQ
+aaQ
+aaQ
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+afw
+afS
+afw
+afq
+afq
+aiS
+adZ
+adZ
+adZ
+alO
+afS
+aez
+aez
+aez
+aez
+aez
+aez
+adZ
+aug
+aqG
+afq
+afq
+anC
+azY
+aBw
+aCo
+aDM
+aEZ
+aGD
+aHN
+azY
+azY
+azY
+cJK
+azY
+azY
+aLm
+aQb
+aRt
+aSl
+cOF
+aTZ
+aez
+aez
+abW
+abW
+abW
+abW
+aaa
+aaa
+aaa
+aYf
+aYf
+aYf
+aYf
+aYf
+arw
+aYJ
+aYJ
+aYJ
+aYJ
+aYJ
+aaa
+aaa
+aXn
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aZc
+aYP
+aYP
+aYP
+aYP
+aYP
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+arw
+bpN
+cRM
+arz
+aSQ
+bvv
+arw
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+bjB
+bjB
+bjB
+bjB
+bjB
+bjB
+aYP
+aYP
+aYP
+aYP
+bjB
+bjB
+bjB
+aYT
+aYT
+aYT
+cbO
+cdf
+cdf
+cdf
+cdf
+cco
+cbO
+cbO
+aYP
+aYP
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+chP
+ciN
+cjl
+cjl
+cks
+ckW
+clJ
+cml
+cjl
+cnA
+cor
+cpc
+cpH
+cjl
+crA
+cjG
+cte
+cUn
+cgL
+cln
+cxo
+cxS
+cyH
+cyZ
+czJ
+cAE
+cBx
+cCj
+cDd
+cDT
+cEy
+cEY
+cyH
+cFD
+cxo
+chc
+cln
+cgL
+chb
+chc
+cgN
+cgR
+cgN
+cgN
+cgS
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(86,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaR
+abi
+abu
+abJ
+abX
+ack
+act
+acI
+acI
+acI
+acI
+acI
+acI
+acI
+acI
+acI
+afx
+afT
+agB
+ahr
+aih
+aiT
+ahr
+ahr
+ahr
+ahr
+amH
+afq
+aoq
+adZ
+adZ
+afV
+alR
+afq
+akq
+avi
+afq
+afq
+anC
+azY
+azY
+azY
+azY
+azY
+azY
+azY
+azY
+aqm
+aug
+aEi
+aMV
+aNX
+aLm
+aQc
+aRt
+aSl
+cOV
+aTr
+cPs
+abW
+abW
+abW
+abW
+abW
+aaa
+aaa
+aaa
+aYg
+aYg
+aYg
+aYg
+aYg
+arw
+aYg
+aYg
+aYg
+aYg
+aYg
+aaa
+aaa
+aXn
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aYP
+aYP
+aYP
+aYP
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+arw
+bpN
+cRM
+arz
+aSQ
+bvv
+arw
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aZc
+bjB
+bjB
+bjB
+bjB
+bjB
+aYP
+aZc
+aaa
+aaa
+abC
+bjB
+aYT
+aYT
+aYT
+aYT
+cbO
+cdg
+cdA
+cdf
+cek
+cbO
+cbO
+aYP
+aYP
+bjB
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+cgN
+cgN
+cjl
+ckX
+clL
+cmm
+cjl
+cjl
+cjl
+cjl
+cjl
+cjl
+crB
+cjG
+cte
+cUn
+ckG
+clq
+cxo
+cxo
+cxo
+cxo
+cxo
+cxo
+cBy
+cNt
+cDe
+cxo
+cxo
+cxo
+cxo
+cxo
+cxo
+chc
+cln
+cgL
+cGu
+cjU
+cgN
+cgR
+cgN
+cgS
+cgS
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(87,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaQ
+abj
+abv
+abK
+abF
+aaQ
+aaQ
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+afw
+afw
+afS
+afS
+afS
+adZ
+ajL
+akq
+akq
+afq
+amI
+ahr
+ahr
+ahr
+aqj
+ahr
+asc
+asZ
+asZ
+asZ
+awv
+aox
+ayC
+azZ
+aBx
+aCp
+aDN
+aFa
+aBx
+aBx
+aBx
+aJT
+aBx
+aBx
+aCp
+aBx
+aOW
+aQd
+aRC
+aSz
+aTr
+aUa
+cPt
+abW
+abW
+abW
+abW
+abW
+aaa
+aaa
+aaa
+abC
+abC
+abC
+abC
+abC
+arw
+abC
+abC
+abC
+abC
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+arw
+bpN
+cRM
+arz
+aSQ
+bvv
+arw
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+abC
+bjB
+aYP
+aYP
+aYT
+aYT
+cbO
+cdh
+cdh
+cdh
+cdh
+cbO
+aYP
+aYP
+aYP
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aag
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+cgN
+cgN
+cjl
+cjl
+cjl
+cjl
+cjl
+cgN
+cgN
+cgN
+cjg
+cqw
+crC
+cjG
+cte
+cUn
+cgL
+cln
+cxo
+cxQ
+cyF
+cyY
+czK
+cAF
+cBz
+cCk
+cBz
+cDU
+cEz
+cxQ
+cyF
+cyY
+cxo
+chb
+cln
+cgL
+cgL
+chc
+cgN
+cgN
+cgN
+cgN
+cgS
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(88,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaQ
+abk
+abw
+abL
+abY
+acl
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+afy
+afU
+agC
+ahs
+afV
+adZ
+aez
+aez
+alo
+afq
+aez
+aez
+adZ
+afq
+aeU
+afo
+aot
+amJ
+apw
+avj
+apu
+afS
+ayD
+aAa
+afq
+afq
+afq
+apx
+afK
+afq
+aqH
+aoy
+afq
+afq
+afq
+akq
+akH
+aQa
+aRD
+aSl
+aTq
+aUb
+cOV
+aTr
+aTr
+cPs
+abW
+abW
+aaa
+aaa
+aaa
+aYe
+aYe
+aYe
+aYe
+aYe
+aYA
+aYe
+aYe
+aYe
+aYe
+aYe
+aaa
+aaa
+aXn
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+arw
+bpN
+cRM
+arz
+aSQ
+bvv
+arw
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+abC
+arw
+abC
+aYP
+aYP
+aYP
+aYT
+bjB
+bjB
+bjB
+bjB
+aYP
+aYP
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+cgR
+cgR
+cgN
+cgN
+cgN
+cgN
+cgN
+cgN
+cgN
+cgN
+cgR
+cjg
+cqx
+crC
+cjG
+cte
+cVM
+cvy
+cln
+cxo
+cxR
+cyI
+cyY
+czL
+cAD
+cBA
+cCi
+cBA
+cDS
+cEA
+cxQ
+cyF
+cFC
+cxo
+cgL
+cln
+cgL
+cgu
+cgu
+cgR
+cgR
+cgN
+cgN
+cgS
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(89,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaQ
+aaQ
+aaQ
+aaQ
+aaQ
+aaQ
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+afw
+afw
+agD
+aht
+afV
+adZ
+adZ
+aez
+aez
+aez
+aez
+aez
+aeU
+afo
+aot
+amJ
+aox
+anz
+adZ
+aeV
+akq
+afS
+ayE
+aAb
+aBy
+aBy
+aBy
+aBy
+cMc
+cMc
+cMc
+cMc
+cMc
+aGE
+aGE
+aGE
+aGE
+aQe
+aRD
+aSl
+aTq
+aUc
+aUX
+aVu
+aVQ
+cPt
+abW
+abW
+aaa
+aaa
+aaa
+aYf
+aYf
+aYf
+aYf
+aYf
+aYD
+aYJ
+aYJ
+aYJ
+aYJ
+aYJ
+abC
+abC
+aXn
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+arw
+bpN
+cRM
+arz
+aSQ
+bvv
+arw
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aad
+aad
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+abC
+arw
+abC
+aYP
+aYP
+aYP
+bjB
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+cgR
+cgR
+cgN
+cjL
+cjL
+cjL
+cgN
+cgN
+cgN
+cgR
+cgR
+cjg
+cqy
+crC
+csw
+ctr
+cUn
+cvz
+cln
+cxo
+cxS
+cyH
+cyZ
+czM
+cAE
+cBz
+cCl
+cBz
+cDT
+cEB
+cEY
+cyH
+cFD
+cxo
+cgL
+cln
+cgL
+cgu
+cgR
+cgR
+cgR
+cgN
+cgN
+cgR
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(90,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+afV
+afS
+aht
+afV
+adZ
+adZ
+adZ
+adZ
+aez
+aez
+adZ
+aeV
+amJ
+aqk
+anz
+adZ
+adZ
+adZ
+aeV
+akq
+afS
+ayF
+aAc
+aBz
+aCq
+aDO
+aFb
+aGE
+aHO
+aIO
+aJU
+aGE
+aLH
+aGE
+aNY
+aGE
+aQa
+aRD
+aSl
+aTq
+aUd
+aUc
+aVv
+aVR
+cPt
+abW
+abW
+aaa
+aaa
+aaa
+aYg
+aYg
+aYg
+aYg
+aYg
+aYA
+aYg
+aYg
+aYg
+aYg
+aYg
+aaa
+aaa
+aXn
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+arw
+bpN
+cRM
+arz
+btV
+bvv
+arw
+aaa
+aaa
+aaa
+aaa
+aad
+aaa
+abC
+aaa
+aaa
+aaa
+aad
+aac
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+abC
+arw
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+cgR
+cgR
+cjL
+cjL
+cjL
+cjL
+cjL
+cjL
+cjL
+cjL
+cgR
+cjg
+cjg
+crD
+cjG
+cte
+cUn
+cjX
+cln
+cxo
+cxo
+cxo
+cxo
+cxo
+cxo
+cBB
+cCm
+cDf
+cxo
+cxo
+cxo
+cxo
+cxo
+cxo
+cgL
+cln
+cjX
+cjU
+cjU
+cjU
+cjV
+cjV
+cjU
+cgR
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(91,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+afV
+ahu
+afS
+adZ
+adZ
+adZ
+adZ
+aez
+aez
+afV
+aor
+amK
+adZ
+adZ
+adZ
+adZ
+adZ
+aeV
+akq
+afV
+ayG
+aAd
+aBA
+akp
+akp
+aFc
+aGE
+aGE
+aIP
+aGE
+aGE
+aLI
+aGE
+aNZ
+aGE
+aQa
+aRD
+aSl
+aTq
+aUe
+aUc
+aUc
+aVS
+cPt
+abW
+abW
+aXn
+aXn
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aYE
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aXn
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+arw
+bpN
+cRM
+arz
+aSQ
+bvv
+arw
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aad
+aaa
+aaa
+abC
+aaa
+aaa
+abC
+arw
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+cgR
+cgR
+cjL
+cjL
+ckY
+clM
+cjL
+cjL
+cjL
+cjL
+cjL
+cjL
+cqz
+crC
+cjG
+cte
+cUn
+cgL
+clo
+cxo
+cxQ
+cyF
+cyY
+czN
+cAG
+cBz
+cCn
+cBz
+cDV
+cEC
+cxQ
+cyF
+cyY
+cxo
+cjX
+cln
+cgL
+cjU
+cHk
+cll
+cHL
+cIa
+cjU
+cgR
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(92,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+afV
+afV
+ahv
+afS
+adZ
+adZ
+adZ
+adZ
+aez
+aez
+aez
+aeV
+amK
+adZ
+are
+are
+are
+are
+avk
+akH
+are
+afV
+afV
+aBB
+akp
+akp
+aFd
+aGE
+aHP
+aHP
+aHP
+aHP
+aLJ
+aHP
+aHP
+aGE
+aQa
+aRD
+aSl
+aTq
+aUf
+aUc
+cMm
+aVT
+cPt
+abW
+abE
+aaa
+aaa
+aXn
+aaa
+abC
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+abC
+aaa
+aXn
+aaa
+aaa
+aaa
+aaa
+aag
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+arw
+bpN
+cRM
+arz
+aSQ
+bvv
+arw
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+abC
+arw
+abC
+aaa
+aag
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aac
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+cgR
+cgR
+cgR
+cjL
+cjL
+ckZ
+clN
+cmn
+cmU
+cnB
+cjL
+cjL
+cjL
+cjL
+crC
+cjG
+ctt
+cUn
+ckG
+cln
+cxo
+cxR
+cyF
+cyY
+czO
+cAD
+cBA
+cCi
+cBA
+cDS
+cED
+cxQ
+cyI
+cFC
+cxo
+cGg
+cln
+cpX
+cHc
+cvy
+cll
+cll
+cIb
+cjV
+cgR
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(93,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+afV
+agE
+ahw
+afS
+adZ
+adZ
+adZ
+adZ
+adZ
+aez
+aez
+aos
+amK
+aez
+are
+asd
+ata
+auh
+avl
+aww
+axF
+ayH
+are
+aBC
+aCr
+aCr
+aFe
+aGE
+aHP
+aIQ
+aIQ
+aKW
+aLK
+aHP
+aOa
+aGE
+aQa
+aRE
+aSt
+aTq
+aUg
+aUc
+aUc
+aVT
+aWu
+abE
+abE
+aaa
+aaa
+aaa
+aXn
+aXn
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aXn
+aXn
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+arw
+bpN
+cRM
+arz
+aSQ
+bvv
+arw
+aaa
+aaa
+aac
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aad
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+abC
+arw
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+cgR
+cgR
+cgR
+cjL
+cjL
+cla
+clO
+cmo
+cmV
+cmV
+cos
+cpd
+cpI
+cpd
+crx
+csx
+ctu
+cUn
+chb
+cln
+cxo
+cxS
+cyH
+cyZ
+czP
+cAE
+cBz
+cCh
+cBz
+cDT
+cEE
+cEY
+cyH
+cFD
+cxo
+cgL
+cln
+cGu
+cjV
+cHl
+cHw
+cHM
+cIc
+cjU
+cgS
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(94,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+afV
+agF
+ahx
+afV
+afV
+afV
+adZ
+adZ
+adZ
+adZ
+aeU
+aot
+amK
+adZ
+arf
+ase
+cLS
+atb
+atb
+atf
+axG
+atf
+are
+are
+are
+are
+arf
+are
+are
+aGE
+aGE
+aKX
+aLL
+aMW
+aGE
+aGE
+aQa
+aRD
+aSl
+aTq
+aUh
+aUc
+aUc
+aVU
+aWu
+abE
+abE
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aXn
+aXn
+aXn
+aXn
+aXn
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aab
+aab
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+arw
+bpN
+cRM
+arz
+aSQ
+bvv
+arw
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+abC
+arw
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aac
+aac
+aac
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+cgN
+cgR
+cgR
+cgR
+cjL
+cjL
+clb
+clO
+cmp
+cmW
+clN
+cot
+cpe
+cpJ
+cpe
+crE
+cjG
+ctv
+cUn
+cgL
+cln
+cxo
+cxo
+cxo
+cxo
+cxo
+cxo
+cBC
+cCh
+cDg
+cxo
+cxo
+cxo
+cxo
+cxo
+cxo
+chb
+cln
+cgL
+cjU
+cjU
+cll
+cll
+cll
+cIv
+cgS
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(95,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aab
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+afW
+agG
+ahy
+aii
+aiU
+ajM
+akE
+afo
+afo
+afo
+any
+aou
+amK
+akq
+are
+cJE
+atc
+aui
+avm
+atf
+avl
+aww
+aAe
+aww
+aCs
+aDP
+aFf
+aGF
+are
+aIR
+aJV
+aKY
+aLM
+aJX
+aOb
+are
+aQf
+aRF
+aSs
+aTs
+aUi
+aUY
+aUc
+aVV
+aWu
+abE
+abE
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aab
+aab
+aab
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+arw
+bpN
+cRM
+arz
+aSQ
+bvv
+arw
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+abC
+arw
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aac
+aac
+aac
+aac
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+cgN
+cgN
+cgN
+cgN
+cjL
+cjL
+clc
+clO
+cmq
+cmX
+cmX
+cou
+cpf
+cpK
+cpf
+crF
+cjG
+ctv
+cUn
+cgL
+cnM
+cxo
+cxQ
+cyF
+cyY
+czQ
+cAH
+cBz
+cCh
+cBz
+cDW
+cEF
+cxQ
+cyF
+cyY
+cxo
+cgL
+cln
+ckH
+cgu
+cjU
+cHx
+cHN
+cId
+cIv
+cgS
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(96,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aab
+aab
+aab
+aab
+aab
+aac
+aac
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+afW
+agH
+ahz
+ahB
+aiV
+ajM
+akE
+afo
+ale
+afo
+afo
+aov
+apt
+aql
+are
+ase
+atd
+auj
+avn
+awx
+atf
+atf
+atf
+atb
+axG
+aDQ
+aFf
+aGG
+are
+aIR
+aJX
+aKZ
+aLN
+aMX
+aOc
+are
+aQg
+aRG
+aSA
+aTt
+aUj
+aUZ
+aVw
+aVW
+cPt
+abE
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aad
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+arw
+bpN
+cRM
+arz
+aSQ
+bvv
+arw
+aaa
+aaa
+aaa
+aaa
+aad
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+abC
+arw
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aad
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+cgN
+cgR
+cgN
+cgN
+cjL
+cjL
+ckZ
+clN
+cmr
+cmU
+cnC
+cjL
+cjL
+cjL
+cjL
+crG
+cjG
+ctv
+cUn
+chb
+cln
+cxo
+cxR
+cyJ
+cyY
+czR
+cAD
+cBA
+cCp
+cBA
+cDS
+cEG
+cxQ
+cyF
+cFC
+cxo
+cgL
+cln
+cnX
+cgu
+cjV
+cjV
+cjV
+cjU
+cjU
+cgR
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(97,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aab
+aab
+aac
+aac
+aac
+aac
+aac
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+afW
+agI
+ahA
+ahw
+aiW
+afV
+adZ
+adZ
+adZ
+afS
+alR
+aeV
+anC
+aqm
+are
+asf
+atb
+atb
+atb
+atf
+axH
+cLS
+aAf
+atd
+axG
+aDR
+aFf
+aGF
+are
+aIR
+aJX
+aKZ
+aLM
+aJX
+aOc
+are
+aQh
+aRD
+aSm
+cOW
+aTr
+aTr
+aTr
+aTr
+cPB
+abW
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aab
+aaa
+aaa
+aab
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+arw
+bpN
+cRM
+arz
+aSQ
+bvv
+arw
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aZt
+aZt
+aZt
+aZf
+aZI
+aZf
+aZf
+aZf
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+abC
+arw
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+cgN
+cgN
+cgR
+cgR
+cjL
+cjL
+cld
+clP
+cjL
+cjL
+cjL
+cjL
+cjL
+cjL
+cqz
+crH
+cjG
+ctv
+cUn
+ckG
+cln
+cxo
+cxS
+cyH
+cyZ
+czS
+cAE
+cBD
+cCq
+cBz
+cDT
+cEH
+cEY
+cyH
+cFD
+cxo
+ckF
+cln
+cgL
+cgu
+cgR
+cgR
+cgN
+cgN
+cgN
+cgN
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(98,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aab
+aab
+aac
+aac
+aac
+aac
+aac
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+afW
+agJ
+ahB
+aij
+aiX
+afS
+adZ
+adZ
+adZ
+afq
+amJ
+aow
+apu
+adZ
+are
+asg
+ata
+ata
+ata
+ata
+ata
+ayI
+aAg
+aBD
+aCt
+aDR
+aFf
+aGF
+are
+aIR
+aJX
+aKZ
+aLM
+aJX
+aOd
+are
+aQh
+aRD
+aSl
+cOF
+acH
+acH
+acH
+acH
+abW
+abW
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aab
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aab
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+arw
+bpN
+cRM
+arz
+aSQ
+bvv
+arw
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abD
+aaa
+aaa
+aZf
+aZf
+aZt
+aZt
+aZt
+aZt
+aZt
+aZf
+aZf
+aZf
+aZf
+aZf
+aZf
+aZI
+aZt
+aZt
+aZf
+aZf
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+cgN
+cgN
+cgR
+cgR
+cjL
+cjL
+cjL
+cjL
+cjL
+cjL
+cjL
+cjL
+cgN
+cgN
+cjg
+crC
+cjG
+ctv
+cUn
+cgL
+cln
+cxo
+cxo
+cxo
+cxo
+cxo
+cAI
+cBE
+cBE
+cBE
+cAI
+cxo
+cxo
+cxo
+cxo
+cxo
+chc
+cln
+cgL
+cgu
+cgR
+cgR
+cgN
+cgN
+cgN
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(99,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aab
+aab
+aab
+aab
+aab
+aab
+aab
+aac
+aac
+aad
+aad
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+afW
+agK
+ahC
+aik
+afS
+afS
+adZ
+adZ
+adZ
+afq
+amK
+adZ
+adZ
+adZ
+are
+ash
+atf
+auk
+avo
+awy
+awy
+ayJ
+aAh
+atf
+axG
+aDS
+are
+are
+are
+are
+are
+aKZ
+aLM
+are
+are
+are
+aQi
+aRD
+aSl
+cOF
+acH
+acH
+acH
+acH
+abW
+abW
+abC
+abC
+abC
+abC
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aac
+aab
+aaa
+aab
+aac
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+arw
+bpN
+cRM
+arz
+aSQ
+bvv
+arw
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aZt
+aZt
+aZt
+aZt
+aZt
+aZt
+aZt
+aZt
+aZt
+aZt
+aZt
+aZt
+aZt
+aZt
+aZt
+aZt
+aZt
+aZt
+aZf
+aZf
+aZf
+aZt
+aZt
+aZt
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+cgR
+cgN
+cgN
+cgN
+cgN
+cgN
+cjL
+cjL
+cjL
+cgN
+cgN
+cgN
+cgN
+cgN
+cgN
+ckN
+crI
+cst
+ctv
+cVX
+cgL
+cjt
+clg
+cxT
+cmA
+chc
+czT
+cAJ
+cAK
+cAK
+cAK
+cDX
+cEI
+cEZ
+cFq
+czT
+cFP
+cGh
+coD
+cgL
+chc
+cgR
+cgR
+cgN
+cgN
+cgN
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(100,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aab
+aab
+aac
+aac
+aac
+aac
+aac
+aac
+aac
+aac
+aac
+aad
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+afV
+agL
+ahw
+ail
+afS
+adZ
+adZ
+adZ
+adZ
+afq
+amM
+adZ
+apv
+apv
+apv
+asi
+atg
+aul
+apv
+apv
+cJI
+ayK
+aAi
+aBE
+aCu
+aDT
+aFg
+aFg
+aHQ
+aIS
+aJY
+aDT
+aLO
+aFg
+aFg
+aOX
+aQj
+aRH
+aSl
+cOF
+acH
+acH
+acH
+acH
+aUk
+aUk
+aUk
+aUk
+aUk
+aUk
+aUk
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aab
+aab
+aab
+aaa
+aab
+aab
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+arw
+bpN
+cRM
+arz
+aSQ
+bvv
+arw
+aaa
+aaa
+aaa
+aZf
+aZt
+aZt
+aZt
+aZH
+aZH
+aZH
+aZt
+aZt
+aZt
+aZt
+aZt
+aZt
+aZH
+aZH
+aZH
+aZH
+aZt
+aZt
+aZt
+aZt
+aZf
+aZf
+aZf
+aZf
+aZt
+aZt
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+cgN
+cgN
+cgN
+cgN
+cgR
+cgR
+cgR
+cgR
+cgN
+cmY
+cmY
+cmY
+cmY
+cmY
+cjg
+crJ
+csu
+ctw
+cUn
+cgL
+cgL
+cln
+cxT
+cxT
+cpX
+czU
+cAK
+cBF
+cAK
+cBF
+cAK
+cEJ
+cEZ
+cFr
+cFE
+cFQ
+cGi
+cgL
+cGu
+cjU
+cgN
+cgN
+cgN
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(101,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aab
+aac
+aad
+aac
+aac
+aac
+aac
+aac
+aac
+aac
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+afV
+agM
+ahD
+ahw
+afV
+adZ
+adZ
+adZ
+adZ
+afq
+amK
+adZ
+apv
+aqn
+arg
+asj
+ath
+aum
+arg
+awz
+apv
+ayL
+aAj
+aBF
+awy
+aDU
+awy
+awy
+aHR
+aIT
+awy
+aDU
+awy
+awy
+awy
+aOY
+aQk
+aRI
+aSt
+aTu
+aUk
+aUk
+aUk
+aUk
+aUk
+aWK
+aWL
+aXo
+aXG
+aXU
+aUk
+abC
+aaa
+aaa
+aaa
+aaa
+aad
+aab
+aab
+aab
+aaa
+aaa
+aaa
+aaa
+aab
+aac
+aac
+aad
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+arw
+bpN
+cRM
+arz
+aSQ
+bvv
+arw
+aaa
+aaa
+aaa
+aZt
+aZt
+bAd
+bAd
+bBN
+bBN
+bBN
+bBN
+bBN
+bBN
+bAd
+bAd
+bAd
+bBN
+bBN
+bBN
+aZH
+aZH
+aZt
+aZt
+aZt
+aZt
+byS
+cae
+byS
+aZt
+aZt
+aZt
+aZt
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+cgR
+cgN
+ciO
+ciO
+ciO
+ciO
+ciO
+cgN
+cgN
+cmY
+cnD
+cov
+cpg
+cpL
+cqA
+crK
+cjG
+ctv
+cUn
+chc
+cgL
+cjt
+clg
+cyK
+chc
+czT
+cAL
+cBG
+cCr
+cBG
+cDY
+cEI
+cEZ
+cFs
+czT
+cnL
+coD
+cgL
+cgL
+cgu
+cgR
+cgR
+cgN
+cgN
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(102,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aac
+aac
+aac
+aac
+aac
+aad
+aad
+aab
+aab
+aad
+aaa
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+afV
+afV
+ahv
+afV
+afV
+adZ
+adZ
+adZ
+alP
+akq
+amK
+adZ
+apv
+aqo
+arh
+ask
+ath
+aun
+avp
+awA
+axI
+axI
+axI
+aBG
+aCv
+aDV
+axI
+axI
+axI
+axG
+atf
+aLa
+atf
+atf
+atf
+aOZ
+aQl
+aRF
+aSs
+aTv
+aUl
+aVa
+aVx
+aVX
+aWv
+cKg
+aWv
+aWv
+aWv
+aXV
+aUk
+abC
+aaa
+aaa
+aaa
+aaa
+aac
+aac
+aab
+aab
+aaa
+aaa
+aaa
+aab
+aab
+aac
+aad
+aad
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+arw
+bpN
+cRM
+arz
+btW
+bvv
+arw
+aaa
+aaa
+aaa
+aZt
+bAd
+bAd
+byS
+bDa
+bBN
+bBN
+bBN
+bBN
+bAd
+bAd
+byS
+bDc
+byQ
+bTz
+bAd
+bAd
+bAd
+bAd
+bBN
+aZH
+aZt
+cMH
+bYK
+byS
+aZt
+aZt
+aZt
+aZt
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+cgR
+cgN
+ciO
+cjn
+cjM
+ckt
+ciO
+cgR
+cgN
+cmY
+cnE
+cow
+cph
+cpM
+cqB
+crL
+cjG
+ctv
+cUn
+cjU
+ckG
+ckH
+cln
+chc
+chc
+czT
+czT
+czT
+czT
+czT
+czT
+czT
+czT
+czT
+czT
+cln
+cgL
+cgL
+cmF
+cgu
+cgR
+cgR
+cgN
+cgN
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(103,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aag
+aaa
+aac
+aac
+aac
+aad
+aab
+aab
+aad
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+afV
+ahu
+afV
+adZ
+adZ
+adZ
+adZ
+alQ
+amJ
+anz
+adZ
+apv
+apv
+apv
+ask
+ath
+auo
+apv
+apv
+axI
+ayM
+aAk
+aBH
+aCw
+aDW
+aAk
+aGH
+axI
+aIU
+aJZ
+aLb
+aJZ
+aMY
+cJZ
+are
+aQm
+aRJ
+aSl
+aTw
+aUm
+aVb
+aVy
+aVY
+aWw
+aWL
+aWw
+aXp
+aXH
+aXW
+aUk
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aac
+aab
+aad
+aab
+aab
+aad
+aac
+aac
+aab
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+arw
+bpN
+cRM
+arz
+aSQ
+bvv
+arw
+aaa
+aaa
+aZf
+aZt
+bAd
+bAd
+bFo
+byQ
+byQ
+bBN
+bBN
+bBN
+byQ
+byQ
+byQ
+byQ
+byQ
+byQ
+byQ
+bEi
+byQ
+bWU
+byS
+bAd
+bAd
+byS
+cae
+cMH
+aZH
+aZt
+aZt
+aZt
+aZt
+aZt
+aZt
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+cgN
+ciO
+cjo
+cjM
+cku
+ciO
+cgR
+cgN
+cmY
+cnF
+cox
+cpi
+cpN
+cqA
+crM
+cjG
+ctx
+cUn
+chc
+cgL
+ckH
+cjt
+clg
+chc
+chc
+chc
+chc
+cCs
+chc
+chc
+chc
+chc
+chc
+cnL
+coD
+chb
+chc
+chc
+cgu
+cgR
+cgR
+cgN
+cgN
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(104,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aab
+aab
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+afV
+afS
+aht
+afS
+adZ
+adZ
+adZ
+adZ
+afq
+amK
+aez
+aez
+apv
+aqn
+ari
+ask
+ath
+auo
+arg
+awz
+axI
+ayN
+aAl
+aBI
+aCw
+aDX
+aFh
+aGI
+axI
+aIV
+aIW
+aLc
+aIW
+aMZ
+are
+aPa
+aQh
+aRD
+aSB
+aTx
+aUn
+aVc
+aVz
+aVZ
+aWx
+cKh
+aWw
+aWw
+aWw
+aWL
+aUk
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aac
+aac
+aac
+aab
+aab
+aac
+aac
+aac
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+arw
+bpN
+cRM
+arz
+aSQ
+bvv
+arw
+aaa
+aaa
+aZt
+bAd
+bAd
+byQ
+byP
+byP
+byP
+byP
+byP
+byP
+byP
+byP
+byP
+byP
+byO
+byP
+byP
+byP
+byP
+byP
+byP
+byP
+byP
+byO
+caf
+bBN
+bBN
+aZt
+aZt
+aZt
+aZt
+aZt
+aZt
+aaa
+aaa
+aaa
+aaa
+aaa
+aac
+aaa
+aaa
+aaa
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+cgN
+ciO
+cjp
+cjN
+ckv
+ciO
+cgR
+cgN
+cmY
+cnG
+cnG
+cmY
+cpO
+cmY
+cjF
+cjG
+ctv
+cUn
+chc
+chc
+chc
+chb
+cjt
+cjT
+cjT
+cjT
+cBH
+cCt
+cjT
+clg
+cEK
+cnL
+cjT
+coD
+cgL
+cgu
+cgu
+cgR
+cgR
+cgR
+cgN
+cgN
+cgN
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aac
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(105,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+afV
+agN
+aht
+afS
+adZ
+adZ
+adZ
+afS
+alR
+amL
+aez
+aez
+apv
+aqp
+arj
+asl
+ath
+aup
+avq
+awB
+axI
+axI
+axI
+aBI
+aCw
+aDY
+axI
+axI
+axI
+cJQ
+aIW
+aIW
+aIW
+aIW
+are
+aPb
+aQh
+aRD
+aSm
+aTu
+aUk
+aUk
+aUk
+aUk
+aUk
+aWN
+aWL
+aXq
+aWL
+aXU
+aYh
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aac
+aac
+aac
+aac
+aac
+aab
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+arw
+bpN
+cRM
+arz
+aSQ
+bvv
+arw
+aaa
+aaa
+aZt
+bBN
+bBN
+bDb
+byP
+bGE
+bGE
+bGE
+bGE
+bGE
+bGE
+bGE
+bAd
+bAd
+bAd
+bAd
+bPt
+bVA
+bDa
+byQ
+byQ
+byQ
+byQ
+byQ
+byP
+byP
+bAd
+aZt
+aZt
+aZt
+aZt
+aZt
+aZt
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+cgN
+ciO
+ciO
+cjO
+ckw
+ciO
+ciO
+cgN
+cgN
+abC
+abC
+cmY
+cpP
+cmY
+cjF
+cjG
+ctv
+cUn
+cgN
+chc
+chc
+ckz
+cgL
+cgL
+cgL
+ckH
+cgL
+ckz
+cgL
+cjt
+cng
+coD
+cgL
+cgL
+ckz
+cgu
+cgR
+cgR
+cgR
+cgR
+cgN
+cgN
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aab
+aac
+aac
+aac
+aac
+aac
+aab
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(106,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+afV
+agO
+ahE
+afS
+adZ
+adZ
+adZ
+aez
+alS
+amM
+aez
+aez
+apv
+apv
+apv
+asm
+ath
+aup
+apv
+apv
+axI
+ayM
+aAk
+aBI
+aCw
+aDY
+aAk
+aGJ
+axI
+aIX
+aKa
+aLd
+aLP
+aNa
+are
+aPc
+aQh
+aRD
+aSl
+cOF
+acH
+acH
+acH
+acH
+aUk
+aUk
+aUk
+aUk
+aUk
+aUk
+aUk
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aad
+aad
+aad
+aab
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+aaa
+aaa
+aaa
+arw
+bpN
+cRM
+arz
+aSQ
+bvv
+arw
+aaa
+aZt
+aZt
+bBN
+bBN
+byQ
+byP
+bGE
+bHH
+bHH
+bKY
+bMv
+bHH
+bOM
+bOM
+bOM
+bOM
+bOM
+bOM
+bOM
+bOM
+bOM
+bOM
+bOM
+bOM
+bOM
+byQ
+bYK
+byS
+bAd
+bBN
+bBN
+bAd
+bAd
+aZt
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+cgR
+ciO
+cjP
+ckx
+cle
+ciO
+cgR
+cgN
+aaa
+aaa
+cmY
+cpQ
+cmY
+crN
+cjG
+cty
+cWe
+cgN
+cgN
+chc
+cjV
+chc
+cjX
+cgL
+ckH
+cgL
+cjU
+cgL
+cgL
+cgL
+cgL
+cjX
+chc
+cjU
+cgu
+cgR
+cgR
+cgR
+cgR
+cgN
+cgN
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aad
+aac
+aac
+aac
+aac
+aac
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(107,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+afV
+agP
+afS
+afS
+adZ
+adZ
+adZ
+aez
+alT
+amN
+anA
+adZ
+apv
+aqq
+arg
+asl
+ath
+aup
+arg
+awz
+axI
+ayO
+aAm
+aBJ
+aCw
+aDZ
+aFi
+aGK
+axI
+are
+are
+arf
+are
+are
+are
+are
+aQn
+cMk
+aSC
+cOF
+acH
+acH
+abE
+abE
+abE
+abC
+abC
+abC
+abC
+abC
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aab
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+abC
+abC
+aZd
+aZd
+aZd
+aZd
+aZe
+aZf
+aZI
+aZf
+aaa
+aaa
+arw
+bpN
+cRM
+arz
+aSQ
+bvv
+arw
+aZt
+aZt
+aZt
+bAd
+bAd
+byQ
+byO
+bGE
+bHI
+bJv
+bKZ
+bMw
+bMw
+bOM
+bQn
+bRm
+bQn
+bOM
+bUC
+bVB
+bUC
+bOM
+bXG
+bYp
+bXG
+bOM
+byQ
+byP
+byP
+bAd
+bBN
+byQ
+cdi
+byS
+byS
+byS
+abC
+abC
+abC
+abC
+abC
+abC
+aaa
+aaa
+aab
+aad
+aaa
+aaa
+aaa
+aaa
+abC
+abC
+abC
+abC
+abC
+ciO
+ciO
+ciO
+cky
+clf
+ciO
+cgR
+cgN
+aaa
+aaa
+aaa
+arw
+cjg
+cjh
+cji
+ctz
+cjg
+cgN
+cgN
+chc
+cgR
+cgu
+cgu
+cgu
+cgu
+chc
+chc
+chc
+chc
+cgu
+cgu
+cgu
+cgu
+cgR
+cgR
+cgR
+cgR
+cgR
+cgR
+cgN
+cgN
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aac
+aac
+aac
+aac
+aac
+aab
+aab
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(108,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+afV
+agQ
+afV
+abW
+abW
+adZ
+adZ
+aez
+aez
+afq
+amK
+adZ
+apv
+aqr
+ark
+asn
+ati
+aup
+avr
+awC
+axI
+axI
+axI
+aBK
+aCw
+aDZ
+axI
+axI
+axI
+abW
+abW
+abW
+abW
+abW
+abW
+aLm
+aQh
+aRD
+aSl
+cOF
+acH
+abE
+abE
+abE
+aWy
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+abC
+abC
+aZd
+aZd
+aZd
+baJ
+aZr
+aZC
+bhA
+cKj
+aZt
+aZt
+aZf
+aZf
+aaa
+arw
+bpN
+cRM
+arz
+aSQ
+bvv
+arw
+aZt
+aZt
+aZH
+bAd
+bAd
+bEi
+byP
+bGE
+bHJ
+bHJ
+bKZ
+bMx
+bMx
+bOM
+bQn
+bRn
+bQn
+bOM
+bUC
+bVC
+bUC
+bOM
+bXG
+bYq
+bXG
+bOM
+bAd
+byQ
+byP
+byP
+bAd
+byQ
+bFq
+cdB
+bLA
+cdB
+aZf
+arw
+arw
+arw
+abC
+abC
+abC
+aaa
+aac
+aad
+aac
+aaa
+aaa
+abC
+abC
+arw
+arw
+arw
+arw
+ciP
+cjq
+cjQ
+ckw
+ciO
+ciO
+cgR
+cgN
+aaa
+aaa
+aaa
+arw
+cqC
+aQS
+arz
+cUy
+cuk
+cgN
+cgN
+cgN
+cgR
+cgR
+cgR
+cgR
+cgR
+cgN
+cgN
+cgN
+cgN
+cgR
+cgR
+cgR
+cgR
+cgR
+cgN
+cgN
+cgN
+cgN
+cgN
+cgN
+cgN
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aaa
+aaa
+aac
+aac
+aac
+aac
+aac
+aac
+aab
+aab
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(109,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abW
+abW
+abW
+abW
+adZ
+aez
+aez
+afq
+amK
+adZ
+apv
+apv
+apv
+apv
+atj
+apv
+apv
+apv
+axI
+ayM
+aAk
+aBJ
+aCw
+aDZ
+aAk
+aGH
+aHS
+aHS
+aHS
+aHS
+aHS
+aHS
+abW
+aLm
+aQh
+aRD
+aSx
+cOF
+abE
+abE
+abE
+abE
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+abC
+aZd
+aZd
+aZd
+bcO
+bbk
+bed
+beP
+bck
+bgB
+bhB
+aZe
+aZt
+aZt
+aZf
+aZf
+aaa
+arw
+bpN
+cRM
+arz
+aSQ
+bvv
+arw
+aZf
+aZt
+aZH
+bAd
+byS
+byQ
+byP
+bGE
+bHK
+bHK
+bKZ
+bMy
+bMy
+bOM
+bQo
+bRo
+bSv
+bOM
+bUD
+bVD
+bWq
+bOM
+bXH
+bYr
+bZb
+bOM
+bAd
+bPt
+caM
+byP
+byP
+byP
+byP
+cMH
+cMH
+byS
+aZI
+abC
+abC
+abC
+aaa
+aaa
+aaa
+aaa
+aac
+aac
+aad
+aaa
+aaa
+aaa
+aaa
+abC
+abC
+abC
+cim
+ciO
+ciO
+ciO
+ciO
+ciO
+cgR
+cgR
+cgN
+aaa
+aaa
+aaa
+arw
+cqC
+aQS
+arz
+cUy
+cuk
+cgN
+cgN
+cgN
+cgR
+cgR
+cgR
+cgR
+cgR
+cgR
+cgR
+cgN
+cgN
+cgR
+cgR
+cgR
+cgR
+cgR
+cgN
+cgN
+cgN
+cgN
+cgN
+cgN
+cgN
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aac
+aac
+aab
+aac
+aac
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(110,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abW
+abW
+abW
+acH
+acH
+aez
+aez
+afq
+amK
+adZ
+adZ
+alo
+arl
+akq
+aqG
+auq
+aoq
+awD
+axI
+ayP
+aAn
+aBL
+aCx
+aDZ
+aFj
+aGL
+aHS
+aIY
+aKb
+aLe
+aLQ
+aHS
+abW
+aLm
+aQo
+aRD
+aSl
+aTy
+abE
+abE
+abE
+abE
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aZd
+aZd
+aZr
+aZC
+aZQ
+bbj
+bbj
+aZC
+beQ
+bfK
+cMo
+bhC
+aZe
+aZt
+aZt
+aZf
+aZf
+aZf
+arw
+bpN
+cRM
+arz
+aSQ
+bvv
+arw
+aZf
+aZt
+aZH
+bBN
+bCZ
+byP
+byP
+bGE
+bGE
+bGE
+bLa
+bGE
+bGE
+bOM
+bQp
+bRp
+bSw
+bOM
+bQp
+bRp
+bWr
+bOM
+bXI
+bRp
+bZc
+bOM
+bGE
+cMH
+cMH
+byS
+cMH
+byP
+byP
+bBN
+bBN
+aZt
+aZt
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aaa
+aac
+aac
+aad
+aab
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+cgN
+cgN
+cgN
+cgN
+cgN
+cgN
+cgN
+cgN
+aaa
+aaa
+aaa
+arw
+cqC
+aQS
+arz
+cUy
+cuk
+aaa
+aaa
+aXR
+aaa
+cgN
+cgN
+cgR
+cgR
+cgR
+cgR
+cgR
+cgR
+cgR
+cgR
+cgR
+cgR
+cgR
+cgN
+cgN
+cgN
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aab
+aab
+aab
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(111,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abW
+abW
+abW
+acH
+acH
+acH
+aez
+afq
+anB
+aox
+apw
+aox
+aox
+aox
+atk
+aur
+aox
+awE
+afV
+axI
+axI
+axI
+aCy
+aEa
+aEa
+aEa
+aHS
+aIZ
+aKc
+aLf
+aLR
+aHS
+abW
+aLm
+aQp
+aRD
+aSl
+aTy
+abE
+abE
+abE
+abE
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aZN
+baf
+baG
+baj
+aZQ
+bck
+aZQ
+aZQ
+aZQ
+beR
+bfL
+bfL
+bhD
+aZe
+aZH
+aZt
+aZt
+aZt
+aZf
+boo
+bpO
+cRM
+arz
+aSQ
+bvw
+bwY
+aZf
+aZt
+bAd
+bBN
+bAf
+byP
+bAd
+bGE
+bHL
+bJw
+bJx
+bJx
+bGE
+bON
+bQq
+bOO
+bSx
+bTA
+bQq
+bOO
+bSx
+bWV
+bXJ
+bOO
+bZd
+bZF
+bGE
+cbr
+cMV
+cbr
+byS
+byQ
+byP
+byP
+bAd
+aZt
+aZt
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aab
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+cgN
+cgN
+cgN
+cgN
+cgN
+aaa
+aaa
+aaa
+arw
+cqC
+aQS
+arz
+cUy
+cuk
+aaa
+aaa
+aXR
+aaa
+aaa
+aaa
+aaa
+aaa
+cgN
+cgN
+cgR
+cgR
+cgR
+cgR
+cgR
+cgN
+cgN
+cgN
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aad
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(112,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abW
+abW
+acH
+acH
+acH
+acH
+aez
+aez
+anC
+afq
+afq
+afq
+alS
+afq
+aqG
+aus
+akq
+awF
+afo
+afo
+afo
+afo
+afo
+aEb
+aFk
+aGM
+aHT
+aJa
+aKd
+aLg
+aLS
+aHS
+abW
+aLm
+cOy
+aRD
+aSl
+aTy
+abE
+abE
+abE
+abE
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aZN
+aZC
+baH
+baH
+aZQ
+aZQ
+bah
+aZQ
+aZQ
+beR
+bfL
+bfL
+bhE
+cKk
+aZH
+aZH
+aZH
+aZH
+bal
+bop
+bal
+cSr
+bao
+btX
+bal
+bwZ
+bal
+aZt
+bAd
+bBN
+byQ
+byP
+bFp
+bGF
+bHM
+bJx
+bJx
+bJx
+bNv
+bOO
+bQq
+bOO
+bSy
+bSy
+bQq
+bOO
+bSy
+bSy
+bXJ
+bOO
+bZe
+bXJ
+bGE
+cMP
+cbr
+cbr
+cNc
+byP
+byP
+byP
+bBN
+aZH
+aZt
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+arw
+cqC
+aQS
+arz
+cUy
+cuk
+aaa
+aaa
+aXR
+aaa
+aaa
+aaa
+aaa
+aaa
+cgN
+cgN
+cgR
+cgR
+cgR
+cgR
+cgR
+cgN
+cgN
+cgN
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(113,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abW
+abW
+acH
+acH
+acH
+abW
+adZ
+adZ
+anD
+aoy
+apx
+aqs
+akq
+aso
+aso
+aso
+aso
+aso
+aso
+ayQ
+ayQ
+ayQ
+ayQ
+ayQ
+aFl
+aGN
+aHT
+aJb
+aKe
+aHT
+aHT
+aHS
+aHT
+aHT
+aQq
+aRE
+aSt
+aTy
+abE
+abE
+abE
+abE
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aZd
+bag
+baH
+baH
+aZQ
+aZr
+bag
+aZC
+aZQ
+cMn
+bfM
+bfM
+cKs
+aZe
+aZH
+aZH
+aZH
+aZH
+bal
+boq
+cQD
+cSs
+baO
+bhM
+bal
+cKO
+bal
+aZt
+bAd
+bAd
+bDa
+byP
+bFq
+bGG
+bHN
+bJy
+bJy
+bJy
+bNw
+bOP
+bQr
+bRq
+bSz
+bTB
+bUE
+bVE
+bWs
+bWW
+bXK
+bYs
+bZf
+bXJ
+bGE
+cMQ
+cMW
+cbr
+cMH
+bAd
+byQ
+byP
+bBN
+aZH
+aZt
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+arw
+cqC
+aQS
+arz
+cUy
+cuk
+aaa
+aaa
+aXR
+aaa
+aaa
+aaa
+aaa
+aaa
+cgN
+cgN
+cgR
+cgR
+cgR
+cgR
+cgR
+cgN
+cgN
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(114,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abW
+abW
+acH
+acH
+acH
+akF
+akF
+akF
+akF
+akF
+akF
+akF
+aqG
+aso
+atl
+aut
+avs
+awG
+atp
+ayR
+aAo
+aBM
+aCz
+ayV
+aFm
+aGO
+aHT
+aJc
+aKf
+cWH
+aLT
+aHS
+aOe
+aPd
+aQr
+aRD
+aSl
+aTy
+abE
+abE
+abE
+abE
+akG
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+aZd
+aZC
+bag
+baI
+baJ
+aZQ
+bah
+baf
+aZC
+aZQ
+beS
+aZQ
+aZr
+bag
+aZe
+aZH
+bal
+bal
+bal
+bal
+bor
+cQW
+baN
+baO
+bhM
+bal
+bwZ
+bal
+bal
+bal
+bal
+bDb
+bEj
+bFr
+bGH
+bHO
+bJz
+bJz
+bMz
+bNx
+bOQ
+bQs
+bRr
+bSA
+bTC
+bQs
+bQs
+bWt
+bWX
+bXL
+bYt
+bZg
+bXJ
+bOM
+bOM
+bOM
+bOM
+bOM
+bAd
+byQ
+byP
+bBN
+aZH
+aZt
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+arw
+cqC
+aQS
+arz
+cUy
+cuk
+aaa
+aaa
+aXR
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(115,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abW
+abW
+acH
+acH
+acH
+akF
+alU
+amO
+anE
+amR
+apy
+akF
+akq
+aso
+atm
+auu
+avt
+awH
+atp
+ayS
+aAp
+aBN
+aCA
+ayV
+aFn
+aGP
+aHT
+aJd
+aKg
+aLi
+aLU
+aHS
+aOf
+aPe
+aQr
+aRD
+aSl
+aTy
+abE
+abE
+abE
+abE
+abE
+abE
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aZd
+aZO
+aZF
+baJ
+baI
+aZr
+aZQ
+aZC
+aZC
+aZQ
+beT
+bag
+bgC
+cKt
+aZe
+aZH
+bal
+bbQ
+bbQ
+bna
+bos
+cQW
+baN
+baO
+btY
+bal
+bxb
+byA
+bcp
+bAO
+bal
+bDc
+bEk
+bAd
+bGI
+bHP
+bJA
+bLb
+bMA
+bNy
+bJz
+bQt
+bRs
+bSB
+bTD
+bTD
+bTD
+bWu
+bTD
+bXM
+bYu
+bZh
+bZG
+cag
+caA
+cbi
+cbi
+bOM
+bAf
+byP
+byP
+bBN
+aZH
+aZt
+aZt
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aac
+aac
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+arw
+cqC
+aQS
+arz
+cUy
+cuk
+aaa
+aaa
+aXR
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(116,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abW
+acH
+acH
+acH
+abW
+akF
+alV
+amP
+anF
+aoz
+apz
+aqt
+akq
+aso
+atn
+auv
+avt
+awI
+atp
+ayT
+aAq
+aBN
+aCB
+ayV
+aFo
+aGQ
+aHT
+aJe
+aKh
+aLh
+aLV
+cJV
+aOf
+aPe
+aQr
+aRD
+aSl
+aTy
+abE
+abE
+abE
+abE
+abE
+abE
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aZd
+aZP
+bah
+aZQ
+aZQ
+aZr
+aZr
+aZr
+aZQ
+aZQ
+beU
+aZe
+aZe
+aZe
+aZe
+aZH
+bal
+bcp
+bcp
+bnb
+bcp
+cQX
+bra
+baO
+btZ
+bal
+bxb
+bcp
+bcp
+bAP
+bBO
+bDd
+bEk
+bAd
+bGI
+bHQ
+bJx
+bLc
+bJx
+bNz
+bJx
+bQu
+bRt
+bSC
+bTE
+bTE
+bTE
+bSC
+bJx
+bXN
+bYv
+bZi
+bZH
+bRp
+caB
+cbj
+cbP
+bOM
+byQ
+byP
+bBN
+bBN
+aZH
+aZt
+aZt
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aab
+aab
+aac
+aac
+aab
+aab
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+arw
+cqC
+aQS
+arz
+cUy
+cuk
+aaa
+aaa
+aXR
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aac
+aad
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(117,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abW
+acH
+acH
+acH
+abW
+akF
+alW
+amQ
+amQ
+aoA
+apA
+aqu
+akq
+aso
+ato
+auw
+avt
+awJ
+atp
+ayU
+aAr
+aBN
+aCC
+ayV
+aEc
+aGR
+aHT
+aJf
+aKi
+aLh
+cWI
+aNb
+aOf
+aPe
+aQr
+aRL
+aSl
+aTy
+abE
+abE
+abE
+abE
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aZd
+aZC
+aZr
+aZQ
+baK
+aZQ
+aZQ
+aZC
+bag
+bck
+bck
+beV
+bfN
+bgD
+bhF
+aZe
+aZt
+bal
+bcp
+bcp
+bnb
+bcY
+cQW
+baN
+baO
+bhM
+bal
+bxa
+bcp
+bcp
+bAP
+bBO
+bDe
+bEl
+bAd
+bGI
+bHR
+bJx
+bLd
+bJA
+bNA
+bOR
+bQv
+bRu
+bSD
+bTF
+bTF
+bTF
+bTK
+bJx
+bXO
+bYw
+bZj
+bZI
+cah
+caC
+cbi
+cbi
+bOM
+byQ
+byP
+bBN
+aZH
+aZH
+aZt
+aZt
+aZt
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aab
+aac
+aac
+aac
+aac
+aab
+aab
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+arw
+cqC
+aQS
+arz
+ctA
+cuk
+abC
+abC
+aXR
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aaa
+aad
+aac
+aac
+aab
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(118,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abW
+acH
+acH
+acH
+abW
+akF
+alX
+amR
+anG
+aoB
+amR
+aqu
+arm
+aso
+atp
+atp
+avu
+awK
+atp
+ayV
+aAs
+ayV
+aCD
+ayV
+aFp
+aGS
+aHU
+aJg
+aKj
+aLj
+aLW
+aNb
+aOf
+aPe
+aQr
+aRD
+aSl
+aTy
+abE
+abE
+abE
+abE
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aab
+aaa
+aaa
+aaa
+aaa
+abC
+aZd
+aZD
+aZQ
+aZQ
+aZC
+bbj
+aZF
+aZQ
+aZC
+bdp
+bdq
+bdq
+bdp
+bdr
+bhG
+aZe
+aZt
+bal
+bcp
+bcp
+bnb
+bco
+cQW
+baN
+baO
+bua
+bvx
+bxc
+bcp
+bco
+bco
+bal
+bDf
+byB
+byB
+bGI
+bHS
+bJB
+bLe
+bGE
+bGE
+bGE
+bGE
+bRv
+bSE
+bTG
+bTG
+bTG
+bWv
+bJx
+bXP
+bYx
+bOO
+bZJ
+bOM
+bOM
+bOM
+bOM
+bOM
+bPt
+byP
+bBN
+aZH
+aZH
+aZt
+aZt
+aZt
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aac
+aac
+aac
+aac
+aac
+aac
+aac
+aab
+aab
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+arw
+cqC
+aQS
+arz
+cUy
+cuk
+aaa
+aaa
+aXR
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aac
+aac
+aab
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(119,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abW
+acH
+acH
+acH
+akF
+akF
+alY
+amS
+alY
+aoC
+apB
+aqv
+aqt
+akF
+atq
+cJF
+avv
+awL
+awL
+ayW
+aAt
+ayX
+aCE
+aEc
+aFq
+aGT
+aCO
+aJh
+aEc
+aLk
+aLX
+cJW
+aOf
+aPe
+aQr
+aRD
+aSl
+cOF
+abE
+abE
+abE
+abE
+abE
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aab
+aad
+aaa
+aaa
+aab
+aab
+aab
+aaa
+aaa
+aaa
+abC
+aZd
+aZE
+aZQ
+aZQ
+baL
+bbk
+bbj
+aZQ
+aZQ
+bdq
+bee
+beW
+bdr
+beg
+bhH
+aZe
+aZt
+bal
+ben
+bmr
+bnc
+bco
+cQW
+brb
+bsq
+bub
+bal
+bal
+byB
+byB
+byB
+bBP
+bDg
+bEm
+bFs
+bGJ
+bHT
+bJC
+bLf
+bMB
+bNB
+bOS
+bGE
+bRw
+bJx
+bTH
+bUF
+bVF
+bJx
+bJx
+bXP
+bYy
+bZk
+bZG
+cag
+caD
+cbk
+cbk
+bOM
+byQ
+bYK
+byS
+aZt
+aZt
+aZt
+aZt
+aZt
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aac
+aac
+aac
+aac
+aac
+aac
+aac
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+arw
+cqC
+aQS
+arz
+cUy
+cuk
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aac
+aac
+aab
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(120,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abW
+acH
+acH
+acH
+akF
+alp
+alZ
+amT
+alY
+aoD
+amR
+aqw
+arn
+asp
+apI
+alY
+avw
+awM
+awM
+ayX
+aze
+ayX
+aCF
+aEc
+aFr
+aGT
+awM
+aJi
+aEc
+aLh
+aLY
+aNc
+aOg
+aPf
+aQr
+aRD
+aSl
+cOF
+abW
+abE
+abE
+abE
+abE
+aaa
+aaa
+aaa
+aaa
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aaa
+aaa
+aaa
+abC
+aZd
+aZp
+aZr
+aZR
+bai
+bai
+bbl
+bbH
+bcl
+bcP
+bdq
+bef
+cQU
+bfO
+bgE
+bhI
+cRr
+cQG
+cQG
+cQG
+cQG
+bnd
+cQG
+cRc
+brc
+bsr
+buc
+bal
+bal
+byB
+bzN
+bAQ
+bBQ
+bDh
+bAQ
+bAQ
+bGK
+bHU
+bJD
+bLg
+bMC
+bNC
+bOT
+bGE
+bRx
+bSF
+bTI
+bUG
+bVG
+bJx
+cMF
+bXP
+bYz
+bOO
+bZH
+bRp
+caE
+cbl
+cbQ
+bOM
+byQ
+byP
+bAd
+aZH
+aZt
+aZt
+aZt
+aZt
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aac
+aac
+aac
+aac
+aac
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+arw
+cqC
+aQS
+arz
+cUy
+cuk
+aaa
+aaa
+aXR
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aac
+aac
+aac
+aab
+aab
+aab
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(121,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abW
+acH
+acH
+acH
+akF
+alq
+ama
+amU
+alY
+aoE
+amR
+aqx
+aro
+apI
+apI
+alY
+avx
+awM
+awM
+ayY
+aAu
+aBO
+aCG
+aEd
+aFs
+aGT
+awM
+aJj
+aEc
+asu
+asu
+asu
+asu
+asu
+aQh
+aRD
+aSm
+cOF
+abW
+abW
+abW
+abE
+abE
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aZd
+aZq
+aZq
+aZq
+baj
+aZq
+aZq
+aZq
+aZe
+bcQ
+bdp
+bdr
+beX
+bfP
+bgF
+bgb
+biM
+biM
+biM
+blp
+biM
+bne
+bot
+biM
+brd
+bss
+bud
+biM
+bxd
+byC
+bzO
+bAR
+bBR
+bDi
+bEn
+bFt
+bGL
+bHV
+bJE
+bLh
+bMD
+bND
+bOU
+bQw
+bRy
+bSG
+bJx
+bJx
+bRt
+bJx
+bJx
+bXO
+bYA
+bZj
+bZI
+cah
+caF
+cbk
+cbk
+bOM
+byQ
+byO
+bAd
+aZH
+aZH
+aZt
+aZt
+aZt
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aac
+aab
+aad
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+arw
+cqC
+aQS
+arz
+cUy
+cuk
+abC
+abC
+aXR
+aaa
+aaa
+aaa
+aaa
+aad
+aac
+aad
+aab
+aab
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aac
+aac
+aab
+aab
+aab
+aab
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(122,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abW
+abW
+abW
+acH
+akF
+akF
+akF
+amV
+alY
+aoF
+apC
+aqy
+aro
+apI
+apI
+alY
+avy
+awN
+awN
+awN
+aze
+ayX
+aCH
+cJN
+aFt
+aGT
+awM
+aze
+aCO
+aEd
+aLZ
+aNd
+aOh
+asu
+aQs
+aRD
+aSl
+cOF
+abW
+abW
+abW
+abE
+abE
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aZd
+aZr
+aZF
+aZQ
+bag
+aZQ
+aZQ
+bbI
+aZe
+bcR
+bdr
+beg
+beY
+bfQ
+cKq
+cKu
+baO
+baO
+baO
+baO
+baO
+bnf
+bjG
+bjG
+bjG
+bst
+bue
+bvy
+bxe
+byD
+bzP
+bAS
+bBS
+bAS
+bAS
+bFu
+bGM
+bHW
+bJF
+bLi
+bGI
+bNC
+bOT
+bGE
+bRz
+bSH
+bTJ
+bJx
+bVI
+bVG
+bJx
+bXP
+bYx
+bOO
+bZK
+bOM
+bOM
+bOM
+bOM
+bOM
+byQ
+byP
+bAd
+bBN
+aZH
+aZt
+aZt
+aZt
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+arw
+cqC
+aQS
+arz
+cUy
+cuk
+aaa
+aaa
+aXR
+aaa
+aad
+aaa
+aaa
+aad
+aac
+aac
+aab
+aab
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aac
+aac
+aab
+aab
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(123,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abW
+abW
+abW
+acH
+acH
+abW
+akF
+amW
+alY
+aoG
+apD
+aqz
+aro
+asq
+atr
+alY
+avz
+awO
+axJ
+ayZ
+aAv
+ayX
+aCI
+aEe
+aFu
+aGU
+aHV
+aze
+aCO
+aEe
+aMa
+aNe
+awM
+aEe
+aQt
+aRJ
+aSl
+cOF
+acH
+acH
+abW
+abE
+abE
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aZd
+aZs
+aZG
+aZS
+bak
+aZq
+cKl
+cKm
+aZe
+bcS
+bds
+beh
+beZ
+bfR
+bgG
+bhJ
+biN
+biN
+biN
+biN
+biN
+bng
+bou
+bpP
+biN
+bsu
+buf
+baP
+bxf
+byE
+bzQ
+bAT
+bBT
+bDj
+bEo
+bFv
+bGN
+bHX
+bJG
+bLj
+bGI
+bNE
+bOV
+bGE
+bRA
+bSI
+bTK
+bUH
+bRt
+bWw
+bWY
+bXP
+bYB
+bZk
+bZG
+cag
+caG
+cbm
+cbm
+bOM
+caM
+byP
+byP
+bBN
+aZH
+aZt
+aZt
+aZt
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+arw
+cqC
+aQS
+arz
+cUy
+cuk
+aaa
+aaa
+aXR
+aaa
+aaa
+aaa
+aaa
+aad
+aad
+aac
+aab
+aab
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aab
+aab
+aab
+aab
+aaa
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(124,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abW
+abW
+acH
+acH
+abW
+akF
+akF
+akF
+aoH
+apE
+aqA
+arp
+asr
+ats
+aux
+avA
+awP
+awP
+aza
+aAw
+aBP
+aCJ
+aEf
+aFv
+aGV
+aCJ
+aJk
+aKk
+aEf
+aMb
+aNf
+aKk
+aEf
+aQu
+aRD
+aSl
+cOF
+acH
+acH
+abW
+abE
+akG
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+aZe
+cKj
+aZe
+aZe
+aZe
+cKk
+aZe
+aZe
+aZe
+aZe
+aZe
+aZe
+cQV
+baN
+baO
+bhK
+biO
+biO
+biO
+biO
+cKx
+biO
+biO
+biO
+biO
+biO
+biO
+biO
+biO
+biO
+biO
+biO
+bBU
+bDk
+bEp
+bFw
+biO
+bHY
+bJH
+bpS
+bGJ
+bNF
+bNF
+bNF
+bNF
+bNF
+bTL
+bUI
+bVJ
+bVJ
+bJx
+bXP
+bYC
+bOO
+bZH
+bRp
+caH
+cbn
+cbR
+bOM
+byQ
+byQ
+byP
+bBN
+aZH
+aZt
+aZt
+aZt
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+arw
+cqC
+aQS
+arz
+cUy
+cuk
+aaa
+aaa
+aXR
+aaa
+aaa
+aaa
+aac
+aac
+aac
+aac
+aac
+aab
+aab
+aaa
+aaa
+aad
+aaa
+aaa
+aab
+aab
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(125,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abW
+abW
+abW
+abW
+abW
+acH
+acH
+akF
+aoI
+apF
+aqB
+arq
+arq
+apF
+auy
+avB
+awQ
+axK
+azb
+aAx
+aBQ
+aCK
+aEg
+aFw
+aGW
+aHW
+aJl
+aKl
+aLl
+aMc
+aNg
+aOi
+aLl
+aQv
+aRM
+aSt
+cOJ
+acH
+acH
+abW
+abE
+abE
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aZf
+aZt
+aZt
+aZt
+aZt
+aZt
+bbm
+bbJ
+bcm
+bcT
+bdt
+bbm
+cQW
+bfS
+baO
+bhL
+biO
+bjC
+bkv
+bkv
+bkv
+bkv
+bkv
+bkv
+bkv
+bkv
+bpQ
+bvz
+bxg
+byF
+cXB
+abC
+abC
+abC
+abC
+bFx
+bGO
+bHZ
+bJI
+bLk
+bME
+bLk
+bOW
+bQx
+bnk
+bSJ
+bTM
+bUJ
+bVK
+bWx
+bWZ
+bXQ
+bYD
+bZj
+bZL
+cah
+caI
+cbm
+cbm
+bOM
+bAd
+byQ
+byP
+bBN
+aZH
+aZt
+aZt
+aZt
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+arw
+cqC
+aQS
+arz
+cUy
+cuk
+aaa
+aaa
+aXR
+aaa
+aaa
+aaa
+aac
+aac
+aac
+aac
+aab
+aab
+aab
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(126,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abW
+abW
+abW
+abW
+abW
+abW
+acH
+acH
+anH
+aoJ
+apG
+aqC
+arr
+ass
+att
+auz
+avC
+awR
+awR
+azc
+aAy
+aBR
+awL
+aEh
+aFx
+aGX
+aHX
+azf
+aKm
+aEh
+aMd
+aNh
+aKm
+aEh
+aQw
+aRD
+aSl
+cOF
+acH
+acH
+abW
+abW
+abE
+abE
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aZf
+aZf
+aZt
+aZt
+aZt
+aZt
+bbm
+bbm
+bcn
+bcU
+bdu
+bbm
+cQX
+baN
+baO
+bhM
+biO
+bjD
+bkw
+blq
+bkw
+blq
+abC
+cXf
+cXp
+cXr
+cKE
+bvA
+bxh
+bms
+cXC
+cXI
+cXL
+cXO
+cXP
+cXQ
+bGP
+bIa
+bJJ
+bLl
+bLl
+bLl
+bOX
+bQy
+bnk
+bSK
+bTM
+bUK
+bVL
+bWy
+bXa
+bWy
+bYE
+bWy
+bZM
+bOM
+bOM
+bOM
+bOM
+bOM
+byQ
+byQ
+byP
+bBN
+aZH
+aZt
+aZt
+aZt
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aag
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+arw
+cqC
+aQS
+arz
+cUy
+cuk
+aaa
+aaa
+aXR
+aaa
+aaa
+aaa
+aac
+aac
+aac
+aad
+aab
+aab
+aac
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(127,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abW
+abW
+abW
+abW
+abW
+abW
+abW
+abW
+akF
+aoK
+apH
+aqD
+ars
+ast
+apI
+alY
+avD
+awS
+axL
+ayZ
+aAv
+ayX
+aCL
+aEe
+aFy
+aGY
+aHY
+awM
+aCO
+aEe
+aMe
+aHY
+awM
+aEe
+aQx
+aRD
+aSl
+cOF
+aLm
+aLm
+aLm
+aLm
+aLm
+aLm
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aZf
+aZf
+aZt
+aZt
+aZt
+bal
+bal
+bal
+bal
+bdv
+bal
+cQW
+baN
+bgH
+bhM
+biO
+bjD
+bkx
+bky
+bls
+bky
+bkv
+bpQ
+bre
+bsv
+bug
+bvB
+bxi
+byG
+byG
+byG
+byG
+bDl
+bEq
+bFy
+bGQ
+bIb
+bJK
+bLm
+bMF
+bLo
+bOY
+bQy
+bnk
+bSL
+bTM
+bUL
+bTC
+bWz
+bXb
+bXR
+bYF
+bZl
+bZN
+cag
+caJ
+cbo
+cbo
+bOM
+bVA
+bAd
+byP
+bBN
+aZH
+aZt
+aZt
+aZt
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+arw
+cqC
+aQS
+arz
+cUy
+cuk
+aaa
+aaa
+aXR
+aaa
+aaa
+aaa
+aac
+aac
+aac
+aab
+aab
+aac
+aac
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(128,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+acm
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abE
+abE
+abE
+abW
+akG
+abW
+abW
+abW
+akF
+aoL
+cJw
+aqE
+aqE
+aqE
+apI
+alY
+avE
+awT
+awT
+awT
+aze
+ayX
+aCH
+cJN
+aFz
+aze
+awM
+awM
+aCO
+aEc
+aMf
+aNi
+awN
+asu
+aQy
+aRD
+aSl
+cOF
+aUo
+aVd
+aVA
+aWa
+aWz
+aLm
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aZf
+aZf
+aZf
+aZf
+aZt
+bal
+bbK
+bco
+bcp
+bdw
+bcp
+cQW
+baN
+baO
+bhM
+biO
+bjD
+bkx
+cWJ
+cWU
+cWW
+cXa
+cXg
+brf
+bsw
+buh
+bvC
+bxj
+bxj
+bzR
+bAU
+bAU
+bDm
+bEr
+bFz
+bGR
+bIc
+bJL
+bLn
+bMG
+bNG
+bOZ
+bQy
+bnk
+bnk
+bTM
+bUM
+bVM
+bRs
+bXc
+bXS
+bYG
+bJx
+bZO
+bRp
+caK
+cbo
+cbS
+bOM
+bAd
+bAd
+byP
+bBN
+aZH
+aZH
+aZH
+aZt
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+arw
+cqC
+aQS
+arz
+cUy
+cuk
+aaa
+aaa
+aXR
+aaa
+aaa
+aaa
+aac
+aab
+aab
+aab
+aab
+aad
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+cJh
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(129,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abE
+abE
+abC
+aaa
+aaa
+abE
+akF
+akF
+akF
+akF
+akF
+akF
+akF
+anH
+avF
+awM
+awM
+azd
+aze
+aBO
+aCM
+aEd
+aFA
+aze
+awM
+aJm
+asu
+asu
+asu
+asu
+asu
+asu
+aQz
+aRD
+aSq
+aTz
+aUp
+aVe
+aVe
+aWb
+aWA
+aLm
+aLm
+aLm
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aZf
+aZf
+bal
+bal
+bal
+bbL
+bcp
+bcp
+bdx
+bcp
+cQW
+bfT
+baO
+bhM
+biO
+bjD
+bkx
+cWK
+bms
+bnh
+bov
+bpR
+brg
+bsx
+cXs
+bvD
+bvD
+bvD
+cXD
+bAV
+bBV
+bDn
+bEs
+bFA
+cXR
+bId
+cMz
+bLo
+bMH
+bNH
+bPa
+bQz
+bnk
+bnk
+bTM
+bUN
+bJx
+bTH
+bXd
+bSF
+bYH
+bSF
+bZP
+cah
+caL
+cbo
+cbo
+bOM
+bAd
+bAd
+byP
+bBN
+aZH
+aZH
+aZH
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+arw
+cqC
+aQS
+arz
+cUy
+cuk
+aaa
+aaa
+aXR
+aaa
+aaa
+aaa
+aaa
+aaa
+aab
+aab
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(130,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aoM
+aoM
+aoM
+art
+asu
+atu
+asu
+avG
+awM
+awM
+aze
+aze
+ayX
+aCN
+aEc
+aFB
+aze
+awM
+aJn
+asu
+abW
+abW
+abW
+abW
+aLm
+aQA
+aRD
+aSl
+cOF
+aUq
+aVf
+aVf
+aWc
+aWB
+aWO
+aWY
+aXr
+aUC
+arw
+arw
+arw
+arw
+arw
+arw
+arw
+arw
+arw
+arw
+arw
+arw
+arw
+arw
+arw
+arw
+aOv
+bam
+baM
+bam
+bbM
+bbM
+bcV
+bdy
+bcp
+cQW
+bfU
+baO
+bhM
+biO
+bjD
+bkx
+cWL
+bms
+bni
+cXb
+cKD
+brh
+bsy
+cXt
+bvE
+bvE
+byH
+cXE
+bAV
+bBW
+bDo
+bEt
+bFB
+cXS
+bIe
+bJK
+bLo
+cMC
+bNH
+bPb
+bQy
+bnk
+bSM
+bTM
+bUO
+bVN
+bWA
+bXe
+bJx
+bYI
+bTD
+bZQ
+bOM
+bOM
+bOM
+bOM
+bOM
+bAd
+bAd
+byP
+bBN
+aZH
+aZH
+aZH
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+arw
+cqC
+aQS
+arz
+ctB
+cuk
+abC
+abC
+aXR
+aaa
+aaa
+aaa
+aad
+aaa
+aab
+aab
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(131,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+anI
+aoN
+apJ
+aqF
+aru
+asv
+atv
+asv
+avH
+awL
+awL
+azf
+aAz
+ayX
+aCO
+aEc
+aFC
+aze
+aCO
+asu
+asu
+abW
+abW
+abW
+abW
+aLm
+aQB
+aRD
+aSl
+cOF
+aLm
+aLm
+aLm
+aLm
+aLm
+aLm
+aLm
+aLm
+aXI
+aXX
+aXX
+aXX
+aXX
+aXX
+aXX
+aXX
+aXX
+aXX
+aXX
+aXX
+aXX
+aXX
+aXX
+aXX
+aXX
+aZT
+bal
+bal
+cQD
+cQG
+cQG
+cQG
+bdz
+cQG
+cRc
+baN
+baO
+bhM
+biO
+bjD
+bkx
+cWM
+bmt
+bnj
+bow
+cXh
+bri
+bsz
+cXu
+bvF
+bxk
+bxk
+bsG
+cXJ
+cXM
+bDp
+bEt
+bFC
+cKV
+bIf
+bJK
+bLo
+bMI
+bNI
+bPc
+bQy
+bnk
+bSN
+bTN
+bUP
+bVO
+bWB
+bXf
+bXT
+bYJ
+bZm
+bZR
+bGE
+bAd
+bAd
+bAd
+bAd
+bAd
+byQ
+byP
+bBN
+aZH
+aZH
+aZH
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+arw
+cqC
+aQS
+arz
+cUy
+cuk
+aaa
+aaa
+aXR
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(132,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+afV
+agR
+afV
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aoM
+aoM
+aoM
+art
+asw
+asw
+asw
+avI
+awU
+axM
+azg
+aAA
+azg
+aCP
+azg
+aFD
+aGZ
+aHZ
+aFI
+abW
+abW
+abW
+abW
+abW
+aLm
+aQB
+aRD
+aSD
+cPq
+aUr
+aSU
+aVB
+aWd
+aSU
+aSU
+aSU
+aSR
+ary
+ary
+ary
+ary
+ary
+ary
+ary
+ary
+ary
+ary
+ary
+ary
+ary
+ary
+ary
+ary
+ary
+ary
+ban
+baN
+cQE
+bbN
+baN
+baN
+bdA
+bei
+bfb
+bfV
+baO
+bhM
+biO
+bjD
+bkx
+cWN
+bmu
+bms
+bms
+cXi
+brj
+bsA
+cXv
+bvG
+bvG
+bvG
+bzS
+bAW
+bBX
+bDq
+bEt
+bFD
+bGS
+bHZ
+bJK
+bLo
+bLo
+bNJ
+bPd
+bQy
+bQy
+bQy
+bTO
+bUQ
+bVP
+bWC
+bGF
+bGE
+bGE
+bGE
+bGE
+bGE
+bAd
+bAd
+bYa
+bAd
+bPt
+byQ
+byP
+bBN
+aZH
+aZt
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+arw
+cqC
+aQS
+arz
+cUy
+cuk
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(133,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+afV
+agP
+afV
+afV
+afV
+afV
+afV
+abW
+aaa
+amX
+abE
+abW
+aaa
+abE
+abW
+asw
+atw
+auA
+avJ
+awV
+axM
+azh
+aAB
+aBS
+aCQ
+azg
+aFE
+aHa
+aIa
+aFI
+abW
+aLm
+aLm
+aLm
+aLm
+aLm
+aQC
+aRE
+aSE
+cPr
+aUs
+aRG
+aRG
+aRG
+aRG
+aRG
+aRG
+cPC
+cPD
+cPD
+cPD
+cPD
+cPD
+cPD
+cPD
+cPD
+cPD
+cPD
+cPD
+cPD
+cPD
+cPD
+cPD
+cPD
+cPD
+cPD
+cQx
+cQz
+cQF
+baO
+baO
+baO
+bdB
+bej
+bfc
+bfW
+bgI
+bhN
+cKx
+bjD
+bkx
+cWO
+bmv
+bms
+box
+cXj
+brk
+brk
+bui
+bvH
+bxl
+bvH
+bzT
+bAX
+bBY
+bDr
+bEu
+bFE
+bGT
+bIa
+bJN
+bLp
+bMJ
+bLp
+bPe
+bQA
+bRB
+bSO
+bTP
+bUR
+bVQ
+bWD
+byP
+byP
+byP
+byP
+byP
+cai
+byP
+byQ
+byQ
+bDa
+byQ
+byQ
+byP
+bBN
+aZH
+aZt
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aac
+aad
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+arw
+cqC
+aQS
+arz
+cUy
+cuk
+aaa
+aaa
+aXR
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(134,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+afV
+agS
+ahF
+aim
+aiY
+ajN
+afS
+adZ
+adZ
+akG
+abW
+abW
+acH
+acH
+acH
+asw
+atx
+auB
+avJ
+awW
+axM
+azi
+aAC
+aBS
+aCR
+azg
+aFF
+aHb
+aIb
+aFI
+abW
+aLm
+aMg
+aNj
+aOj
+aPg
+aQD
+aRD
+aSF
+aSN
+aUt
+aSN
+aSN
+aWe
+aSN
+aSN
+aSN
+aSP
+arA
+arA
+arA
+arA
+arA
+arA
+arA
+arA
+aYK
+arA
+arA
+arA
+arA
+arA
+arA
+arA
+arA
+arA
+bap
+cQA
+baP
+baP
+bcq
+baP
+baP
+bek
+baP
+bfX
+bgJ
+bhO
+biO
+bjD
+bkx
+cWP
+bmu
+bms
+bms
+cXk
+brl
+bsB
+cXw
+bvI
+bvI
+bvI
+bzU
+bAY
+bBX
+bDs
+bEv
+bFF
+bGU
+bIg
+bJK
+bLo
+bLo
+bLo
+bPa
+bQB
+bRC
+bSP
+bTQ
+bUS
+bQH
+bQH
+bQH
+bQH
+bQH
+bAd
+bTz
+byQ
+byP
+byP
+byP
+byP
+byP
+byP
+byP
+bBN
+aZH
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aab
+aad
+aad
+aac
+aac
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+arw
+cqC
+aQS
+arz
+cUy
+cuk
+abC
+abC
+aXR
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(135,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+afV
+agT
+ahG
+ain
+aiZ
+ajO
+akH
+alr
+afV
+adZ
+adZ
+aez
+aez
+aez
+aez
+asw
+aty
+auC
+avJ
+awX
+axM
+azj
+aAD
+aBS
+aCS
+azg
+aFG
+aHc
+aIc
+aFI
+adZ
+aLm
+aMh
+aNk
+aOk
+aPh
+aQE
+aRD
+aSl
+aLm
+aLm
+aLm
+aLm
+aPl
+aLm
+aLm
+aLm
+aLm
+aXJ
+aXY
+aXY
+aXY
+aXY
+aXY
+aXY
+aXY
+aXY
+aXY
+aXY
+aXY
+aXY
+aXY
+aXY
+aXY
+aXY
+aZU
+bal
+cQB
+cQG
+cQG
+cQG
+cQG
+cQG
+cQG
+cRd
+bfY
+bgK
+bhP
+biO
+bjD
+bkx
+cWQ
+bmw
+cWX
+boy
+cXl
+cXq
+bsC
+cXx
+bvJ
+bxm
+bxm
+bzV
+cXK
+cXN
+bDt
+bEt
+bFC
+cXT
+bIh
+bJO
+bLq
+cMC
+bLo
+bPa
+bQC
+bRD
+bSQ
+bTS
+bUT
+bQH
+bWE
+bXg
+bXU
+bQH
+bAd
+bAd
+bAd
+bAd
+bAd
+byQ
+byQ
+byQ
+byP
+byP
+bAd
+aZt
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aab
+aab
+aad
+aac
+aac
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+arw
+cqC
+aQS
+arz
+cUy
+cuk
+aaa
+aaa
+aXR
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(136,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+afV
+agT
+ahH
+aio
+aio
+ajP
+akH
+alr
+amb
+alS
+afq
+aez
+afS
+aqG
+arv
+asw
+atz
+auD
+avK
+awY
+axM
+azk
+aAE
+aBT
+aCT
+azg
+aFH
+aHd
+aId
+aFI
+adZ
+aLm
+aMi
+aNl
+aOl
+aLm
+aQF
+aRD
+aSl
+aLm
+aUu
+aVg
+aVC
+aWf
+aWC
+aWP
+aWZ
+aXs
+aXK
+arw
+arw
+arw
+arw
+arw
+arw
+arw
+arw
+arw
+arw
+arw
+arw
+arw
+arw
+arw
+arw
+aZV
+baq
+baQ
+bbn
+bbO
+bcp
+bcW
+bco
+bco
+cQW
+bfY
+bgK
+bhP
+biO
+bjD
+bkx
+cWR
+bms
+bnl
+cXc
+cKE
+brh
+bsy
+cXy
+bvK
+bxn
+bvK
+cXF
+bAZ
+bBZ
+bDs
+bEt
+bFB
+cXU
+bIi
+bJK
+bLo
+bLo
+bLo
+bPf
+bQD
+bRE
+bSQ
+bTS
+bUU
+bVR
+bWF
+bXg
+bXV
+bQH
+bAd
+bAd
+bAd
+bAd
+bAd
+byQ
+byP
+byP
+bYK
+byS
+bAd
+aZt
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aaa
+aad
+aab
+aad
+aac
+aac
+aac
+aad
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+arw
+cqC
+aQS
+arz
+cUy
+cuk
+aaa
+aaa
+aXR
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(137,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+afV
+agU
+ahI
+ahI
+aja
+ajQ
+afS
+adZ
+aiS
+akq
+akq
+akq
+aoQ
+afq
+afq
+asw
+asw
+asw
+asw
+asw
+asw
+azl
+azl
+azl
+azl
+azl
+aFI
+aFI
+aFI
+aFI
+adZ
+aLm
+aMj
+aNl
+aOl
+aLm
+aQG
+aRN
+aSG
+aTA
+aUv
+aVh
+aVh
+aVh
+aWD
+aLm
+aLm
+aLm
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+bal
+bal
+bal
+bbP
+bcr
+bcX
+bcX
+bel
+bfd
+bfZ
+bgL
+bhP
+biO
+bjD
+bkx
+cWS
+bms
+cWY
+cXd
+bpT
+bri
+bsD
+cXz
+bvL
+bvL
+bvL
+cXG
+bAZ
+bBZ
+bDs
+bEw
+bFG
+cXV
+bIj
+bJP
+bLr
+bML
+bLr
+bPg
+bQE
+bRF
+bSR
+bTT
+bUU
+bVR
+bWF
+bXg
+bXW
+bQH
+bAd
+bAd
+bAd
+bAd
+cbp
+byQ
+byP
+bAd
+bAd
+bAd
+bAd
+aZt
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aab
+aab
+aad
+aac
+aac
+aac
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+arw
+cqC
+aQS
+arz
+cUy
+cuk
+aaa
+aaa
+aXR
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(138,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+afV
+afW
+afW
+afS
+ajb
+afS
+afS
+adZ
+adZ
+adZ
+afq
+akq
+akq
+akq
+akq
+alQ
+atA
+auE
+ahr
+aqj
+ahr
+ahr
+aAF
+aBU
+ahr
+aqj
+ahr
+aHe
+aEj
+adZ
+adZ
+aLm
+aMk
+aNm
+aOm
+aPg
+aQH
+aRD
+aSH
+aLm
+aNp
+aNp
+aNp
+aNp
+aNp
+aLm
+abW
+abW
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aZf
+aZt
+bal
+bbQ
+bcs
+bcp
+bcp
+bem
+cQW
+bfY
+bgM
+bhP
+biO
+bjD
+bkx
+cWT
+cWV
+cWZ
+cXe
+cXm
+brh
+bsE
+buj
+bvM
+bxo
+byI
+bzW
+bBa
+bBa
+bDu
+bEx
+bFH
+bFI
+bIc
+bJQ
+bLo
+bMM
+bLo
+bPh
+bQD
+bRG
+bSS
+bTU
+bUV
+bQH
+bWG
+bXg
+bXX
+bQH
+bAd
+bAd
+bAd
+bAd
+byQ
+byP
+byP
+bAd
+aZt
+aZt
+aZt
+aZt
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aab
+aab
+aad
+aac
+aac
+aac
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+arw
+cqC
+aQS
+arz
+cUy
+cuk
+aaa
+aaa
+aXR
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(139,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+abC
+abC
+afW
+ajc
+ahI
+afV
+abC
+akG
+adZ
+aez
+afq
+afq
+aqH
+afq
+afq
+afq
+apx
+afq
+afq
+afq
+afq
+afq
+afq
+afq
+afq
+afq
+afq
+anC
+ajt
+afS
+aLn
+aMl
+aNn
+aOn
+aLm
+aQI
+aRD
+aSI
+aLm
+aUw
+aUw
+aNp
+aWg
+aMo
+aLm
+abW
+abW
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aZf
+aZt
+bal
+bbQ
+bct
+bcY
+bcp
+ben
+cQW
+bfY
+bgM
+bhP
+biO
+bjD
+bkx
+bkw
+blq
+bkw
+blq
+cXn
+brj
+bsF
+buk
+bvN
+buk
+byJ
+bzX
+buk
+buk
+bDv
+bEy
+bFI
+bGV
+bIk
+bJR
+bLs
+bMN
+bNK
+bPi
+bQF
+bRH
+bST
+bTV
+bUW
+bVS
+bWH
+bXh
+bXY
+bQH
+bAd
+bAd
+bAd
+byQ
+byP
+byP
+bAd
+bAd
+aZH
+aZH
+aZt
+aZt
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aad
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+arw
+cqC
+aQS
+arz
+cUy
+cuk
+aaa
+aaa
+aXR
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aab
+aab
+aab
+aab
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(140,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aab
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+afW
+ajd
+ajR
+afV
+aaa
+abW
+abW
+aez
+aez
+aez
+aez
+aez
+afq
+aoy
+apx
+afq
+afq
+alQ
+aez
+aoy
+apx
+aqH
+afq
+afq
+afq
+anC
+afq
+aKn
+aLn
+aLn
+aLm
+aLm
+aLm
+aQB
+aRD
+aSJ
+aLm
+aLm
+aLm
+aLm
+aLm
+aLm
+aLm
+abW
+abW
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aZt
+aZt
+bal
+bal
+bal
+bal
+bal
+bal
+cQX
+bfY
+bgM
+bhP
+biO
+bjD
+bky
+bls
+bky
+bls
+bkx
+cXo
+brm
+bsG
+cKD
+bvO
+bxp
+byK
+bzY
+bBb
+bBb
+bBb
+bBb
+bBb
+bGW
+bIl
+bJS
+bLl
+bLl
+bLl
+bPj
+bQB
+bRI
+bSU
+bSS
+bUX
+bQH
+bWI
+bWI
+bWI
+bQH
+bAd
+bAd
+bAd
+caM
+byP
+bAd
+bAd
+aZt
+aZH
+aZH
+aZt
+aZt
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aad
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+arw
+cqC
+aQS
+arz
+cUy
+cuk
+aaa
+aaa
+aXR
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aab
+aab
+aab
+aac
+aab
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(141,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aab
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+afV
+afV
+agP
+afV
+aaa
+abW
+abW
+abW
+acH
+acH
+aez
+aez
+aez
+afV
+adZ
+adZ
+awZ
+aqG
+adZ
+afS
+aez
+aez
+anN
+afq
+aoy
+aIe
+ahr
+azq
+ahr
+auE
+ahr
+aOo
+aPi
+aQJ
+aRD
+aSI
+aLm
+acH
+acH
+acH
+acH
+abW
+abW
+abW
+abW
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aZH
+aZH
+aZH
+aZt
+aZH
+aZH
+aZH
+aZH
+cQW
+bga
+bgM
+bhQ
+biO
+bjE
+bkv
+bkv
+bkv
+bkv
+bls
+abC
+abC
+bsH
+cXA
+bvP
+bxq
+byL
+cXH
+abC
+abC
+abC
+abC
+blr
+bGO
+bIm
+bJT
+bLt
+bMO
+bLt
+bPk
+bQG
+bRJ
+bSU
+bSS
+bUY
+bQH
+bWI
+bWI
+bXZ
+bQH
+bAd
+bAd
+bAd
+byQ
+byP
+bBN
+bBN
+aZH
+aZH
+aZH
+aZt
+aZt
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aab
+aab
+aab
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+arw
+cqC
+aQS
+arz
+cUy
+cuk
+aaa
+aaa
+aXR
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aab
+aab
+aac
+aac
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(142,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aac
+aac
+aac
+aaa
+aaa
+aaa
+aaa
+aad
+aab
+aab
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+afV
+agQ
+afV
+abC
+akG
+abW
+abW
+abW
+abW
+acH
+acH
+acH
+acH
+acH
+aez
+aez
+aez
+acH
+acH
+acH
+aez
+aEi
+aez
+afV
+aez
+aez
+afq
+afq
+apx
+aus
+avh
+aPj
+aQa
+aRD
+aSI
+aLm
+acH
+acH
+acH
+acH
+acH
+abW
+abW
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aZH
+aZH
+aZH
+aZH
+aZH
+aZH
+aZH
+aZH
+aZH
+aZH
+cQW
+bfY
+bgM
+bhP
+biO
+biO
+biO
+biO
+cKx
+biO
+biO
+biO
+biO
+biO
+biO
+biO
+biO
+biO
+biO
+biO
+biO
+biO
+bEz
+biO
+biO
+bIn
+bJU
+bpS
+biO
+bNL
+biO
+bQH
+bRK
+bSU
+bTW
+bQH
+bQH
+bWJ
+bXi
+bXZ
+bQH
+bAd
+bAd
+byQ
+byP
+byP
+bBN
+aZH
+aZH
+aZH
+aZH
+aZt
+aZt
+aaa
+aaa
+aaa
+aaa
+aaa
+aac
+aac
+aac
+aac
+aac
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+arw
+cqC
+aQS
+arz
+cUy
+cuk
+abC
+abC
+aXR
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aaa
+aaa
+aac
+aab
+aab
+aaa
+aaa
+aaa
+aaa
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(143,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aad
+aac
+aaa
+aaa
+aaa
+aaa
+aac
+aab
+aab
+aab
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+abW
+abW
+abW
+abW
+abW
+abW
+acH
+acH
+acH
+acH
+acH
+acH
+acH
+aez
+aez
+adZ
+afq
+aez
+acH
+acH
+aez
+aez
+aez
+adZ
+aLm
+aLm
+aLm
+aQf
+aRJ
+aSK
+aLm
+acH
+acH
+acH
+acH
+acH
+abW
+abW
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aZH
+aZH
+aZH
+aZH
+aZH
+aZH
+aZH
+aZH
+aZH
+aZH
+cQW
+bfY
+bgN
+bhR
+bfb
+bjF
+bfb
+bfb
+bfb
+bnm
+boz
+bpU
+boz
+bsI
+bul
+bvQ
+bxr
+byM
+bzZ
+bBc
+bCa
+bDw
+bEA
+bFJ
+bGX
+bIo
+bJV
+bLu
+bJZ
+bJZ
+bJZ
+bJZ
+bRL
+bSV
+bSS
+bUZ
+bQH
+bQH
+bQH
+bQH
+bQH
+bTz
+byQ
+byQ
+byP
+bEi
+bBN
+aZH
+aZH
+aZH
+aZH
+aZt
+aZt
+aaa
+aaa
+aaa
+aaa
+aaa
+aac
+aac
+aac
+aac
+aac
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+arw
+cqC
+aQS
+arz
+ctC
+cuk
+aaa
+aaa
+aXR
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aab
+aab
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(144,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aab
+aab
+aad
+aab
+aab
+aac
+aac
+aac
+aac
+aad
+aab
+aab
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+abW
+abW
+abW
+abW
+abW
+abW
+abW
+abW
+abW
+abW
+abW
+adZ
+afq
+afq
+afq
+aez
+acH
+acH
+acH
+acH
+acH
+abW
+aLm
+aOp
+aPk
+aQK
+aRO
+aSL
+aLm
+acH
+acH
+acH
+acH
+acH
+abW
+akG
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+aZI
+aZt
+aZt
+aZH
+aZH
+aZH
+bcu
+bcu
+bcu
+bcu
+cRl
+bfY
+bgO
+bhS
+biP
+bjG
+bjG
+bjG
+bjG
+bnn
+bjG
+bjG
+brn
+bst
+bum
+bvR
+bxs
+byN
+bAa
+bBd
+bBd
+bDx
+bEB
+bEB
+bBd
+bDx
+bJW
+bLv
+bJZ
+bNM
+bPl
+bJZ
+bRM
+bSW
+bSS
+bVa
+bQH
+bAd
+bAd
+bAd
+byS
+bDc
+byQ
+byP
+byP
+bAd
+bBN
+aZH
+aZH
+aZt
+aZt
+aZt
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aac
+aac
+aac
+aac
+aac
+aad
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+arw
+cqC
+aQS
+arz
+cUy
+cuk
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aab
+aab
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(145,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aab
+aab
+aad
+aac
+aac
+aac
+aac
+aac
+aac
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+abW
+abW
+abW
+abW
+abW
+abW
+abW
+abW
+afS
+afS
+afS
+afS
+alQ
+afV
+adZ
+abW
+abW
+abW
+abW
+aLm
+aLm
+aLm
+aOq
+aLm
+aQL
+aRD
+aSl
+aLm
+acH
+acH
+acH
+acH
+abW
+abW
+abW
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aZt
+aZt
+aZt
+aZH
+aZH
+aZH
+bcu
+bcZ
+bdC
+beo
+cRl
+bgb
+bgP
+bhT
+biQ
+bjH
+bjH
+blt
+bjH
+bno
+boA
+bjH
+bro
+bsr
+bun
+bvS
+bxt
+byE
+bAb
+bAR
+bCb
+bDy
+bEC
+bFK
+bGY
+bIp
+bJX
+bLw
+bMP
+bNN
+bPm
+bJZ
+bRN
+bSX
+bTX
+bVb
+bQH
+bAd
+bAd
+bAd
+bAd
+byQ
+byP
+byP
+bZS
+cMH
+cMH
+bZS
+aZH
+aZH
+aZH
+aZt
+aaa
+aaa
+aaa
+aaa
+aac
+aac
+aac
+aac
+aac
+aac
+aac
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+arw
+cqC
+aQS
+arz
+cUy
+cuk
+aaa
+aaa
+aXR
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aag
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(146,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abW
+abW
+abW
+abW
+abW
+afS
+azm
+akp
+akq
+akq
+afS
+adZ
+abW
+abW
+abW
+abW
+aLm
+aMm
+aMn
+aOq
+aLm
+aQM
+aRK
+aSw
+aLm
+aLm
+aLm
+aLm
+abE
+abE
+abE
+abE
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aZf
+aZt
+aZt
+aZH
+aZH
+aZH
+bcu
+bda
+bdD
+bdD
+cRn
+cRo
+bgQ
+bhU
+bgQ
+cRo
+cRv
+cQG
+cQG
+bnp
+cQG
+cQG
+brp
+cQz
+buo
+cQG
+cQG
+cTm
+bAc
+bBe
+bCc
+bDz
+bED
+bFL
+bGZ
+bIq
+bJY
+bLx
+bMQ
+bNO
+bPn
+bJZ
+bQH
+bQH
+bTY
+bQH
+bQH
+byS
+bAd
+bAd
+bAd
+byQ
+byP
+bZS
+cMH
+cbq
+cbT
+cMH
+aZH
+aZH
+aZH
+aaa
+aaa
+aaa
+aaa
+aaa
+aac
+aac
+aac
+aac
+aac
+aac
+aac
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+arw
+cqC
+aQS
+arz
+cUy
+cuk
+abC
+abC
+aXR
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(147,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abW
+abW
+abW
+abW
+abW
+afS
+azn
+akp
+cJM
+afV
+afV
+abW
+abW
+abW
+abW
+abW
+aLm
+aMn
+aNo
+aOq
+aPl
+aQN
+aRD
+aSM
+aTB
+aUx
+aNp
+aLm
+abE
+abE
+abE
+abE
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aZf
+aZt
+aZt
+aZH
+aZH
+aZH
+bcu
+bdb
+bdD
+bdD
+bfe
+bgc
+bgR
+bhV
+biR
+bjI
+bkz
+blu
+bmx
+bnq
+bco
+bal
+brq
+bsJ
+bup
+bal
+bxu
+cTn
+cTp
+cTq
+bCd
+bDA
+bEE
+bFM
+bHa
+bBf
+bJZ
+bJZ
+bJZ
+bNP
+bPo
+bJZ
+bJZ
+bQH
+cLc
+cLe
+byP
+cai
+bAd
+bAd
+byQ
+byP
+byP
+caj
+caN
+caO
+cbr
+bZS
+aZH
+aZH
+aZH
+aaa
+aaa
+aaa
+aaa
+aab
+aac
+aac
+aac
+aac
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+arw
+cqC
+aQS
+arz
+cUy
+cuk
+aaa
+aaa
+aXR
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(148,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abW
+abW
+akG
+abW
+afV
+azo
+aAG
+afV
+afV
+abW
+abW
+abW
+abW
+abW
+abW
+aLm
+aMo
+aNp
+aOq
+aLm
+aQO
+aRD
+aSN
+aLm
+aUy
+aVi
+aLm
+abE
+abE
+abE
+abE
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aZf
+aZf
+aZt
+aZH
+aZH
+aZH
+bcu
+bdb
+bdE
+bep
+bff
+bgd
+bgS
+bhW
+biS
+bjJ
+bkz
+bcp
+bcp
+bnr
+bco
+bal
+baP
+cSv
+buq
+bvT
+bxv
+byO
+bAd
+cTr
+bCe
+bDB
+bEF
+bFN
+bHb
+bBf
+bJZ
+bLy
+bMR
+bNQ
+bPp
+bJZ
+bJZ
+bQH
+bTZ
+bQH
+bAd
+byP
+byP
+byP
+byP
+byO
+bZS
+cMH
+cMH
+cbr
+cbU
+cMH
+aZH
+aZH
+aZH
+aaa
+aaa
+aaa
+aad
+aac
+aac
+aac
+aac
+aac
+aab
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+arw
+cqC
+aQS
+arz
+cUy
+cuk
+aaa
+aaa
+aXR
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(149,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+afV
+ajo
+ajo
+afV
+abW
+abW
+abW
+abW
+abW
+abW
+abW
+aLm
+aMo
+aNp
+aOq
+aLm
+aQP
+aRD
+aSN
+aLm
+aUy
+aNp
+aLm
+abE
+abE
+abE
+abE
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aZf
+aZf
+aZt
+aZH
+aZH
+aZH
+bcu
+bdc
+bdF
+beq
+beq
+bge
+bgT
+bhX
+biT
+bjK
+bkz
+bcY
+bcp
+bns
+boB
+bal
+baP
+cSv
+bhP
+bvU
+bxw
+byP
+bAe
+cTr
+bCf
+bDC
+bEG
+bFO
+bHc
+bBf
+bJZ
+bLz
+bLz
+bLz
+bPq
+bJZ
+bJZ
+cLa
+cLa
+cLa
+bAd
+bAd
+byQ
+byQ
+byQ
+byP
+cMH
+cak
+caO
+cbr
+cbr
+cMH
+aZt
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aac
+aac
+aac
+aac
+aac
+cgf
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+arw
+cqC
+aQS
+arz
+cUy
+cuk
+aaa
+aaa
+aXR
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(150,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+abW
+abW
+abW
+abW
+abW
+abW
+abW
+abW
+aLm
+aMp
+aNq
+aOq
+aLm
+aQN
+aRD
+aSN
+aLm
+aUy
+aNq
+aLm
+abE
+abE
+abE
+abE
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aZf
+aZf
+aZt
+aZH
+aZH
+aZH
+bcu
+bdb
+bdD
+bdD
+bfg
+bgf
+bgU
+bhY
+biU
+bjL
+bkz
+bcp
+bcp
+bnt
+boC
+bfa
+baP
+cSv
+bur
+bal
+bxx
+byQ
+byP
+cTr
+bCg
+bDD
+bEH
+bFP
+bHd
+bBf
+bJZ
+bLz
+bLz
+bNR
+bPr
+bJZ
+bJZ
+bAd
+bAd
+bAd
+bAd
+bAd
+bVA
+byQ
+byP
+byP
+cMH
+cal
+caP
+caO
+caO
+cMH
+aZt
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aac
+aac
+aac
+aac
+aac
+aab
+aaa
+aaa
+aaa
+aag
+aaa
+aaa
+chi
+chi
+chC
+abC
+abC
+ciQ
+cjr
+cjr
+chi
+chi
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+arw
+cqC
+aQS
+arz
+cUy
+cuk
+aaa
+aaa
+aXR
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(151,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+abW
+abW
+abW
+abW
+abW
+abW
+abW
+abW
+aLm
+aLm
+aLm
+aOr
+aLm
+aQQ
+aRD
+aSi
+aLm
+aUz
+aLm
+aLm
+abE
+abE
+abE
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aZf
+aZf
+aZt
+aZH
+aZH
+aZH
+bcu
+bdb
+bdD
+bdD
+bfh
+bgc
+bgV
+bhZ
+biV
+bjM
+bkz
+bbQ
+bbQ
+bnu
+boD
+bal
+baP
+cSv
+bus
+bal
+bxy
+byR
+byP
+cTu
+cTq
+cTz
+bBf
+bBf
+bBf
+bBf
+bJZ
+bLz
+bLz
+bLz
+bPs
+bJZ
+bJZ
+bAd
+bAd
+bAd
+bAd
+bAd
+bYa
+byQ
+byP
+bAd
+cMH
+bZS
+bZS
+cbs
+cbV
+cMH
+aZt
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aac
+aac
+aac
+aac
+aac
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+arw
+abC
+arw
+aYn
+aXB
+cin
+aYn
+aYn
+cjR
+aYB
+arw
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+arw
+cqC
+aQS
+arz
+cUy
+cuk
+aaa
+aXR
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(152,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaf
+aaf
+aaf
+aeh
+aeh
+aeh
+aeh
+aeh
+aeh
+aaa
+aaa
+ahT
+ajS
+ahT
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abW
+abW
+abW
+abW
+abW
+abW
+abW
+abW
+aLm
+aOs
+aLm
+aQN
+aRD
+aSO
+aLm
+aUA
+aLm
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aZf
+aZf
+aZt
+aZt
+aZH
+aZH
+bcu
+bcu
+bcu
+bcu
+bcu
+bcu
+bcu
+bcu
+bcu
+bcu
+bkz
+bal
+bal
+bal
+boE
+bal
+baP
+cSv
+bhP
+bal
+bxz
+byS
+byP
+byP
+cTu
+cTA
+bBf
+bBN
+bBN
+bBN
+bJZ
+bJZ
+bJZ
+bJZ
+bJZ
+bJZ
+bJZ
+bAd
+bAd
+bAd
+bAd
+bAd
+byQ
+byP
+bYK
+byS
+aZH
+aZH
+cMH
+bZS
+cMH
+cMH
+aZt
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aab
+aab
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+che
+che
+che
+abC
+aYB
+abC
+chi
+che
+che
+che
+chi
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+arw
+cqC
+aQS
+arz
+cUy
+cuk
+aaa
+aXR
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(153,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaf
+aaf
+adg
+adg
+adg
+adg
+adg
+aaf
+aaf
+aaf
+adg
+adg
+adg
+adg
+ajT
+ahT
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abW
+abW
+abW
+abW
+abW
+abW
+abW
+abW
+aLm
+aOt
+aLm
+aQR
+aRP
+aSP
+aLm
+aUz
+aLm
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+aZI
+aZt
+aZt
+aZt
+aZH
+aZH
+aZH
+aZH
+aZH
+aZH
+aZH
+aZH
+aZH
+aZH
+aZH
+aZH
+aZt
+aZt
+aZt
+bal
+boF
+bal
+brr
+cSv
+bhP
+bal
+bxA
+byS
+bAf
+byP
+bBN
+bBN
+bBN
+bBN
+bBN
+caM
+bJZ
+bJZ
+bJZ
+bJZ
+bJZ
+bJZ
+bJZ
+bAd
+bAd
+bAd
+bAd
+byQ
+byP
+byP
+bBN
+bBN
+aZt
+aZt
+aZt
+aZt
+aZt
+aZt
+aZt
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aYG
+cio
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+arw
+cqD
+crO
+csA
+ctD
+cqD
+aXR
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(154,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaf
+aaf
+aaf
+aaf
+aaf
+adg
+adt
+adt
+adt
+adg
+adg
+adg
+adg
+adg
+adt
+adt
+adt
+ajT
+aae
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abW
+akG
+abW
+abW
+abW
+abW
+abW
+abW
+aaa
+aOu
+aPm
+aQS
+arz
+aSQ
+aTC
+aUB
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aZt
+aZt
+aZH
+aZH
+aZH
+aZH
+aZH
+aZH
+aZH
+aZH
+aZH
+aZH
+aZH
+aZH
+aZH
+aZH
+aZt
+aZt
+aZf
+bal
+boG
+bal
+bap
+cSB
+but
+bal
+bxz
+byS
+bAd
+bLA
+byP
+byQ
+byQ
+byQ
+byQ
+bDa
+byQ
+byQ
+byQ
+bNS
+bAd
+bAd
+bAd
+byS
+bAd
+bAd
+bAd
+byQ
+byP
+bAd
+bBN
+aZH
+aZt
+aZt
+aZt
+aZt
+aZt
+aZt
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aYG
+abC
+aaa
+aaa
+aaa
+aaa
+cfI
+cfI
+cfI
+aaa
+aaa
+aaa
+cmZ
+cpR
+cmZ
+crP
+csB
+ctE
+cul
+cfJ
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(155,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aae
+aae
+aae
+aae
+aae
+aae
+aae
+aae
+adg
+adt
+adN
+aei
+aeH
+adt
+afz
+adt
+agV
+ahJ
+aip
+adt
+ajU
+aae
+aae
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+abW
+abW
+abW
+abW
+abW
+aaa
+arw
+aPn
+aQS
+arz
+aSQ
+aTD
+arw
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aZH
+aZH
+aZH
+aZH
+aZH
+aZH
+aZH
+aZH
+aZH
+aZH
+aZH
+aZH
+aZH
+aZH
+aZt
+aZt
+aZf
+aZf
+aaa
+boH
+bpV
+aQS
+cSC
+aSQ
+bvV
+bxB
+aZt
+bAd
+byS
+byP
+byP
+byP
+byP
+byP
+byP
+byP
+byP
+byP
+byQ
+bPt
+bAd
+bAd
+bFo
+bUa
+bAd
+byQ
+byQ
+byP
+bBN
+aZH
+aZH
+aZt
+aZt
+aZt
+aZt
+aZt
+aZt
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+chp
+chQ
+chp
+cfI
+cfI
+cfI
+cfI
+cfI
+cfI
+cfJ
+cfJ
+cfI
+cfI
+cmZ
+cpS
+cmZ
+crP
+csC
+ctF
+cqD
+cfJ
+cfJ
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(156,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaf
+aaf
+aaf
+aaa
+aaa
+aae
+aae
+aae
+aae
+aae
+aae
+aae
+aae
+adg
+adt
+adO
+aej
+aeI
+afd
+afA
+afd
+agW
+ahK
+aiq
+adt
+ajT
+aae
+aaf
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+arw
+aPn
+aQS
+arz
+aSQ
+aTD
+arw
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aad
+aab
+aab
+aab
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aZH
+aZH
+aZH
+aZH
+aZH
+aZt
+aZt
+aZt
+aZt
+aZt
+aZt
+aZH
+aZH
+aZH
+aZt
+aZt
+aZf
+aZf
+aaa
+arw
+bpW
+aQS
+cSC
+aSQ
+bvW
+arw
+aZt
+aZt
+bAd
+bBN
+byQ
+byQ
+byQ
+bBg
+byQ
+byQ
+byQ
+byP
+byP
+byQ
+byQ
+byQ
+byQ
+byQ
+bDa
+byQ
+byP
+byP
+bBN
+aZH
+aZH
+aZt
+aZt
+aZt
+aZt
+aZt
+aZt
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+chp
+chR
+chp
+cfI
+cfI
+cfI
+cfJ
+cfJ
+cfJ
+cfJ
+cmZ
+cnH
+cnH
+cmZ
+cpT
+cmZ
+crQ
+csC
+ctF
+cqD
+cfJ
+cfJ
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(157,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaf
+aaf
+aae
+aae
+aae
+aae
+aae
+aae
+aae
+aae
+aae
+aae
+aae
+aae
+adg
+adu
+adt
+adt
+adt
+adt
+afB
+afX
+adt
+adt
+adt
+aje
+ajT
+aaf
+aaf
+aaf
+aae
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+arw
+aPn
+aQS
+arz
+aSQ
+aTD
+arw
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aad
+aad
+aab
+aab
+aab
+aab
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aZt
+aZt
+aZt
+aZf
+aZf
+aZf
+aZf
+aZH
+aZH
+aZH
+aZH
+aZf
+aZf
+aZI
+aaa
+arw
+bpW
+aQS
+cSC
+aSQ
+bvW
+arw
+aZt
+aZt
+aZt
+bBN
+bBN
+bBN
+bBN
+byS
+bBN
+bBN
+bBN
+bAd
+byP
+byP
+byP
+byO
+byP
+byP
+byP
+byP
+byP
+bAd
+bBN
+aZH
+aZt
+aZt
+aZt
+aZt
+aZt
+aZt
+aZt
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aab
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+cfI
+chp
+chp
+chS
+chp
+chp
+cfI
+cfJ
+cfJ
+cgi
+cgi
+cgi
+cmZ
+cnI
+coy
+cpj
+cpU
+cqE
+crR
+csD
+ctG
+cqD
+cfJ
+cfJ
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(158,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aae
+aae
+aae
+aae
+aae
+aae
+aae
+aae
+aaf
+aae
+aae
+aae
+aae
+aae
+aae
+adg
+adv
+adP
+aek
+aeJ
+afe
+afC
+afd
+afd
+ahL
+air
+ajf
+ajT
+aaf
+aaf
+aaf
+aae
+aaf
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+arw
+aPn
+aQS
+arz
+aSQ
+aTD
+arw
+aaa
+aaa
+aaa
+aaa
+aad
+aac
+aac
+aac
+aac
+aac
+aad
+aac
+aac
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aZf
+aZf
+aZf
+aZf
+aZf
+aZt
+aZt
+aZt
+aZt
+aZH
+aZH
+aZf
+aaa
+abC
+aaa
+arw
+bpW
+aQS
+cSC
+aSQ
+bvW
+arw
+aZt
+aZt
+aZt
+aZt
+aZt
+aZH
+aZH
+aZH
+aZt
+aZt
+aZt
+bAd
+bAd
+bBN
+bBN
+bBN
+bBN
+bBN
+bBN
+bBN
+bBN
+bBN
+aZH
+aZH
+aZt
+aZt
+aZt
+aZt
+aZf
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aab
+aab
+aab
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+cfJ
+cfI
+chq
+chD
+chT
+cip
+chr
+chc
+chc
+chc
+cgu
+cgu
+cgu
+cmZ
+cnJ
+coz
+cpk
+cpV
+cqF
+crS
+csC
+ctH
+cqD
+cfJ
+cfJ
+cfJ
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(159,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaf
+aae
+aae
+aae
+aae
+aae
+aae
+aae
+aae
+aaf
+aaf
+aaf
+aaf
+aaf
+aaf
+aaf
+adg
+adg
+adQ
+ael
+aeK
+adS
+afD
+adS
+adt
+ahM
+ais
+adg
+ajT
+aae
+aaf
+aae
+aae
+aaf
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+arw
+aPn
+aQS
+arz
+aSQ
+aTD
+arw
+aaa
+aaa
+aaa
+aaa
+aad
+aad
+aab
+aac
+aac
+aac
+aac
+aac
+aac
+aaa
+aaa
+aad
+aad
+aaa
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aZI
+aZf
+aZf
+aZt
+aZt
+aZt
+aZt
+aZI
+aZt
+aZt
+aaa
+aaa
+aaa
+abC
+aaa
+arw
+bpW
+aQS
+cSC
+aSQ
+bvW
+arw
+aaa
+aZt
+aZt
+aZt
+aZH
+aZH
+aZH
+aZH
+aZt
+aZt
+aZt
+aZH
+aZH
+aZH
+aZH
+aZH
+aZH
+aZH
+aZH
+aZH
+aZH
+aZH
+aZt
+aZt
+aZt
+aZt
+aZt
+aZt
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aab
+aab
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+cfI
+cfI
+cfI
+chr
+chE
+chU
+ciq
+ciR
+cjs
+cjS
+cgL
+chc
+chc
+chc
+cna
+cnK
+coA
+cpl
+cpW
+cqG
+crT
+csC
+ctF
+cqD
+cfJ
+cfJ
+cfJ
+cfJ
+cqD
+cza
+cqD
+aaa
+aaa
+aaa
+cqD
+cza
+cqD
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(160,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaf
+aaf
+aaf
+aal
+aal
+aal
+aal
+aal
+aal
+aal
+aal
+aal
+aal
+aal
+aaf
+aaf
+aaf
+adg
+adR
+aem
+aeL
+adS
+afE
+adS
+adt
+adt
+adt
+adg
+ajV
+aae
+aae
+aae
+aae
+aaf
+aaf
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+arw
+aPn
+aQT
+arz
+aSQ
+aTD
+arw
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aab
+aab
+aab
+aab
+aab
+aad
+aac
+aac
+aac
+aac
+aac
+aac
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+arw
+bpW
+aQS
+cSC
+aSQ
+bvW
+arw
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aZt
+aZH
+aZH
+aZH
+aZH
+aZt
+aZt
+aZt
+aZH
+aZH
+aZH
+aZH
+aZt
+aZt
+aZt
+aZt
+aZt
+aZt
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aab
+aab
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+cfI
+cfI
+cfI
+cfI
+cfI
+cfI
+chq
+chF
+chV
+cir
+chq
+cjt
+cjT
+cjT
+clg
+chb
+chc
+cmZ
+cmZ
+cmZ
+cmZ
+cmZ
+cmZ
+crU
+csE
+ctI
+cqD
+cfJ
+cfJ
+cfJ
+cfJ
+cxr
+czb
+cxr
+aaa
+aaa
+aaa
+cxr
+czb
+cxr
+aaa
+aaa
+cqD
+cqD
+cqD
+cqD
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(161,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaf
+aaf
+aal
+aal
+aal
+aal
+aal
+aal
+aal
+aal
+aal
+aal
+aal
+aal
+aal
+aaf
+aaf
+adw
+adS
+adS
+adS
+adS
+afF
+adS
+adS
+adS
+adS
+adw
+ajV
+aae
+aae
+aae
+aae
+aaf
+aaf
+aaf
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+arw
+aPn
+aQS
+arz
+aSQ
+aTD
+arw
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aab
+aab
+aab
+aab
+aab
+aab
+aab
+aab
+aac
+aac
+aac
+aad
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+arw
+bpW
+aQS
+cSC
+aSQ
+bvW
+arw
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aZt
+aZH
+aZH
+aZH
+aZH
+aZt
+aaa
+aZI
+aZt
+aZt
+aZt
+aZt
+aZt
+aZt
+aZt
+aZt
+aZt
+aZt
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aab
+aab
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+cfI
+cfI
+cfI
+cfI
+cfI
+cfI
+chq
+chq
+chr
+chr
+chr
+cgu
+cgu
+ckz
+cjt
+cjT
+cms
+cnb
+cmF
+coB
+cgL
+cpX
+cqH
+crV
+csC
+ctF
+cWG
+cqD
+cqD
+cqD
+cqD
+cqD
+czc
+cqD
+cqD
+cqD
+cqD
+cqD
+czc
+cqD
+cqD
+cqD
+cul
+cFR
+cGj
+cqD
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(162,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaf
+aaf
+aal
+aal
+aau
+aax
+aax
+abl
+aax
+abM
+aax
+aax
+aaw
+aal
+aal
+aal
+aaf
+adw
+adT
+aen
+aeM
+adS
+afG
+afY
+agX
+ahN
+ait
+adw
+ajV
+aae
+aae
+aaf
+aaf
+aaf
+aaf
+aaf
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+arw
+aPn
+aQS
+arz
+aSQ
+aTD
+arw
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aab
+aab
+aab
+aab
+aab
+aab
+aad
+aac
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+arw
+bpW
+aQS
+cSC
+aSQ
+bvW
+arw
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aZt
+aZt
+aZt
+aZt
+aZt
+aZt
+aZt
+aZt
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aab
+aab
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+cfI
+cfI
+cfI
+cfI
+cfI
+cfI
+cfJ
+cgi
+cgi
+cgi
+cgi
+cgu
+cgu
+cjV
+cgu
+cgL
+cmt
+cjT
+cjT
+coC
+cjT
+cpY
+cqI
+crW
+csF
+cVo
+cum
+cum
+cum
+cxp
+cxU
+cxU
+cxU
+cxU
+cxU
+cBI
+cxU
+cDh
+cxU
+cxU
+cxU
+cxU
+cBI
+cFS
+cGk
+cxr
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(163,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aae
+aae
+aae
+aal
+aal
+aav
+aax
+aaw
+aaw
+abx
+aax
+aax
+aax
+aaw
+aaw
+cJi
+aal
+aal
+aal
+adU
+aeo
+aeM
+aff
+aeM
+afZ
+agY
+aeM
+aiu
+adw
+ajV
+aae
+aae
+aaf
+aaf
+aaf
+aaf
+aaf
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+arw
+aPn
+aQS
+arz
+aSQ
+aTD
+arw
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+arw
+bpW
+aQS
+cSC
+buu
+bvW
+arw
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aac
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+cfJ
+cfI
+cfI
+cfI
+cfI
+cfI
+cfI
+cfJ
+cfJ
+cgi
+cgi
+cgi
+cgi
+cgi
+cgu
+cgu
+cgu
+cgu
+chc
+chc
+cnL
+coD
+cgL
+cpZ
+cqD
+crX
+csG
+ctK
+cun
+cun
+cwu
+cxq
+cxV
+cxV
+cxV
+cxV
+cAM
+cxV
+cxV
+cDi
+cDZ
+cDZ
+cDZ
+cDZ
+cLJ
+cDZ
+cGl
+cxr
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(164,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aae
+aae
+aae
+aal
+aal
+aaw
+aaE
+aaS
+cJk
+aaX
+abN
+abZ
+acn
+acu
+aax
+aaw
+aal
+aal
+aal
+aal
+aal
+aal
+aal
+aal
+aga
+agZ
+ahO
+aiv
+adw
+ajW
+akI
+akI
+akI
+akI
+akI
+aaf
+aaf
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+arw
+aPn
+aQS
+arz
+aSQ
+aTD
+arw
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aag
+aaa
+abC
+aaa
+arw
+bpW
+aQS
+cSC
+aSQ
+bvW
+arw
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aac
+aac
+aab
+aab
+aac
+aac
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+cfI
+cfI
+cfI
+cfI
+cfI
+cfI
+cfI
+cfJ
+cfJ
+cfJ
+cfJ
+cgi
+cgi
+cgi
+cgi
+cgi
+cgi
+cgi
+cfJ
+chc
+cnM
+cgL
+cgL
+chc
+cqD
+crY
+cLu
+cVp
+csC
+csC
+cwv
+cul
+cxr
+cxr
+cxr
+cxr
+cqD
+cza
+cza
+cqD
+cxr
+cxr
+cxr
+cxr
+cqD
+cza
+cza
+cqD
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(165,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aae
+aae
+aae
+aal
+cJi
+aaw
+aaF
+aaT
+aax
+aby
+aaX
+aca
+aax
+acv
+aax
+aaw
+aal
+adh
+adx
+adh
+adh
+adh
+adh
+aal
+agb
+aha
+ahP
+aiw
+adw
+ajX
+akJ
+akJ
+akJ
+amY
+akI
+akI
+akI
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+arw
+aPn
+aQS
+arz
+aSQ
+aTD
+arw
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+arw
+bpW
+aQS
+cSC
+aSQ
+bvW
+arw
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aab
+aad
+aac
+aac
+aac
+aac
+aac
+aac
+aad
+aaa
+aaa
+aaa
+aaa
+cfJ
+cfI
+cfI
+cfI
+cfJ
+cfJ
+cfJ
+cfJ
+cfJ
+cfJ
+cfJ
+cgi
+cgi
+cgi
+cgi
+cfJ
+cfJ
+cfJ
+cfJ
+chc
+chc
+cln
+chb
+chc
+chc
+cqD
+crZ
+csH
+cVq
+csH
+csC
+cwv
+cqD
+aaa
+aaa
+aaa
+aaa
+cxr
+czb
+czb
+cxr
+aaa
+aaa
+aaa
+aaa
+cxr
+czb
+czb
+cxr
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aad
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(166,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aae
+aae
+aae
+aal
+aal
+aax
+aaG
+aaU
+abm
+abm
+abO
+aaX
+aax
+acv
+aax
+aau
+aal
+cJi
+aal
+aal
+aal
+aal
+cJi
+aal
+agc
+ahb
+aeM
+aix
+adw
+ajY
+akK
+als
+als
+amZ
+anJ
+aoO
+apK
+aqI
+arw
+arw
+arw
+arw
+arw
+arw
+arw
+arw
+arw
+arw
+arw
+arw
+arw
+arw
+arw
+arw
+arw
+arw
+arw
+arw
+arw
+aPn
+aQS
+arz
+aSQ
+aTD
+arw
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aXn
+aXn
+aXn
+aXn
+aaa
+aXn
+aXn
+aXn
+aXn
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+arw
+bpW
+aQS
+cSC
+aSQ
+bvW
+arw
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aac
+aac
+aac
+aac
+aac
+aac
+aac
+aac
+aaa
+aaa
+aaa
+aaa
+aaa
+cfI
+cfI
+cfI
+cfI
+cfJ
+cfJ
+cfJ
+cfJ
+cfJ
+cfJ
+cfJ
+cgi
+cgi
+cgi
+cfJ
+cjU
+cjV
+clh
+clQ
+cmu
+ckG
+cln
+cmA
+chc
+chc
+cqD
+csa
+csI
+cVr
+cuo
+csC
+cww
+cqD
+aaa
+aaa
+aaa
+aaa
+cqD
+czc
+czc
+cqD
+aaa
+aaa
+aaa
+aaa
+cqD
+czc
+czc
+cqD
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aac
+aad
+aab
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(167,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aae
+aae
+aae
+aal
+aal
+aax
+aaH
+aaS
+abn
+aaS
+abP
+aax
+aaX
+acw
+aax
+acP
+aal
+aaw
+ady
+adV
+aaw
+ady
+aaw
+aal
+agd
+ahc
+adw
+adw
+adw
+agk
+akL
+akI
+akI
+akI
+akI
+akI
+akI
+akI
+arx
+arx
+arx
+arx
+arx
+arx
+arx
+arx
+arx
+arx
+arx
+arx
+arx
+arx
+arx
+arx
+arx
+arx
+arx
+arx
+arx
+aPo
+aQS
+arz
+aSQ
+aTD
+arw
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+aXn
+aXn
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aXn
+aXn
+abC
+abC
+abC
+abC
+abC
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+arw
+bpW
+aQS
+cSC
+aSQ
+bvW
+arw
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aab
+aac
+aac
+aac
+aac
+aac
+aac
+aac
+aaa
+aaa
+aaa
+cfI
+cfI
+cfI
+cfI
+cfI
+cfI
+cfJ
+cgi
+cgi
+cgi
+cfJ
+cfJ
+cfJ
+cgi
+cgi
+cgi
+cfJ
+cjU
+ckA
+cli
+clR
+cmv
+ckH
+cln
+chc
+cpm
+cpm
+cpm
+cpm
+cpm
+cVs
+cup
+csB
+cwx
+cqD
+aaa
+aaa
+aaa
+aaa
+cyL
+cyL
+cCu
+cyL
+cyM
+cyM
+cyM
+cyM
+cyL
+cCu
+cyL
+cyL
+cyL
+cyL
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aab
+aad
+aac
+aac
+aab
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(168,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aae
+aae
+aae
+aal
+aal
+aaw
+aaI
+aaS
+aaS
+aaS
+aaH
+aaE
+aaS
+acx
+abZ
+abZ
+acR
+adi
+adi
+adi
+adi
+aeN
+adi
+acR
+age
+ahd
+ahQ
+aiy
+ajg
+ahQ
+akM
+alt
+alt
+ana
+alt
+alt
+apL
+aqJ
+ary
+ary
+ary
+ary
+ary
+ary
+ary
+ary
+ary
+ary
+ary
+ary
+ary
+ary
+ary
+ary
+ary
+ary
+ary
+ary
+ary
+ary
+arz
+arz
+aSQ
+aTD
+arw
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aXn
+aXn
+abC
+aaa
+aaa
+abC
+aaa
+aaa
+aYL
+aaa
+aaa
+abC
+aaa
+aaa
+abC
+aXn
+aXn
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+arw
+bpW
+aQS
+cSC
+aSQ
+bvW
+arw
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aag
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aac
+aac
+aaa
+aad
+aab
+aab
+aad
+aaa
+aaa
+aaa
+cfI
+cfI
+cfI
+cfJ
+cfJ
+cfJ
+cfJ
+cgi
+cgi
+cgi
+cgi
+cgi
+cgi
+cgi
+cgi
+cgi
+cfJ
+cjV
+ckB
+clj
+clS
+cmw
+cgL
+cln
+chc
+cpm
+cqa
+cqJ
+csb
+csJ
+ctL
+cuq
+csC
+cwv
+cxr
+aaa
+cyL
+cyL
+cyL
+cyL
+cBJ
+czW
+cDj
+cDl
+cDl
+cDl
+cDl
+cDj
+czW
+cGm
+cLG
+cGO
+cHd
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aab
+aad
+aac
+aac
+aab
+aab
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(169,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aae
+aae
+aae
+aal
+aal
+aay
+aaJ
+aaV
+aaS
+abz
+abQ
+acb
+aco
+acy
+acK
+abm
+acS
+adj
+adz
+adj
+aep
+aeO
+adj
+acS
+agf
+ahe
+agk
+aiz
+ajh
+agk
+akN
+alu
+amc
+anb
+amc
+amc
+apM
+aqK
+arz
+arz
+arz
+arz
+arz
+arz
+arz
+arz
+arz
+arz
+arz
+arz
+arz
+arz
+arz
+arz
+arz
+arz
+arz
+arz
+arz
+arz
+arz
+arz
+aSQ
+aTD
+arw
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aXn
+aaa
+abC
+aYo
+aYo
+aYo
+aYo
+aYo
+aYG
+aYo
+aYo
+aYo
+aYo
+aYo
+abC
+aaa
+aXn
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+arw
+bpW
+aQS
+cSC
+aSQ
+bvW
+arw
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+cfI
+cfI
+cfI
+cfJ
+cfJ
+cfJ
+cfJ
+cfJ
+cfJ
+cgi
+cgi
+cgi
+cgi
+cgi
+cgi
+cgi
+cfJ
+cjV
+ckC
+clk
+clT
+cmx
+cjT
+cnN
+chc
+cpm
+cqb
+cqK
+cqK
+cqK
+cVs
+cur
+csC
+cwv
+cxr
+aaa
+cyL
+czd
+czV
+cLF
+cBK
+czW
+czW
+czW
+czW
+czW
+czW
+czW
+czW
+czW
+cGB
+cGO
+cHd
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aac
+aac
+aac
+aad
+aab
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(170,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aae
+aae
+aae
+aal
+aal
+aaw
+aaK
+aaW
+aaS
+aaS
+aaw
+aaE
+aaS
+acz
+acc
+acc
+acT
+adk
+adA
+adk
+adk
+adk
+adk
+acT
+agg
+ahf
+ahR
+aiA
+aji
+ahR
+akO
+alv
+amd
+anc
+anK
+amd
+amd
+aqL
+arA
+arA
+arA
+arA
+arA
+axa
+arA
+arA
+arA
+arA
+arA
+arA
+arA
+arA
+arA
+aJo
+arA
+arA
+arA
+arA
+arA
+arA
+arz
+arz
+aSQ
+aTD
+arw
+aaa
+aaa
+aaa
+aaa
+aaa
+aag
+aaa
+aXn
+aaa
+aaa
+aYp
+aYu
+aYu
+aYu
+aYu
+aYM
+aYQ
+aYQ
+aYQ
+aYQ
+aYZ
+aaa
+aaa
+aXn
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+arw
+bpW
+aQS
+cSC
+aSQ
+bvW
+arw
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+cfI
+cfI
+cfI
+cfJ
+cfJ
+cgi
+cgi
+cgi
+cgi
+cgi
+cgi
+cgi
+cgi
+cgi
+cgi
+cgi
+cfJ
+cjV
+ckD
+cll
+clU
+cmy
+cnc
+cjt
+cms
+cpm
+cqc
+cqL
+cqL
+csK
+ctM
+cus
+cvA
+cwx
+cxr
+aaa
+cyM
+cze
+czW
+cAN
+czW
+czW
+cDk
+cDk
+cDk
+cDk
+cDk
+cDk
+czW
+czW
+cyL
+cGO
+cHd
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aab
+aaa
+aaa
+aad
+aac
+aac
+aac
+aad
+aab
+aaa
+aaa
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(171,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aae
+aae
+aae
+aal
+aal
+aax
+aaw
+aaS
+abo
+aaS
+abR
+aax
+aaX
+acA
+aax
+acP
+aal
+adl
+adB
+aaw
+aaw
+adB
+adl
+aal
+agh
+ahg
+agk
+agk
+agk
+agk
+akP
+akI
+akI
+akI
+akI
+akI
+akI
+akI
+arB
+arB
+arB
+arB
+arB
+arB
+arB
+arB
+arB
+arB
+arB
+arB
+arB
+arB
+arB
+arB
+arB
+arB
+arB
+arB
+arB
+aPp
+aQS
+arz
+aSQ
+aTD
+arw
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aXn
+aaa
+aaa
+aYq
+aYq
+aYq
+aYq
+aYq
+aYG
+aYq
+aYq
+aYq
+aYq
+aYq
+aaa
+aaa
+aXn
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+boI
+bpX
+aQS
+cSC
+aSQ
+bvX
+bxC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+cfI
+cfI
+cfJ
+cfJ
+cfJ
+cgi
+cgi
+cgi
+cgi
+cgi
+cgi
+cgi
+cgi
+cgi
+cgi
+cfJ
+cfJ
+cjU
+ckE
+cll
+cll
+cjU
+cnd
+cnO
+cln
+cpm
+cqd
+cqM
+csc
+cqM
+ctN
+cut
+csC
+cwv
+cxr
+aaa
+cyM
+czf
+czX
+cyL
+czW
+czW
+cLG
+cyM
+cyM
+cyM
+cyM
+cLF
+czW
+czW
+cyL
+cyL
+cHe
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aab
+aaa
+aaa
+aaa
+aaa
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(172,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aae
+aae
+aae
+aal
+aal
+aax
+aaw
+aaX
+aaw
+aaw
+aaw
+aaX
+aax
+acB
+aax
+aau
+aal
+aal
+aal
+aal
+aal
+aal
+aal
+aal
+agi
+ahh
+ahS
+aiB
+agk
+ajZ
+akQ
+alw
+ame
+ame
+anL
+aoP
+apN
+aqM
+arw
+arw
+arw
+arw
+arw
+arw
+arw
+arw
+arw
+arw
+arw
+arw
+arw
+arw
+arw
+arw
+arw
+arw
+arw
+arw
+arw
+aPq
+aQS
+arz
+aSQ
+aTD
+arw
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aXn
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+aYG
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+aXn
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+boJ
+baS
+baT
+cST
+buv
+baS
+bxD
+aaa
+aaa
+aaa
+aaa
+bbo
+bbo
+bbo
+bbo
+bbo
+bbo
+baW
+baW
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+cfI
+cfJ
+cfJ
+cfJ
+cgi
+cgi
+cgi
+cgi
+cgi
+cgi
+cgi
+cgi
+cgi
+cgi
+cgi
+cgi
+cjU
+cjU
+cjV
+cjU
+cjU
+chb
+cnP
+cln
+cpm
+cqe
+cqe
+cqe
+cqe
+cVs
+cuq
+csC
+cwv
+cxr
+aaa
+cyM
+cze
+czW
+cAN
+czW
+czW
+cDl
+cDl
+cDl
+cDl
+cDl
+cDl
+czW
+czW
+cyL
+cGO
+cHd
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(173,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aae
+aae
+aae
+aal
+cJi
+aaw
+aaF
+aaT
+aax
+aby
+aaX
+aca
+aax
+acB
+aax
+aaw
+aal
+adh
+adh
+adh
+aeq
+adh
+adh
+aal
+agj
+ahi
+ahS
+aiB
+agk
+ajX
+akJ
+akJ
+akJ
+akJ
+akI
+akI
+akI
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+arw
+aPq
+aQS
+arz
+aSQ
+aTD
+arw
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aYo
+aYo
+aYo
+aYo
+aYo
+aYG
+aYo
+aYo
+aYo
+aYo
+aYo
+aaa
+aaa
+aXn
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+bbo
+bbo
+aaa
+abC
+aaa
+boJ
+baS
+bbS
+bCj
+buw
+baS
+bxE
+baS
+bbo
+aaa
+bbo
+bbo
+bbo
+bbo
+bbo
+bbo
+bbo
+bbo
+baW
+baW
+baW
+baW
+bbo
+bbo
+bbp
+bbo
+bbp
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+cfK
+cfJ
+cfJ
+cfJ
+cfJ
+cfJ
+cfJ
+cgi
+cgi
+cgi
+cgi
+cgi
+cgi
+cgi
+cgi
+cgi
+cfJ
+cfJ
+cfJ
+cfJ
+chc
+ckF
+cnP
+coE
+cpm
+cUj
+cUt
+cUt
+cUt
+cVv
+cuq
+csC
+cwv
+cxr
+aaa
+cyL
+czd
+czY
+cLG
+czW
+czW
+czW
+czW
+czW
+czW
+czW
+czW
+czW
+czW
+cGB
+cGO
+cHd
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(174,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaf
+aaf
+aaf
+aal
+aal
+aaw
+aaE
+aaS
+cJk
+aaX
+abS
+acc
+acp
+acC
+aax
+aaw
+aal
+aal
+aal
+aal
+aal
+aal
+aal
+aal
+agk
+agk
+agk
+agk
+agk
+ajW
+akI
+akI
+akI
+akI
+akI
+aaf
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+arw
+aPq
+aQS
+arz
+aSQ
+aTD
+arw
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aXn
+aaa
+aaa
+aYp
+aYu
+aYu
+aYu
+aYu
+aYM
+aYQ
+aYQ
+aYQ
+aYQ
+aYZ
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+bbo
+bbo
+bbp
+bbo
+bbo
+bbo
+bbo
+bbo
+abC
+aaa
+boJ
+baS
+bbS
+bCj
+bux
+baS
+bxF
+baS
+bbo
+bbo
+bbo
+bbo
+bbo
+bbo
+bbo
+bbo
+bbo
+bbo
+bbo
+bbo
+bbo
+bbq
+bbq
+bbq
+bbo
+bbo
+baW
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+cfJ
+cfJ
+cfJ
+cfJ
+cgi
+cgi
+cgi
+cgi
+cgi
+cgi
+cgi
+cgi
+cgi
+cgi
+cgi
+cgi
+cfJ
+cfJ
+cfJ
+cfJ
+chc
+ckF
+cnP
+cUf
+cqf
+cUk
+cqN
+csd
+csL
+cqf
+cuu
+cvB
+cwv
+cxr
+aaa
+cyL
+cyL
+cyL
+cyL
+cBL
+czW
+cDm
+cDk
+cDk
+cDk
+cDk
+cDm
+czW
+cGm
+cLF
+cGO
+cHd
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(175,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaf
+aaf
+aal
+aal
+aaz
+aax
+aaw
+aaw
+abA
+aax
+aax
+aax
+aaw
+acL
+cJi
+aal
+aal
+aaf
+aaf
+aaf
+aaf
+aaf
+aaf
+aaf
+aaf
+aaf
+aaf
+aaf
+ajV
+aaf
+aaf
+aaf
+aaf
+aaf
+aaf
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+arw
+aPq
+aQS
+arz
+aSQ
+aTD
+arw
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aXn
+aaa
+aaa
+aYq
+aYq
+aYq
+aYq
+aYq
+aYG
+aYq
+aYq
+aYq
+aYq
+aYq
+aaa
+aaa
+aXn
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+bbq
+bbq
+bbq
+bbq
+bbq
+bbq
+bbo
+bbo
+abC
+baS
+boK
+baS
+bbS
+bCj
+buw
+baS
+bxG
+baS
+baS
+baS
+bbo
+bbo
+bbo
+bbo
+bbo
+bbo
+bbo
+bbo
+bbq
+bbq
+bbq
+bbq
+bbq
+bbq
+bbo
+bbo
+bbo
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+cfJ
+cfJ
+cfJ
+cgi
+cgi
+cgi
+cgi
+cgi
+cfJ
+cgi
+cgi
+cgi
+cgi
+cgi
+cgi
+cgi
+cgi
+cgi
+cfJ
+chc
+chc
+cnP
+cln
+cqf
+cUl
+cqO
+cse
+csM
+cqf
+cuq
+csC
+cwv
+cqD
+aaa
+aaa
+aaa
+aaa
+cyL
+cyL
+cCu
+cyL
+cyM
+cyM
+cyM
+cyM
+cyL
+cCu
+cyL
+cyL
+cyL
+cyL
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(176,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaf
+aaf
+aal
+aal
+aau
+aaL
+aax
+abp
+aax
+abM
+aax
+aaL
+aaw
+aal
+aal
+aal
+aaf
+aaf
+aae
+aae
+aae
+aae
+aae
+aaf
+aaf
+aaf
+aaf
+aaf
+ajV
+aaf
+aaf
+aaf
+aaf
+aaf
+aaf
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+arw
+aPq
+aQS
+arz
+aSQ
+aTD
+arw
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aXn
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+aYG
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+aXn
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+bbq
+bbq
+bbq
+bbq
+bbq
+bbq
+bbo
+bbq
+abC
+baS
+boL
+baS
+brs
+bCj
+buw
+baS
+bxH
+byT
+bAg
+baS
+bbo
+bbo
+bbo
+bbo
+bbo
+bbo
+bbo
+bbo
+baS
+baS
+baS
+baS
+baS
+baS
+bbo
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+cfJ
+cfJ
+cfJ
+cgi
+cgi
+cgi
+cgi
+cgi
+cfJ
+cgi
+cgi
+cgi
+cgi
+cgi
+cgi
+cgi
+cgi
+cgi
+cfJ
+cfJ
+chc
+cnP
+cln
+cqf
+cqf
+cqP
+cse
+csN
+ctO
+cuq
+csC
+cwv
+cqD
+aaa
+aaa
+aaa
+aaa
+cqD
+cza
+cza
+cqD
+aaa
+aaa
+aaa
+aaa
+cqD
+cza
+cza
+cqD
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(177,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaf
+aaf
+aal
+aal
+aal
+aal
+aal
+aal
+aal
+aal
+aal
+aal
+aal
+aal
+aal
+aaf
+aaf
+aaf
+aae
+aae
+aae
+aae
+aae
+aaf
+aaf
+aaf
+aaf
+aaf
+ajV
+aaf
+aaf
+aaf
+aaf
+aaf
+aaf
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+arw
+aPq
+aQS
+arz
+aSQ
+aTD
+arw
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aXn
+aaa
+aaa
+aYo
+aYo
+aYo
+aYo
+aYo
+aYG
+aYo
+aYo
+aYo
+aYo
+aYo
+aaa
+aaa
+aXn
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+bbo
+bbq
+bbq
+bbq
+bbq
+bbq
+bbq
+bbq
+bbq
+baS
+baS
+boM
+bdK
+bbS
+bCj
+buw
+baS
+bxI
+byU
+bAh
+baS
+bbo
+bbo
+bbo
+bbo
+bbo
+bbo
+bbo
+bbo
+baS
+bdG
+bfl
+bey
+bgo
+baS
+bbp
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+cfK
+cfJ
+baS
+baS
+baS
+baS
+baS
+baS
+baS
+cgi
+cgi
+cgi
+cgi
+cgi
+cgi
+cgi
+cgi
+cgi
+cfJ
+cfJ
+chc
+cnP
+cjt
+cUh
+cqf
+cqQ
+cse
+csO
+ctP
+cuv
+cvC
+cwy
+cqD
+aaa
+aaa
+aaa
+aaa
+cxr
+czb
+czb
+cxr
+aaa
+aaa
+aaa
+aaa
+cxr
+czb
+czb
+cxr
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(178,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaf
+aaf
+aal
+aal
+aal
+aal
+aal
+aal
+aal
+aal
+aal
+aal
+aal
+aaf
+aaf
+aaf
+aaf
+aae
+aae
+aae
+aae
+aae
+aae
+aae
+aae
+aae
+aaf
+ajV
+aaf
+aae
+aae
+aaf
+aaf
+aaf
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+arw
+aPq
+aQU
+arz
+aSQ
+aTD
+arw
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aXn
+aaa
+aaa
+aYp
+aYu
+aYu
+aYu
+aYu
+aYM
+aYQ
+aYQ
+aYQ
+aYQ
+aYZ
+aaa
+aaa
+aXn
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+bbo
+bbo
+bbq
+bbq
+bbq
+bbq
+bbq
+bbq
+bbq
+bbq
+baS
+bnv
+boN
+baS
+bbS
+bCj
+buw
+baS
+bxJ
+byV
+bAi
+baS
+bbo
+bbo
+bbo
+bbo
+bbo
+bbo
+bbo
+bbo
+baS
+bey
+bey
+bey
+bey
+baS
+bbo
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+cfJ
+baS
+cgq
+cgy
+cgG
+cgY
+bAg
+baS
+cfJ
+cfJ
+cfJ
+cgi
+cgi
+cgi
+baS
+baS
+baS
+baS
+cgi
+cgu
+cnQ
+cnO
+cln
+cqf
+cqR
+cse
+csP
+ctO
+cuq
+csC
+cwv
+cLB
+cxr
+cxr
+cxr
+cxr
+cqD
+czc
+czc
+cqD
+cxr
+cxr
+cxr
+cxr
+cqD
+czc
+czc
+cqD
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(179,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaf
+aaf
+aaf
+aaf
+aaf
+aaf
+aaf
+aaf
+aaf
+aaf
+aaf
+aaf
+aaf
+aaf
+aaf
+aae
+aae
+aae
+aae
+aae
+aae
+aaf
+aae
+aae
+aae
+aae
+aaf
+ajV
+aaf
+aae
+aae
+aaf
+aaf
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+arw
+aPq
+aQS
+arz
+aSQ
+aTD
+arw
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aXn
+aaa
+aaa
+aYq
+aYq
+aYq
+aYq
+aYq
+aYG
+aYq
+aYq
+aYq
+aYq
+aYq
+aaa
+aaa
+aXn
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+bbo
+bbo
+bbq
+bbq
+bbq
+bbq
+bbq
+bbq
+bbq
+bbq
+baS
+bnw
+boO
+baS
+bbS
+bCj
+buw
+baS
+bxJ
+byV
+bAj
+baS
+baS
+baS
+baS
+bbo
+bbo
+bbo
+bbo
+bbo
+baS
+bey
+bey
+bey
+bey
+baS
+baS
+baS
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+baS
+baS
+baS
+cgr
+byV
+cgH
+cgZ
+chf
+baS
+baS
+cfJ
+cfJ
+cgi
+cgi
+cgi
+baS
+bNT
+bey
+baS
+cgi
+cgu
+cjV
+coF
+cnM
+cqf
+cqS
+cse
+csQ
+cqf
+cuw
+cvD
+ctJ
+cxp
+cxU
+cxU
+cxU
+cxU
+cAO
+cxU
+cxU
+cDh
+cxU
+cxU
+cFa
+cxU
+cxU
+cFS
+cGk
+cxr
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(180,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaf
+aaf
+aaf
+aae
+aae
+aae
+aae
+aae
+aaf
+aaf
+aaf
+aaf
+aae
+aae
+aae
+aae
+aae
+aae
+aae
+aae
+aae
+aaf
+aae
+aae
+aae
+aae
+aaf
+ajV
+aaf
+aaf
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+arw
+aPq
+aQS
+arz
+aSQ
+aTD
+arw
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aXn
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+aYG
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+aXn
+aaa
+aaa
+aaa
+aaa
+abC
+bbo
+bbo
+bbo
+bbo
+bbq
+bbq
+baS
+baS
+baS
+baS
+baS
+bbq
+baS
+bnx
+boP
+baS
+brt
+bsK
+buy
+baS
+bxK
+byW
+bAk
+baS
+bCh
+bDE
+baS
+bbo
+bbo
+bbo
+bbo
+bbo
+baS
+bev
+bPu
+bQI
+bRO
+bSY
+bUb
+bSY
+bVT
+bVT
+bVT
+bVT
+bxC
+arw
+arw
+arw
+arw
+arw
+arw
+arw
+arw
+arw
+arw
+arw
+arw
+arw
+arw
+arw
+arw
+arw
+cfT
+cgc
+cgg
+bSY
+cgs
+cgz
+cgI
+cha
+chg
+chj
+baS
+cfJ
+cfJ
+cfJ
+cfJ
+cfJ
+baS
+bey
+cLm
+baS
+cgi
+cgu
+cjX
+cnP
+cpo
+cqf
+cqT
+csf
+csR
+cqf
+cux
+cvE
+cwz
+cxs
+cxW
+cxW
+cxW
+cxW
+cAP
+cxW
+cxW
+cDn
+cEa
+cEa
+cEa
+cEa
+cFF
+cFT
+cGl
+cxr
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(181,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaf
+aaf
+aaf
+aaf
+aaf
+aaf
+aae
+aae
+aae
+aae
+aae
+aae
+aae
+aae
+aae
+aae
+aae
+aae
+aae
+aae
+aae
+aaf
+aaf
+aaf
+ahT
+aka
+ahT
+aaf
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+arw
+aPq
+aQS
+arz
+aSQ
+aTD
+arw
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aXn
+aaa
+aaa
+aYo
+aYo
+aYo
+aYo
+aYo
+aYG
+aYo
+aYo
+aYo
+aYo
+aYo
+aaa
+aaa
+aXn
+aaa
+aaa
+aaa
+aaa
+abC
+bbo
+bbo
+bbq
+bbq
+bbq
+bbq
+baS
+bia
+biW
+bjN
+baS
+baS
+baS
+bny
+baS
+baS
+bbS
+bCj
+buw
+baS
+baS
+byX
+baS
+baS
+baS
+bDF
+baS
+baS
+baS
+baS
+baS
+baS
+bdK
+baS
+bPv
+baS
+baS
+baS
+baS
+baS
+baS
+baS
+baS
+baS
+bYL
+bZn
+bZn
+bZn
+bZn
+bZn
+bZn
+bZn
+bZn
+bZn
+bZn
+bZn
+bZn
+bZn
+bZn
+bZn
+bZn
+bZn
+cfU
+baS
+baS
+baS
+baS
+baS
+bdK
+baS
+baS
+chk
+baS
+baS
+baS
+baS
+baS
+baS
+baS
+cLl
+baS
+baS
+baS
+baS
+baS
+coH
+cpp
+cqf
+cqU
+cqf
+cqf
+cqf
+cuy
+cvF
+cwA
+cul
+cxr
+cxr
+cxr
+cxr
+cqD
+cBM
+cCv
+cqD
+cxr
+cxr
+cxr
+cxr
+cul
+cFU
+cGj
+cqD
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(182,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaf
+aae
+aae
+aae
+aae
+aae
+aae
+aae
+aae
+aae
+aae
+aae
+aae
+aae
+aae
+aae
+aaf
+aaf
+aaf
+ahT
+akb
+ahT
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+arw
+aPq
+aQS
+arz
+aSQ
+aTD
+arw
+aaa
+aaa
+aaa
+aaa
+alx
+alx
+alx
+aaa
+aaa
+aaa
+aYp
+aYu
+aYu
+aYu
+aYu
+aYM
+aYQ
+aYQ
+aYQ
+aYQ
+aYZ
+aaa
+aaa
+aXn
+aaa
+aaa
+aaa
+aaa
+bbp
+bbo
+bbo
+bbq
+bbq
+bbq
+bbq
+baS
+bib
+biX
+biX
+biX
+blv
+bmy
+bnz
+boQ
+bpY
+bru
+bsL
+buz
+biX
+biX
+byY
+bAl
+bBh
+bCi
+bAl
+bAl
+bAl
+bAl
+bIr
+bAl
+bAl
+bAl
+bAl
+bPw
+bQJ
+bRP
+buw
+bUc
+bVc
+bVU
+buw
+bXj
+buv
+ary
+ary
+ary
+ary
+ary
+ary
+ary
+ary
+ary
+ary
+ary
+ary
+ary
+ary
+ary
+ary
+ary
+ary
+ary
+buv
+bXj
+buw
+bVU
+bib
+biX
+biX
+chh
+chl
+chs
+chG
+chW
+cis
+chG
+chG
+chG
+chG
+cLn
+chG
+chG
+cne
+cnR
+coI
+cpq
+cqg
+cqV
+bAl
+bAl
+ctQ
+cuz
+cvG
+cwv
+cqD
+aaa
+aaa
+aaa
+aaa
+cqD
+cqD
+cqD
+cqD
+aaa
+aaa
+aaa
+aaa
+cqD
+cqD
+cqD
+cqD
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(183,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aae
+aae
+aae
+aae
+aae
+aae
+aae
+aae
+aae
+aae
+aae
+aae
+aae
+aae
+aae
+aaf
+aaf
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+alx
+alF
+alx
+alx
+alx
+alx
+alx
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+arw
+aPq
+aQS
+arz
+aSQ
+aTD
+arw
+aaa
+aaa
+aaa
+alx
+alx
+alx
+alx
+aaa
+aaa
+aaa
+aYq
+aYq
+aYq
+aYq
+aYq
+aYG
+aYq
+aYq
+aYq
+aYq
+aYq
+aaa
+aaa
+aXn
+aaa
+aaa
+aaa
+aaa
+bbo
+bbo
+bbo
+baS
+baS
+baS
+baS
+baS
+bic
+cKy
+biY
+biY
+blw
+biY
+bnA
+bHe
+cRL
+bHe
+bsM
+bbs
+bbs
+bbs
+bbs
+bbs
+bBi
+bCj
+bbT
+bEI
+bFQ
+bHe
+bIs
+bHe
+bHe
+bHe
+bHe
+bPx
+bpZ
+bfn
+bbs
+bbs
+bbs
+bbs
+bbs
+bbs
+baU
+arz
+arz
+arz
+arz
+arz
+arz
+arz
+arz
+arz
+arz
+arz
+arz
+arz
+arz
+arz
+arz
+arz
+arz
+arz
+baU
+bbs
+cgk
+bbs
+bpZ
+bbs
+bbs
+bfn
+bbs
+cht
+bbs
+bbs
+bbs
+bbs
+cju
+bbs
+bbs
+bbs
+bbs
+bbs
+bbs
+cNn
+bbs
+bil
+bpZ
+cqW
+bbs
+bbs
+bbs
+cuA
+cvH
+cwv
+cqD
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(184,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aae
+aae
+aae
+aae
+aae
+aae
+aaf
+aaf
+aaf
+ahT
+abC
+abC
+abC
+abC
+aaa
+aaa
+aaa
+aaa
+alx
+alx
+alx
+alx
+alx
+and
+and
+alx
+alx
+alx
+abC
+aaa
+aaa
+alx
+alx
+alx
+alx
+alx
+aaa
+abC
+aaa
+aaa
+aaa
+arw
+aPq
+aQS
+arz
+aSQ
+aTD
+arw
+aaa
+aaa
+aaa
+alx
+alx
+alx
+alF
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+aYG
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+bbp
+bbo
+bbo
+baS
+ber
+ber
+bgg
+baS
+bid
+bbs
+bjO
+bkA
+blx
+cKC
+bnB
+boR
+bqa
+brv
+cSU
+buA
+bsN
+bvY
+byZ
+byZ
+bBj
+bCk
+bDG
+bEJ
+bFR
+bHf
+bIt
+bHf
+bLB
+bHf
+bHf
+bPy
+bQK
+bRQ
+cLb
+bSZ
+bVd
+bSZ
+bSZ
+bSZ
+bYb
+arA
+arA
+arA
+arA
+arA
+arA
+arA
+arA
+arA
+cdj
+arA
+arA
+arA
+arA
+arA
+arA
+arA
+arA
+arA
+bYb
+bSZ
+bSZ
+bSZ
+cgA
+cgJ
+bSZ
+bRQ
+cLb
+chu
+bkA
+bkA
+bkA
+bkA
+cjv
+bkA
+bkA
+bkA
+bkA
+cmz
+cnf
+cnS
+bkA
+cpr
+cqh
+cqX
+cqh
+cqh
+cqh
+cuB
+cvI
+cwB
+cqD
+aaa
+aaa
+aaa
+aaa
+cqD
+cqD
+cqD
+cqD
+aaa
+aaa
+aaa
+aaa
+cqD
+cqD
+cqD
+cqD
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(185,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+abC
+abC
+aaa
+aaa
+aaa
+alx
+alx
+and
+alx
+and
+and
+and
+alx
+alx
+and
+alF
+alx
+and
+and
+alx
+alx
+alx
+alx
+aaa
+abC
+aaa
+aaa
+aaa
+aOv
+aPr
+aQS
+arz
+aSQ
+aTE
+aUC
+aaa
+aaa
+akR
+alx
+alx
+alx
+alx
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aYG
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+bbo
+bbo
+bbo
+baS
+bes
+bey
+bgh
+bgW
+bie
+biZ
+bjP
+bkB
+bkB
+bkB
+bkB
+boS
+bqb
+cSt
+cSV
+bqb
+bqb
+bqb
+bxL
+bxL
+bBk
+bCl
+bxL
+bEK
+cKT
+bEK
+bEK
+bEK
+bEK
+bEK
+baS
+bPz
+baS
+baS
+baS
+baS
+baS
+baS
+baS
+baS
+baS
+bYM
+bZo
+bZo
+bZo
+bZo
+bZo
+bZo
+bZo
+bZo
+bZo
+bZo
+bZo
+bZo
+bZo
+bZo
+bZo
+bZo
+bZo
+cfV
+baS
+baS
+baS
+baS
+baS
+baS
+baS
+baS
+baS
+chv
+baS
+baS
+baS
+baS
+baS
+baS
+baS
+baS
+bdK
+baS
+baS
+baS
+coJ
+cpp
+baS
+baS
+baS
+baS
+baS
+cuC
+cvJ
+cwC
+cLB
+cxr
+cxr
+cxr
+cxr
+cqD
+cBN
+cCw
+cqD
+cxr
+cxr
+cxr
+cxr
+cul
+cFV
+cGj
+cqD
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(186,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+abC
+abC
+alF
+alx
+alx
+and
+and
+adZ
+aez
+aez
+aez
+afV
+adZ
+aez
+afV
+afV
+aez
+aez
+alx
+and
+and
+alx
+alx
+aaa
+aaa
+aaa
+aKo
+aOw
+aKo
+aQV
+aRP
+aSR
+aLm
+aUD
+aLm
+akR
+akR
+alx
+alx
+alx
+alx
+alx
+alx
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aYG
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+bbo
+bbo
+bbo
+baS
+bet
+bfi
+bgi
+bgX
+bif
+bja
+bjQ
+bkB
+bly
+bly
+bly
+bmz
+bqb
+brw
+bsO
+buB
+bvZ
+cTh
+cMr
+bxM
+btb
+bCm
+bDH
+bEK
+bFS
+bHg
+bIu
+bKa
+bLC
+bEK
+bNT
+bPA
+bex
+bRR
+bbR
+bUd
+bVe
+bVV
+bVV
+bVV
+bVV
+bYN
+arw
+arw
+arw
+arw
+arw
+arw
+arw
+arw
+arw
+arw
+arw
+arw
+arw
+arw
+arw
+arw
+arw
+aZV
+cgd
+cgh
+cgl
+cgt
+cgB
+cgB
+cgB
+cgB
+cgB
+chw
+baS
+cfJ
+cgi
+cgi
+cgu
+cgu
+chc
+chc
+clV
+cmA
+cgL
+cgL
+coK
+cps
+chc
+chc
+chc
+chc
+cqD
+cuD
+cvK
+cwD
+cxp
+cxU
+cxU
+cxU
+cxU
+cAQ
+cxU
+cxU
+cDh
+cxU
+cxU
+cxU
+cxU
+cBI
+cFS
+cGn
+cxr
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(187,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+alx
+alx
+and
+aez
+aez
+afV
+aqH
+afq
+apx
+aoQ
+afK
+aiS
+azp
+aoQ
+aBV
+adZ
+afV
+aez
+aez
+alx
+alx
+alx
+akR
+akR
+aKo
+aOx
+aKo
+aQW
+aRD
+aSS
+aLm
+aUE
+aLm
+alx
+alx
+alx
+and
+and
+alx
+alx
+alx
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aYG
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+bbq
+bbq
+bbq
+baS
+beu
+bfj
+bgj
+baS
+big
+bja
+bjP
+bkC
+blz
+bmz
+bmz
+boT
+bqb
+brx
+bsP
+cSW
+buC
+cTi
+bxN
+buH
+btb
+bCm
+buH
+bEL
+bFT
+bHh
+bIv
+bHh
+bLD
+bEK
+bey
+bPB
+bey
+bdG
+baS
+baS
+baS
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+baS
+baS
+baS
+bey
+bey
+bey
+bey
+baS
+baS
+baS
+cfJ
+cgi
+cgi
+cgu
+cgu
+ckF
+clm
+cjT
+cjT
+cng
+cjT
+coL
+coD
+chc
+chc
+chc
+chc
+cqD
+cuE
+cvL
+cwE
+cxq
+cxV
+cxV
+cxV
+cxV
+cAR
+cxV
+cxV
+cDi
+cDZ
+cDZ
+cDZ
+cDZ
+cLJ
+cDZ
+cGl
+cxr
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(188,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+akR
+alx
+and
+and
+aez
+aez
+afq
+aoQ
+afq
+afq
+apx
+afq
+afq
+afq
+anC
+afq
+aqH
+afq
+aoQ
+afq
+aez
+and
+and
+aKo
+aLo
+aLo
+aKo
+aOy
+aKo
+aQW
+aRD
+aST
+aLm
+aUF
+aLm
+aLm
+aLm
+alx
+and
+and
+alx
+alx
+alx
+alx
+alx
+aaa
+aaa
+abC
+abC
+aYG
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+bbq
+bbq
+bbq
+baS
+bev
+bfk
+bgk
+baS
+big
+bjb
+bjR
+bkB
+bly
+bly
+bly
+boU
+bqb
+bry
+bsP
+cSW
+buD
+cTi
+bxO
+buH
+btb
+bCn
+bDI
+bEM
+bFU
+bHi
+bIw
+bHh
+bLE
+bEK
+bey
+bPB
+bey
+ber
+baS
+bbo
+bbo
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+cfJ
+cfJ
+cfJ
+baS
+bdG
+bQL
+bfl
+bgo
+baS
+cfJ
+cgi
+cgi
+cgi
+cgi
+cgu
+cgu
+ckF
+cln
+clW
+clW
+clW
+clW
+clW
+clW
+clW
+clW
+clW
+clW
+clW
+cuF
+cvM
+cwF
+cqD
+cxr
+cxr
+czg
+cxr
+cqD
+cza
+cza
+cqD
+cxr
+cxr
+cxr
+cxr
+cqD
+cza
+cza
+cqD
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(189,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aag
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+akR
+akR
+alx
+and
+and
+aez
+apO
+aoR
+ahr
+ahr
+ahr
+ahr
+avL
+ahr
+ahr
+azq
+ahr
+ahr
+ahr
+aEj
+adZ
+aez
+aez
+aez
+aKo
+aLp
+aMq
+aNr
+aOz
+aPs
+aQW
+aRD
+aSU
+aLm
+aUG
+aVj
+aVD
+aLm
+alx
+and
+aXa
+aXb
+aXa
+aXa
+aYi
+alx
+aaa
+aaa
+abC
+aYF
+aYH
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+bbq
+bbq
+bbq
+baS
+baS
+baS
+baS
+baS
+big
+bja
+bjP
+bkB
+blA
+bmz
+bmz
+boV
+bqb
+brz
+bsQ
+cSY
+buE
+cTi
+bxP
+bza
+bBl
+bCo
+bDJ
+bEN
+bFV
+bHh
+bIx
+bHh
+bLF
+bEK
+bNU
+bPC
+bQL
+bRS
+baS
+bbo
+bbo
+bbo
+bbo
+aaa
+aXR
+aXR
+aXR
+aXR
+aXR
+aXR
+aXR
+aXR
+aXR
+aXR
+aaa
+aXR
+aXR
+aXR
+aXR
+aXR
+aXR
+aXR
+aaa
+aaa
+cfJ
+cfJ
+cfJ
+baS
+baS
+baS
+baS
+baS
+baS
+cfJ
+cgi
+cgi
+cgi
+cgi
+cgu
+cgu
+cgL
+cln
+clW
+cmB
+cnh
+cmC
+cnV
+cmC
+cpt
+cpt
+csg
+cpt
+clW
+cuE
+cvN
+cwG
+cqD
+cfI
+cfI
+aaa
+aaa
+cxr
+czb
+czb
+cxr
+aaa
+aaa
+aaa
+aaa
+cxr
+czb
+czb
+cxr
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(190,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+ajj
+akc
+ajn
+alx
+alx
+aez
+aez
+afV
+afq
+anC
+arC
+arC
+arC
+arC
+arC
+arC
+arC
+arC
+arC
+arC
+afq
+anC
+afV
+adZ
+aIf
+adZ
+aKo
+aLq
+aMr
+aNs
+aOA
+aPt
+aQX
+aRD
+aSV
+aLm
+aUH
+aVk
+aVE
+aLm
+adZ
+aez
+aXa
+aXt
+aXL
+aXZ
+aYi
+aYi
+aYi
+abC
+abC
+aYG
+abC
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+bbo
+bbq
+bbq
+bbq
+bbq
+bbq
+bbq
+bbq
+baS
+big
+bja
+bjP
+bkB
+bly
+bly
+bly
+boW
+bqb
+brA
+bsR
+cSZ
+buF
+cTl
+bxQ
+brQ
+bBm
+bCp
+bDK
+bEM
+bFU
+bHi
+bIy
+bKb
+bLG
+bEK
+bNV
+bPD
+baS
+baS
+baS
+bbo
+bbo
+bbo
+bbo
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+cfJ
+cfJ
+cfJ
+cfJ
+cfJ
+cfJ
+cfJ
+cfJ
+cfJ
+cfJ
+cfJ
+cgi
+cgi
+cgi
+cgi
+cgu
+cjU
+ckG
+cln
+clW
+cmC
+cni
+cmC
+cnj
+cmC
+cmC
+cnV
+csh
+cpt
+clW
+cuG
+csC
+cLA
+cqD
+cfI
+cfI
+cfI
+aaa
+cqD
+czc
+czc
+cqD
+aaa
+aaa
+aaa
+aaa
+cqD
+czc
+czc
+cqD
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(191,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+ajk
+akd
+ajn
+ajn
+ajn
+ajn
+aiS
+aoQ
+aoR
+aqN
+arC
+asx
+atB
+asx
+atC
+atC
+axN
+azr
+asx
+arC
+aqH
+aEk
+aoQ
+afq
+apO
+adZ
+aKp
+aLr
+aMs
+aNt
+aOB
+aPu
+aQY
+aRF
+aSW
+cKe
+aUI
+aVl
+aVF
+aLm
+ajt
+afq
+aXb
+aXu
+aXM
+aYa
+aYj
+aYr
+aYj
+aYn
+aYn
+aYH
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+bbo
+bbo
+bbo
+bbo
+bbo
+bbq
+bbo
+bbq
+baS
+big
+bja
+bjP
+bkB
+blz
+bmz
+bmz
+boU
+bqb
+brB
+bsS
+buG
+bqb
+bqb
+bzb
+bzb
+bBn
+bCq
+brE
+bEL
+bFT
+bHh
+bIz
+bHh
+bLH
+bEK
+bNW
+bPE
+bgp
+bgp
+bbq
+bbq
+bbo
+bbo
+bbo
+bbp
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+cfK
+cfJ
+cfJ
+cgi
+cgi
+cgi
+cgi
+cgi
+cgi
+cgi
+cgi
+cgi
+cgi
+cgi
+cgi
+cgu
+chc
+cgL
+clo
+clW
+cmD
+cnj
+cnT
+cnj
+cnV
+cmC
+cpt
+csi
+csS
+ctR
+cuH
+csC
+cwG
+cxr
+cfI
+cfI
+cfI
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aag
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(192,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+ajl
+ake
+akS
+aly
+amf
+ane
+alr
+aoR
+apP
+adZ
+arC
+asy
+atC
+asx
+asx
+axb
+atC
+atC
+aAH
+arC
+adZ
+amI
+ahr
+ahr
+ahr
+aEj
+aKo
+aKo
+aKo
+aKo
+aKo
+aKo
+aQZ
+aRQ
+aSX
+aLm
+aUJ
+aVe
+aVG
+aLm
+alR
+aWQ
+aXc
+aXv
+aXN
+aYb
+aYi
+aYi
+aYi
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+bbp
+bbo
+bbo
+bbo
+bbo
+bbq
+bbo
+bbq
+baS
+big
+bja
+bjP
+bkB
+bly
+bly
+bly
+boX
+bqc
+brC
+bsT
+buH
+buH
+bwc
+bxS
+bAm
+bxS
+bCr
+bDL
+bEK
+bFW
+bHj
+bIz
+bKc
+bLI
+bEK
+bNX
+bPF
+bQM
+bgs
+bgp
+bgp
+bbq
+bbq
+bbo
+bbo
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+cfJ
+cfJ
+cfJ
+cgi
+cgi
+cgi
+cgi
+cgi
+cgi
+cgi
+cgi
+cgi
+cgi
+cgi
+cgi
+cgu
+chc
+cgL
+cln
+clW
+cmC
+cmC
+cnU
+coM
+cpt
+cpt
+cpt
+cpt
+cpt
+clW
+cuI
+csC
+cwG
+cxr
+cfI
+cfI
+cfI
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(193,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+cJr
+akf
+akT
+aly
+amg
+ajn
+anM
+aoS
+apx
+adZ
+arC
+asz
+atD
+auF
+avM
+atC
+axO
+atC
+aAI
+arC
+adZ
+adZ
+adZ
+aiS
+akq
+amI
+aEj
+aqH
+adZ
+adZ
+adZ
+aLm
+aRa
+aRK
+aSY
+aLm
+aUK
+aVf
+aVH
+aLm
+afq
+anC
+aXb
+aXb
+aXa
+aXb
+aYi
+alx
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+bbq
+bbq
+bbq
+bbq
+bbq
+bbq
+bbq
+bbq
+cKp
+big
+bja
+bjP
+bkB
+blB
+bmA
+bmA
+bmA
+bqd
+brD
+bsU
+buH
+buI
+bqe
+bxT
+bzc
+bBo
+bCr
+brE
+bEK
+bFX
+bHh
+bIz
+bKd
+bLJ
+bEK
+bhd
+bPG
+bQN
+bRT
+bTa
+bgp
+bbq
+bbo
+baW
+baW
+baW
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+cfJ
+cfJ
+cfJ
+cgi
+cgi
+cgi
+cgi
+cgi
+cgi
+cgi
+cgi
+cgi
+cfJ
+cfJ
+cfJ
+chc
+cjW
+cgL
+clp
+clW
+cmC
+cmC
+cnV
+cmC
+cnV
+cpt
+cqY
+csj
+csj
+clW
+cuH
+csC
+cwG
+cxr
+cfI
+cfI
+cfI
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(194,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+ajl
+akg
+akU
+aly
+amh
+ajn
+anN
+aoT
+adZ
+adZ
+arC
+asx
+atC
+auG
+avN
+auG
+axP
+axO
+aAI
+arC
+adZ
+adZ
+adZ
+adZ
+adZ
+afq
+amI
+ahr
+aEj
+adZ
+adZ
+aPl
+aRb
+aRR
+aSZ
+aTF
+aUL
+aLm
+aLm
+aLm
+aoR
+apu
+adZ
+alx
+alx
+alx
+alx
+alx
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+bbq
+bbq
+bbq
+baS
+baS
+baS
+baS
+baS
+baS
+big
+bja
+bjS
+bkB
+blC
+bmB
+bnC
+bmz
+bkB
+brE
+cMq
+buH
+buH
+bqe
+cTo
+bAn
+bBp
+bCr
+bDM
+bEK
+bFY
+bHk
+bIA
+bKe
+bLK
+bEK
+bNY
+bNZ
+bit
+bhd
+bTb
+bgp
+bbq
+bbo
+baW
+baW
+baW
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+cfJ
+cfJ
+cgi
+cgi
+cgu
+cgu
+cgu
+cgu
+cfJ
+cfJ
+cgi
+cgi
+cfJ
+chc
+chc
+chc
+cjX
+cgL
+cln
+clW
+cmC
+cnk
+cnW
+cnW
+cnW
+cqi
+cqZ
+csk
+csT
+ctS
+cuJ
+cvD
+cwH
+cxr
+cfI
+cfI
+cfI
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aag
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(195,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+ajl
+akf
+akU
+alz
+ami
+ajn
+ajn
+anV
+anV
+anV
+arC
+arC
+arC
+auH
+avO
+auH
+arC
+arC
+aAJ
+arC
+anV
+anV
+anV
+adZ
+adZ
+afq
+aqH
+afq
+amI
+ahr
+aOo
+aPv
+aRc
+aRS
+aTa
+aLm
+aLm
+aLm
+adZ
+adZ
+anC
+afq
+aLm
+aLm
+aLm
+aLm
+aLm
+alx
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+bbq
+bbq
+bbo
+baS
+bdG
+bew
+bfl
+bgl
+baS
+big
+bja
+bjP
+bkD
+bkD
+bkD
+bkD
+bkD
+bqe
+brE
+bsT
+buH
+buH
+cWw
+bzd
+bqe
+bqe
+bCs
+bDN
+bEK
+bFZ
+bEM
+bIB
+bKf
+bEK
+bEK
+cKY
+bNZ
+bNZ
+bhd
+bTb
+bgp
+bbq
+bbq
+bbo
+bbo
+baW
+baW
+baW
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+cfJ
+cfJ
+cgi
+cgi
+cgu
+cgC
+cgK
+cgu
+chc
+chc
+cgu
+cgu
+chc
+chc
+ciS
+cjw
+cjw
+cgL
+cln
+clW
+cmE
+cnl
+cmC
+cnV
+cmC
+cmC
+cmC
+csl
+cmC
+clW
+cLy
+csC
+cwG
+cxr
+cfI
+cfI
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(196,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+ajl
+akf
+akU
+alA
+amh
+anf
+ajn
+aoU
+aoU
+aqO
+arD
+asA
+atE
+auI
+avP
+auI
+axQ
+azs
+aAK
+aBW
+aCU
+aEl
+anV
+aez
+aez
+aez
+aez
+afq
+aoy
+afq
+avh
+aPw
+aRd
+aRD
+aTb
+aLm
+adZ
+adZ
+adZ
+aWh
+apu
+aez
+aLm
+aMo
+aMn
+aYc
+aLm
+alx
+alx
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+bbq
+bbo
+baS
+bdH
+bex
+bex
+bgm
+bgY
+bih
+bjc
+bjR
+bkD
+blD
+bmC
+bnD
+boY
+bqf
+brF
+bsV
+buJ
+buJ
+buJ
+buJ
+buJ
+bBq
+bCt
+bDO
+bEO
+bGa
+bHl
+bIC
+bKg
+bLL
+bMS
+bLP
+bPH
+bNZ
+bhc
+bTb
+bgp
+bbq
+bbq
+bbo
+bbo
+bbo
+baW
+baW
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+cfJ
+cfJ
+cfJ
+cgi
+cgi
+cgu
+cgD
+cgL
+cgL
+cgL
+chb
+cgL
+chc
+cgL
+cgL
+ciS
+cjw
+cjV
+ckG
+cln
+clW
+clW
+clW
+clW
+clW
+clW
+clW
+clW
+clW
+clW
+clW
+cuK
+csC
+cwG
+cxr
+cfI
+cfI
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(197,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+cJs
+akf
+akU
+aly
+amj
+ang
+anO
+aoV
+apQ
+apQ
+arE
+arE
+cLT
+arE
+avQ
+apQ
+apQ
+azt
+aAL
+aBX
+aoU
+aEm
+anV
+aez
+aez
+aez
+aez
+aez
+afV
+aez
+adZ
+aLm
+aRe
+aRT
+aTc
+aPv
+aUM
+ahr
+ahr
+apu
+aez
+aez
+aLm
+aNp
+aNp
+aYd
+aLm
+aLm
+aLm
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+baS
+baS
+baS
+bdI
+bey
+bey
+bgn
+baS
+big
+bbs
+bjP
+bkD
+blE
+bmD
+bnE
+boZ
+bqg
+brG
+bsW
+buH
+buH
+buH
+buH
+buH
+bxQ
+bCu
+bDP
+bDP
+bGb
+bHm
+bID
+bKh
+bLM
+bMT
+bOb
+bPI
+bNZ
+bhd
+bTc
+bgr
+bbo
+bbq
+bbq
+bbo
+bbo
+baW
+baW
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+cfJ
+cfJ
+cfJ
+cgi
+cgi
+cgu
+cgu
+cgM
+chb
+cgL
+cgL
+cgL
+cgL
+cgL
+cit
+chc
+chc
+chc
+ckH
+cln
+chc
+chc
+chc
+chc
+chc
+chc
+chc
+chc
+chc
+chc
+ctT
+cuF
+csC
+cwG
+cxr
+cfI
+cfI
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(198,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+ajl
+akh
+akV
+alB
+amk
+anh
+anP
+aoW
+aoW
+aoW
+arF
+arF
+aoW
+arF
+avR
+aoU
+aoU
+aoU
+aoU
+aBX
+aoU
+cMb
+anV
+aez
+aez
+aez
+aez
+anV
+anV
+anV
+anV
+anV
+aRd
+aRD
+aTa
+aPw
+alr
+afq
+aoy
+afq
+aez
+aez
+aLm
+aXw
+aXO
+aXO
+aYk
+aYs
+aYv
+aYw
+arw
+arw
+arw
+arw
+arw
+arw
+arw
+arw
+arw
+arw
+arw
+arw
+bar
+baR
+baR
+bbR
+bcv
+bbR
+bdJ
+ber
+ber
+bgo
+baS
+bii
+bjd
+bjT
+bkD
+blF
+bmE
+bnF
+bpa
+bqh
+brH
+bsX
+brQ
+brQ
+brQ
+bze
+brQ
+brQ
+bCv
+buH
+buH
+buH
+bHn
+buH
+bKi
+bLN
+bMU
+bOc
+bPJ
+bNZ
+bjg
+bTb
+bgp
+bbq
+bbq
+bbq
+bbo
+bbo
+bbo
+bbo
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+cfJ
+cfJ
+cfJ
+cgi
+cgi
+cgu
+cgu
+cgu
+chc
+chc
+cgu
+cgu
+chc
+chc
+chc
+chc
+chc
+chc
+chc
+clq
+cgL
+chc
+cgL
+cnX
+chc
+cgL
+chc
+chc
+cjV
+csU
+clW
+cuG
+csC
+cwG
+cxr
+cfI
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(199,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+ajm
+aki
+akW
+alC
+alD
+ani
+ajn
+aoU
+aoU
+aqP
+arG
+asB
+atF
+asG
+avS
+axc
+aoW
+aoW
+aoW
+aBY
+aCV
+aEn
+anV
+aez
+aez
+aez
+aez
+anV
+aMt
+aNu
+aOC
+aPx
+aRf
+aRU
+aTa
+aLm
+aLm
+aLm
+aLm
+aLm
+aLm
+aLm
+aLm
+aXx
+cKe
+aLm
+aLm
+aLm
+aLm
+aYx
+aYz
+aYz
+aYz
+aYz
+aYz
+aYz
+aYz
+aYz
+aYz
+aYz
+aYz
+aYz
+bas
+baS
+baS
+baS
+baS
+baS
+baS
+baS
+baS
+cKp
+baS
+bij
+bbs
+bjU
+bkD
+bkD
+bkD
+bkD
+bkD
+bqi
+brI
+bsY
+bqe
+bwd
+bwd
+bqe
+bwd
+bqe
+bwd
+bwd
+bqe
+bGc
+bHo
+bIE
+bIE
+bIE
+bMV
+bOc
+bPK
+bNZ
+bQM
+bTd
+bgp
+bbq
+bbq
+bbq
+bbo
+bbo
+bbo
+bbp
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+cfK
+cfI
+cfJ
+cgi
+cgi
+cgi
+cgi
+cgi
+cgi
+cgi
+cgi
+cgi
+cgi
+cgi
+cgi
+cgi
+cgu
+cgu
+cgu
+cjt
+cjT
+cjT
+cnm
+cjT
+cjT
+cjT
+cjT
+cng
+csm
+csV
+coJ
+cuF
+cvO
+cwH
+cxr
+cfI
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(200,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+ajn
+akj
+ajl
+alD
+aml
+anj
+ajn
+aoU
+aoU
+aoY
+arH
+asC
+anV
+auJ
+avT
+aoY
+aoU
+aoU
+aAM
+anV
+aCW
+aEn
+anV
+anV
+anV
+anV
+anV
+anV
+aMu
+aoU
+aoU
+aBX
+aRg
+aRD
+aTd
+aTG
+aUN
+aTG
+aTG
+aWi
+aTG
+aWR
+aTG
+aXy
+aTG
+aTG
+aYl
+aYt
+cPO
+cPT
+cPT
+cPT
+cPT
+cPT
+cPT
+aYU
+cPT
+cPT
+cPT
+cPT
+cPT
+cPT
+cPT
+cQC
+bbr
+cQJ
+bcw
+cQJ
+cQJ
+cQJ
+bfm
+cQJ
+cQJ
+bik
+bbs
+bjP
+bkD
+blG
+bmF
+bnG
+bpb
+bqj
+brJ
+bsZ
+cKK
+bwe
+bxV
+bzf
+bAo
+bBr
+bxV
+bDQ
+bwc
+buH
+bHn
+bIE
+bKj
+bLO
+cMD
+bOd
+bPL
+bNZ
+bhd
+bTb
+bgp
+bgp
+bbq
+bbq
+bbo
+bbo
+bbo
+bbo
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+cfI
+cfI
+cfJ
+cgi
+cgi
+cgi
+cgi
+cgi
+cgi
+cgi
+cfJ
+cgi
+cgi
+cgi
+cgi
+cgi
+cgu
+cgu
+cgu
+clr
+ckz
+cgL
+cln
+chb
+cgL
+cgL
+chb
+ckH
+cgL
+cpX
+coJ
+cuF
+csC
+cwI
+cqD
+cfI
+cfI
+aaa
+aaa
+cqD
+cza
+cza
+cqD
+aaa
+aaa
+aaa
+aaa
+cqD
+cza
+cza
+cqD
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(201,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+ajm
+alE
+alE
+alE
+anQ
+aoX
+aoU
+aoY
+arI
+arM
+aoY
+arM
+arI
+aoY
+axR
+azv
+aAN
+anV
+aCX
+aEo
+aBW
+aHf
+aIg
+aJp
+aKq
+aLs
+aMv
+aoU
+aoU
+aBX
+aRg
+aRV
+aTe
+aRD
+aUO
+aRD
+aRD
+aWj
+aRD
+aTS
+aRD
+aRD
+aRD
+aRD
+aYm
+aRD
+aRP
+arz
+arz
+arz
+arz
+arz
+arz
+arz
+arz
+arz
+arz
+arz
+arz
+arz
+arz
+baU
+bbs
+bbT
+bbs
+bbs
+bbs
+bbs
+bfn
+bbs
+bbs
+bil
+cKz
+bjP
+bkD
+blE
+bmD
+bnE
+bpc
+bqg
+brG
+bta
+buK
+bwf
+bxW
+bzg
+bAp
+bBs
+bCw
+bDR
+bEP
+bDK
+bHn
+bIE
+bKk
+bLP
+bLP
+bOc
+bPM
+bNZ
+bhd
+bTe
+bhf
+bgp
+bbq
+bbq
+bbo
+bbo
+bbq
+bbo
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+cfI
+cfI
+cfJ
+cgi
+cgi
+cgi
+cgi
+cgi
+cgi
+cgi
+cgi
+cgi
+cfJ
+cfJ
+cfJ
+cfJ
+cgu
+cgu
+cgu
+chc
+cjU
+cmF
+cnn
+ckz
+chc
+chc
+chc
+chc
+chc
+chX
+chX
+cNr
+cvP
+cwJ
+cqD
+cfI
+cfI
+cfI
+aaa
+cxr
+czb
+czb
+cxr
+aaa
+aaa
+aaa
+aaa
+cxr
+czb
+czb
+cxr
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(202,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+akR
+akR
+akR
+anR
+aoY
+aoY
+aoY
+arH
+asD
+aoY
+auK
+avT
+aoY
+aoY
+aoY
+aoY
+anV
+aCY
+aEp
+aFJ
+aHg
+aIh
+aoU
+aEn
+aoY
+aMw
+aoU
+aoU
+aPy
+aRh
+aRW
+aTf
+aTH
+aUP
+aVm
+aVI
+aWk
+aWE
+aWS
+aXd
+aQN
+aXP
+aQN
+aQN
+aQN
+aQR
+arA
+arA
+arA
+arA
+arA
+arA
+arA
+arA
+arA
+arA
+arA
+arA
+arA
+arA
+baV
+bbt
+bbU
+bcx
+bdd
+bdd
+bez
+bfo
+bdd
+bdd
+bim
+bcx
+bjV
+bkD
+blF
+bmE
+bnF
+bpd
+bqh
+brH
+btb
+buL
+bwg
+bxX
+bzh
+bzh
+bzh
+bCx
+bDS
+bEQ
+bGd
+bHp
+bIE
+bKl
+bLP
+bLP
+bOc
+bPN
+bNZ
+bRU
+bTf
+bUe
+bgp
+bbq
+bbq
+bbo
+bbq
+bbq
+bbq
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+cfJ
+cfJ
+cfJ
+cgi
+cgi
+cgi
+cgi
+cgi
+cgi
+cgi
+cgi
+cgi
+cfJ
+chX
+chX
+chX
+chX
+chX
+chX
+chX
+chY
+chX
+chX
+chX
+chX
+chX
+chX
+chY
+chX
+chX
+ctU
+cuL
+cvQ
+cwK
+cLB
+cxr
+cxr
+cxr
+cxr
+cqD
+czc
+czc
+cqD
+cxr
+cxr
+cxr
+cxr
+cqD
+czc
+czc
+cqD
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(203,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+anS
+aoZ
+aoZ
+aoZ
+arJ
+asE
+aoZ
+auL
+avU
+aoZ
+aoZ
+aoZ
+aaa
+anV
+aCZ
+aEq
+aFK
+aHh
+aoU
+aoU
+aKr
+aLt
+aMx
+aoU
+aoU
+aPy
+aPy
+aRX
+aTg
+aTI
+anV
+aLm
+aLm
+aWl
+aPJ
+aPl
+aLm
+aLm
+aLm
+aLm
+aLm
+aLm
+aLm
+aYy
+aYy
+aYy
+aYy
+aYy
+aYy
+aYy
+aYy
+aYy
+aYy
+aYy
+aYy
+aYy
+aYy
+baS
+baS
+baS
+baS
+baS
+bdK
+baS
+baS
+baS
+bgZ
+bin
+baS
+bjW
+bjW
+bjW
+bjW
+bjW
+bjW
+bjW
+brK
+btc
+bqe
+bwh
+bxY
+bzi
+bAq
+bBt
+bwh
+bxY
+bqe
+bGe
+bHn
+bIE
+bKm
+bLP
+bMX
+bOe
+bLQ
+bQO
+bRV
+bTg
+bOn
+bgp
+bbq
+bbq
+bbo
+bbq
+bbq
+bbq
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+cfJ
+cfJ
+cfJ
+cgi
+cgi
+cgi
+cgi
+cgi
+cgi
+cgi
+cgi
+cgi
+cfJ
+chY
+ciu
+ciT
+ciT
+cjY
+ciA
+cls
+cNm
+cmG
+clX
+cnY
+cLq
+clX
+cNm
+clX
+csn
+clu
+clu
+cuM
+csC
+cwL
+cxt
+cxX
+cxX
+cxX
+cxX
+cAS
+cxX
+cxX
+cDo
+cEb
+cxU
+cxU
+cxU
+cxU
+cFS
+cGk
+cxr
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(204,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+anS
+aoZ
+apR
+apR
+apR
+apR
+atG
+apR
+apR
+apR
+axS
+aoZ
+aAO
+aoY
+aDa
+aEr
+aBY
+aHi
+aoU
+aoU
+aKs
+aoY
+aMy
+aoU
+aoU
+aoU
+aoU
+aRY
+azA
+aTJ
+anV
+alx
+aLm
+aWm
+aPI
+aUR
+aUR
+aXz
+aLm
+alx
+alx
+alx
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+baW
+baW
+bbo
+bbo
+bbq
+bbq
+bbq
+bbq
+bgp
+bha
+bio
+bje
+bjW
+bkE
+blH
+blI
+blI
+bpe
+bjW
+brL
+bsY
+bqe
+bwd
+bwd
+bqe
+bwd
+bqe
+bwd
+bwd
+bqe
+bGf
+bHn
+bIF
+bKn
+cKW
+bMY
+bOf
+bPO
+bNZ
+bNZ
+bTh
+bUf
+bgq
+bbo
+bbo
+bbo
+bbq
+bbq
+bbq
+bbo
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+cfI
+cfJ
+cfJ
+cfJ
+cfJ
+cfJ
+cgi
+cgi
+cgi
+cgi
+cgi
+cgi
+cfJ
+chX
+civ
+ciU
+cjx
+cjZ
+ckI
+clt
+cjx
+cmH
+cjx
+cjx
+cjx
+cjx
+cjx
+cjx
+cjx
+cjx
+cjx
+cuN
+cLz
+cwM
+cxq
+cxV
+cxV
+cxV
+cxV
+cAT
+cBO
+cxV
+cDi
+cEc
+cEL
+cEL
+cLI
+cFG
+cFW
+cGo
+cxr
+cfI
+cfI
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(205,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+anS
+aoZ
+apR
+apR
+apR
+apR
+apR
+apR
+apR
+apR
+apR
+azw
+aAP
+aoY
+aCW
+aEs
+anV
+aHj
+aIi
+azy
+aKt
+aBY
+aMz
+aoW
+aoW
+aoW
+aoW
+aRZ
+cOC
+aTJ
+anV
+alx
+aLm
+aWn
+aOl
+aNp
+aXe
+aXA
+aLm
+alx
+alx
+alx
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+baW
+baW
+baW
+bbo
+bbq
+bbq
+bbq
+bbq
+bgp
+bhb
+bip
+bjf
+bjW
+bkF
+blI
+bmG
+blI
+bpf
+bqk
+brM
+btd
+buM
+bwi
+bwi
+bzj
+bwi
+bBu
+bwi
+bDT
+bER
+bGg
+bHq
+bIE
+bKo
+cKX
+bMZ
+bOg
+bLP
+bQP
+bNZ
+bTi
+bRY
+bgq
+bbo
+bbq
+bbq
+bbq
+bbo
+bbo
+baW
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+cfI
+cfJ
+cfJ
+cfJ
+cfJ
+cfJ
+cgi
+cgi
+cgi
+cgi
+cgi
+cgi
+cfJ
+chX
+civ
+ciV
+ciX
+cka
+chX
+clu
+ciX
+ciV
+ciX
+ciX
+ciX
+ciX
+ciX
+ciX
+ciX
+ckb
+clv
+cum
+cum
+cwN
+cul
+cqD
+cqD
+cza
+cqD
+cqD
+cqD
+cqD
+cqD
+cza
+cqD
+cqD
+cqD
+cul
+cFX
+cGp
+cqD
+cfJ
+cfI
+cfI
+cfI
+aaa
+cfJ
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(206,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+anS
+aoZ
+apR
+apR
+apR
+apR
+apR
+apR
+apR
+apR
+apR
+azw
+aAP
+aoY
+aCW
+aEs
+anV
+aHk
+aCW
+aJq
+aKu
+aLu
+aMA
+aoU
+aoU
+aoU
+aoU
+aRY
+apb
+aTJ
+anV
+alx
+aLm
+aMg
+aWF
+aWT
+aXf
+aNF
+aLm
+alx
+alx
+alx
+alx
+aXR
+aXR
+aXR
+aaa
+aXR
+aXR
+aXR
+aXR
+aaa
+aXR
+aXR
+aXR
+aXR
+aXR
+baW
+baW
+baW
+bbo
+bbo
+bbo
+bbq
+bbq
+bgp
+bhc
+bip
+bhd
+bjW
+bkG
+blJ
+bmH
+bnH
+bpg
+bql
+brN
+bsW
+brE
+buH
+buH
+buH
+buH
+buH
+buH
+bDU
+bES
+bDI
+buH
+cWA
+bIE
+bIE
+bIE
+bIE
+bNZ
+bNZ
+bNZ
+bTb
+bhd
+bgq
+bbo
+bbq
+bbq
+bbq
+bbo
+bbo
+baW
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+cfI
+cfJ
+cfJ
+cfJ
+cfJ
+cgi
+cgi
+cgi
+cgi
+cgi
+cgi
+cgi
+cfJ
+chX
+ciw
+ciW
+ciX
+ckb
+ckJ
+clv
+clv
+clv
+clv
+clv
+clv
+clv
+cqk
+clv
+clv
+csW
+chX
+cqD
+cqD
+cqD
+cqD
+cfI
+cxr
+czb
+cxr
+cfI
+cfI
+cfI
+cxr
+czb
+cxr
+cfI
+cfJ
+cqD
+cqD
+cGq
+cqD
+cfJ
+cfJ
+cfJ
+cfI
+cfI
+cfJ
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(207,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+acD
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+anS
+aoZ
+apR
+apR
+apR
+apR
+apR
+apR
+apR
+apR
+apR
+azw
+aAP
+aoY
+aDb
+aEt
+anV
+aHl
+aCW
+aoU
+aKv
+aoY
+aMB
+aNv
+aOD
+aPz
+aRi
+aSa
+aTh
+aTK
+anV
+alx
+aLm
+aLm
+aLm
+aLm
+aLm
+aLm
+aLm
+alx
+alx
+alx
+alx
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+baW
+baW
+baW
+baW
+bbo
+bbo
+bbo
+bbq
+bgp
+bhd
+bip
+bjg
+bjW
+bkH
+blI
+bmI
+cMp
+bph
+bjW
+brE
+bsX
+brN
+bwj
+bxZ
+bzk
+bAr
+bzk
+bCy
+bDV
+bET
+buH
+buH
+bGh
+bKp
+bLR
+bNa
+bOh
+bGk
+bgq
+bgq
+bTe
+bUg
+bgs
+bbo
+bbq
+bbq
+bbq
+bbo
+bbo
+baW
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+cfJ
+cfJ
+cfJ
+cfJ
+cfJ
+cfJ
+cfJ
+cgi
+cgi
+cfJ
+chX
+cix
+ciX
+ciX
+ckc
+chX
+ciX
+ciX
+ciX
+ciX
+ciX
+coN
+ciX
+cql
+ciX
+ciX
+csX
+chX
+cfJ
+cfJ
+cfJ
+cfI
+aaa
+cqD
+czc
+cqD
+cfI
+cfI
+aaa
+cqD
+czc
+cqD
+aaa
+cfJ
+cfJ
+cFY
+cGr
+cFY
+cFY
+cfJ
+cfJ
+cfI
+cfJ
+cfJ
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(208,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+anS
+aoZ
+apR
+apR
+apR
+apR
+apR
+apR
+apR
+apR
+axS
+aoZ
+aAQ
+aoY
+aCW
+aEs
+anV
+aHm
+aCW
+aJr
+aKw
+anV
+anV
+anV
+anV
+aPA
+anV
+aSb
+avk
+anV
+anV
+alx
+and
+and
+alx
+alx
+alx
+alx
+alx
+alx
+alx
+alx
+alx
+alx
+alx
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+baW
+baW
+baW
+bbo
+bbo
+bbo
+bgq
+bhd
+bip
+bhc
+bjW
+bkI
+blK
+blI
+bnI
+bpi
+bjW
+brO
+bte
+brE
+bwk
+cWx
+bya
+bya
+bya
+bCz
+bDW
+bEU
+bGh
+bGh
+bGh
+bKq
+bLS
+bLS
+bOi
+bGk
+bgq
+bRW
+bTe
+bjg
+bgq
+bbo
+bbq
+bbq
+bbq
+bbo
+bbo
+baW
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+cfJ
+cfJ
+cfJ
+cfJ
+cfJ
+cfJ
+cfJ
+cgi
+cgi
+cfJ
+chX
+ciy
+ciX
+cjy
+ckd
+ciA
+ciX
+ciX
+ciX
+ciX
+ciX
+ciX
+ciX
+ciX
+ciX
+ciX
+ciX
+chX
+cfJ
+cfJ
+cfI
+cfI
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+cCx
+cEd
+cCx
+aaa
+aaa
+cfJ
+cFY
+cGs
+cGC
+cFY
+cFY
+cHm
+cHm
+cqD
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(209,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+anS
+aoZ
+aoZ
+aoZ
+arK
+arK
+aoZ
+auM
+arK
+aoZ
+aoZ
+aoZ
+aaa
+anV
+aCZ
+aEs
+anV
+aHn
+aCW
+aoU
+aEn
+anV
+aez
+aez
+adZ
+adZ
+akq
+aSc
+cOD
+apO
+adZ
+alx
+alx
+alx
+and
+alx
+and
+and
+and
+and
+and
+alx
+alx
+alx
+alF
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+bbp
+bbo
+bbo
+bbo
+bgr
+bhe
+bip
+bhd
+bjW
+bkJ
+bkJ
+bkJ
+bkJ
+bkJ
+bjW
+brE
+btb
+brE
+bwl
+bya
+bzl
+bAs
+bBv
+bCA
+bDX
+bEV
+bGi
+bHr
+bIG
+bKr
+bLT
+bNb
+bOj
+bGk
+bQQ
+bhd
+bTb
+bhc
+bgq
+bbo
+bbo
+bbo
+bbo
+bbo
+bbo
+bbo
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+cfJ
+cfJ
+cfJ
+cfI
+cfI
+cfJ
+cfJ
+cfJ
+cfJ
+cfJ
+chY
+ciz
+ciY
+ciY
+cke
+ciA
+ciX
+clY
+ciX
+ciX
+ciX
+coO
+ciX
+ciX
+ciX
+clY
+cLv
+chX
+cfJ
+cfJ
+cfI
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+cCx
+cDp
+cDq
+cDp
+cCx
+aaa
+cfJ
+cFY
+cGt
+cGD
+cGP
+cGP
+cHn
+cHy
+cHm
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(210,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+akR
+akR
+akR
+anR
+aoY
+aoY
+aoY
+arL
+asF
+aoY
+asF
+arL
+aoY
+aoY
+aoY
+aoY
+anV
+aCY
+aEs
+anV
+aHo
+aCW
+aoU
+aKx
+anV
+aez
+aez
+adZ
+adZ
+amJ
+anz
+afq
+afq
+aez
+and
+and
+and
+and
+and
+and
+and
+and
+alx
+and
+and
+and
+alx
+alx
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+bbo
+bbo
+bbo
+bgq
+bhd
+biq
+bjh
+bjW
+bkK
+bkK
+bkK
+bkK
+bpj
+bqk
+brP
+btb
+buN
+bwm
+bya
+bzm
+bAt
+bAt
+bCB
+bDY
+bEW
+bGj
+bHs
+bIH
+bKs
+bLU
+bNc
+bOk
+bPP
+bQR
+bRX
+bTj
+bhd
+bgq
+bbo
+bbo
+bbo
+bbo
+bbo
+bbo
+bbo
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+cfJ
+cfJ
+cfJ
+cfI
+cfI
+cfI
+cfJ
+cfJ
+cfJ
+cfJ
+chX
+ciA
+ciA
+chX
+ckf
+chX
+clw
+cLo
+ciA
+ciA
+ciA
+chX
+clw
+cLo
+clw
+chX
+chX
+chX
+cfJ
+cfJ
+cfI
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+cCy
+cDq
+cDq
+cEM
+cCy
+aaa
+cfI
+cfJ
+cFY
+cGE
+cGQ
+cFY
+cHm
+cHz
+cHm
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(211,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+akR
+akR
+akR
+alx
+anT
+aoX
+aoU
+aoY
+arM
+arM
+aoY
+arM
+arM
+aoY
+axT
+azx
+aAR
+anV
+aCX
+aEs
+anV
+aHp
+aIj
+aJs
+aKy
+aHp
+aez
+aez
+adZ
+afq
+amK
+afq
+afq
+aTL
+aez
+and
+and
+and
+and
+and
+and
+and
+and
+alx
+and
+and
+and
+alx
+alx
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+bbo
+bbo
+bbq
+bgq
+bhf
+bip
+bhb
+bjX
+bkL
+blL
+blL
+bnJ
+blL
+bqm
+brQ
+btf
+buO
+bwn
+bya
+bzn
+bAu
+bBw
+bAu
+bAu
+bEX
+bGk
+bHt
+bII
+bKt
+bLV
+bII
+bOl
+cKZ
+bQS
+bOn
+bTb
+bhd
+bgq
+bbo
+bbo
+bbo
+bbo
+bbo
+bbo
+bbo
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+cfI
+cfJ
+cfJ
+cfJ
+cfJ
+cfI
+cfI
+cfI
+cjz
+ckg
+cjz
+ckg
+cjz
+cfI
+cfI
+cfI
+cjz
+ckg
+cjz
+ckg
+cjz
+cfI
+cfI
+cfJ
+cfJ
+cfI
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+cCy
+cDr
+cDq
+cEN
+cCy
+aaa
+aaa
+cfI
+cFY
+cFY
+cFY
+cFY
+abC
+cHA
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(212,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+akR
+alx
+alx
+alx
+anU
+apa
+aoU
+aoY
+arL
+arL
+aoY
+arL
+arL
+aoY
+aoU
+aoU
+aAM
+anV
+aDc
+aEs
+aFL
+aHq
+aIk
+aJt
+aKz
+aHp
+aez
+aez
+aez
+afq
+amK
+afp
+afV
+adZ
+aez
+aez
+aez
+aez
+aez
+and
+and
+alx
+alx
+alx
+and
+and
+and
+alx
+alx
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+bbo
+bbo
+bbq
+bgp
+bhg
+bip
+bji
+bjW
+bkM
+blM
+bmJ
+bnK
+bkM
+bjW
+brR
+btg
+buP
+bwo
+bya
+bzo
+bAv
+bBx
+bCC
+bDZ
+bEY
+cKU
+bHu
+bIJ
+bHu
+bLW
+bIJ
+cWD
+bGk
+bgq
+bOn
+bTb
+bhd
+bgq
+bbo
+bbq
+bbq
+bbq
+bbq
+bbo
+bbp
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+cfK
+cfJ
+cfJ
+cfJ
+cfI
+cfI
+cfI
+cfI
+cjz
+ckg
+cjz
+ckg
+cjz
+cfI
+cfI
+cfI
+cjz
+ckg
+cjz
+ckg
+cjz
+cfI
+cfI
+cfJ
+cfJ
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+cCz
+cDs
+cDq
+cEO
+cCz
+aaa
+aaa
+cfJ
+cfJ
+cfK
+cfJ
+aaa
+abC
+cHA
+abC
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(213,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+akR
+alx
+alx
+alx
+anV
+apb
+aoU
+aoU
+aoU
+asG
+atH
+aoW
+aoW
+aoW
+aoW
+azy
+aoW
+aBY
+aDd
+aEs
+aFM
+aHq
+aIl
+aJu
+aKA
+aHp
+adZ
+aez
+aez
+apx
+cOz
+aqH
+adZ
+adZ
+adZ
+adZ
+afq
+aWo
+afV
+afS
+afS
+afV
+alx
+alx
+alx
+alx
+alx
+alx
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+bbo
+bbo
+bbq
+bgp
+bhh
+bir
+bgq
+bjW
+bjW
+bjW
+bjW
+bnL
+bjW
+bjW
+brS
+bjY
+buQ
+bwp
+byb
+bya
+cKP
+bya
+bya
+bya
+bya
+bGk
+bHv
+bIK
+bHv
+bHv
+bHv
+bHv
+bGk
+bgq
+bOn
+bTb
+bUg
+bgr
+bbo
+bbq
+bbq
+bbq
+bbq
+bbo
+bbo
+bbo
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+cfJ
+cfI
+cfI
+cfI
+aaa
+aaa
+cjz
+ckg
+cjz
+ckg
+cjz
+cfI
+cfI
+cfI
+cjz
+ckg
+cjz
+ckg
+cjz
+aaa
+aaa
+cfI
+cfI
+cfI
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+cCy
+cDs
+cDq
+cEO
+cCy
+aaa
+aaa
+aaa
+cfI
+abC
+aaa
+aaa
+abC
+cHB
+caQ
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aab
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(214,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+akR
+akR
+alx
+alx
+anV
+apc
+apS
+apS
+arN
+arN
+cLU
+arN
+arN
+apS
+apS
+azz
+apS
+aBZ
+aDe
+aEu
+aFN
+aHq
+aIm
+aJu
+aKB
+aHp
+adZ
+adZ
+afV
+alR
+amK
+afq
+adZ
+afq
+akq
+akq
+akq
+avh
+awu
+alr
+aOF
+afS
+afV
+afS
+afV
+akR
+akR
+akR
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+bbo
+bbq
+bgp
+bhd
+bip
+bgq
+bgq
+bgq
+bgq
+bgq
+bgp
+bgp
+bgp
+bjY
+bth
+buR
+bwq
+bjY
+bgq
+bAw
+bhb
+bCD
+bkR
+bgq
+bGk
+cWy
+bHv
+bHv
+cWy
+bIK
+cWy
+bGk
+bgq
+bOn
+bTb
+bhd
+bgq
+bbo
+bbq
+bbq
+bbq
+bbq
+bbq
+bbq
+bbo
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+cfI
+aaa
+aaa
+aaa
+cjz
+ckg
+cjz
+ckg
+cjz
+cfI
+aaa
+aaa
+cjz
+ckg
+cjz
+ckg
+cjz
+aaa
+aaa
+cfI
+cfI
+cfI
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+cCy
+cDs
+cDq
+cEO
+cCy
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+abC
+abC
+cHA
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aad
+aad
+aaa
+aaa
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(215,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+akR
+alx
+alx
+alx
+anV
+apd
+aoU
+aoU
+arO
+arO
+aoU
+arO
+arO
+aoU
+axU
+azA
+aoU
+aBX
+aoU
+aEn
+aFO
+aHq
+aIm
+aJu
+aKC
+aHp
+aHp
+aNw
+afq
+afq
+amK
+akq
+aEi
+akq
+akq
+aqH
+afq
+afp
+afV
+akq
+akp
+afS
+akp
+akp
+ajo
+akR
+akR
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+bbo
+bbo
+bbq
+bgp
+bhd
+bip
+bgq
+bgp
+bgp
+bgp
+bgq
+bgp
+bgp
+bgp
+bjY
+bti
+bqp
+bpr
+bnM
+bhd
+bhd
+bhd
+bhd
+blR
+bgq
+bGk
+cWz
+bHv
+bHv
+bHv
+bHv
+bHv
+bGk
+bgp
+bOn
+bTb
+buZ
+bgq
+bbo
+bbo
+bbq
+bbq
+bbq
+bbq
+bbq
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+chX
+ckf
+chX
+clx
+chX
+aaa
+aaa
+aaa
+chX
+clx
+chX
+clx
+chX
+aaa
+aaa
+aaa
+cfI
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+cCy
+cDs
+cDq
+cEO
+cCy
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+abC
+cHA
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aad
+aab
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(216,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+akR
+akR
+alx
+alx
+anV
+ape
+ape
+aqQ
+arP
+asH
+atI
+auN
+apQ
+apQ
+axV
+azB
+aAS
+aBW
+aDf
+aEv
+aFP
+aHq
+aIn
+aJv
+aKD
+cNU
+cOb
+cOf
+aOE
+cOs
+anz
+adZ
+adZ
+aez
+aez
+aez
+adZ
+adZ
+afS
+akp
+aXg
+akp
+akp
+akp
+ajo
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+bbo
+bbo
+bbo
+bbo
+bgs
+bhe
+bip
+bgq
+bgq
+bgp
+bgp
+bgp
+bgp
+bgp
+bgp
+bjY
+btj
+bqp
+bpr
+bnM
+bhc
+bhg
+blS
+bgq
+bye
+bhf
+bGk
+bGk
+bHv
+cWB
+bHv
+bHv
+bGk
+bGk
+bhd
+bOn
+bTb
+bhd
+bgq
+bgq
+bbo
+bbo
+bbo
+bbo
+bbq
+bbq
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+chm
+chm
+chm
+ckh
+chm
+cly
+chm
+chn
+chn
+chn
+chm
+cpu
+chm
+cpu
+chm
+chm
+chm
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+cCA
+cDs
+cDq
+cEO
+cCA
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+abC
+cHA
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aac
+aac
+aab
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(217,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+akR
+akR
+ank
+ank
+apf
+apf
+aqR
+ank
+ank
+ank
+ank
+ank
+ank
+ank
+azC
+ank
+ank
+anV
+anV
+anV
+aHp
+aHp
+aHp
+aHp
+aHp
+aHp
+aoR
+ahr
+apu
+afq
+adZ
+alx
+and
+and
+and
+alx
+alx
+afS
+akp
+aXh
+afV
+aXQ
+akp
+ajo
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+bbo
+bbo
+bbo
+bgq
+bhd
+bis
+bjj
+bgq
+bgq
+bgq
+bgp
+bgp
+bgp
+bgq
+bjY
+btk
+buS
+bwr
+bjY
+bgq
+bgq
+bgr
+bgq
+bip
+bhd
+bhh
+bGk
+bGk
+bGk
+bGk
+bGk
+bGk
+bhd
+bhd
+bOn
+bTb
+bhd
+bhd
+bgq
+bgq
+bgq
+bgp
+bbq
+bbo
+bbo
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+chm
+chm
+chm
+chm
+ciZ
+cjA
+cjB
+chm
+chJ
+ckk
+ckk
+ckk
+ckk
+coP
+chJ
+chm
+cra
+cra
+csY
+chm
+chm
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+cCy
+cDt
+cDq
+cEP
+cCy
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+abC
+cHA
+abC
+abC
+cHf
+cIX
+cHf
+aaa
+aaa
+aaa
+aaa
+aaa
+aac
+aac
+aab
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(218,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+ank
+anW
+apg
+apT
+aqS
+aph
+ank
+atJ
+atJ
+avV
+axd
+axW
+azD
+aAT
+ank
+adZ
+adZ
+adZ
+adZ
+adZ
+aJw
+ahr
+ahr
+ahr
+aNx
+aoy
+afq
+aez
+aez
+alx
+and
+and
+and
+and
+alx
+afS
+aRj
+aXi
+afS
+ala
+ajr
+ajo
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+baW
+bbo
+bbq
+bgp
+bhd
+bhd
+bip
+bjY
+bjY
+bjY
+bjY
+bjY
+bjY
+bjY
+bjY
+bjY
+buQ
+bws
+bjY
+bgq
+bgq
+bgq
+bgq
+bip
+bhd
+bhd
+bhg
+bhd
+bKu
+bhc
+bhd
+bhd
+bPQ
+bQT
+bRY
+bTk
+bhd
+bhd
+bhg
+bhd
+bXk
+bgp
+bbq
+bbo
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+chm
+chx
+chH
+chZ
+chm
+cja
+cjB
+cki
+chm
+clz
+chJ
+chJ
+chJ
+chJ
+chJ
+cpv
+chm
+cra
+cra
+csY
+ctV
+cuO
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+cCy
+cDs
+cDq
+cEO
+cCy
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+cHf
+cHO
+cHf
+cHf
+cHC
+cIY
+cHf
+aaa
+aaa
+aaa
+aaa
+aab
+aac
+aac
+aac
+aac
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(219,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+ank
+anX
+aph
+apU
+aqT
+arQ
+asI
+atK
+auO
+auO
+auO
+avW
+azE
+avW
+ank
+apO
+aqH
+aoR
+ahr
+ahr
+apu
+afq
+aqH
+afq
+aNy
+afV
+adZ
+aez
+and
+alx
+and
+and
+and
+and
+alx
+afV
+afV
+afV
+afV
+afV
+afV
+afV
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+bbp
+bbo
+bbq
+bgp
+bgq
+bhd
+bip
+bjY
+bkN
+blN
+blP
+bnM
+bpk
+bqn
+brT
+bnM
+buT
+bwt
+bjY
+bgp
+bgp
+bgp
+bgp
+bis
+bjZ
+bjZ
+bHw
+bjZ
+bjZ
+bjZ
+bjZ
+bOm
+bPR
+bQU
+bQU
+bTl
+bjZ
+bkR
+bhd
+bhd
+bgr
+bgr
+bgs
+abC
+abC
+abC
+abC
+abC
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+chn
+chy
+chI
+cia
+chm
+cja
+cjB
+cki
+chm
+chJ
+clZ
+clZ
+clZ
+clZ
+clZ
+chJ
+cqm
+cra
+cra
+csZ
+ctV
+cuO
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+cCy
+cCz
+cEe
+cCz
+cCy
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+cHf
+cHP
+cHC
+cIw
+cIH
+cIZ
+cHf
+aaa
+aaa
+aaa
+aaa
+aac
+aac
+aac
+aac
+aac
+aaa
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(220,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+akR
+akR
+ank
+anY
+api
+apV
+apV
+apV
+asJ
+atL
+atL
+avX
+atL
+atL
+azF
+aAU
+ank
+aDg
+auE
+apu
+afq
+afq
+afq
+aKE
+adZ
+adZ
+afV
+adZ
+alx
+alx
+alx
+alx
+and
+and
+and
+and
+alx
+alx
+akR
+akR
+alx
+alx
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+baW
+bbo
+bbq
+bbq
+bgq
+bhc
+bip
+bjY
+bkO
+blO
+bmK
+bnN
+bpl
+bqo
+brU
+btl
+bqp
+bpr
+bjY
+bjY
+bjY
+bjY
+bgp
+bgp
+bgp
+bhd
+bip
+bhd
+bgq
+bgq
+bhd
+bOn
+bOn
+bhd
+blS
+bhd
+bgq
+bVf
+bjZ
+bjZ
+bXl
+bYc
+bYO
+acI
+acI
+acI
+caQ
+abC
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+chn
+chz
+chJ
+cib
+chm
+chn
+cjC
+chn
+ckK
+chJ
+cma
+cma
+cma
+cma
+cma
+chJ
+chm
+crb
+cso
+csZ
+ctV
+cuO
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+cHf
+cHO
+cHC
+cIx
+cII
+cJa
+cHf
+aaa
+aaa
+aaa
+aad
+aac
+aac
+aac
+aac
+aac
+aac
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(221,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+akR
+alx
+ank
+anZ
+apj
+apW
+aqU
+arR
+ank
+atM
+auP
+avW
+avW
+axX
+azG
+aAV
+ank
+afK
+afq
+aoy
+apx
+anN
+adZ
+afV
+adZ
+alx
+alx
+alx
+alx
+and
+and
+and
+and
+and
+and
+and
+alx
+akR
+akR
+akR
+akR
+akR
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+baW
+baW
+bbq
+bbo
+bgq
+bhd
+bip
+bjY
+bkP
+blP
+bmL
+bnO
+bpm
+bqp
+bkQ
+bkQ
+buU
+bpr
+bnM
+blP
+bzr
+bjY
+bgp
+bgp
+bgp
+bjg
+bip
+bgq
+bgq
+bgq
+bgq
+bOn
+bOn
+bgq
+bgs
+bgq
+bgq
+bgq
+bhd
+bhd
+bgs
+bgs
+bgs
+abC
+abC
+bZT
+caR
+bZT
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+chn
+chA
+chJ
+cic
+chm
+cjb
+chJ
+ckj
+ckL
+chJ
+chJ
+chJ
+chJ
+chJ
+chJ
+chJ
+chm
+chm
+chm
+chm
+ctV
+cuO
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+cHf
+cHC
+cHQ
+cIe
+cHS
+cIg
+cIz
+cHf
+aaa
+aaa
+aaa
+aac
+aac
+aac
+aac
+aad
+aaa
+aaa
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(222,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+akR
+akR
+alx
+ank
+ank
+ank
+ank
+ank
+ank
+ank
+ank
+auQ
+avY
+auQ
+ank
+ank
+ank
+ank
+adZ
+adZ
+afV
+adZ
+adZ
+adZ
+adZ
+adZ
+alx
+alx
+alx
+alx
+and
+and
+and
+and
+and
+and
+and
+alx
+alx
+akR
+akR
+akR
+akR
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+baW
+baW
+bbq
+bbo
+bgq
+bhd
+bip
+bjY
+bkQ
+bkQ
+bkQ
+bkQ
+bpn
+bqq
+brV
+btm
+buV
+bwu
+bnO
+bzp
+blP
+bjY
+bgp
+bgp
+bgp
+bhd
+bir
+bgq
+bgq
+bgq
+bgq
+bOo
+bPS
+bgp
+bbq
+bbq
+bgq
+bgq
+bgq
+bgq
+bgq
+bgq
+aaa
+aaa
+aaa
+bZT
+caS
+bZT
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+chn
+chz
+chJ
+chJ
+ciB
+chJ
+chJ
+ckk
+ckl
+chJ
+clZ
+clZ
+clZ
+clZ
+clZ
+chJ
+chn
+cjd
+csp
+cjd
+ctV
+cuO
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+cHf
+cHD
+cHR
+cIf
+cIy
+cIh
+cIA
+cHf
+aaa
+aaa
+aad
+aab
+aad
+aad
+aad
+aab
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(223,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+akR
+alx
+alx
+alx
+alx
+alx
+alx
+alx
+akR
+akR
+atN
+auR
+avW
+avW
+atN
+akR
+akR
+alx
+alx
+and
+and
+and
+alx
+alx
+alx
+alx
+and
+and
+and
+and
+and
+and
+and
+and
+alx
+alx
+alx
+alx
+alx
+alx
+alx
+akR
+akR
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+baW
+bbq
+bbo
+bgs
+bhe
+bip
+bjY
+bkN
+blN
+bmL
+bnO
+bpm
+bqr
+brW
+bmK
+buW
+bmK
+byc
+bzq
+bAx
+bjY
+bgq
+bgs
+bhe
+bhd
+bip
+bgq
+bgq
+bgq
+bgq
+bOn
+bOn
+bgp
+bbq
+bbq
+bbo
+bbo
+bbo
+bbo
+bbo
+bbo
+aaa
+aaa
+aaa
+bZT
+caR
+cam
+bZT
+bZT
+bZT
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+chn
+chB
+chK
+cid
+chm
+cjc
+chJ
+ckl
+ckl
+chJ
+cma
+cma
+cma
+cma
+cma
+chJ
+cqn
+cjc
+cjc
+cjc
+ctV
+cuO
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaP
+abC
+cHf
+cHf
+cHE
+cHS
+cIg
+cIz
+cHC
+cHf
+cHf
+aaa
+aaa
+aaa
+aad
+aaa
+aad
+aad
+aab
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(224,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+alF
+akR
+alF
+alx
+alx
+alx
+alx
+aaa
+akR
+atN
+auS
+avW
+axe
+atN
+aaa
+akR
+akR
+alx
+and
+and
+and
+and
+and
+and
+and
+and
+and
+and
+and
+and
+and
+and
+and
+alx
+alx
+alx
+alx
+alx
+alx
+alx
+alx
+alx
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+baW
+bbq
+bbo
+bgq
+bhd
+bip
+bjY
+bkO
+blQ
+bmK
+bnP
+bpl
+bqs
+blP
+btn
+buX
+blP
+bnM
+bzr
+blP
+bjY
+bgq
+bgq
+bhd
+bEa
+bEb
+bgq
+bgq
+bgq
+bgq
+bOp
+bOp
+bgp
+bbq
+bbq
+bbo
+bbo
+bbo
+bbo
+bbo
+bbo
+aaa
+aaa
+aaa
+bZT
+caT
+cbt
+cbW
+ccq
+ccI
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+chm
+chx
+chL
+cie
+chm
+cjd
+chJ
+chJ
+chJ
+chJ
+chJ
+chJ
+chJ
+chJ
+chJ
+chJ
+chn
+cjc
+cjc
+cjc
+ctV
+cuO
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+cHg
+cHo
+cHF
+cHT
+cIh
+cIA
+cHf
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(225,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+atN
+atN
+avZ
+atN
+atN
+aaa
+aaa
+akR
+alx
+alx
+alx
+alx
+alx
+alx
+alx
+alx
+alx
+alx
+alx
+alx
+alx
+alx
+alx
+alx
+alx
+alx
+alx
+alx
+alx
+alx
+alx
+alx
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+baW
+bbo
+bbq
+bgp
+bhc
+bip
+bjY
+bkP
+blP
+blP
+bnM
+bpo
+bqt
+brX
+bto
+buY
+bwv
+bnM
+blP
+bzr
+bjY
+bgq
+bgq
+bhc
+bip
+bgs
+bgs
+bgr
+bgr
+bgr
+bOq
+bOq
+bgr
+bgs
+bbo
+bbo
+bbo
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+bZT
+caU
+cbu
+cbX
+bZT
+bZT
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+chm
+chm
+chm
+chm
+cje
+cjD
+cjc
+cjc
+clA
+cmb
+cmb
+cmb
+cmb
+coQ
+clA
+chn
+crc
+csq
+crc
+chm
+chm
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+cHf
+cHf
+cHf
+cHf
+cHf
+cHf
+cHf
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(226,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aab
+aab
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+asK
+asK
+asL
+awa
+asL
+asK
+asK
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+alx
+alx
+alx
+alx
+alx
+alx
+alx
+alx
+alx
+alx
+alx
+alx
+alx
+alx
+alx
+alx
+alx
+alx
+alx
+alx
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+baW
+bbo
+bbq
+bgp
+bhd
+bip
+bjY
+bjY
+bjY
+bjY
+bkQ
+bpp
+bqu
+bkQ
+bjY
+bjY
+bjY
+bjY
+bjY
+bjY
+bjY
+bgq
+bgq
+bhd
+bip
+bgs
+bIL
+bIN
+bLY
+bNd
+bOr
+bPT
+bQV
+bgs
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+bZT
+caV
+caW
+cbY
+bZT
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+chm
+chn
+chm
+chn
+chm
+chm
+chm
+chn
+chn
+chn
+chm
+chm
+chm
+chn
+chm
+chn
+chm
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(227,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aaa
+aaa
+aad
+aaa
+aaa
+aaa
+aab
+aad
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+asK
+atO
+auT
+auT
+auU
+axY
+asK
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+alx
+alx
+alx
+alx
+alx
+and
+alx
+alx
+alx
+and
+alx
+alF
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+bbp
+bbo
+bbq
+bgp
+bhd
+bis
+bjZ
+bkR
+bgq
+bjY
+bnQ
+bpq
+bqv
+bqn
+bjY
+cWu
+bjY
+byd
+bhd
+bAw
+bgq
+bgp
+bgp
+bhg
+bip
+bgr
+bIM
+bKv
+bLZ
+bNe
+bOs
+bPU
+bQW
+bgs
+bgs
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+bZT
+cam
+caW
+cbv
+cam
+bZT
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(228,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aab
+aab
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+asL
+atP
+auU
+auT
+auU
+axZ
+azH
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+alx
+alx
+alx
+alx
+alx
+alx
+alx
+alx
+alx
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+bbo
+bbq
+bgp
+bit
+bhd
+bhd
+bkS
+bkR
+bjY
+blP
+bpr
+bqw
+blP
+cWt
+cWv
+bjY
+bip
+buZ
+bgp
+bgp
+bgp
+bgp
+bhd
+bip
+bgr
+bIN
+bKw
+bMa
+bNf
+bOt
+bPV
+bQX
+bRZ
+bTm
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+bZU
+can
+caX
+bZT
+bZT
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(229,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aab
+aab
+aab
+aaa
+aaa
+aaa
+aaa
+aad
+aac
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+asK
+atQ
+auT
+auT
+auU
+aya
+asK
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+alx
+alx
+alx
+alx
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aac
+aab
+aaa
+aaa
+aad
+aac
+aac
+aac
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+bbo
+bgq
+bgr
+bhe
+bhd
+bhd
+blR
+bjY
+blP
+bps
+bqx
+blP
+bjY
+bjY
+bjY
+bir
+bhc
+bgp
+bgp
+bgp
+bgq
+bhd
+bip
+bgr
+bIO
+bKx
+bMb
+bgr
+bOu
+bOu
+bOu
+bgs
+bgs
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+abC
+bZT
+bZT
+bZT
+bZT
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(230,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aad
+aab
+aab
+aab
+aab
+aad
+aac
+aac
+aad
+aaa
+aaa
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+asK
+asK
+asL
+awb
+asL
+asK
+asK
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aab
+aab
+aab
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aab
+aaa
+aaa
+aaa
+aac
+aad
+aad
+aac
+aac
+aac
+aac
+aad
+aad
+aad
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+bbo
+bbo
+bgq
+bgq
+bhg
+bhd
+bip
+bjY
+bnR
+bpt
+bqy
+brY
+bjY
+bgq
+bjg
+bye
+bjg
+bgp
+bgp
+bgp
+bEa
+bjZ
+bGl
+bgs
+bIP
+bKy
+bMc
+bgs
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(231,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aad
+aab
+aac
+aac
+aac
+aac
+aac
+aac
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aac
+aac
+aac
+aac
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aab
+aac
+aac
+aac
+aac
+aac
+aac
+aac
+aac
+aad
+aaa
+aad
+aad
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+bbo
+bbq
+bbq
+bgp
+bhd
+bhd
+bip
+bjY
+bjY
+bjY
+bqz
+bjY
+bjY
+bgq
+bhd
+bip
+bhd
+bhd
+bhd
+bhd
+bip
+bhd
+bgr
+bgs
+bIQ
+bgs
+bgs
+bgs
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(232,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aab
+aac
+aac
+aac
+aac
+aac
+aac
+aac
+aac
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aac
+aac
+aac
+aab
+aab
+aac
+aac
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aab
+aab
+aab
+aad
+aac
+aac
+aac
+aad
+aad
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+bbq
+bbq
+bgp
+bgq
+bhd
+bis
+bjZ
+bjZ
+bjZ
+bqA
+bjZ
+bjZ
+bjZ
+bjZ
+byf
+bjZ
+bjZ
+bjZ
+bjZ
+bEb
+bhd
+bgq
+bgs
+bIR
+bgs
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(233,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aag
+aaa
+aaa
+aaa
+aaa
+aaa
+aab
+aac
+aac
+aac
+aac
+aac
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aac
+aad
+aac
+aac
+aac
+aad
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aaa
+aaa
+aad
+aaa
+aad
+aad
+aab
+aab
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+bbq
+bbq
+bgp
+bgq
+blS
+bhd
+bhd
+bhd
+bqC
+blS
+bhb
+bva
+bhd
+bhd
+bhd
+blS
+bhc
+bhd
+bhd
+bgq
+bgq
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(234,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aac
+aac
+aac
+aac
+aac
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aab
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+bbq
+bbq
+bbq
+bgq
+bgs
+bgq
+bgq
+bhd
+bIQ
+bgs
+btp
+bgs
+bww
+bgq
+bgq
+bgs
+bgq
+bgq
+bgq
+bgq
+bbo
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aag
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aaa
+aaa
+aaa
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(235,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+bbo
+bbo
+bbq
+bbq
+bgp
+bpu
+bqD
+brZ
+btq
+bvb
+bww
+bgp
+bbq
+bbo
+bbq
+bbq
+bbq
+bbq
+bbo
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(236,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+bbo
+bbq
+bbq
+bbq
+bpv
+bgs
+bgs
+btr
+bgs
+bww
+bbq
+bbq
+bbo
+bbo
+bbo
+bbp
+bbo
+aaa
+aaa
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aad
+aab
+aab
+aab
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(237,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaP
+akk
+aaP
+abC
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aaa
+aaa
+aaa
+aaa
+aad
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+bbo
+bbo
+bbo
+bpv
+bgs
+bsa
+bts
+bsa
+bgs
+bbq
+bbo
+bbo
+bbo
+bbo
+abC
+aaa
+aaa
+aaP
+bIS
+aaP
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aab
+aac
+aac
+aad
+aad
+aad
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(238,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaP
+abc
+aaP
+aaP
+aaa
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+bbo
+bpw
+bgs
+bsb
+btt
+bsb
+bgs
+bbq
+aaa
+aaa
+aaa
+aaa
+abC
+aaa
+aaP
+bEZ
+bIT
+aaP
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aag
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aac
+aac
+aac
+aab
+aac
+aac
+aad
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(239,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaP
+akl
+akX
+aaP
+aaP
+abC
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+abD
+bsb
+btu
+bsb
+abD
+aaa
+aaa
+aaa
+aaa
+aaa
+abC
+aaP
+bEZ
+bHx
+abb
+aaP
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aab
+aab
+aac
+aac
+aac
+aac
+aac
+aac
+aab
+aab
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(240,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaP
+akm
+akY
+alG
+aaP
+aaP
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+bsb
+btv
+bsb
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaP
+bEZ
+bGm
+abs
+abb
+aaP
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aab
+aab
+aad
+aac
+aac
+aac
+aac
+aac
+aab
+aab
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(241,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaP
+akn
+akZ
+abr
+abV
+anl
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+btw
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+bEc
+abV
+abr
+abr
+bIU
+aaP
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aad
+aac
+aac
+aac
+aac
+aac
+aac
+aac
+aab
+aab
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(242,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaP
+aaP
+aaP
+aaP
+aaP
+aaP
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+cKF
+cKF
+cKF
+cKF
+cKF
+aaa
+aaa
+aaa
+aaa
+aaa
+aaP
+aaP
+aaP
+aaP
+aaP
+aaP
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aac
+aac
+aac
+aab
+aab
+aab
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(243,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(244,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aag
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(245,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(246,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aag
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(247,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(248,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aab
+aab
+aad
+aad
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(249,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aac
+aac
+aac
+aad
+aad
+aaa
+aab
+aab
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(250,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aad
+aad
+aac
+aac
+aac
+aac
+aac
+aac
+aab
+aab
+aab
+aab
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aag
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(251,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aab
+aad
+aad
+aac
+aac
+aac
+aac
+aac
+aac
+aac
+aac
+aad
+aad
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(252,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aad
+aad
+aac
+aac
+aac
+aac
+aad
+aad
+aac
+aac
+aad
+aad
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(253,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aac
+aac
+aac
+aac
+aad
+aad
+aac
+aac
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(254,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aab
+aab
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
+(255,1,1) = {"
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+"}
diff --git a/_maps/map_files/Deltastation/DeltaStation2.dmm b/_maps/map_files/Deltastation/DeltaStation2.dmm
index 26dbc90924..48f1c4b36d 100644
--- a/_maps/map_files/Deltastation/DeltaStation2.dmm
+++ b/_maps/map_files/Deltastation/DeltaStation2.dmm
@@ -1,6 +1,6 @@
//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
"aaa" = (
-/turf/open/space,
+/turf/open/space/basic,
/area/space)
"aab" = (
/obj/docking_port/stationary{
@@ -29,9 +29,7 @@
/turf/open/space,
/area/space)
"aad" = (
-/obj/effect/landmark{
- name = "carpspawn"
- },
+/obj/effect/landmark/carpspawn,
/turf/open/space,
/area/space)
"aae" = (
@@ -158,10 +156,7 @@
/area/space)
"aar" = (
/obj/structure/lattice/catwalk,
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/xeno_spawn,
/turf/open/space,
/area/solar/auxstarboard)
"aas" = (
@@ -530,7 +525,7 @@
icon_state = "doors";
name = "WARNING: EXTERNAL AIRLOCK";
pixel_x = 32
- },
+ },
/obj/effect/turf_decal/stripes/line{
dir = 2
},
@@ -557,14 +552,14 @@
/turf/open/floor/plasteel/yellow/side{
dir = 9;
initial_gas_mix = "o2=22;n2=82;TEMP=293.15"
- },
+ },
/area/mining_construction)
"abj" = (
/turf/open/floor/plasteel/yellow/side{
dir = 1;
icon_state = "yellow";
initial_gas_mix = "o2=22;n2=82;TEMP=293.15"
- },
+ },
/area/mining_construction)
"abk" = (
/obj/effect/decal/cleanable/dirt,
@@ -696,9 +691,7 @@
icon_state = "0-4";
d2 = 4
},
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/turf/open/floor/plating,
/area/maintenance/auxsolarstarboard)
"abx" = (
@@ -707,7 +700,7 @@
d2 = 8;
icon_state = "4-8";
pixel_x = 0
- },
+ },
/obj/structure/cable{
d1 = 2;
d2 = 4;
@@ -724,7 +717,7 @@
d2 = 8;
icon_state = "4-8";
pixel_x = 0
- },
+ },
/obj/machinery/door/airlock/external{
name = "External Solar Access";
req_access_txt = "10"
@@ -741,7 +734,7 @@
d2 = 8;
icon_state = "4-8";
pixel_x = 0
- },
+ },
/obj/structure/fans/tiny,
/obj/effect/turf_decal/delivery,
/turf/open/floor/plasteel,
@@ -753,7 +746,7 @@
d2 = 8;
icon_state = "4-8";
pixel_x = 0
- },
+ },
/turf/open/space,
/area/solar/auxstarboard)
"abB" = (
@@ -911,7 +904,7 @@
icon_state = "doors";
name = "WARNING: EXTERNAL AIRLOCK";
pixel_x = 0
- },
+ },
/turf/closed/wall/r_wall,
/area/maintenance/auxsolarstarboard)
"abM" = (
@@ -954,7 +947,7 @@
icon_state = "doors";
name = "WARNING: EXTERNAL AIRLOCK";
pixel_x = 0
- },
+ },
/turf/open/floor/plating,
/area/hallway/secondary/entry{
name = "Arrivals"
@@ -992,7 +985,7 @@
desc = "A sign that shows there are doors here. There are doors everywhere!";
icon_state = "doors";
name = "WARNING: EXTERNAL AIRLOCK"
- },
+ },
/turf/open/floor/plating,
/area/hallway/secondary/entry{
name = "Arrivals"
@@ -1305,7 +1298,7 @@
/turf/open/floor/plasteel/yellow/side{
dir = 9;
initial_gas_mix = "o2=22;n2=82;TEMP=293.15"
- },
+ },
/area/mining_construction)
"acx" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
@@ -1316,7 +1309,7 @@
dir = 1;
icon_state = "yellow";
initial_gas_mix = "o2=22;n2=82;TEMP=293.15"
- },
+ },
/area/mining_construction)
"acy" = (
/obj/effect/decal/cleanable/dirt,
@@ -1512,9 +1505,7 @@
dir = 8
},
/obj/effect/decal/cleanable/dirt,
-/obj/effect/landmark/start{
- name = "Assistant"
- },
+/obj/effect/landmark/start/assistant,
/obj/effect/turf_decal/delivery,
/turf/open/floor/plasteel,
/area/hallway/secondary/entry{
@@ -1622,9 +1613,7 @@
/obj/structure/chair{
dir = 4
},
-/obj/effect/landmark/start{
- name = "Assistant"
- },
+/obj/effect/landmark/start/assistant,
/obj/effect/turf_decal/delivery,
/turf/open/floor/plasteel,
/area/hallway/secondary/entry{
@@ -1772,9 +1761,7 @@
/obj/structure/cable/white{
icon_state = "2-8"
},
-/obj/effect/landmark{
- name = "lightsout"
- },
+/obj/effect/landmark/lightsout,
/obj/machinery/holopad,
/obj/structure/cable/white{
icon_state = "1-2"
@@ -2063,9 +2050,7 @@
name = "Arrivals"
})
"aeb" = (
-/obj/effect/landmark{
- name = "Observer-Start"
- },
+/obj/effect/landmark/observer_start,
/turf/open/floor/plasteel/neutral,
/area/shuttle/arrival)
"aec" = (
@@ -2277,7 +2262,7 @@
/turf/open/floor/plasteel/yellow/side{
dir = 10;
initial_gas_mix = "o2=22;n2=82;TEMP=293.15"
- },
+ },
/area/mining_construction)
"aeB" = (
/obj/structure/cable/white{
@@ -2493,7 +2478,8 @@
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/machinery/door/airlock/maintenance_hatch{
name = "Maintenance Hatch";
- req_access_txt = "12"
+ req_access_txt = "0";
+ req_one_access_txt = "32;47;48"
},
/obj/effect/turf_decal/stripes/line{
dir = 2
@@ -2557,7 +2543,7 @@
/turf/open/floor/plasteel/neutral/side{
dir = 5;
initial_gas_mix = "o2=22;n2=82;TEMP=293.15"
- },
+ },
/area/maintenance/starboard/fore_starboard_maintenance)
"afc" = (
/obj/structure/grille,
@@ -2645,9 +2631,7 @@
/area/maintenance/starboard/fore_starboard_maintenance)
"afo" = (
/obj/effect/decal/cleanable/dirt,
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/turf/open/floor/plating,
/area/maintenance/starboard/fore_starboard_maintenance)
@@ -2798,9 +2782,7 @@
/turf/open/floor/plasteel/redyellow,
/area/maintenance/starboard/fore_starboard_maintenance)
"afI" = (
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
},
@@ -3466,9 +3448,7 @@
name = "Arrivals"
})
"agY" = (
-/obj/effect/landmark{
- name = "lightsout"
- },
+/obj/effect/landmark/lightsout,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
},
@@ -3721,7 +3701,7 @@
/obj/structure/cable/white{
d2 = 2;
icon_state = "0-2"
- },
+ },
/obj/structure/grille,
/obj/structure/window/reinforced/fulltile,
/turf/open/floor/plating,
@@ -3806,7 +3786,7 @@
/obj/structure/cable/white{
d2 = 2;
icon_state = "0-2"
- },
+ },
/obj/structure/grille,
/obj/structure/window/reinforced/fulltile,
/turf/open/floor/plating,
@@ -4578,9 +4558,7 @@
})
"aju" = (
/obj/structure/chair/comfy/brown,
-/obj/effect/landmark/start{
- name = "Assistant"
- },
+/obj/effect/landmark/start/assistant,
/turf/open/floor/plasteel/grimy,
/area/hallway/secondary/entry{
name = "Arrivals"
@@ -4743,7 +4721,7 @@
anchored = 1;
dir = 4;
icon_state = "reflector_box"
- },
+ },
/turf/open/floor/plasteel/vault{
dir = 5
},
@@ -4762,8 +4740,9 @@
})
"ajO" = (
/obj/machinery/camera{
- c_tag = "Atmospherics - Reflector Box";
- name = "atmospherics camera"
+ c_tag = "Supermatter Engine - Fore";
+ name = "atmospherics camera";
+ network = list("SS13","Engine")
},
/turf/open/floor/plasteel/vault{
dir = 5
@@ -4776,7 +4755,7 @@
anchored = 1;
dir = 8;
icon_state = "reflector"
- },
+ },
/turf/open/floor/plasteel/vault{
dir = 8
},
@@ -4976,7 +4955,7 @@
/obj/structure/cable/white{
d2 = 2;
icon_state = "0-2"
- },
+ },
/turf/open/floor/plating,
/area/bridge{
name = "Customs"
@@ -5058,7 +5037,7 @@
/obj/structure/cable/white{
d2 = 2;
icon_state = "0-2"
- },
+ },
/turf/open/floor/plating,
/area/security/checkpoint2)
"akA" = (
@@ -5197,7 +5176,7 @@
anchored = 1;
dir = 1;
icon_state = "reflector_double"
- },
+ },
/turf/open/floor/plasteel/vault{
dir = 5
},
@@ -5521,9 +5500,7 @@
/obj/structure/cable/white{
icon_state = "1-2"
},
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/turf/open/floor/plating,
/area/maintenance/starboard/fore_starboard_maintenance)
"alA" = (
@@ -5633,7 +5610,7 @@
anchored = 1;
dir = 4;
icon_state = "reflector_double"
- },
+ },
/turf/open/floor/plasteel/vault{
dir = 5
},
@@ -6334,7 +6311,7 @@
/turf/open/floor/plasteel/neutral/side{
dir = 6;
initial_gas_mix = "o2=22;n2=82;TEMP=293.15"
- },
+ },
/area/maintenance/fpmaint2/fore_port_maintenance)
"ano" = (
/obj/structure/table/wood,
@@ -6459,9 +6436,7 @@
buildstackamount = 0;
dir = 1
},
-/obj/effect/landmark/start{
- name = "Assistant"
- },
+/obj/effect/landmark/start/assistant,
/obj/machinery/airalarm{
dir = 1;
icon_state = "alarm0";
@@ -6740,7 +6715,7 @@
anchored = 1;
dir = 1;
icon_state = "reflector"
- },
+ },
/turf/open/floor/plasteel/vault{
dir = 8
},
@@ -7028,10 +7003,7 @@
/area/shuttle/syndicate)
"aoG" = (
/obj/structure/lattice/catwalk,
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/xeno_spawn,
/turf/open/space,
/area/solar/auxport)
"aoH" = (
@@ -9586,15 +9558,11 @@
"atl" = (
/obj/machinery/ai_status_display,
/turf/closed/wall/r_wall,
-/area/engine/gravity_generator{
- name = "Atmospherics Engine"
- })
+/area/engine/supermatter)
"atm" = (
/obj/machinery/status_display,
/turf/closed/wall/r_wall,
-/area/engine/gravity_generator{
- name = "Atmospherics Engine"
- })
+/area/engine/supermatter)
"atn" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/obj/effect/turf_decal/stripes/line{
@@ -9667,9 +9635,7 @@
/area/maintenance/fpmaint2/fore_port_maintenance)
"atu" = (
/obj/effect/decal/cleanable/dirt,
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/obj/structure/cable/white{
icon_state = "1-2"
},
@@ -9687,7 +9653,7 @@
/obj/structure/table/wood,
/obj/effect/decal/cleanable/dirt,
/obj/item/clothing/suit/suspenders,
-/obj/effect/landmark/costume,
+/obj/effect/spawner/lootdrop/costume,
/turf/open/floor/plasteel/redblue,
/area/maintenance/fpmaint2/fore_port_maintenance)
"atx" = (
@@ -9799,9 +9765,7 @@
/area/janitor)
"atI" = (
/obj/effect/decal/cleanable/dirt,
-/obj/effect/landmark/start{
- name = "Janitor"
- },
+/obj/effect/landmark/start/janitor,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
},
@@ -9828,9 +9792,7 @@
/area/janitor)
"atL" = (
/obj/effect/decal/cleanable/dirt,
-/obj/effect/landmark/start{
- name = "Janitor"
- },
+/obj/effect/landmark/start/janitor,
/obj/machinery/atmospherics/components/unary/vent_scrubber{
dir = 8;
on = 1;
@@ -9852,9 +9814,7 @@
/turf/open/floor/plasteel/neutral,
/area/janitor)
"atN" = (
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/structure/disposalpipe/segment,
/turf/open/floor/plating,
@@ -10242,9 +10202,7 @@
dir = 4
},
/turf/open/floor/plating,
-/area/engine/gravity_generator{
- name = "Atmospherics Engine"
- })
+/area/engine/supermatter)
"auC" = (
/obj/machinery/power/rad_collector{
anchored = 1
@@ -10254,9 +10212,7 @@
icon_state = "0-8"
},
/turf/open/floor/circuit/green,
-/area/engine/gravity_generator{
- name = "Atmospherics Engine"
- })
+/area/engine/supermatter)
"auD" = (
/obj/structure/grille,
/obj/machinery/atmospherics/pipe/simple/general/visible{
@@ -10265,9 +10221,7 @@
},
/obj/structure/window/reinforced/highpressure/fulltile,
/turf/open/floor/plating,
-/area/engine/gravity_generator{
- name = "Atmospherics Engine"
- })
+/area/engine/supermatter)
"auE" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber{
dir = 8;
@@ -10275,18 +10229,14 @@
scrub_Toxins = 0
},
/turf/open/floor/engine,
-/area/engine/gravity_generator{
- name = "Atmospherics Engine"
- })
+/area/engine/supermatter)
"auF" = (
/obj/machinery/atmospherics/components/unary/vent_pump{
dir = 4;
on = 1
},
/turf/open/floor/engine,
-/area/engine/gravity_generator{
- name = "Atmospherics Engine"
- })
+/area/engine/supermatter)
"auG" = (
/obj/structure/grille,
/obj/machinery/atmospherics/pipe/simple/general/visible{
@@ -10294,9 +10244,7 @@
},
/obj/structure/window/reinforced/highpressure/fulltile,
/turf/open/floor/plating,
-/area/engine/gravity_generator{
- name = "Atmospherics Engine"
- })
+/area/engine/supermatter)
"auH" = (
/obj/machinery/power/rad_collector{
anchored = 1
@@ -10306,9 +10254,7 @@
d2 = 4
},
/turf/open/floor/circuit/green,
-/area/engine/gravity_generator{
- name = "Atmospherics Engine"
- })
+/area/engine/supermatter)
"auI" = (
/obj/structure/cable{
d1 = 4;
@@ -10324,9 +10270,7 @@
dir = 8
},
/turf/open/floor/plating,
-/area/engine/gravity_generator{
- name = "Atmospherics Engine"
- })
+/area/engine/supermatter)
"auJ" = (
/obj/structure/cable{
d1 = 2;
@@ -10876,15 +10820,11 @@
},
/obj/structure/window/reinforced/highpressure/fulltile,
/turf/open/floor/plating,
-/area/engine/gravity_generator{
- name = "Atmospherics Engine"
- })
+/area/engine/supermatter)
"avQ" = (
/obj/machinery/power/supermatter_shard/crystal,
/turf/open/floor/engine,
-/area/engine/gravity_generator{
- name = "Atmospherics Engine"
- })
+/area/engine/supermatter)
"avR" = (
/obj/structure/grille,
/obj/machinery/atmospherics/pipe/manifold/general/visible{
@@ -10893,9 +10833,7 @@
},
/obj/structure/window/reinforced/highpressure/fulltile,
/turf/open/floor/plating,
-/area/engine/gravity_generator{
- name = "Atmospherics Engine"
- })
+/area/engine/supermatter)
"avS" = (
/obj/structure/cable{
d1 = 4;
@@ -10912,9 +10850,7 @@
dir = 8
},
/turf/open/floor/plating,
-/area/engine/gravity_generator{
- name = "Atmospherics Engine"
- })
+/area/engine/supermatter)
"avT" = (
/obj/structure/cable{
d1 = 2;
@@ -11275,9 +11211,7 @@
/turf/open/floor/plasteel,
/area/quartermaster/storage)
"awF" = (
-/obj/effect/landmark/start{
- name = "Cargo Technician"
- },
+/obj/effect/landmark/start/cargo_technician,
/obj/effect/turf_decal/bot,
/turf/open/floor/plasteel,
/area/quartermaster/storage)
@@ -11364,9 +11298,10 @@
},
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/machinery/camera{
- c_tag = "Atmospherics - Engine Port";
+ c_tag = "Supermatter Engine - Port";
dir = 4;
- name = "atmospherics camera"
+ name = "atmospherics camera";
+ network = list("SS13","Engine")
},
/obj/effect/turf_decal/bot,
/turf/open/floor/plasteel,
@@ -11407,9 +11342,7 @@
dir = 4
},
/turf/open/floor/plating,
-/area/engine/gravity_generator{
- name = "Atmospherics Engine"
- })
+/area/engine/supermatter)
"awV" = (
/obj/structure/cable{
d1 = 2;
@@ -11443,9 +11376,10 @@
pixel_y = 0
},
/obj/machinery/camera{
- c_tag = "Atmospherics - Engine Starboard";
+ c_tag = "Supermatter Engine - Starboard";
dir = 8;
- name = "atmospherics camera"
+ name = "atmospherics camera";
+ network = list("SS13","Engine")
},
/obj/structure/cable{
d1 = 1;
@@ -11468,9 +11402,7 @@
/area/maintenance/fpmaint2/fore_port_maintenance)
"awZ" = (
/obj/effect/decal/cleanable/dirt,
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/turf/open/floor/plating,
/area/maintenance/fpmaint2/fore_port_maintenance)
"axa" = (
@@ -11579,9 +11511,7 @@
pixel_x = -32
},
/obj/machinery/light/small,
-/obj/effect/landmark/start{
- name = "Assistant"
- },
+/obj/effect/landmark/start/assistant,
/obj/effect/turf_decal/bot,
/turf/open/floor/plasteel,
/area/crew_quarters/toilet{
@@ -11641,9 +11571,7 @@
})
"axq" = (
/obj/effect/decal/cleanable/dirt,
-/obj/effect/landmark/start{
- name = "Cargo Technician"
- },
+/obj/effect/landmark/start/cargo_technician,
/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
icon_state = "manifold";
dir = 8
@@ -11654,9 +11582,7 @@
})
"axr" = (
/obj/effect/decal/cleanable/dirt,
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
},
@@ -11881,18 +11807,14 @@
dir = 5
},
/turf/closed/wall/r_wall,
-/area/engine/gravity_generator{
- name = "Atmospherics Engine"
- })
+/area/engine/supermatter)
"axQ" = (
/obj/machinery/atmospherics/pipe/simple/general/visible{
dir = 10
},
/obj/machinery/meter,
/turf/closed/wall/r_wall,
-/area/engine/gravity_generator{
- name = "Atmospherics Engine"
- })
+/area/engine/supermatter)
"axR" = (
/obj/machinery/door/airlock/glass_atmos{
heat_proof = 1;
@@ -11901,9 +11823,7 @@
req_one_access_txt = "24;10"
},
/turf/open/floor/engine,
-/area/engine/gravity_generator{
- name = "Atmospherics Engine"
- })
+/area/engine/supermatter)
"axS" = (
/obj/machinery/atmospherics/pipe/simple/general/visible{
icon_state = "intact";
@@ -11911,17 +11831,13 @@
},
/obj/machinery/meter,
/turf/closed/wall/r_wall,
-/area/engine/gravity_generator{
- name = "Atmospherics Engine"
- })
+/area/engine/supermatter)
"axT" = (
/obj/machinery/atmospherics/pipe/simple/general/visible{
dir = 9
},
/turf/closed/wall/r_wall,
-/area/engine/gravity_generator{
- name = "Atmospherics Engine"
- })
+/area/engine/supermatter)
"axU" = (
/obj/structure/cable{
d1 = 1;
@@ -12552,9 +12468,7 @@
name = "Gas to Filter"
},
/turf/open/floor/engine,
-/area/engine/gravity_generator{
- name = "Atmospherics Engine"
- })
+/area/engine/supermatter)
"azf" = (
/obj/machinery/atmospherics/components/binary/pump{
dir = 1;
@@ -12562,9 +12476,7 @@
name = "Gas to Chamber"
},
/turf/open/floor/engine,
-/area/engine/gravity_generator{
- name = "Atmospherics Engine"
- })
+/area/engine/supermatter)
"azg" = (
/obj/machinery/atmospherics/components/unary/portables_connector/visible,
/obj/structure/extinguisher_cabinet{
@@ -13104,9 +13016,7 @@
"aAd" = (
/obj/machinery/atmospherics/pipe/simple/general/visible,
/turf/closed/wall/r_wall,
-/area/engine/gravity_generator{
- name = "Atmospherics Engine"
- })
+/area/engine/supermatter)
"aAe" = (
/obj/machinery/atmospherics/components/binary/pump,
/obj/effect/turf_decal/bot,
@@ -13422,9 +13332,7 @@
/area/quartermaster/storage)
"aAN" = (
/obj/effect/decal/cleanable/dirt,
-/obj/effect/landmark/start{
- name = "Cargo Technician"
- },
+/obj/effect/landmark/start/cargo_technician,
/obj/effect/turf_decal/bot,
/turf/open/floor/plasteel,
/area/quartermaster/storage)
@@ -13478,7 +13386,7 @@
/obj/structure/cable/white{
d2 = 2;
icon_state = "0-2"
- },
+ },
/obj/structure/cable/white,
/obj/structure/grille,
/obj/structure/window/reinforced/fulltile,
@@ -13633,8 +13541,9 @@
pixel_y = 0
},
/obj/machinery/camera{
- c_tag = "Atmospherics - Engine Aft";
- name = "atmospherics camera"
+ c_tag = "Supermatter Engine - Aft";
+ name = "atmospherics camera";
+ network = list("SS13","Engine")
},
/obj/effect/turf_decal/stripes/line{
dir = 1
@@ -13664,9 +13573,7 @@
dir = 1
},
/turf/open/floor/plasteel,
-/area/engine/gravity_generator{
- name = "Atmospherics Engine"
- })
+/area/engine/supermatter)
"aBe" = (
/obj/machinery/atmospherics/pipe/manifold/general/visible,
/obj/machinery/meter,
@@ -14145,7 +14052,7 @@
/obj/structure/cable/white{
d2 = 2;
icon_state = "0-2"
- },
+ },
/obj/structure/grille,
/obj/structure/window/reinforced/fulltile,
/turf/open/floor/plating,
@@ -14792,7 +14699,7 @@
icon_state = "fire0";
pixel_x = 24;
pixel_y = 0
- },
+ },
/obj/machinery/light_switch{
pixel_x = 38
},
@@ -15075,7 +14982,7 @@
icon_state = "doors";
name = "WARNING: EXTERNAL AIRLOCK";
pixel_x = 32
- },
+ },
/obj/machinery/camera{
c_tag = "Solar - Fore Port";
name = "solar camera"
@@ -15483,9 +15390,7 @@
/turf/open/floor/plasteel/grimy,
/area/crew_quarters/bar)
"aDZ" = (
-/obj/effect/landmark/start{
- name = "Bartender"
- },
+/obj/effect/landmark/start/bartender,
/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
icon_state = "manifold";
dir = 1
@@ -15517,9 +15422,7 @@
/turf/open/floor/plasteel/black,
/area/crew_quarters/bar)
"aEe" = (
-/obj/effect/landmark/start{
- name = "Bartender"
- },
+/obj/effect/landmark/start/bartender,
/obj/machinery/atmospherics/components/unary/vent_pump{
dir = 8;
on = 1
@@ -15537,9 +15440,7 @@
},
/area/crew_quarters/bar)
"aEh" = (
-/obj/effect/landmark/start{
- name = "Bartender"
- },
+/obj/effect/landmark/start/bartender,
/turf/open/floor/plasteel/vault{
dir = 5
},
@@ -15835,7 +15736,7 @@
d2 = 8;
icon_state = "4-8";
pixel_x = 0
- },
+ },
/obj/machinery/door/airlock/external{
name = "External Solar Access";
req_access_txt = "24";
@@ -15853,7 +15754,7 @@
d2 = 8;
icon_state = "4-8";
pixel_x = 0
- },
+ },
/obj/structure/fans/tiny,
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/delivery,
@@ -15870,7 +15771,7 @@
d2 = 8;
icon_state = "4-8";
pixel_x = 0
- },
+ },
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/stripes/line{
dir = 8
@@ -15887,9 +15788,7 @@
d2 = 8;
icon_state = "0-8"
},
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/turf/open/floor/plating,
/area/maintenance/auxsolarport)
"aER" = (
@@ -16051,7 +15950,7 @@
icon_state = "fire0";
pixel_x = 24;
pixel_y = 0
- },
+ },
/obj/machinery/light_switch{
pixel_x = 24;
pixel_y = 24
@@ -16360,9 +16259,7 @@
},
/area/hallway/primary/fore)
"aFF" = (
-/obj/effect/landmark{
- name = "lightsout"
- },
+/obj/effect/landmark/lightsout,
/obj/machinery/atmospherics/components/unary/vent_scrubber{
dir = 8;
on = 1;
@@ -16522,9 +16419,7 @@
/turf/open/floor/plasteel,
/area/quartermaster/storage)
"aFV" = (
-/obj/effect/landmark/start{
- name = "Cargo Technician"
- },
+/obj/effect/landmark/start/cargo_technician,
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/effect/turf_decal/bot,
/turf/open/floor/plasteel,
@@ -16863,7 +16758,7 @@
d1 = 1;
d2 = 4;
icon_state = "1-4"
- },
+ },
/obj/effect/turf_decal/stripes/line,
/turf/open/floor/plasteel,
/area/engine/gravity_generator{
@@ -17052,9 +16947,7 @@
/area/crew_quarters/bar/atrium)
"aGZ" = (
/obj/structure/chair/stool/bar,
-/obj/effect/landmark/start{
- name = "Assistant"
- },
+/obj/effect/landmark/start/assistant,
/turf/open/floor/plasteel/redyellow,
/area/crew_quarters/bar/atrium)
"aHa" = (
@@ -17088,9 +16981,7 @@
/obj/structure/chair/office/dark{
dir = 8
},
-/obj/effect/landmark/start{
- name = "Cargo Technician"
- },
+/obj/effect/landmark/start/cargo_technician,
/turf/open/floor/plasteel/brown{
icon_state = "brown";
dir = 9
@@ -17112,9 +17003,7 @@
name = "\improper Cargo Office"
})
"aHf" = (
-/obj/effect/landmark{
- name = "lightsout"
- },
+/obj/effect/landmark/lightsout,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
},
@@ -18077,7 +17966,7 @@
icon_state = "doors";
name = "WARNING: EXTERNAL AIRLOCK";
pixel_x = 32
- },
+ },
/turf/open/floor/plasteel/vault{
dir = 8
},
@@ -19047,7 +18936,7 @@
/obj/structure/cable/white{
d2 = 2;
icon_state = "0-2"
- },
+ },
/obj/machinery/light{
dir = 1
},
@@ -19181,9 +19070,7 @@
/obj/structure/cable/white{
icon_state = "4-8"
},
-/obj/effect/landmark/start{
- name = "Cargo Technician"
- },
+/obj/effect/landmark/start/cargo_technician,
/turf/open/floor/plasteel/neutral,
/area/quartermaster/office{
name = "\improper Cargo Office"
@@ -19231,7 +19118,7 @@
/obj/structure/cable/white{
d2 = 2;
icon_state = "0-2"
- },
+ },
/obj/structure/cable/white{
icon_state = "0-4"
},
@@ -19868,9 +19755,7 @@
/turf/open/floor/plasteel/redblue,
/area/crew_quarters/theatre)
"aMw" = (
-/obj/effect/landmark/start{
- name = "Clown"
- },
+/obj/effect/landmark/start/clown,
/turf/open/floor/plasteel/redblue,
/area/crew_quarters/theatre)
"aMx" = (
@@ -20383,7 +20268,7 @@
/obj/structure/cable/white{
d2 = 2;
icon_state = "0-2"
- },
+ },
/obj/structure/grille,
/obj/structure/window/reinforced/fulltile,
/obj/machinery/door/poddoor/preopen{
@@ -20426,7 +20311,7 @@
/obj/structure/cable/white{
d2 = 2;
icon_state = "0-2"
- },
+ },
/obj/structure/grille,
/obj/structure/window/reinforced/fulltile,
/obj/machinery/door/poddoor/preopen{
@@ -20898,9 +20783,7 @@
/turf/open/floor/carpet,
/area/crew_quarters/bar/atrium)
"aOr" = (
-/obj/effect/landmark{
- name = "lightsout"
- },
+/obj/effect/landmark/lightsout,
/turf/open/floor/plasteel/redyellow,
/area/crew_quarters/bar/atrium)
"aOs" = (
@@ -21019,7 +20902,7 @@
/obj/structure/cable/white{
d2 = 2;
icon_state = "0-2"
- },
+ },
/obj/machinery/power/apc{
dir = 8;
name = "Cargo Bay APC";
@@ -21518,9 +21401,7 @@
/obj/machinery/atmospherics/pipe/simple/yellow/visible{
dir = 4
},
-/obj/effect/landmark{
- name = "lightsout"
- },
+/obj/effect/landmark/lightsout,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/turf/open/floor/plasteel/neutral,
/area/atmos)
@@ -21735,9 +21616,7 @@
/turf/open/floor/plasteel/cafeteria,
/area/crew_quarters/theatre)
"aPM" = (
-/obj/effect/landmark/start{
- name = "Mime"
- },
+/obj/effect/landmark/start/mime,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
},
@@ -21755,7 +21634,7 @@
icon_state = "fire0";
pixel_x = 24;
pixel_y = 0
- },
+ },
/obj/machinery/light_switch{
pixel_x = 26;
pixel_y = -26
@@ -22076,9 +21955,7 @@
/obj/structure/chair/office/dark{
dir = 1
},
-/obj/effect/landmark/start{
- name = "Cargo Technician"
- },
+/obj/effect/landmark/start/cargo_technician,
/obj/structure/disposalpipe/segment{
dir = 4
},
@@ -22269,9 +22146,7 @@
"aQJ" = (
/obj/structure/bed,
/obj/item/weapon/bedsheet/brown,
-/obj/effect/landmark{
- name = "revenantspawn"
- },
+/obj/effect/landmark/revenantspawn,
/turf/open/floor/plasteel/red/side{
dir = 8
},
@@ -22313,9 +22188,7 @@
/obj/structure/bed,
/obj/item/weapon/bedsheet/brown,
/obj/effect/decal/cleanable/dirt,
-/obj/effect/landmark{
- name = "revenantspawn"
- },
+/obj/effect/landmark/revenantspawn,
/turf/open/floor/plasteel/red/side{
dir = 8
},
@@ -22772,9 +22645,7 @@
/area/crew_quarters/bar/atrium)
"aRE" = (
/obj/structure/chair/stool,
-/obj/effect/landmark/start{
- name = "Assistant"
- },
+/obj/effect/landmark/start/assistant,
/turf/open/floor/plasteel/redyellow,
/area/crew_quarters/bar/atrium)
"aRF" = (
@@ -22845,9 +22716,7 @@
/obj/structure/chair/office/dark{
dir = 1
},
-/obj/effect/landmark/start{
- name = "Cargo Technician"
- },
+/obj/effect/landmark/start/cargo_technician,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/obj/structure/disposalpipe/segment{
dir = 4
@@ -23039,9 +22908,7 @@
/obj/structure/cable/white{
icon_state = "4-8"
},
-/obj/effect/landmark/start{
- name = "Quartermaster"
- },
+/obj/effect/landmark/start/quartermaster,
/obj/machinery/atmospherics/pipe/manifold/supply/hidden,
/obj/structure/disposalpipe/segment{
dir = 4
@@ -23168,9 +23035,7 @@
/obj/structure/cable/white{
icon_state = "2-8"
},
-/obj/effect/landmark/start{
- name = "Quartermaster"
- },
+/obj/effect/landmark/start/quartermaster,
/turf/open/floor/plasteel/neutral,
/area/quartermaster/qm)
"aSl" = (
@@ -23206,9 +23071,7 @@
/obj/structure/cable/white{
icon_state = "1-2"
},
-/obj/effect/landmark/start{
- name = "Quartermaster"
- },
+/obj/effect/landmark/start/quartermaster,
/turf/open/floor/plasteel/neutral,
/area/quartermaster/qm)
"aSo" = (
@@ -24154,7 +24017,7 @@
icon_state = "doors";
name = "WARNING: EXTERNAL AIRLOCK";
pixel_x = 32
- },
+ },
/obj/effect/turf_decal/stripes/line{
dir = 2
},
@@ -24521,9 +24384,7 @@
/obj/structure/cable/white{
icon_state = "2-8"
},
-/obj/effect/landmark{
- name = "lightsout"
- },
+/obj/effect/landmark/lightsout,
/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
icon_state = "manifold";
dir = 4
@@ -24561,7 +24422,7 @@
icon_state = "fire0";
pixel_x = 24;
pixel_y = 0
- },
+ },
/obj/machinery/light{
icon_state = "tube1";
dir = 4
@@ -25701,9 +25562,7 @@
})
"aWZ" = (
/obj/structure/chair/office/dark,
-/obj/effect/landmark/start{
- name = "Cargo Technician"
- },
+/obj/effect/landmark/start/cargo_technician,
/turf/open/floor/plasteel/brown,
/area/quartermaster/office{
name = "\improper Cargo Office"
@@ -25810,7 +25669,7 @@
/obj/structure/cable/white{
d2 = 2;
icon_state = "0-2"
- },
+ },
/obj/structure/grille,
/obj/structure/window/reinforced/fulltile,
/obj/structure/cable/white{
@@ -25936,9 +25795,7 @@
/obj/structure/cable/white{
icon_state = "1-2"
},
-/obj/effect/landmark{
- name = "lightsout"
- },
+/obj/effect/landmark/lightsout,
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
},
@@ -26168,9 +26025,7 @@
/area/atmos)
"aXP" = (
/obj/effect/decal/cleanable/dirt,
-/obj/effect/landmark/start{
- name = "Atmospheric Technician"
- },
+/obj/effect/landmark/start/atmospheric_technician,
/turf/open/floor/plasteel/neutral,
/area/atmos)
"aXQ" = (
@@ -26192,9 +26047,7 @@
/area/atmos)
"aXS" = (
/obj/effect/decal/cleanable/dirt,
-/obj/effect/landmark/start{
- name = "Atmospheric Technician"
- },
+/obj/effect/landmark/start/atmospheric_technician,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/obj/structure/disposalpipe/segment{
dir = 2;
@@ -26223,9 +26076,7 @@
icon_state = "1-2"
},
/obj/machinery/atmospherics/pipe/simple/scrubbers/visible,
-/obj/effect/landmark/start{
- name = "Atmospheric Technician"
- },
+/obj/effect/landmark/start/atmospheric_technician,
/turf/open/floor/plasteel/neutral,
/area/atmos)
"aXW" = (
@@ -26354,7 +26205,7 @@
icon_state = "fire0";
pixel_x = 24;
pixel_y = 0
- },
+ },
/obj/machinery/chem_master/condimaster{
name = "BrewMaster 3000"
},
@@ -26692,7 +26543,7 @@
/obj/structure/cable/white{
d2 = 2;
icon_state = "0-2"
- },
+ },
/obj/structure/cable/white,
/obj/structure/grille,
/obj/structure/window/reinforced/fulltile,
@@ -27198,9 +27049,7 @@
/obj/structure/cable/white{
icon_state = "4-8"
},
-/obj/effect/landmark/start{
- name = "Chef"
- },
+/obj/effect/landmark/start/cook,
/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
icon_state = "manifold";
dir = 1
@@ -27506,7 +27355,7 @@
/obj/structure/cable/white{
d2 = 2;
icon_state = "0-2"
- },
+ },
/obj/structure/grille,
/obj/structure/window/reinforced/fulltile,
/turf/open/floor/plating,
@@ -27586,9 +27435,7 @@
pixel_y = 26
},
/obj/effect/decal/cleanable/dirt,
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/obj/machinery/light/small{
dir = 1
},
@@ -27940,9 +27787,7 @@
/area/crew_quarters/kitchen)
"bbr" = (
/obj/machinery/holopad,
-/obj/effect/landmark/start{
- name = "Cook"
- },
+/obj/effect/landmark/start/cook,
/obj/effect/turf_decal/bot,
/turf/open/floor/plasteel,
/area/crew_quarters/kitchen)
@@ -27976,9 +27821,7 @@
/obj/structure/chair{
dir = 4
},
-/obj/effect/landmark/start{
- name = "Assistant"
- },
+/obj/effect/landmark/start/assistant,
/turf/open/floor/plasteel/brown{
icon_state = "brown";
dir = 8
@@ -28101,9 +27944,7 @@
})
"bbL" = (
/obj/effect/decal/cleanable/dirt,
-/obj/effect/landmark/start{
- name = "Shaft Miner"
- },
+/obj/effect/landmark/start/shaft_miner,
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
},
@@ -28112,9 +27953,7 @@
name = "\improper Mining Office"
})
"bbM" = (
-/obj/effect/landmark/start{
- name = "Shaft Miner"
- },
+/obj/effect/landmark/start/shaft_miner,
/obj/machinery/atmospherics/components/unary/vent_pump{
dir = 8;
on = 1
@@ -28124,9 +27963,7 @@
name = "\improper Mining Office"
})
"bbN" = (
-/obj/effect/landmark/start{
- name = "Shaft Miner"
- },
+/obj/effect/landmark/start/shaft_miner,
/turf/open/floor/plasteel/neutral,
/area/quartermaster/miningdock{
name = "\improper Mining Office"
@@ -28674,9 +28511,7 @@
})
"bcR" = (
/obj/machinery/holopad,
-/obj/effect/landmark{
- name = "lightsout"
- },
+/obj/effect/landmark/lightsout,
/obj/machinery/atmospherics/pipe/manifold/supply/hidden,
/obj/effect/turf_decal/bot,
/turf/open/floor/plasteel,
@@ -28875,7 +28710,7 @@
name = "WARNING: BLAST DOORS";
pixel_x = 0;
pixel_y = 0
- },
+ },
/turf/open/floor/plating,
/area/security/brig)
"bdl" = (
@@ -29531,7 +29366,7 @@
/obj/structure/cable/white{
d2 = 2;
icon_state = "0-2"
- },
+ },
/obj/structure/grille,
/obj/structure/window/reinforced/fulltile,
/turf/open/floor/plating,
@@ -29751,9 +29586,7 @@
pixel_x = 26;
pixel_y = 26
},
-/obj/effect/landmark/start{
- name = "Security Officer"
- },
+/obj/effect/landmark/start/security_officer,
/turf/open/floor/plasteel/red/side{
dir = 5
},
@@ -30249,9 +30082,7 @@
/turf/open/floor/plasteel/red,
/area/crew_quarters/kitchen)
"bfR" = (
-/obj/effect/landmark/start{
- name = "Cook"
- },
+/obj/effect/landmark/start/cook,
/obj/structure/disposalpipe/segment{
dir = 4
},
@@ -30490,7 +30321,7 @@
/obj/structure/cable/white{
d2 = 2;
icon_state = "0-2"
- },
+ },
/obj/structure/cable/white{
icon_state = "0-8"
},
@@ -30734,9 +30565,7 @@
/area/security/main)
"bgD" = (
/obj/structure/chair/office/dark,
-/obj/effect/landmark/start{
- name = "Security Officer"
- },
+/obj/effect/landmark/start/security_officer,
/turf/open/floor/plasteel/red/side,
/area/security/main)
"bgE" = (
@@ -31010,9 +30839,7 @@
/turf/open/floor/plating,
/area/maintenance/fpmaint2/fore_port_maintenance)
"bhl" = (
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/turf/open/floor/plating,
/area/maintenance/fpmaint2/fore_port_maintenance)
"bhm" = (
@@ -31336,9 +31163,7 @@
/obj/structure/chair{
dir = 1
},
-/obj/effect/landmark/start{
- name = "Assistant"
- },
+/obj/effect/landmark/start/assistant,
/turf/open/floor/plasteel/brown,
/area/hallway/primary/fore)
"bhW" = (
@@ -31618,9 +31443,7 @@
/obj/structure/cable/white{
icon_state = "1-2"
},
-/obj/effect/landmark/start{
- name = "Security Officer"
- },
+/obj/effect/landmark/start/security_officer,
/turf/open/floor/plasteel/red/side{
dir = 4
},
@@ -32054,7 +31877,7 @@
/area/space)
"bjo" = (
/obj/structure/rack,
-/obj/effect/landmark/costume,
+/obj/effect/spawner/lootdrop/costume,
/obj/effect/spawner/lootdrop/maintenance{
lootcount = 2;
name = "2maintenance loot spawner"
@@ -32080,9 +31903,7 @@
/turf/open/floor/plasteel,
/area/hydroponics)
"bjr" = (
-/obj/effect/landmark/start{
- name = "Botanist"
- },
+/obj/effect/landmark/start/botanist,
/turf/open/floor/plasteel/neutral,
/area/hydroponics)
"bjs" = (
@@ -32212,7 +32033,7 @@
dir = 4;
icon_state = "direction_supply";
name = "supply department"
- },
+ },
/obj/structure/sign/directions/medical{
pixel_y = -8
},
@@ -32393,9 +32214,7 @@
/obj/structure/cable/white{
icon_state = "2-8"
},
-/obj/effect/landmark/start{
- name = "Security Officer"
- },
+/obj/effect/landmark/start/security_officer,
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
},
@@ -33120,9 +32939,7 @@
/obj/structure/cable/white{
icon_state = "1-2"
},
-/obj/effect/landmark{
- name = "lightsout"
- },
+/obj/effect/landmark/lightsout,
/turf/open/floor/plasteel/neutral,
/area/security/brig)
"blt" = (
@@ -33261,9 +33078,7 @@
/obj/structure/cable/white{
icon_state = "4-8"
},
-/obj/effect/landmark/start{
- name = "Head of Security"
- },
+/obj/effect/landmark/start/head_of_security,
/obj/structure/disposalpipe/segment{
dir = 4
},
@@ -33316,9 +33131,7 @@
/obj/structure/cable/white{
icon_state = "4-8"
},
-/obj/effect/landmark/start{
- name = "Head of Security"
- },
+/obj/effect/landmark/start/head_of_security,
/turf/open/floor/plasteel/grimy,
/area/security/hos)
"blL" = (
@@ -33547,9 +33360,7 @@
icon_state = "intact";
dir = 1
},
-/obj/effect/landmark/start{
- name = "Atmospheric Technician"
- },
+/obj/effect/landmark/start/atmospheric_technician,
/turf/open/floor/plasteel/neutral,
/area/atmos)
"bmi" = (
@@ -33793,9 +33604,7 @@
/obj/structure/chair/office/dark{
dir = 4
},
-/obj/effect/landmark/start{
- name = "Botanist"
- },
+/obj/effect/landmark/start/botanist,
/obj/effect/turf_decal/bot,
/turf/open/floor/plasteel,
/area/hydroponics)
@@ -33940,9 +33749,7 @@
},
/area/hallway/primary/central)
"bmS" = (
-/obj/effect/landmark{
- name = "lightsout"
- },
+/obj/effect/landmark/lightsout,
/obj/structure/cable/white{
icon_state = "4-8"
},
@@ -34206,9 +34013,7 @@
/obj/structure/cable/white{
icon_state = "1-2"
},
-/obj/effect/landmark/start{
- name = "Security Officer"
- },
+/obj/effect/landmark/start/security_officer,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
},
@@ -34276,9 +34081,7 @@
},
/area/security/main)
"bnz" = (
-/obj/effect/landmark{
- name = "secequipment"
- },
+/obj/effect/landmark/secequipment,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
},
@@ -34935,9 +34738,7 @@
/obj/structure/disposalpipe/segment{
dir = 4
},
-/obj/effect/landmark{
- name = "Observer-Start"
- },
+/obj/effect/landmark/observer_start,
/turf/open/floor/plasteel{
icon_state = "L8"
},
@@ -35296,9 +35097,7 @@
/obj/structure/cable/white{
icon_state = "1-8"
},
-/obj/effect/landmark/start{
- name = "Security Officer"
- },
+/obj/effect/landmark/start/security_officer,
/obj/structure/disposalpipe/segment{
dir = 4
},
@@ -35377,9 +35176,7 @@
},
/area/security/main)
"bpz" = (
-/obj/effect/landmark{
- name = "secequipment"
- },
+/obj/effect/landmark/secequipment,
/turf/open/floor/plasteel/vault{
dir = 5
},
@@ -35567,9 +35364,7 @@
/obj/machinery/atmospherics/pipe/manifold/yellow/visible{
dir = 1
},
-/obj/effect/landmark/start{
- name = "Atmospheric Technician"
- },
+/obj/effect/landmark/start/atmospheric_technician,
/turf/open/floor/plasteel/neutral,
/area/atmos)
"bpU" = (
@@ -36045,9 +35840,7 @@
/obj/structure/chair/office/dark{
dir = 1
},
-/obj/effect/landmark/start{
- name = "Security Officer"
- },
+/obj/effect/landmark/start/security_officer,
/turf/open/floor/plasteel/red/side{
dir = 1
},
@@ -36075,9 +35868,7 @@
},
/area/security/main)
"bqV" = (
-/obj/effect/landmark{
- name = "secequipment"
- },
+/obj/effect/landmark/secequipment,
/obj/machinery/light/small{
dir = 4
},
@@ -36743,9 +36534,7 @@
/obj/item/weapon/storage/pod{
pixel_x = 32
},
-/obj/effect/landmark{
- name = "secequipment"
- },
+/obj/effect/landmark/secequipment,
/turf/open/floor/plasteel/vault{
dir = 5
},
@@ -38439,10 +38228,13 @@
/turf/closed/wall/r_wall,
/area/engine/break_room)
"bvt" = (
-/obj/machinery/computer/atmos_control,
/obj/machinery/status_display{
pixel_x = -32
},
+/obj/structure/cable/white{
+ icon_state = "0-4"
+ },
+/obj/machinery/modular_computer/console/preset/engineering,
/turf/open/floor/plasteel/caution{
dir = 8
},
@@ -38458,10 +38250,11 @@
icon_state = "1-4"
},
/obj/machinery/holopad,
-/obj/effect/landmark/start{
- name = "Atmospheric Technician"
- },
+/obj/effect/landmark/start/atmospheric_technician,
/obj/effect/turf_decal/bot,
+/obj/structure/cable/white{
+ icon_state = "1-8"
+ },
/turf/open/floor/plasteel,
/area/atmos)
"bvw" = (
@@ -39242,7 +39035,7 @@
/obj/structure/cable/white{
d2 = 2;
icon_state = "0-2"
- },
+ },
/obj/structure/grille,
/obj/structure/window/reinforced/fulltile,
/obj/structure/sign/electricshock{
@@ -39309,7 +39102,7 @@
/obj/structure/cable/white{
d2 = 2;
icon_state = "0-2"
- },
+ },
/obj/effect/turf_decal/stripes/line{
dir = 5
},
@@ -39437,9 +39230,18 @@
/obj/machinery/button/door{
id = "atmoslock";
name = "Atmospherics Lockdown Control";
- pixel_x = -26;
+ pixel_x = -38;
req_access_txt = "24"
},
+/obj/machinery/computer/security/telescreen{
+ desc = "Used for watching the Engine.";
+ dir = 4;
+ layer = 4;
+ name = "Engine Monitor";
+ network = list("Engine");
+ pixel_x = -24;
+ pixel_y = 0
+ },
/turf/open/floor/plasteel/caution{
dir = 8
},
@@ -39675,7 +39477,7 @@
name = "WARNING: BLAST DOORS";
pixel_x = 0;
pixel_y = 32
- },
+ },
/turf/open/floor/plasteel/darkblue/side{
icon_state = "darkblue";
dir = 1
@@ -40149,7 +39951,7 @@
/obj/structure/cable/white{
d2 = 2;
icon_state = "0-2"
- },
+ },
/obj/structure/grille,
/obj/structure/window/reinforced/fulltile,
/turf/open/floor/plating,
@@ -40169,7 +39971,7 @@
d1 = 1;
d2 = 4;
icon_state = "1-4"
- },
+ },
/turf/open/floor/plasteel/neutral,
/area/engine/gravity_generator)
"byB" = (
@@ -40745,9 +40547,7 @@
/obj/structure/cable/white{
icon_state = "1-2"
},
-/obj/effect/landmark{
- name = "lightsout"
- },
+/obj/effect/landmark/lightsout,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
},
@@ -41263,9 +41063,7 @@
pixel_x = 4;
req_access_txt = "16"
},
-/obj/effect/landmark{
- name = "tripai"
- },
+/obj/effect/landmark/tripai,
/turf/open/floor/circuit/green,
/area/ai_monitored/turret_protected/ai)
"bAd" = (
@@ -41380,9 +41178,7 @@
pixel_x = -3;
req_access_txt = "16"
},
-/obj/effect/landmark{
- name = "tripai"
- },
+/obj/effect/landmark/tripai,
/turf/open/floor/circuit/green,
/area/ai_monitored/turret_protected/ai)
"bAk" = (
@@ -41744,6 +41540,7 @@
pixel_y = -3
},
/obj/effect/turf_decal/bot,
+/obj/item/weapon/circuitboard/machine/autolathe,
/turf/open/floor/plasteel,
/area/storage/tech)
"bAQ" = (
@@ -41900,7 +41697,7 @@
icon_state = "pipe-j1s";
name = "HoP Junction";
sortType = 15
- },
+ },
/turf/open/floor/plasteel/vault{
dir = 8
},
@@ -42291,9 +42088,7 @@
pixel_y = -23;
req_access_txt = "16"
},
-/obj/effect/landmark/start{
- name = "AI"
- },
+/obj/effect/landmark/start/ai,
/turf/open/floor/circuit/green,
/area/ai_monitored/turret_protected/ai)
"bBO" = (
@@ -42469,7 +42264,7 @@
icon_state = "fire0";
pixel_x = 24;
pixel_y = 0
- },
+ },
/obj/machinery/airalarm{
dir = 1;
icon_state = "alarm0";
@@ -42560,7 +42355,7 @@
dir = 1;
icon_state = "yellow";
initial_gas_mix = "o2=22;n2=82;TEMP=293.15"
- },
+ },
/area/engine/break_room)
"bCn" = (
/obj/item/weapon/twohanded/required/kirbyplants{
@@ -42571,7 +42366,7 @@
icon_state = "fire0";
pixel_x = 24;
pixel_y = 0
- },
+ },
/obj/machinery/light_switch{
pixel_y = 26
},
@@ -43164,9 +42959,7 @@
/obj/structure/cable/white{
icon_state = "4-8"
},
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/obj/machinery/atmospherics/components/unary/vent_pump{
dir = 8;
on = 1
@@ -43311,7 +43104,7 @@
icon_state = "fire0";
pixel_x = 24;
pixel_y = 0
- },
+ },
/obj/machinery/light_switch{
pixel_y = -26
},
@@ -43357,7 +43150,7 @@
desc = "A handy sign praising the engineering department.";
icon_state = "safety";
name = "engineering plaque"
- },
+ },
/turf/closed/wall,
/area/engine/break_room)
"bDO" = (
@@ -43468,9 +43261,7 @@
/obj/structure/cable/white{
icon_state = "4-8"
},
-/obj/effect/landmark{
- name = "lightsout"
- },
+/obj/effect/landmark/lightsout,
/turf/open/floor/plasteel/neutral,
/area/engine/break_room)
"bEb" = (
@@ -43593,6 +43384,7 @@
dir = 4
},
/obj/effect/turf_decal/bot,
+/obj/item/weapon/circuitboard/machine/autolathe,
/turf/open/floor/plasteel,
/area/storage/tech)
"bEl" = (
@@ -43641,9 +43433,7 @@
/turf/open/floor/plasteel,
/area/storage/primary)
"bEo" = (
-/obj/effect/landmark{
- name = "lightsout"
- },
+/obj/effect/landmark/lightsout,
/turf/open/floor/plasteel/neutral,
/area/storage/primary)
"bEp" = (
@@ -43661,9 +43451,7 @@
/turf/open/floor/plasteel,
/area/storage/primary)
"bEr" = (
-/obj/effect/landmark/start{
- name = "Assistant"
- },
+/obj/effect/landmark/start/assistant,
/obj/machinery/atmospherics/components/unary/vent_scrubber{
dir = 4;
on = 1;
@@ -43716,7 +43504,7 @@
icon_state = "fire0";
pixel_x = 24;
pixel_y = 0
- },
+ },
/turf/open/floor/plasteel/neutral/corner,
/area/hallway/primary/central)
"bEx" = (
@@ -43953,7 +43741,7 @@
/turf/open/floor/plasteel/neutral/side{
dir = 5;
initial_gas_mix = "o2=22;n2=82;TEMP=293.15"
- },
+ },
/area/maintenance/starboard)
"bEX" = (
/obj/structure/closet/secure_closet/detective,
@@ -44713,7 +44501,7 @@
/obj/structure/cable/white{
d2 = 2;
icon_state = "0-2"
- },
+ },
/obj/machinery/power/apc{
cell_type = 10000;
dir = 1;
@@ -45330,7 +45118,7 @@
icon_state = "fire0";
pixel_x = 24;
pixel_y = 0
- },
+ },
/obj/machinery/button/door{
id = "transitlock";
name = "Transit Tube Lockdown Control";
@@ -45697,7 +45485,7 @@
/obj/structure/cable/white{
d2 = 2;
icon_state = "0-2"
- },
+ },
/obj/structure/grille,
/obj/structure/window/reinforced/fulltile,
/obj/machinery/door/poddoor/preopen{
@@ -45852,7 +45640,7 @@
/obj/structure/cable/white{
d2 = 2;
icon_state = "0-2"
- },
+ },
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
icon_state = "intact";
dir = 5
@@ -45984,9 +45772,7 @@
icon_state = "comfychair";
dir = 4
},
-/obj/effect/landmark/start{
- name = "Captain"
- },
+/obj/effect/landmark/start/captain,
/turf/open/floor/plasteel/grimy,
/area/crew_quarters/captain)
"bID" = (
@@ -46023,7 +45809,7 @@
/obj/structure/cable/white{
d2 = 2;
icon_state = "0-2"
- },
+ },
/obj/effect/decal/cleanable/dirt,
/obj/machinery/disposal/bin,
/obj/structure/disposalpipe/trunk,
@@ -46817,7 +46603,7 @@
/obj/structure/cable/white{
d2 = 2;
icon_state = "0-2"
- },
+ },
/obj/structure/cable/white{
icon_state = "0-4"
},
@@ -47218,9 +47004,7 @@
/obj/structure/chair/office/dark{
dir = 8
},
-/obj/effect/landmark/start{
- name = "Detective"
- },
+/obj/effect/landmark/start/detective,
/obj/structure/disposalpipe/segment,
/turf/open/floor/carpet,
/area/security/detectives_office)
@@ -47246,18 +47030,14 @@
/area/security/detectives_office)
"bKZ" = (
/obj/effect/decal/cleanable/dirt,
-/obj/effect/landmark/start{
- name = "Detective"
- },
+/obj/effect/landmark/start/detective,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/turf/open/floor/plasteel/vault{
dir = 5
},
/area/security/detectives_office)
"bLa" = (
-/obj/effect/landmark{
- name = "lightsout"
- },
+/obj/effect/landmark/lightsout,
/turf/open/floor/plasteel/neutral,
/area/hallway/primary/starboard)
"bLb" = (
@@ -47324,9 +47104,7 @@
/obj/structure/chair/office/dark{
dir = 8
},
-/obj/effect/landmark/start{
- name = "Warden"
- },
+/obj/effect/landmark/start/warden,
/turf/open/floor/plasteel/red/side{
dir = 8
},
@@ -47590,9 +47368,7 @@
/obj/structure/chair/office/light{
dir = 4
},
-/obj/effect/landmark/start{
- name = "Chief Engineer"
- },
+/obj/effect/landmark/start/chief_engineer,
/turf/open/floor/plasteel/neutral,
/area/crew_quarters/chief)
"bLG" = (
@@ -48116,7 +47892,9 @@
/area/storage/tools)
"bMM" = (
/obj/structure/table,
-/obj/item/stack/sheet/metal,
+/obj/item/stack/sheet/metal{
+ amount = 50
+ },
/obj/item/stack/rods{
amount = 50
},
@@ -48151,9 +47929,7 @@
/obj/machinery/light/small{
dir = 8
},
-/obj/effect/landmark{
- name = "revenantspawn"
- },
+/obj/effect/landmark/revenantspawn,
/turf/open/floor/plasteel/vault{
dir = 8
},
@@ -48875,7 +48651,7 @@
icon_state = "direction_bridge";
name = "command department";
pixel_y = -8
- },
+ },
/turf/closed/wall,
/area/storage/primary)
"bOj" = (
@@ -49125,14 +48901,14 @@
icon_state = "direction_bridge";
name = "command department";
pixel_y = 0
- },
+ },
/obj/structure/sign/directions/engineering{
desc = "A direction sign, pointing out which way the Supply department is.";
dir = 1;
icon_state = "direction_supply";
name = "supply department";
pixel_y = 8
- },
+ },
/turf/closed/wall,
/area/storage/tools)
"bOG" = (
@@ -49403,7 +49179,7 @@
icon_state = "fire0";
pixel_x = 24;
pixel_y = 0
- },
+ },
/obj/machinery/light/small{
dir = 4
},
@@ -49885,9 +49661,7 @@
/obj/structure/cable/white{
icon_state = "4-8"
},
-/obj/effect/landmark/start{
- name = "Chief Engineer"
- },
+/obj/effect/landmark/start/chief_engineer,
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
icon_state = "intact";
dir = 8
@@ -50339,9 +50113,7 @@
/obj/structure/cable/white{
icon_state = "1-2"
},
-/obj/effect/landmark/start{
- name = "Captain"
- },
+/obj/effect/landmark/start/captain,
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/structure/disposalpipe/segment,
/turf/open/floor/carpet,
@@ -50655,7 +50427,7 @@
/obj/structure/cable/white{
d2 = 2;
icon_state = "0-2"
- },
+ },
/obj/structure/grille,
/obj/structure/window/reinforced/fulltile,
/turf/open/floor/plating,
@@ -50777,9 +50549,7 @@
icon_state = "4-8"
},
/obj/machinery/holopad,
-/obj/effect/landmark/start{
- name = "Cyborg"
- },
+/obj/effect/landmark/start/cyborg,
/turf/open/floor/plasteel/vault{
dir = 8
},
@@ -51168,6 +50938,15 @@
icon_state = "tube1";
dir = 8
},
+/obj/machinery/computer/security/telescreen{
+ desc = "Used for watching the Engine.";
+ dir = 4;
+ layer = 4;
+ name = "Engine Monitor";
+ network = list("Engine");
+ pixel_x = -30;
+ pixel_y = 0
+ },
/mob/living/simple_animal/parrot/Poly,
/turf/open/floor/plasteel/vault{
dir = 5
@@ -51634,9 +51413,7 @@
icon_state = "tube1";
dir = 8
},
-/obj/effect/landmark/start{
- name = "Captain"
- },
+/obj/effect/landmark/start/captain,
/turf/open/floor/plasteel/white,
/area/crew_quarters/captain/captains_quarters)
"bSP" = (
@@ -51676,9 +51453,7 @@
/obj/structure/cable/white{
icon_state = "1-2"
},
-/obj/effect/landmark{
- name = "lightsout"
- },
+/obj/effect/landmark/lightsout,
/obj/structure/cable/white{
icon_state = "1-4"
},
@@ -51836,7 +51611,7 @@
icon_state = "pipe-j1s";
name = "Security Junction";
sortType = 7
- },
+ },
/turf/open/floor/plasteel/red/corner,
/area/hallway/primary/starboard)
"bTh" = (
@@ -51940,7 +51715,7 @@
/obj/structure/cable/white{
d2 = 2;
icon_state = "0-2"
- },
+ },
/obj/structure/grille,
/obj/structure/window/reinforced/fulltile,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
@@ -52154,7 +51929,7 @@
icon_state = "fire0";
pixel_x = 24;
pixel_y = 0
- },
+ },
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
},
@@ -52727,9 +52502,7 @@
/obj/structure/chair/office/dark{
dir = 8
},
-/obj/effect/landmark/start{
- name = "Head of Personnel"
- },
+/obj/effect/landmark/start/head_of_personnel,
/turf/open/floor/plasteel/vault{
dir = 5
},
@@ -53162,9 +52935,7 @@
pixel_y = -36;
req_access_txt = "63"
},
-/obj/effect/landmark/start{
- name = "Warden"
- },
+/obj/effect/landmark/start/warden,
/obj/machinery/atmospherics/components/unary/vent_pump{
dir = 8;
on = 1
@@ -53345,7 +53116,7 @@
icon_state = "fire0";
pixel_x = 24;
pixel_y = 0
- },
+ },
/obj/machinery/porta_turret/ai,
/turf/open/floor/plasteel/vault{
dir = 8
@@ -53893,7 +53664,7 @@
name = "WARNING: BLAST DOORS";
pixel_x = 0;
pixel_y = -32
- },
+ },
/obj/effect/turf_decal/stripes/line{
dir = 4
},
@@ -54455,9 +54226,7 @@
/turf/open/floor/plasteel/neutral,
/area/hallway/primary/central)
"bXZ" = (
-/obj/effect/landmark{
- name = "lightsout"
- },
+/obj/effect/landmark/lightsout,
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/turf/open/floor/plasteel/blue/corner,
/area/hallway/primary/central)
@@ -54814,7 +54583,7 @@
icon_state = "fire0";
pixel_x = 24;
pixel_y = 0
- },
+ },
/turf/open/floor/wood,
/area/lawoffice)
"bYN" = (
@@ -55269,9 +55038,7 @@
/obj/structure/chair/office/dark{
dir = 8
},
-/obj/effect/landmark/start{
- name = "Librarian"
- },
+/obj/effect/landmark/start/librarian,
/turf/open/floor/plasteel/black,
/area/library)
"bZI" = (
@@ -55580,9 +55347,7 @@
/obj/structure/cable/white{
icon_state = "1-4"
},
-/obj/effect/landmark/start{
- name = "Captain"
- },
+/obj/effect/landmark/start/captain,
/obj/structure/disposalpipe/segment{
dir = 1;
icon_state = "pipe-c"
@@ -55651,9 +55416,7 @@
/obj/machinery/newscaster{
pixel_x = 32
},
-/obj/effect/landmark/start{
- name = "Captain"
- },
+/obj/effect/landmark/start/captain,
/turf/open/floor/carpet,
/area/crew_quarters/captain/captains_quarters)
"cap" = (
@@ -55795,9 +55558,7 @@
/obj/structure/cable/white{
icon_state = "2-8"
},
-/obj/effect/landmark/start{
- name = "Lawyer"
- },
+/obj/effect/landmark/start/lawyer,
/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
icon_state = "manifold";
dir = 4
@@ -55826,9 +55587,7 @@
/obj/structure/chair/office/dark{
dir = 1
},
-/obj/effect/landmark/start{
- name = "Security Officer"
- },
+/obj/effect/landmark/start/security_officer,
/obj/machinery/atmospherics/components/unary/vent_pump{
dir = 2;
on = 1
@@ -55902,9 +55661,7 @@
/obj/structure/cable/white{
icon_state = "2-4"
},
-/obj/effect/landmark{
- name = "lightsout"
- },
+/obj/effect/landmark/lightsout,
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
},
@@ -56117,7 +55874,7 @@
dir = 8;
icon_state = "camera";
network = list("Singularity")
- },
+ },
/turf/open/floor/plating/airless,
/area/engine/engineering)
"cbf" = (
@@ -56263,9 +56020,7 @@
/area/engine/engineering)
"cbq" = (
/obj/structure/chair/office/dark,
-/obj/effect/landmark/start{
- name = "Station Engineer"
- },
+/obj/effect/landmark/start/station_engineer,
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -56621,9 +56376,7 @@
/obj/structure/chair{
dir = 4
},
-/obj/effect/landmark/start{
- name = "Assistant"
- },
+/obj/effect/landmark/start/assistant,
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
},
@@ -56902,9 +56655,7 @@
pixel_x = -32;
pixel_y = -64
},
-/obj/effect/landmark/start{
- name = "Security Officer"
- },
+/obj/effect/landmark/start/security_officer,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
},
@@ -56917,9 +56668,7 @@
/obj/structure/cable/white{
icon_state = "1-4"
},
-/obj/effect/landmark/start{
- name = "Security Officer"
- },
+/obj/effect/landmark/start/security_officer,
/obj/machinery/atmospherics/components/unary/vent_scrubber{
dir = 8;
on = 1;
@@ -56931,9 +56680,7 @@
/obj/structure/cable/white{
icon_state = "4-8"
},
-/obj/effect/landmark/start{
- name = "Security Officer"
- },
+/obj/effect/landmark/start/security_officer,
/turf/open/floor/plasteel/neutral,
/area/security/brig)
"ccC" = (
@@ -56948,9 +56695,7 @@
/obj/structure/cable/white{
icon_state = "4-8"
},
-/obj/effect/landmark/start{
- name = "Security Officer"
- },
+/obj/effect/landmark/start/security_officer,
/obj/machinery/atmospherics/components/unary/vent_pump{
dir = 1;
on = 1
@@ -57187,7 +56932,7 @@
dir = 1;
icon_state = "yellow";
initial_gas_mix = "o2=22;n2=82;TEMP=293.15"
- },
+ },
/area/engine/engineering)
"ccX" = (
/turf/open/floor/plasteel/yellow/side{
@@ -57224,7 +56969,7 @@
/turf/open/floor/plasteel/yellow/side{
dir = 9;
initial_gas_mix = "o2=22;n2=82;TEMP=293.15"
- },
+ },
/area/engine/engineering)
"cdc" = (
/obj/machinery/vending/engivend,
@@ -57244,9 +56989,6 @@
/turf/open/floor/plating,
/area/engine/engineering)
"cde" = (
-/obj/machinery/computer/monitor{
- name = "Engineering Power Monitoring Console"
- },
/obj/machinery/firealarm{
dir = 8;
pixel_x = -24;
@@ -57263,6 +57005,7 @@
dir = 1;
name = "engineering camera"
},
+/obj/machinery/modular_computer/console/preset/engineering,
/turf/open/floor/plasteel/vault,
/area/engine/engineering)
"cdf" = (
@@ -57297,9 +57040,7 @@
},
/area/maintenance/fpmaint2/port_maintenance)
"cdk" = (
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/turf/open/floor/plasteel/neutral/side{
dir = 8
},
@@ -57341,9 +57082,7 @@
/area/library)
"cdq" = (
/obj/structure/chair/comfy/brown,
-/obj/effect/landmark/start{
- name = "Assistant"
- },
+/obj/effect/landmark/start/assistant,
/turf/open/floor/wood,
/area/library)
"cdr" = (
@@ -57407,9 +57146,7 @@
/obj/structure/cable/white{
icon_state = "4-8"
},
-/obj/effect/landmark/start{
- name = "Head of Personnel"
- },
+/obj/effect/landmark/start/head_of_personnel,
/turf/open/floor/wood,
/area/crew_quarters/heads)
"cdz" = (
@@ -57505,7 +57242,7 @@
icon_state = "fire0";
pixel_x = 24;
pixel_y = 0
- },
+ },
/turf/open/floor/plasteel/neutral/corner,
/area/hallway/primary/central)
"cdK" = (
@@ -57600,9 +57337,7 @@
pixel_x = -26;
pixel_y = 3
},
-/obj/effect/landmark/start{
- name = "Lawyer"
- },
+/obj/effect/landmark/start/lawyer,
/obj/machinery/atmospherics/components/unary/vent_scrubber{
dir = 1;
on = 1;
@@ -57907,7 +57642,7 @@
dir = 4;
icon_state = "camera";
network = list("Singularity")
- },
+ },
/turf/open/space,
/area/space)
"cey" = (
@@ -57993,9 +57728,7 @@
/turf/open/floor/plasteel,
/area/engine/engineering)
"ceG" = (
-/obj/effect/landmark/start{
- name = "Station Engineer"
- },
+/obj/effect/landmark/start/station_engineer,
/turf/open/floor/plasteel/neutral,
/area/engine/engineering)
"ceH" = (
@@ -58024,9 +57757,7 @@
/turf/open/floor/plasteel,
/area/engine/engineering)
"ceJ" = (
-/obj/effect/landmark/start{
- name = "Station Engineer"
- },
+/obj/effect/landmark/start/station_engineer,
/turf/open/floor/plasteel/yellow/side{
dir = 4
},
@@ -58332,9 +58063,7 @@
},
/area/crew_quarters/courtroom)
"cfv" = (
-/obj/effect/landmark{
- name = "lightsout"
- },
+/obj/effect/landmark/lightsout,
/turf/open/floor/plasteel/vault{
dir = 5
},
@@ -58356,9 +58085,7 @@
/area/crew_quarters/courtroom)
"cfy" = (
/obj/machinery/holopad,
-/obj/effect/landmark/start{
- name = "Lawyer"
- },
+/obj/effect/landmark/start/lawyer,
/obj/effect/turf_decal/bot,
/turf/open/floor/plasteel,
/area/crew_quarters/courtroom)
@@ -58615,7 +58342,7 @@
d1 = 1;
d2 = 4;
icon_state = "1-4"
- },
+ },
/obj/structure/cable{
d1 = 2;
d2 = 4;
@@ -58688,9 +58415,7 @@
/obj/structure/cable/white{
icon_state = "4-8"
},
-/obj/effect/landmark/start{
- name = "Station Engineer"
- },
+/obj/effect/landmark/start/station_engineer,
/turf/open/floor/plasteel/neutral,
/area/engine/engineering)
"cgg" = (
@@ -58748,9 +58473,7 @@
/obj/structure/chair/office/dark{
dir = 8
},
-/obj/effect/landmark/start{
- name = "Assistant"
- },
+/obj/effect/landmark/start/assistant,
/turf/open/floor/wood,
/area/library)
"cgn" = (
@@ -58774,9 +58497,7 @@
/turf/open/floor/plasteel/grimy,
/area/library)
"cgq" = (
-/obj/effect/landmark{
- name = "lightsout"
- },
+/obj/effect/landmark/lightsout,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
},
@@ -59343,10 +59064,7 @@
dir = 4;
on = 1
},
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/xeno_spawn,
/obj/effect/turf_decal/stripes/line,
/turf/open/floor/plasteel,
/area/maintenance/fpmaint2/port_maintenance)
@@ -59732,9 +59450,7 @@
/obj/structure/chair{
dir = 4
},
-/obj/effect/landmark/start{
- name = "Assistant"
- },
+/obj/effect/landmark/start/assistant,
/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
icon_state = "manifold";
dir = 4
@@ -59794,9 +59510,7 @@
/obj/structure/cable/white{
icon_state = "2-4"
},
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/obj/structure/disposalpipe/segment{
dir = 4;
icon_state = "pipe-c"
@@ -59878,9 +59592,7 @@
/obj/structure/cable/white{
icon_state = "4-8"
},
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
},
@@ -60042,9 +59754,7 @@
icon_state = "4-8"
},
/obj/effect/decal/cleanable/dirt,
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/turf/open/floor/plating,
/area/security/range)
"ciO" = (
@@ -60186,7 +59896,7 @@
d1 = 1;
d2 = 4;
icon_state = "1-4"
- },
+ },
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -60355,7 +60065,7 @@
icon_state = "fire0";
pixel_x = 24;
pixel_y = 0
- },
+ },
/turf/open/floor/plasteel/grimy,
/area/library)
"cjt" = (
@@ -60371,9 +60081,7 @@
pixel_x = 26;
pixel_y = 26
},
-/obj/effect/landmark/start{
- name = "Head of Personnel"
- },
+/obj/effect/landmark/start/head_of_personnel,
/obj/machinery/atmospherics/components/unary/vent_pump{
dir = 4;
on = 1
@@ -60478,10 +60186,7 @@
dir = 8;
on = 1
},
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/xeno_spawn,
/obj/effect/turf_decal/stripes/line{
dir = 5
},
@@ -61113,9 +60818,7 @@
/obj/structure/chair/office/dark{
dir = 1
},
-/obj/effect/landmark/start{
- name = "Librarian"
- },
+/obj/effect/landmark/start/librarian,
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
icon_state = "intact";
dir = 10
@@ -61553,7 +61256,7 @@
d1 = 1;
d2 = 4;
icon_state = "1-4"
- },
+ },
/turf/open/floor/plating,
/area/engine/engineering)
"clR" = (
@@ -62052,7 +61755,7 @@
/obj/structure/cable/white{
d2 = 2;
icon_state = "0-2"
- },
+ },
/obj/structure/grille,
/obj/structure/window/reinforced/fulltile,
/turf/open/floor/plating,
@@ -62139,7 +61842,7 @@
d1 = 1;
d2 = 4;
icon_state = "1-4"
- },
+ },
/obj/structure/cable{
d1 = 2;
d2 = 4;
@@ -62211,9 +61914,7 @@
/turf/open/floor/plasteel,
/area/engine/engineering)
"cno" = (
-/obj/effect/landmark/start{
- name = "Station Engineer"
- },
+/obj/effect/landmark/start/station_engineer,
/turf/open/floor/plasteel/yellow,
/area/engine/engineering)
"cnp" = (
@@ -62311,10 +62012,7 @@
/area/maintenance/fpmaint2/port_maintenance)
"cny" = (
/obj/effect/decal/cleanable/dirt,
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/xeno_spawn,
/obj/machinery/atmospherics/components/unary/vent_pump{
dir = 4;
on = 1
@@ -62421,7 +62119,7 @@
icon_state = "nboard00";
pixel_x = 32;
pixel_y = 0
- },
+ },
/turf/open/floor/plasteel/grimy,
/area/library)
"cnJ" = (
@@ -62537,7 +62235,7 @@
/obj/structure/cable/white{
d2 = 2;
icon_state = "0-2"
- },
+ },
/turf/open/floor/plasteel/neutral/corner{
dir = 1
},
@@ -63474,9 +63172,7 @@
icon_state = "4-8"
},
/obj/structure/chair/comfy/black,
-/obj/effect/landmark/start{
- name = "Assistant"
- },
+/obj/effect/landmark/start/assistant,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
},
@@ -63642,7 +63338,7 @@
name = "WARNING: PRESSURIZED DOORS";
pixel_x = 0;
pixel_y = 0
- },
+ },
/turf/closed/wall,
/area/crew_quarters/courtroom)
"cpO" = (
@@ -63825,7 +63521,7 @@
d1 = 1;
d2 = 4;
icon_state = "1-4"
- },
+ },
/obj/effect/turf_decal/stripes/line{
dir = 10
},
@@ -64045,7 +63741,7 @@
icon_state = "direction_bridge";
name = "command department";
pixel_y = 0
- },
+ },
/turf/closed/wall/r_wall,
/area/ai_monitored/storage/eva{
name = "E.V.A. Storage"
@@ -64140,9 +63836,7 @@
icon_state = "1-2"
},
/obj/machinery/holopad,
-/obj/effect/landmark{
- name = "lightsout"
- },
+/obj/effect/landmark/lightsout,
/obj/effect/turf_decal/bot,
/turf/open/floor/plasteel,
/area/bridge/meeting_room{
@@ -64231,7 +63925,7 @@
icon_state = "direction_bridge";
name = "command department";
pixel_y = 0
- },
+ },
/turf/closed/wall/r_wall,
/area/gateway)
"cqZ" = (
@@ -64405,9 +64099,7 @@
/area/crew_quarters/locker)
"crn" = (
/obj/structure/chair/stool,
-/obj/effect/landmark/start{
- name = "Assistant"
- },
+/obj/effect/landmark/start/assistant,
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
},
@@ -64811,7 +64503,7 @@
/obj/structure/cable/white{
d2 = 2;
icon_state = "0-2"
- },
+ },
/obj/structure/cable/white{
icon_state = "0-4"
},
@@ -64852,9 +64544,7 @@
/obj/structure/chair/comfy/black{
dir = 1
},
-/obj/effect/landmark/start{
- name = "Assistant"
- },
+/obj/effect/landmark/start/assistant,
/turf/open/floor/plasteel/blue/corner,
/area/bridge/meeting_room{
name = "\improper Command Hallway"
@@ -64906,7 +64596,7 @@
/obj/structure/cable/white{
d2 = 2;
icon_state = "0-2"
- },
+ },
/obj/structure/cable/white{
icon_state = "0-8"
},
@@ -65023,9 +64713,7 @@
/turf/open/floor/plasteel/neutral,
/area/hallway/primary/central)
"csx" = (
-/obj/effect/landmark{
- name = "lightsout"
- },
+/obj/effect/landmark/lightsout,
/turf/open/floor/plasteel/neutral,
/area/hallway/primary/central)
"csy" = (
@@ -65504,9 +65192,7 @@
},
/area/library)
"ctx" = (
-/obj/effect/landmark{
- name = "revenantspawn"
- },
+/obj/effect/landmark/revenantspawn,
/obj/machinery/atmospherics/components/unary/vent_scrubber{
dir = 1;
on = 1;
@@ -65516,9 +65202,7 @@
/area/library)
"cty" = (
/obj/structure/chair/comfy/black,
-/obj/effect/landmark/start{
- name = "Librarian"
- },
+/obj/effect/landmark/start/librarian,
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
icon_state = "intact";
dir = 5
@@ -65990,9 +65674,7 @@
/turf/open/floor/plasteel/neutral,
/area/crew_quarters/locker)
"cup" = (
-/obj/effect/landmark{
- name = "lightsout"
- },
+/obj/effect/landmark/lightsout,
/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
icon_state = "manifold";
dir = 1
@@ -66207,7 +65889,7 @@
d1 = 1;
d2 = 4;
icon_state = "1-4"
- },
+ },
/obj/structure/cable{
d1 = 2;
d2 = 4;
@@ -66237,7 +65919,7 @@
/obj/structure/cable/white{
d2 = 2;
icon_state = "0-2"
- },
+ },
/obj/structure/grille,
/obj/structure/window/reinforced/fulltile,
/turf/open/floor/plating,
@@ -66264,7 +65946,7 @@
dir = 1;
icon_state = "yellow";
initial_gas_mix = "o2=22;n2=82;TEMP=293.15"
- },
+ },
/area/engine/engineering{
name = "Engineering Storage"
})
@@ -66280,7 +65962,7 @@
dir = 1;
icon_state = "yellow";
initial_gas_mix = "o2=22;n2=82;TEMP=293.15"
- },
+ },
/area/engine/engineering{
name = "Engineering Storage"
})
@@ -66378,9 +66060,7 @@
/turf/open/floor/plasteel/grimy,
/area/library)
"cva" = (
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/obj/structure/disposalpipe/segment{
dir = 4
},
@@ -66459,7 +66139,7 @@
icon_state = "fire0";
pixel_x = 24;
pixel_y = 0
- },
+ },
/turf/open/floor/plasteel/neutral/corner{
dir = 4
},
@@ -66872,7 +66552,7 @@
dir = 4;
icon_state = "camera";
network = list("Singularity")
- },
+ },
/turf/open/space,
/area/space)
"cvZ" = (
@@ -66881,7 +66561,7 @@
d1 = 1;
d2 = 4;
icon_state = "1-4"
- },
+ },
/turf/open/space,
/area/space)
"cwa" = (
@@ -66890,7 +66570,7 @@
d1 = 1;
d2 = 4;
icon_state = "1-4"
- },
+ },
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -66923,9 +66603,7 @@
/area/engine/engineering)
"cwd" = (
/obj/effect/decal/cleanable/dirt,
-/obj/effect/landmark/start{
- name = "Station Engineer"
- },
+/obj/effect/landmark/start/station_engineer,
/turf/open/floor/plasteel/neutral,
/area/engine/engineering)
"cwe" = (
@@ -66961,7 +66639,7 @@
/obj/structure/cable/white{
d2 = 2;
icon_state = "0-2"
- },
+ },
/obj/structure/grille,
/obj/structure/window/reinforced/fulltile,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
@@ -67669,9 +67347,7 @@
/obj/structure/cable/white{
icon_state = "2-8"
},
-/obj/effect/landmark/start{
- name = "Assistant"
- },
+/obj/effect/landmark/start/assistant,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
@@ -67991,9 +67667,7 @@
/obj/structure/cable/white{
icon_state = "1-2"
},
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/turf/open/floor/plasteel/neutral/corner{
dir = 1
},
@@ -68489,9 +68163,7 @@
name = "\improper Restrooms"
})
"cyG" = (
-/obj/effect/landmark/start{
- name = "Assistant"
- },
+/obj/effect/landmark/start/assistant,
/turf/open/floor/plasteel/neutral,
/area/crew_quarters/locker/locker_toilet{
name = "\improper Restrooms"
@@ -68677,9 +68349,7 @@
/obj/structure/chair{
dir = 4
},
-/obj/effect/landmark/start{
- name = "Assistant"
- },
+/obj/effect/landmark/start/assistant,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/turf/open/floor/plasteel/neutral/corner{
dir = 4
@@ -68747,7 +68417,7 @@
dir = 8;
icon_state = "camera";
network = list("Singularity")
- },
+ },
/turf/open/floor/plating/airless,
/area/engine/engineering)
"czm" = (
@@ -68780,9 +68450,7 @@
/turf/open/floor/plasteel,
/area/engine/engineering)
"czp" = (
-/obj/effect/landmark{
- name = "lightsout"
- },
+/obj/effect/landmark/lightsout,
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
icon_state = "intact";
dir = 8
@@ -68809,7 +68477,7 @@
/obj/structure/cable/white{
d2 = 2;
icon_state = "0-2"
- },
+ },
/obj/structure/grille,
/obj/structure/window/reinforced/fulltile,
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
@@ -68899,10 +68567,7 @@
"czy" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/xeno_spawn,
/obj/machinery/atmospherics/components/unary/vent_pump{
dir = 4;
on = 1
@@ -68910,9 +68575,7 @@
/turf/open/floor/plasteel/yellow,
/area/maintenance/fpmaint2/port_maintenance)
"czz" = (
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
},
@@ -69070,9 +68733,7 @@
/area/maintenance/fpmaint2/port_maintenance)
"czN" = (
/obj/effect/decal/cleanable/dirt,
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/turf/open/floor/plasteel/neutral,
/area/maintenance/fpmaint2/port_maintenance)
"czO" = (
@@ -70241,9 +69902,7 @@
/obj/structure/cable/white{
icon_state = "1-2"
},
-/obj/effect/landmark{
- name = "lightsout"
- },
+/obj/effect/landmark/lightsout,
/turf/open/floor/plasteel/neutral,
/area/hallway/primary/central)
"cBS" = (
@@ -70610,7 +70269,7 @@
dir = 1;
icon_state = "nboard00";
pixel_y = -32
- },
+ },
/obj/effect/turf_decal/bot,
/turf/open/floor/plasteel,
/area/engine/engineering{
@@ -70753,7 +70412,7 @@
name = "WARNING: PRESSURIZED DOORS";
pixel_x = 0;
pixel_y = 0
- },
+ },
/turf/closed/wall/r_wall,
/area/ai_monitored/storage/eva{
name = "E.V.A. Storage"
@@ -70892,7 +70551,7 @@
name = "WARNING: BLAST DOORS";
pixel_x = 0;
pixel_y = 0
- },
+ },
/turf/closed/wall/r_wall,
/area/gateway)
"cDe" = (
@@ -70975,9 +70634,7 @@
pixel_x = -32
},
/obj/machinery/light/small,
-/obj/effect/landmark/start{
- name = "Assistant"
- },
+/obj/effect/landmark/start/assistant,
/obj/effect/turf_decal/bot,
/turf/open/floor/plasteel,
/area/crew_quarters/locker/locker_toilet{
@@ -71164,9 +70821,7 @@
/turf/closed/wall,
/area/maintenance/fpmaint2/port_maintenance)
"cDG" = (
-/obj/effect/landmark{
- name = "lightsout"
- },
+/obj/effect/landmark/lightsout,
/obj/structure/cable/white{
icon_state = "1-2"
},
@@ -72164,9 +71819,7 @@
/obj/structure/cable/white{
icon_state = "4-8"
},
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
},
@@ -72413,7 +72066,7 @@
icon_state = "pipe-j1s";
name = "Medbay Junction";
sortType = 9
- },
+ },
/turf/open/floor/plasteel/neutral/corner,
/area/hallway/primary/central)
"cFJ" = (
@@ -72575,9 +72228,7 @@
/area/maintenance/starboard/aft_starboard_maintenance)
"cFU" = (
/obj/effect/decal/cleanable/dirt,
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
},
@@ -72659,9 +72310,7 @@
/turf/open/floor/plasteel/neutral,
/area/crew_quarters/sleep)
"cGf" = (
-/obj/effect/landmark{
- name = "lightsout"
- },
+/obj/effect/landmark/lightsout,
/turf/open/floor/plasteel/neutral,
/area/crew_quarters/sleep)
"cGg" = (
@@ -72732,9 +72381,7 @@
/obj/structure/chair/office/light{
dir = 8
},
-/obj/effect/landmark/start{
- name = "Assistant"
- },
+/obj/effect/landmark/start/assistant,
/turf/open/floor/plasteel/neutral,
/area/crew_quarters/fitness{
name = "\improper Recreation Area"
@@ -73148,9 +72795,7 @@
/obj/structure/cable/white{
icon_state = "4-8"
},
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
},
@@ -73393,9 +73038,7 @@
/obj/structure/cable/white{
icon_state = "1-2"
},
-/obj/effect/landmark{
- name = "lightsout"
- },
+/obj/effect/landmark/lightsout,
/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden,
/obj/structure/disposalpipe/junction{
dir = 1;
@@ -74328,9 +73971,7 @@
/obj/structure/cable/white{
icon_state = "2-8"
},
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
icon_state = "manifold";
dir = 8
@@ -74452,9 +74093,7 @@
})
"cJT" = (
/obj/structure/chair,
-/obj/effect/landmark/start{
- name = "Assistant"
- },
+/obj/effect/landmark/start/assistant,
/turf/open/floor/plasteel/whitepurple/corner{
icon_state = "whitepurplecorner";
dir = 1
@@ -74529,9 +74168,7 @@
})
"cKa" = (
/obj/structure/chair,
-/obj/effect/landmark/start{
- name = "Assistant"
- },
+/obj/effect/landmark/start/assistant,
/turf/open/floor/plasteel/whitepurple/corner{
dir = 4
},
@@ -74581,9 +74218,7 @@
})
"cKh" = (
/obj/structure/chair,
-/obj/effect/landmark/start{
- name = "Assistant"
- },
+/obj/effect/landmark/start/assistant,
/turf/open/floor/plasteel/whiteblue/corner{
dir = 1
},
@@ -74644,9 +74279,7 @@
})
"cKn" = (
/obj/structure/chair,
-/obj/effect/landmark/start{
- name = "Assistant"
- },
+/obj/effect/landmark/start/assistant,
/turf/open/floor/plasteel/whiteblue/corner{
dir = 4
},
@@ -76113,7 +75746,7 @@
/obj/structure/cable/white{
d2 = 2;
icon_state = "0-2"
- },
+ },
/obj/structure/grille,
/obj/structure/window/reinforced/fulltile,
/turf/open/floor/plating,
@@ -76196,9 +75829,7 @@
name = "Research Division"
})
"cNl" = (
-/obj/effect/landmark{
- name = "lightsout"
- },
+/obj/effect/landmark/lightsout,
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
},
@@ -76438,7 +76069,7 @@
icon_state = "fire0";
pixel_x = 24;
pixel_y = 0
- },
+ },
/obj/machinery/light_switch{
pixel_x = 38
},
@@ -76529,9 +76160,7 @@
name = "Medbay Storage"
})
"cNM" = (
-/obj/effect/landmark/start{
- name = "Medical Doctor"
- },
+/obj/effect/landmark/start/medical_doctor,
/turf/open/floor/plasteel/cmo,
/area/medical/medbay2{
name = "Medbay Storage"
@@ -76808,7 +76437,7 @@
/obj/structure/cable/white{
d2 = 2;
icon_state = "0-2"
- },
+ },
/obj/structure/grille,
/obj/structure/window/reinforced/fulltile,
/obj/machinery/door/poddoor/preopen{
@@ -76939,7 +76568,7 @@
icon_state = "doors";
name = "WARNING: BIOHAZARD CELL";
pixel_x = 0
- },
+ },
/turf/closed/wall,
/area/toxins/xenobiology)
"cOG" = (
@@ -77117,7 +76746,7 @@
/obj/structure/cable/white{
d2 = 2;
icon_state = "0-2"
- },
+ },
/obj/structure/cable/white{
icon_state = "0-8"
},
@@ -77236,9 +76865,7 @@
},
/area/hallway/primary/aft)
"cPh" = (
-/obj/effect/landmark{
- name = "lightsout"
- },
+/obj/effect/landmark/lightsout,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
},
@@ -77254,7 +76881,7 @@
icon_state = "pipe-j1s";
name = "Chemistry Junction";
sortType = 11
- },
+ },
/turf/open/floor/plasteel/blue/corner,
/area/hallway/primary/aft)
"cPj" = (
@@ -77337,9 +76964,7 @@
name = "Medbay Central"
})
"cPq" = (
-/obj/effect/landmark{
- name = "lightsout"
- },
+/obj/effect/landmark/lightsout,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
},
@@ -77560,10 +77185,7 @@
dir = 4;
on = 1
},
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/xeno_spawn,
/turf/open/floor/plating{
icon_state = "panelscorched"
},
@@ -77726,9 +77348,7 @@
/obj/structure/chair{
dir = 4
},
-/obj/effect/landmark/start{
- name = "Assistant"
- },
+/obj/effect/landmark/start/assistant,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/obj/machinery/light{
dir = 4
@@ -77937,7 +77557,7 @@
/obj/structure/cable/white{
d2 = 2;
icon_state = "0-2"
- },
+ },
/obj/structure/grille,
/obj/structure/window/reinforced/fulltile,
/obj/machinery/door/poddoor/preopen{
@@ -78612,9 +78232,7 @@
/obj/structure/cable/white{
icon_state = "1-2"
},
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/turf/open/floor/plasteel/neutral/side{
dir = 8
@@ -78743,9 +78361,7 @@
/obj/structure/cable/white{
icon_state = "4-8"
},
-/obj/effect/landmark{
- name = "lightsout"
- },
+/obj/effect/landmark/lightsout,
/obj/effect/turf_decal/stripes/line{
dir = 2
},
@@ -78799,9 +78415,7 @@
/obj/structure/cable/white{
icon_state = "2-8"
},
-/obj/effect/landmark/start{
- name = "Scientist"
- },
+/obj/effect/landmark/start/scientist,
/turf/open/floor/plasteel/neutral,
/area/toxins/xenobiology)
"cRX" = (
@@ -79312,9 +78926,7 @@
/area/maintenance/starboard/aft_starboard_maintenance)
"cSV" = (
/obj/effect/decal/cleanable/dirt,
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
},
@@ -79547,7 +79159,7 @@
/obj/structure/cable/white{
d2 = 2;
icon_state = "0-2"
- },
+ },
/obj/structure/grille,
/obj/structure/window/reinforced/fulltile,
/obj/machinery/door/poddoor/preopen{
@@ -80602,9 +80214,7 @@
/obj/structure/cable/white{
icon_state = "1-2"
},
-/obj/effect/landmark/start{
- name = "Scientist"
- },
+/obj/effect/landmark/start/scientist,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/turf/open/floor/plasteel/neutral,
/area/toxins/xenobiology)
@@ -80622,7 +80232,7 @@
/obj/structure/cable/white{
d2 = 2;
icon_state = "0-2"
- },
+ },
/obj/structure/cable/white{
icon_state = "0-4"
},
@@ -80893,9 +80503,7 @@
/obj/structure/chair/office/light{
dir = 1
},
-/obj/effect/landmark/start{
- name = "Chemist"
- },
+/obj/effect/landmark/start/chemist,
/obj/effect/turf_decal/bot,
/turf/open/floor/plasteel,
/area/medical/chemistry)
@@ -81035,9 +80643,7 @@
name = "Medbay Central"
})
"cWf" = (
-/obj/effect/landmark/start{
- name = "Medical Doctor"
- },
+/obj/effect/landmark/start/medical_doctor,
/turf/open/floor/plasteel/blue,
/area/medical/medbay{
name = "Medbay Central"
@@ -81072,9 +80678,7 @@
})
"cWj" = (
/obj/machinery/holopad,
-/obj/effect/landmark/start{
- name = "Medical Doctor"
- },
+/obj/effect/landmark/start/medical_doctor,
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
icon_state = "intact";
dir = 6
@@ -81251,9 +80855,7 @@
},
/area/maintenance/fpmaint2/port_maintenance)
"cWC" = (
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
icon_state = "intact";
dir = 8
@@ -81769,9 +81371,7 @@
/turf/open/floor/plasteel/neutral,
/area/toxins/lab)
"cXt" = (
-/obj/effect/landmark/start{
- name = "Scientist"
- },
+/obj/effect/landmark/start/scientist,
/turf/open/floor/plasteel/neutral,
/area/toxins/lab)
"cXu" = (
@@ -81903,9 +81503,7 @@
})
"cXJ" = (
/obj/machinery/holopad,
-/obj/effect/landmark/start{
- name = "Medical Doctor"
- },
+/obj/effect/landmark/start/medical_doctor,
/turf/open/floor/plasteel/neutral,
/area/medical/medbay{
name = "Medbay Central"
@@ -81953,7 +81551,7 @@
/obj/structure/cable/white{
d2 = 2;
icon_state = "0-2"
- },
+ },
/obj/structure/cable/white{
icon_state = "0-4"
},
@@ -82089,7 +81687,7 @@
/obj/structure/mirror{
icon_state = "mirror_broke";
pixel_y = 28
- },
+ },
/turf/open/floor/plasteel/whiteblue/corner{
dir = 1
},
@@ -82139,7 +81737,7 @@
/obj/structure/mirror{
icon_state = "mirror_broke";
pixel_y = 28
- },
+ },
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plasteel/whiteblue/corner{
dir = 4
@@ -82539,7 +82137,7 @@
/turf/open/floor/plasteel/whitepurple/side{
dir = 5;
initial_gas_mix = "o2=22;n2=82;TEMP=293.15"
- },
+ },
/area/toxins/lab)
"cYV" = (
/obj/machinery/computer/rdconsole/core,
@@ -83134,7 +82732,7 @@
departmentType = 0;
name = "Research RC";
pixel_x = 32;
- pixel_y = 0
+ pixel_y = 0;
receive_ore_updates = 1
},
/obj/machinery/camera{
@@ -83182,9 +82780,7 @@
/obj/machinery/holopad{
pixel_x = -16
},
-/obj/effect/landmark/start{
- name = "Chemist"
- },
+/obj/effect/landmark/start/chemist,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/turf/open/floor/plasteel/whiteyellow/side{
dir = 4
@@ -83205,7 +82801,7 @@
icon_state = "fire0";
pixel_x = 24;
pixel_y = 0
- },
+ },
/obj/machinery/light{
dir = 4;
icon_state = "tube1"
@@ -83428,10 +83024,7 @@
dir = 8;
on = 1
},
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/xeno_spawn,
/turf/open/floor/plating,
/area/medical/medbay3{
name = "Abandoned Medbay"
@@ -83921,7 +83514,7 @@
/turf/open/floor/plasteel/whitepurple/side{
dir = 6;
initial_gas_mix = "o2=22;n2=82;TEMP=293.15"
- },
+ },
/area/toxins/lab)
"dbD" = (
/obj/effect/decal/cleanable/dirt,
@@ -84575,9 +84168,7 @@
/obj/structure/cable/white{
icon_state = "1-2"
},
-/obj/effect/landmark/start{
- name = "Scientist"
- },
+/obj/effect/landmark/start/scientist,
/obj/machinery/atmospherics/components/unary/vent_scrubber{
dir = 2;
on = 1;
@@ -84643,9 +84234,7 @@
/obj/structure/chair/office/light{
dir = 8
},
-/obj/effect/landmark/start{
- name = "Chemist"
- },
+/obj/effect/landmark/start/chemist,
/obj/effect/turf_decal/bot,
/turf/open/floor/plasteel,
/area/medical/chemistry)
@@ -84737,9 +84326,7 @@
icon_state = "4-8"
},
/obj/item/device/radio/beacon,
-/obj/effect/landmark{
- name = "lightsout"
- },
+/obj/effect/landmark/lightsout,
/obj/structure/disposalpipe/segment,
/turf/open/floor/plasteel/whiteblue,
/area/medical/medbay{
@@ -85061,10 +84648,7 @@
dir = 1;
on = 1
},
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/xeno_spawn,
/turf/open/floor/plating,
/area/crew_quarters/abandoned_gambling_den)
"ddV" = (
@@ -85241,7 +84825,7 @@
/obj/structure/cable/white{
d2 = 2;
icon_state = "0-2"
- },
+ },
/obj/machinery/power/apc{
cell_type = 5000;
dir = 1;
@@ -85948,10 +85532,7 @@
"dfB" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/xeno_spawn,
/obj/machinery/atmospherics/components/unary/vent_pump{
dir = 8;
on = 1
@@ -85965,9 +85546,7 @@
/obj/structure/chair/office/dark{
dir = 4
},
-/obj/effect/landmark{
- name = "revenantspawn"
- },
+/obj/effect/landmark/revenantspawn,
/turf/open/floor/wood,
/area/maintenance/starboard/aft_starboard_maintenance)
"dfD" = (
@@ -86304,7 +85883,7 @@
/obj/structure/cable/white{
d2 = 2;
icon_state = "0-2"
- },
+ },
/obj/structure/grille,
/obj/structure/window/reinforced/fulltile,
/obj/machinery/door/poddoor/preopen{
@@ -86348,7 +85927,7 @@
/obj/structure/cable/white{
d2 = 2;
icon_state = "0-2"
- },
+ },
/obj/structure/cable/white{
icon_state = "0-8"
},
@@ -86427,7 +86006,7 @@
icon_state = "fire0";
pixel_x = 24;
pixel_y = 0
- },
+ },
/obj/machinery/door/firedoor,
/obj/effect/turf_decal/stripes/line{
dir = 2
@@ -86743,7 +86322,7 @@
icon_state = "fire0";
pixel_x = 24;
pixel_y = 0
- },
+ },
/obj/effect/turf_decal/bot,
/turf/open/floor/plasteel,
/area/toxins/explab)
@@ -86946,7 +86525,7 @@
/obj/structure/cable/white{
d2 = 2;
icon_state = "0-2"
- },
+ },
/obj/structure/grille,
/obj/structure/window/reinforced/fulltile,
/obj/machinery/door/poddoor/preopen{
@@ -87441,10 +87020,7 @@
"diD" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/xeno_spawn,
/obj/machinery/atmospherics/components/unary/vent_pump{
dir = 8;
on = 1
@@ -87552,10 +87128,7 @@
dir = 2;
on = 1
},
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/xeno_spawn,
/turf/open/floor/plasteel/neutral,
/area/medical/research{
name = "Abandoned Research Lab"
@@ -87711,9 +87284,7 @@
/area/toxins/explab)
"dje" = (
/obj/structure/chair/office/light,
-/obj/effect/landmark/start{
- name = "Scientist"
- },
+/obj/effect/landmark/start/scientist,
/obj/machinery/atmospherics/pipe/manifold/supply/hidden,
/obj/structure/disposalpipe/segment{
dir = 4
@@ -87805,9 +87376,7 @@
})
"djl" = (
/obj/machinery/holopad,
-/obj/effect/landmark{
- name = "lightsout"
- },
+/obj/effect/landmark/lightsout,
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
},
@@ -87901,7 +87470,7 @@
/obj/structure/cable/white{
d2 = 2;
icon_state = "0-2"
- },
+ },
/obj/structure/grille,
/obj/structure/window/reinforced/fulltile,
/obj/machinery/door/poddoor/preopen{
@@ -87974,7 +87543,7 @@
/obj/structure/cable/white{
d2 = 2;
icon_state = "0-2"
- },
+ },
/obj/structure/grille,
/obj/structure/window/reinforced/fulltile,
/obj/machinery/door/poddoor/preopen{
@@ -88043,9 +87612,7 @@
icon_state = "1-2"
},
/obj/effect/decal/cleanable/dirt,
-/obj/effect/landmark/start{
- name = "Cyborg"
- },
+/obj/effect/landmark/start/cyborg,
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
},
@@ -88281,9 +87848,7 @@
/obj/machinery/atmospherics/pipe/manifold/general/visible{
dir = 1
},
-/obj/effect/landmark/start{
- name = "Medical Doctor"
- },
+/obj/effect/landmark/start/medical_doctor,
/turf/open/floor/plasteel,
/area/medical/medbay{
name = "Medbay Central"
@@ -88379,9 +87944,7 @@
},
/area/hallway/secondary/construction)
"dko" = (
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/turf/open/floor/plating,
/area/maintenance/starboard/aft_starboard_maintenance)
@@ -88452,9 +88015,7 @@
/area/crew_quarters/abandoned_gambling_den)
"dky" = (
/obj/effect/decal/cleanable/vomit/old,
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/turf/open/floor/plasteel/vault{
dir = 5
},
@@ -89076,9 +88637,7 @@
/turf/open/floor/plating,
/area/hallway/primary/aft)
"dlB" = (
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/obj/machinery/atmospherics/components/unary/vent_pump{
dir = 4;
on = 1
@@ -89261,9 +88820,7 @@
"dlY" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
-/obj/effect/landmark{
- name = "revenantspawn"
- },
+/obj/effect/landmark/revenantspawn,
/turf/open/floor/plasteel/vault{
dir = 5
},
@@ -89566,7 +89123,7 @@
icon_state = "fire0";
pixel_x = 24;
pixel_y = 0
- },
+ },
/obj/machinery/camera{
c_tag = "Science - Research Director's Office";
dir = 8;
@@ -89633,9 +89190,7 @@
/area/assembly/chargebay)
"dmM" = (
/obj/effect/decal/cleanable/dirt,
-/obj/effect/landmark/start{
- name = "Roboticist"
- },
+/obj/effect/landmark/start/roboticist,
/turf/open/floor/plasteel/neutral,
/area/assembly/chargebay)
"dmN" = (
@@ -89741,7 +89296,7 @@
icon_state = "fire0";
pixel_x = 7;
pixel_y = -26
- },
+ },
/obj/machinery/light,
/obj/machinery/light_switch{
pixel_x = 7;
@@ -90399,9 +89954,7 @@
/turf/open/floor/plasteel/blue,
/area/medical/surgery)
"dot" = (
-/obj/effect/landmark/start{
- name = "Medical Doctor"
- },
+/obj/effect/landmark/start/medical_doctor,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
icon_state = "intact";
dir = 5
@@ -90715,9 +90268,7 @@
},
/area/toxins/explab)
"doZ" = (
-/obj/effect/landmark{
- name = "revenantspawn"
- },
+/obj/effect/landmark/revenantspawn,
/turf/open/floor/plasteel/vault{
dir = 8
},
@@ -90748,10 +90299,7 @@
dir = 8;
on = 1
},
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/xeno_spawn,
/turf/open/floor/plasteel/vault{
dir = 5
},
@@ -90859,9 +90407,7 @@
/obj/structure/cable/white{
icon_state = "4-8"
},
-/obj/effect/landmark/start{
- name = "Research Director"
- },
+/obj/effect/landmark/start/research_director,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/turf/open/floor/plasteel/whitepurple/corner,
/area/crew_quarters/hor)
@@ -90944,9 +90490,7 @@
icon_state = "1-2"
},
/obj/effect/decal/cleanable/dirt,
-/obj/effect/landmark/start{
- name = "Cyborg"
- },
+/obj/effect/landmark/start/cyborg,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
},
@@ -90985,7 +90529,7 @@
icon_state = "fire0";
pixel_x = 24;
pixel_y = -26
- },
+ },
/obj/machinery/light_switch{
pixel_x = 26;
pixel_y = -38
@@ -91281,9 +90825,7 @@
/obj/structure/cable/white{
icon_state = "4-8"
},
-/obj/effect/landmark/start{
- name = "Medical Doctor"
- },
+/obj/effect/landmark/start/medical_doctor,
/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
icon_state = "manifold";
dir = 1
@@ -91540,9 +91082,7 @@
/obj/structure/cable/white{
icon_state = "1-2"
},
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/turf/open/floor/plasteel/neutral/side{
dir = 4
@@ -91958,9 +91498,7 @@
/obj/structure/chair/office/light{
dir = 8
},
-/obj/effect/landmark/start{
- name = "Geneticist"
- },
+/obj/effect/landmark/start/geneticist,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
},
@@ -92188,9 +91726,7 @@
/obj/structure/cable/white{
icon_state = "2-8"
},
-/obj/effect/landmark{
- name = "lightsout"
- },
+/obj/effect/landmark/lightsout,
/obj/machinery/atmospherics/components/unary/vent_scrubber{
dir = 4;
on = 1;
@@ -92343,10 +91879,7 @@
/turf/open/floor/plating,
/area/maintenance/starboard/aft_starboard_maintenance)
"drX" = (
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/xeno_spawn,
/obj/machinery/atmospherics/components/unary/vent_pump{
dir = 8;
on = 1
@@ -92491,9 +92024,7 @@
name = "\improper Toxins Lab"
})
"dsp" = (
-/obj/effect/landmark/start{
- name = "Scientist"
- },
+/obj/effect/landmark/start/scientist,
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/turf/open/floor/plasteel/neutral,
/area/toxins/mixing{
@@ -92803,9 +92334,7 @@
icon_state = "1-8"
},
/obj/machinery/holopad,
-/obj/effect/landmark/start{
- name = "Geneticist"
- },
+/obj/effect/landmark/start/geneticist,
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
icon_state = "intact";
dir = 9
@@ -93163,10 +92692,7 @@
dir = 4;
on = 1
},
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/xeno_spawn,
/turf/open/floor/plasteel/neutral,
/area/medical/research{
name = "Abandoned Research Lab"
@@ -93581,9 +93107,7 @@
/area/medical/genetics)
"dum" = (
/obj/structure/chair/office/light,
-/obj/effect/landmark/start{
- name = "Geneticist"
- },
+/obj/effect/landmark/start/geneticist,
/turf/open/floor/plasteel/whitepurple/side{
dir = 10
},
@@ -93972,9 +93496,7 @@
/obj/structure/cable/white{
icon_state = "1-2"
},
-/obj/effect/landmark/start{
- name = "Research Director"
- },
+/obj/effect/landmark/start/research_director,
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
icon_state = "intact";
dir = 9
@@ -94064,9 +93586,7 @@
icon_state = "officechair_white";
dir = 4
},
-/obj/effect/landmark/start{
- name = "Roboticist"
- },
+/obj/effect/landmark/start/roboticist,
/obj/effect/turf_decal/stripes/line{
dir = 5
},
@@ -94117,7 +93637,7 @@
dir = 1;
icon_state = "nboard00";
pixel_y = -32
- },
+ },
/turf/open/floor/plasteel/whitepurple/corner{
icon_state = "whitepurplecorner";
dir = 8
@@ -94966,9 +94486,7 @@
/obj/structure/chair/office/light{
dir = 1
},
-/obj/effect/landmark/start{
- name = "Chief Medical Officer"
- },
+/obj/effect/landmark/start/chief_medical_officer,
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/turf/open/floor/plasteel/cmo,
/area/medical/cmo)
@@ -95014,9 +94532,7 @@
name = "Medbay Central"
})
"dwX" = (
-/obj/effect/landmark/start{
- name = "Medical Doctor"
- },
+/obj/effect/landmark/start/medical_doctor,
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
},
@@ -95504,9 +95020,7 @@
/turf/open/floor/plasteel/neutral,
/area/assembly/robotics)
"dxN" = (
-/obj/effect/landmark/start{
- name = "Roboticist"
- },
+/obj/effect/landmark/start/roboticist,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
icon_state = "intact";
dir = 8
@@ -95528,7 +95042,7 @@
icon_state = "nboard00";
pixel_x = 32;
pixel_y = 0
- },
+ },
/obj/item/weapon/twohanded/required/kirbyplants{
icon_state = "plant-21";
layer = 4.1;
@@ -95600,16 +95114,12 @@
/area/medical/morgue)
"dxV" = (
/obj/structure/bodycontainer/morgue,
-/obj/effect/landmark{
- name = "revenantspawn"
- },
+/obj/effect/landmark/revenantspawn,
/turf/open/floor/plating,
/area/medical/morgue)
"dxW" = (
/obj/structure/bodycontainer/morgue,
-/obj/effect/landmark{
- name = "revenantspawn"
- },
+/obj/effect/landmark/revenantspawn,
/turf/open/floor/plasteel/vault{
dir = 8
},
@@ -95617,9 +95127,7 @@
"dxX" = (
/obj/structure/bodycontainer/morgue,
/obj/effect/decal/cleanable/dirt,
-/obj/effect/landmark{
- name = "revenantspawn"
- },
+/obj/effect/landmark/revenantspawn,
/turf/open/floor/plasteel/vault{
dir = 8
},
@@ -95795,9 +95303,7 @@
name = "Medbay Central"
})
"dyp" = (
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/turf/open/floor/plasteel/neutral/side{
dir = 8
@@ -95922,9 +95428,7 @@
/obj/structure/cable/white{
icon_state = "1-2"
},
-/obj/effect/landmark/start{
- name = "Scientist"
- },
+/obj/effect/landmark/start/scientist,
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/machinery/atmospherics/components/unary/vent_scrubber{
dir = 8;
@@ -96108,9 +95612,7 @@
/turf/open/floor/plasteel,
/area/assembly/robotics)
"dyV" = (
-/obj/effect/landmark{
- name = "lightsout"
- },
+/obj/effect/landmark/lightsout,
/obj/machinery/atmospherics/components/unary/vent_pump{
dir = 4;
on = 1
@@ -96166,10 +95668,7 @@
dir = 2;
on = 1
},
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/xeno_spawn,
/turf/open/floor/plasteel/neutral,
/area/medical/morgue)
"dze" = (
@@ -96644,6 +96143,12 @@
icon_state = "0-4"
},
/obj/machinery/computer/rdservercontrol,
+/obj/machinery/power/apc{
+ dir = 8;
+ name = "Research Division Server Room APC";
+ pixel_x = -26;
+ pixel_y = 0
+ },
/turf/open/floor/plasteel/vault{
dir = 8
},
@@ -96658,6 +96163,9 @@
/obj/structure/cable/white{
icon_state = "4-8"
},
+/obj/structure/cable/white{
+ icon_state = "2-4"
+ },
/turf/open/floor/plasteel/vault{
dir = 5
},
@@ -96886,9 +96394,7 @@
/obj/structure/cable/white{
icon_state = "4-8"
},
-/obj/effect/landmark/start{
- name = "Medical Doctor"
- },
+/obj/effect/landmark/start/medical_doctor,
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
},
@@ -96900,9 +96406,7 @@
/obj/structure/cable/white{
icon_state = "4-8"
},
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
},
@@ -96928,7 +96432,7 @@
icon_state = "fire0";
pixel_x = 24;
pixel_y = -26
- },
+ },
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
},
@@ -96968,9 +96472,7 @@
/obj/structure/cable/white{
icon_state = "4-8"
},
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
icon_state = "manifold";
dir = 1
@@ -97053,8 +96555,8 @@
})
"dAG" = (
/obj/structure/rack,
-/obj/effect/landmark/costume,
-/obj/effect/landmark/costume,
+/obj/effect/spawner/lootdrop/costume,
+/obj/effect/spawner/lootdrop/costume,
/obj/item/clothing/neck/tie/black,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/turf/open/floor/plasteel/neutral/side{
@@ -97282,10 +96784,7 @@
dir = 2;
on = 1
},
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/xeno_spawn,
/turf/open/floor/plasteel/neutral/side{
dir = 1;
heat_capacity = 1e+006
@@ -97430,28 +96929,11 @@
},
/obj/structure/grille,
/obj/structure/window/reinforced/fulltile,
-/obj/machinery/door/poddoor/preopen{
- id = "rdxeno";
- name = "Xenobiology Containment Door"
- },
/turf/open/floor/plating,
/area/toxins/server{
name = "\improper Research Division Server Room"
})
"dBt" = (
-/obj/structure/cable/white{
- icon_state = "2-4"
- },
-/obj/structure/cable/white{
- icon_state = "2-8"
- },
-/obj/structure/cable/white{
- icon_state = "1-2"
- },
-/obj/machinery/door/poddoor/preopen{
- id = "rdxeno";
- name = "Xenobiology Containment Door"
- },
/obj/machinery/door/firedoor,
/obj/machinery/atmospherics/pipe/simple/general/hidden{
icon_state = "intact";
@@ -97461,6 +96943,12 @@
name = "Server Access";
req_access_txt = "30"
},
+/obj/structure/cable/white{
+ icon_state = "1-4"
+ },
+/obj/structure/cable/white{
+ icon_state = "1-8"
+ },
/turf/open/floor/plasteel/vault{
dir = 8
},
@@ -97473,10 +96961,6 @@
},
/obj/structure/grille,
/obj/structure/window/reinforced/fulltile,
-/obj/machinery/door/poddoor/preopen{
- id = "rdxeno";
- name = "Xenobiology Containment Door"
- },
/obj/machinery/atmospherics/pipe/simple/general/hidden{
icon_state = "intact";
dir = 9
@@ -97567,9 +97051,7 @@
},
/area/assembly/robotics)
"dBC" = (
-/obj/effect/landmark/start{
- name = "Roboticist"
- },
+/obj/effect/landmark/start/roboticist,
/turf/open/floor/plasteel/whitepurple/corner{
dir = 4
},
@@ -97625,9 +97107,7 @@
/area/medical/morgue)
"dBI" = (
/obj/structure/bodycontainer/morgue,
-/obj/effect/landmark{
- name = "revenantspawn"
- },
+/obj/effect/landmark/revenantspawn,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
},
@@ -97743,9 +97223,7 @@
/turf/open/floor/plasteel/neutral,
/area/medical/cmo)
"dBV" = (
-/obj/effect/landmark/start{
- name = "Chief Medical Officer"
- },
+/obj/effect/landmark/start/chief_medical_officer,
/turf/open/floor/plasteel/blue,
/area/medical/cmo)
"dBW" = (
@@ -97770,8 +97248,8 @@
"dBY" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/rack,
-/obj/effect/landmark/costume,
-/obj/effect/landmark/costume,
+/obj/effect/spawner/lootdrop/costume,
+/obj/effect/spawner/lootdrop/costume,
/obj/effect/spawner/lootdrop/maintenance,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/turf/open/floor/plasteel/neutral/side{
@@ -97851,10 +97329,7 @@
/obj/structure/cable/white{
icon_state = "1-8"
},
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/xeno_spawn,
/obj/machinery/atmospherics/components/unary/vent_pump{
dir = 1;
on = 1
@@ -97933,9 +97408,7 @@
name = "\improper Toxins Lab"
})
"dCo" = (
-/obj/effect/landmark/start{
- name = "Scientist"
- },
+/obj/effect/landmark/start/scientist,
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
},
@@ -98006,9 +97479,7 @@
/obj/structure/cable/white{
icon_state = "1-2"
},
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/obj/item/device/radio/beacon,
/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden,
/obj/effect/turf_decal/bot,
@@ -98413,9 +97884,7 @@
"dDa" = (
/obj/structure/bodycontainer/morgue,
/obj/effect/decal/cleanable/dirt,
-/obj/effect/landmark{
- name = "revenantspawn"
- },
+/obj/effect/landmark/revenantspawn,
/turf/open/floor/plating,
/area/medical/morgue)
"dDb" = (
@@ -98525,7 +97994,7 @@
})
"dDp" = (
/obj/structure/closet/crate,
-/obj/effect/landmark/costume,
+/obj/effect/spawner/lootdrop/costume,
/obj/effect/spawner/lootdrop/maintenance,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/turf/open/floor/plating,
@@ -98648,10 +98117,7 @@
})
"dDz" = (
/obj/effect/decal/cleanable/dirt,
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/xeno_spawn,
/obj/machinery/atmospherics/components/unary/vent_pump{
dir = 8;
on = 1
@@ -98800,7 +98266,7 @@
icon_state = "fire0";
pixel_x = 24;
pixel_y = 0
- },
+ },
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
},
@@ -99067,7 +98533,7 @@
icon_state = "fire0";
pixel_x = 24;
pixel_y = 0
- },
+ },
/turf/open/floor/plasteel/neutral/corner,
/area/hallway/primary/aft)
"dEm" = (
@@ -99108,10 +98574,7 @@
name = "Medbay Central"
})
"dEp" = (
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/xeno_spawn,
/obj/machinery/atmospherics/components/unary/vent_pump{
dir = 1;
on = 1
@@ -99555,9 +99018,7 @@
/obj/structure/cable/white{
icon_state = "4-8"
},
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,
/turf/open/floor/plasteel/neutral/side{
dir = 1;
@@ -99995,10 +99456,7 @@
dir = 2;
on = 1
},
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/xeno_spawn,
/turf/open/floor/plasteel/neutral,
/area/medical/research{
name = "Research Division"
@@ -100409,9 +99867,7 @@
/obj/structure/cable/white{
icon_state = "1-2"
},
-/obj/effect/landmark{
- name = "lightsout"
- },
+/obj/effect/landmark/lightsout,
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
},
@@ -100651,10 +100107,7 @@
})
"dHm" = (
/obj/structure/lattice/catwalk,
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/xeno_spawn,
/turf/open/space,
/area/solar/starboard)
"dHn" = (
@@ -101148,9 +100601,7 @@
pixel_x = 28
},
/obj/effect/decal/cleanable/dirt,
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 5
},
@@ -101194,9 +100645,7 @@
name = "Research Division"
})
"dIr" = (
-/obj/effect/landmark/start{
- name = "Scientist"
- },
+/obj/effect/landmark/start/scientist,
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
},
@@ -101315,7 +100764,7 @@
icon_state = "fire0";
pixel_x = 24;
pixel_y = 0
- },
+ },
/turf/open/floor/plasteel/blue/side{
dir = 5
},
@@ -101549,9 +100998,7 @@
/obj/structure/cable/white{
icon_state = "1-2"
},
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/turf/open/floor/plasteel/neutral/side{
dir = 4
@@ -101706,7 +101153,7 @@
/obj/structure/cable/white{
d2 = 2;
icon_state = "0-2"
- },
+ },
/obj/structure/window/reinforced/fulltile,
/turf/open/floor/plating,
/area/medical/virology)
@@ -101877,9 +101324,7 @@
"dJL" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/oil,
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/turf/open/floor/plasteel/neutral/side{
dir = 1
},
@@ -102058,9 +101503,7 @@
/obj/structure/chair{
dir = 8
},
-/obj/effect/landmark/start{
- name = "Assistant"
- },
+/obj/effect/landmark/start/assistant,
/obj/effect/turf_decal/delivery,
/turf/open/floor/plasteel,
/area/hallway/primary/aft)
@@ -102122,7 +101565,7 @@
/obj/structure/cable/white{
d2 = 2;
icon_state = "0-2"
- },
+ },
/obj/structure/window/reinforced/fulltile,
/obj/structure/sign/vacuum,
/turf/open/floor/plating,
@@ -102633,9 +102076,7 @@
/obj/structure/chair/office/light{
dir = 8
},
-/obj/effect/landmark/start{
- name = "Virologist"
- },
+/obj/effect/landmark/start/virologist,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
},
@@ -103281,9 +102722,7 @@
/obj/structure/cable/white{
icon_state = "2-8"
},
-/obj/effect/landmark/start{
- name = "Virologist"
- },
+/obj/effect/landmark/start/virologist,
/obj/machinery/atmospherics/components/unary/vent_scrubber{
dir = 1;
on = 1;
@@ -103318,10 +102757,7 @@
dir = 4;
on = 1
},
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/xeno_spawn,
/turf/open/floor/plating,
/area/library/abandoned_library)
"dMx" = (
@@ -103346,9 +102782,7 @@
/area/library/abandoned_library)
"dMA" = (
/obj/effect/decal/cleanable/dirt,
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/turf/open/floor/plating,
/area/library/abandoned_library)
"dMB" = (
@@ -103425,7 +102859,7 @@
/area/maintenance/fpmaint2/aft_port_maintenance)
"dMJ" = (
/obj/structure/closet,
-/obj/effect/landmark/costume,
+/obj/effect/spawner/lootdrop/costume,
/obj/effect/spawner/lootdrop/maintenance,
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
@@ -104143,7 +103577,7 @@
icon_state = "fire0";
pixel_x = 24;
pixel_y = 0
- },
+ },
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/turf/open/floor/plasteel/vault{
dir = 5
@@ -104721,7 +104155,7 @@
/turf/open/floor/plasteel/whiteblue/side{
baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface;
dir = 4
- },
+ },
/area/shuttle/escape)
"dPE" = (
/obj/structure/table/glass,
@@ -104819,9 +104253,7 @@
/obj/structure/cable/white{
icon_state = "1-2"
},
-/obj/effect/landmark{
- name = "lightsout"
- },
+/obj/effect/landmark/lightsout,
/turf/open/floor/plasteel/green,
/area/medical/virology)
"dPN" = (
@@ -104903,9 +104335,7 @@
"dPV" = (
/obj/effect/decal/remains/human,
/obj/effect/decal/cleanable/blood/old,
-/obj/effect/landmark{
- name = "revenantspawn"
- },
+/obj/effect/landmark/revenantspawn,
/turf/open/floor/plasteel/black,
/area/library/abandoned_library)
"dPW" = (
@@ -104942,9 +104372,7 @@
/obj/structure/cable/white{
icon_state = "1-2"
},
-/obj/effect/landmark/start{
- name = "Chaplain"
- },
+/obj/effect/landmark/start/chaplain,
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/turf/open/floor/plasteel/vault{
dir = 5
@@ -104973,9 +104401,7 @@
/obj/structure/cable/white{
icon_state = "1-2"
},
-/obj/effect/landmark{
- name = "lightsout"
- },
+/obj/effect/landmark/lightsout,
/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
icon_state = "manifold";
dir = 4
@@ -105212,9 +104638,7 @@
},
/area/medical/virology)
"dQG" = (
-/obj/effect/landmark{
- name = "revenantspawn"
- },
+/obj/effect/landmark/revenantspawn,
/obj/effect/turf_decal/delivery,
/turf/open/floor/plasteel,
/area/medical/virology)
@@ -105266,10 +104690,7 @@
dir = 2;
on = 1
},
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/xeno_spawn,
/turf/open/floor/plasteel/vault{
dir = 5
},
@@ -105773,9 +105194,7 @@
/obj/structure/cable/white{
icon_state = "1-2"
},
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/machinery/atmospherics/components/unary/vent_scrubber{
dir = 4;
@@ -105840,7 +105259,7 @@
icon_state = "fire0";
pixel_x = 24;
pixel_y = 0
- },
+ },
/obj/machinery/camera{
c_tag = "Chapel - Starboard";
dir = 8;
@@ -105882,9 +105301,7 @@
})
"dRX" = (
/obj/structure/chair,
-/obj/effect/landmark/start{
- name = "Assistant"
- },
+/obj/effect/landmark/start/assistant,
/obj/machinery/camera{
c_tag = "Departures - Center";
dir = 2;
@@ -105950,9 +105367,7 @@
/obj/structure/chair/office/light{
dir = 8
},
-/obj/effect/landmark/start{
- name = "Virologist"
- },
+/obj/effect/landmark/start/virologist,
/turf/open/floor/plasteel/whitegreen/corner{
dir = 8
},
@@ -106407,7 +105822,7 @@
icon_state = "fire0";
pixel_x = 24;
pixel_y = 0
- },
+ },
/obj/structure/closet/secure_closet/medical1,
/obj/machinery/light_switch{
pixel_x = 26;
@@ -106501,9 +105916,7 @@
icon_state = "1-8"
},
/obj/machinery/holopad,
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
},
@@ -106614,9 +106027,7 @@
name = "\improper Departure Lounge"
})
"dTu" = (
-/obj/effect/landmark{
- name = "lightsout"
- },
+/obj/effect/landmark/lightsout,
/turf/open/floor/plasteel/neutral,
/area/hallway/secondary/exit{
name = "\improper Departure Lounge"
@@ -106817,9 +106228,7 @@
/area/maintenance/fpmaint2/aft_port_maintenance)
"dTN" = (
/obj/effect/decal/cleanable/dirt,
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
},
@@ -106938,9 +106347,7 @@
/obj/structure/chair{
dir = 1
},
-/obj/effect/landmark/start{
- name = "Assistant"
- },
+/obj/effect/landmark/start/assistant,
/obj/effect/turf_decal/bot,
/turf/open/floor/plasteel,
/area/hallway/secondary/exit{
@@ -107251,7 +106658,7 @@
desc = "A sign that shows there are doors here. There are doors everywhere!";
icon_state = "doors";
name = "WARNING: EXTERNAL AIRLOCK"
- },
+ },
/turf/open/floor/plating,
/area/hallway/secondary/exit{
name = "\improper Departure Lounge"
@@ -107371,7 +106778,7 @@
icon_state = "doors";
name = "WARNING: EXTERNAL AIRLOCK";
pixel_x = 0
- },
+ },
/turf/closed/wall/r_wall,
/area/maintenance/portsolar)
"dUV" = (
@@ -107644,7 +107051,7 @@
d2 = 8;
icon_state = "4-8";
pixel_x = 0
- },
+ },
/turf/open/space,
/area/solar/port)
"dVx" = (
@@ -107653,7 +107060,7 @@
d2 = 8;
icon_state = "4-8";
pixel_x = 0
- },
+ },
/obj/machinery/door/airlock/external{
name = "External Solar Access";
req_access_txt = "10"
@@ -107670,7 +107077,7 @@
d2 = 8;
icon_state = "4-8";
pixel_x = 0
- },
+ },
/obj/structure/fans/tiny,
/obj/effect/turf_decal/delivery,
/turf/open/floor/plasteel,
@@ -107686,7 +107093,7 @@
d2 = 8;
icon_state = "4-8";
pixel_x = 0
- },
+ },
/obj/effect/turf_decal/stripes/line{
dir = 8
},
@@ -107702,9 +107109,7 @@
d2 = 8;
icon_state = "0-8"
},
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/turf/open/floor/plating,
/area/maintenance/portsolar)
"dVB" = (
@@ -107718,10 +107123,7 @@
dir = 4;
on = 1
},
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/xeno_spawn,
/obj/effect/turf_decal/stripes/line{
dir = 4
},
@@ -107863,9 +107265,7 @@
/turf/open/floor/plasteel/grimy,
/area/chapel/main)
"dVQ" = (
-/obj/effect/landmark/start{
- name = "Chaplain"
- },
+/obj/effect/landmark/start/chaplain,
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/turf/open/floor/plasteel/grimy,
/area/chapel/main)
@@ -108180,7 +107580,7 @@
icon_state = "nboard00";
name = "memorial board";
pixel_y = -32
- },
+ },
/obj/machinery/holopad,
/obj/machinery/light,
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
@@ -109540,7 +108940,7 @@
icon_state = "fire0";
pixel_x = 24;
pixel_y = 0
- },
+ },
/obj/machinery/status_display{
pixel_x = 0;
pixel_y = 32
@@ -109609,7 +109009,7 @@
icon_state = "doors";
name = "WARNING: EXTERNAL AIRLOCK";
pixel_x = 32
- },
+ },
/obj/effect/turf_decal/bot,
/turf/open/floor/plasteel,
/area/hallway/secondary/exit{
@@ -109676,7 +109076,7 @@
/obj/structure/sign/poster{
icon_state = "poster22_legit";
pixel_y = -32
- },
+ },
/turf/open/floor/plasteel/red/side{
dir = 10
},
@@ -109832,9 +109232,7 @@
/turf/open/floor/plasteel/grimy,
/area/chapel/office)
"dZG" = (
-/obj/effect/landmark/start{
- name = "Chaplain"
- },
+/obj/effect/landmark/start/chaplain,
/obj/machinery/atmospherics/components/unary/vent_pump{
dir = 4;
on = 1
@@ -109910,9 +109308,7 @@
/obj/structure/chair/office/dark{
dir = 1
},
-/obj/effect/landmark/start{
- name = "Chaplain"
- },
+/obj/effect/landmark/start/chaplain,
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
icon_state = "intact";
dir = 9
@@ -110326,10 +109722,7 @@
/area/shuttle/escape)
"eaK" = (
/obj/structure/lattice/catwalk,
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/xeno_spawn,
/turf/open/space,
/area/solar/port)
"eaL" = (
@@ -110564,9 +109957,7 @@
})
"ebG" = (
/turf/open/floor/engine,
-/area/engine/gravity_generator{
- name = "Atmospherics Engine"
- })
+/area/engine/supermatter)
"ebJ" = (
/obj/machinery/door/window/brigdoor/northleft{
name = "Captain's Desk";
@@ -111320,7 +110711,7 @@
/obj/structure/table/wood,
/obj/effect/decal/cleanable/dirt,
/obj/item/clothing/shoes/jackboots,
-/obj/effect/landmark/costume,
+/obj/effect/spawner/lootdrop/costume,
/obj/structure/sign/poster/contraband/random{
pixel_y = -32
},
@@ -111999,9 +111390,7 @@
/obj/machinery/light/small{
dir = 1
},
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/obj/structure/sign/poster/official/cleanliness{
pixel_y = 32
},
@@ -112843,6 +112232,73 @@
/obj/machinery/light/small,
/turf/open/floor/plasteel,
/area/shuttle/escape)
+"ehy" = (
+/obj/machinery/power/rad_collector{
+ anchored = 1
+ },
+/obj/structure/cable{
+ icon_state = "0-4";
+ d2 = 4
+ },
+/obj/machinery/camera{
+ c_tag = "Supermatter Chamber";
+ name = "atmospherics camera";
+ network = list("Engine")
+ },
+/turf/open/floor/circuit/green,
+/area/engine/supermatter)
+"ehz" = (
+/obj/structure/chair/office/dark{
+ dir = 8
+ },
+/obj/structure/cable/white{
+ icon_state = "4-8"
+ },
+/turf/open/floor/plasteel/neutral,
+/area/atmos)
+"ehA" = (
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"ehB" = (
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"ehC" = (
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"ehD" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/highpressure/fulltile,
+/turf/open/floor/plating,
+/area/engine/supermatter)
+"ehE" = (
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"ehF" = (
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"ehG" = (
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"ehH" = (
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"ehI" = (
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"ehJ" = (
+/obj/structure/sign/radiation,
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"ehK" = (
+/obj/structure/sign/radiation,
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"ehL" = (
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"ehM" = (
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
(1,1,1) = {"
aaa
@@ -137850,11 +137306,11 @@ aoI
apK
ard
asi
-aiW
+ehA
auC
auC
auC
-aiW
+ehA
azc
aAc
aAZ
@@ -138107,13 +137563,13 @@ aoJ
apL
are
asj
-aiW
+ehA
auD
avP
avP
axP
-azd
-aiW
+ehJ
+ehA
aAY
ark
aDH
@@ -138364,7 +137820,7 @@ aoK
apM
arf
ask
-aiW
+ehA
auE
auE
auE
@@ -138621,7 +138077,7 @@ aoK
apN
arg
asl
-aoK
+ehD
ebG
avQ
ebG
@@ -138878,7 +138334,7 @@ aoK
apO
arh
asm
-aiW
+ehA
auF
auF
auF
@@ -139135,13 +138591,13 @@ aoL
apP
ari
asn
-aiW
+ehA
auG
avR
avR
axT
-azd
-aiW
+ehJ
+ehA
aBd
ark
aDL
@@ -139392,11 +138848,11 @@ aoI
apK
ebP
aso
-aiW
+ehA
+ehy
auH
auH
-auH
-aiW
+ehA
azg
aAe
aBe
@@ -139686,7 +139142,7 @@ bqf
brq
bsD
aZq
-bvu
+ehz
bvu
byX
aIZ
@@ -142232,7 +141688,7 @@ awX
axa
ame
aib
-aJi
+axZ
aAj
azm
aAj
@@ -143756,7 +143212,7 @@ ajY
akW
alZ
anj
-aoh
+akV
eeI
aqa
arq
@@ -146161,7 +145617,7 @@ cLH
cLI
cLH
cLI
-cZW
+cIm
dbq
dcN
dez
@@ -158497,7 +157953,7 @@ cUr
cLM
cLL
cLM
-dau
+cIt
dcd
ddk
dfg
@@ -163916,7 +163372,7 @@ dAL
dCd
dDz
dAI
-dFv
+dCa
dHf
dHU
aaa
diff --git a/_maps/map_files/MetaStation/MetaStation.dmm b/_maps/map_files/MetaStation/MetaStation.dmm
index c2f9861fe1..83684a8150 100644
--- a/_maps/map_files/MetaStation/MetaStation.dmm
+++ b/_maps/map_files/MetaStation/MetaStation.dmm
@@ -1,6 +1,6 @@
//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
"aaa" = (
-/turf/open/space,
+/turf/open/space/basic,
/area/space)
"aab" = (
/obj/docking_port/stationary{
@@ -16,9 +16,7 @@
/turf/open/space,
/area/space)
"aac" = (
-/obj/effect/landmark{
- name = "carpspawn"
- },
+/obj/effect/landmark/carpspawn,
/turf/open/space,
/area/space)
"aad" = (
@@ -183,9 +181,7 @@
/turf/open/floor/plasteel/airless/solarpanel,
/area/solar/auxport)
"aav" = (
-/obj/effect/landmark{
- name = "Marauder Entry"
- },
+/obj/effect/landmark/marauder_entry,
/turf/open/space,
/area/space)
"aaw" = (
@@ -206,10 +202,7 @@
/turf/open/floor/plating,
/area/security/prison)
"aaz" = (
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/xeno_spawn,
/obj/structure/lattice/catwalk,
/turf/open/space,
/area/solar/auxport)
@@ -913,9 +906,7 @@
/obj/item/clothing/glasses/sunglasses/blindfold,
/obj/item/clothing/mask/muzzle,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
-/obj/effect/landmark{
- name = "revenantspawn"
- },
+/obj/effect/landmark/revenantspawn,
/obj/item/device/electropack,
/turf/open/floor/plasteel/black,
/area/prison/solitary{
@@ -1657,9 +1648,7 @@
/obj/item/clothing/suit/straight_jacket,
/obj/item/clothing/glasses/sunglasses/blindfold,
/obj/item/clothing/mask/muzzle,
-/obj/effect/landmark{
- name = "revenantspawn"
- },
+/obj/effect/landmark/revenantspawn,
/turf/open/floor/plasteel/white,
/area/security/prison)
"adh" = (
@@ -1680,9 +1669,7 @@
d2 = 8;
icon_state = "4-8"
},
-/obj/effect/landmark{
- name = "revenantspawn"
- },
+/obj/effect/landmark/revenantspawn,
/turf/open/floor/plasteel/white,
/area/security/prison)
"adj" = (
@@ -2449,9 +2436,7 @@
"aeD" = (
/obj/structure/grille,
/obj/structure/window/reinforced/fulltile,
-/obj/effect/landmark{
- name = "Syndicate Breach Area"
- },
+/obj/effect/landmark/syndicate_breach_area,
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
},
@@ -2470,10 +2455,7 @@
name = "\improper Recreation Area"
})
"aeF" = (
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/xeno_spawn,
/obj/structure/lattice/catwalk,
/turf/open/space,
/area/solar/auxstarboard)
@@ -3323,9 +3305,7 @@
dir = 2;
initialize_directions = 11
},
-/obj/effect/landmark{
- name = "lightsout"
- },
+/obj/effect/landmark/lightsout,
/turf/open/floor/plasteel/red/corner{
dir = 1
},
@@ -3982,15 +3962,13 @@
/obj/structure/chair{
dir = 1
},
-/obj/effect/landmark/start{
- name = "Head of Security"
- },
+/obj/effect/landmark/start/head_of_security,
/turf/open/floor/carpet,
/area/security/hos)
"aha" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/mob/living/simple_animal/hostile/retaliate/bat{
- desc = "A fierce companion for any person of power, this spider has been carefully trained by NanoTrasen specialists. Its beady, staring eyes send shivers down your spine";
+ desc = "A fierce companion for any person of power, this spider has been carefully trained by NanoTrasen specialists. Its beady, staring eyes send shivers down your spine.";
emote_hear = list("chitters");
faction = list("spiders");
harm_intent_damage = 3;
@@ -4070,9 +4048,7 @@
})
"ahj" = (
/obj/structure/chair,
-/obj/effect/landmark/start{
- name = "Assistant"
- },
+/obj/effect/landmark/start/assistant,
/turf/open/floor/plasteel,
/area/crew_quarters/fitness{
name = "\improper Recreation Area"
@@ -4147,10 +4123,7 @@
dir = 2;
on = 1
},
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/xeno_spawn,
/turf/open/floor/plating,
/area/maintenance/auxsolarport)
"aht" = (
@@ -4817,9 +4790,7 @@
/obj/machinery/light/small{
dir = 1
},
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/obj/machinery/camera{
c_tag = "Evidence Storage";
dir = 2;
@@ -5096,9 +5067,7 @@
/obj/structure/chair{
dir = 8
},
-/obj/effect/landmark/start{
- name = "Assistant"
- },
+/obj/effect/landmark/start/assistant,
/turf/open/floor/plasteel,
/area/crew_quarters/fitness{
name = "\improper Recreation Area"
@@ -5378,16 +5347,12 @@
on = 1;
pressure_checks = 1
},
-/obj/effect/landmark{
- name = "secequipment"
- },
+/obj/effect/landmark/secequipment,
/turf/open/floor/plasteel/vault,
/area/security/main)
"ajF" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
-/obj/effect/landmark{
- name = "secequipment"
- },
+/obj/effect/landmark/secequipment,
/turf/open/floor/plasteel/vault,
/area/security/main)
"ajG" = (
@@ -5401,9 +5366,7 @@
/area/security/main)
"ajH" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
-/obj/effect/landmark{
- name = "secequipment"
- },
+/obj/effect/landmark/secequipment,
/turf/open/floor/plasteel/vault,
/area/security/main)
"ajI" = (
@@ -5413,9 +5376,7 @@
scrub_N2O = 0;
scrub_Toxins = 0
},
-/obj/effect/landmark{
- name = "secequipment"
- },
+/obj/effect/landmark/secequipment,
/turf/open/floor/plasteel/vault,
/area/security/main)
"ajJ" = (
@@ -5789,10 +5750,7 @@
dir = 2;
on = 1
},
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/xeno_spawn,
/turf/open/floor/plating,
/area/maintenance/fpmaint2{
name = "Port Maintenance"
@@ -6226,9 +6184,7 @@
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
},
-/obj/effect/landmark/start{
- name = "Security Officer"
- },
+/obj/effect/landmark/start/security_officer,
/turf/open/floor/plasteel/red/corner{
dir = 8
},
@@ -6280,10 +6236,7 @@
dir = 4;
on = 1
},
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/xeno_spawn,
/turf/open/floor/plating,
/area/maintenance/fore)
"ald" = (
@@ -6612,9 +6565,7 @@
})
"alI" = (
/obj/item/weapon/grown/log,
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/turf/open/floor/plating,
/area/maintenance/fpmaint2{
name = "Port Maintenance"
@@ -6960,9 +6911,7 @@
/area/security/main)
"amj" = (
/obj/structure/chair/comfy/black,
-/obj/effect/landmark/start{
- name = "Head of Security"
- },
+/obj/effect/landmark/start/head_of_security,
/turf/open/floor/plasteel,
/area/security/main)
"amk" = (
@@ -7124,9 +7073,7 @@
"amt" = (
/obj/structure/rack,
/obj/item/weapon/storage/box/lights/mixed,
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/turf/open/floor/plating,
/area/maintenance/fore)
"amu" = (
@@ -7337,10 +7284,7 @@
/turf/open/floor/plating,
/area/maintenance/disposal)
"amS" = (
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/xeno_spawn,
/obj/item/weapon/storage/box/lights/mixed,
/obj/effect/decal/cleanable/cobweb,
/turf/open/floor/plating,
@@ -7443,9 +7387,7 @@
dir = 1
},
/obj/structure/bodycontainer/morgue,
-/obj/effect/landmark{
- name = "revenantspawn"
- },
+/obj/effect/landmark/revenantspawn,
/turf/open/floor/plasteel/black,
/area/security/brig)
"ane" = (
@@ -7921,10 +7863,7 @@
dir = 4;
on = 1
},
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/xeno_spawn,
/turf/open/floor/plating,
/area/maintenance/fpmaint2{
name = "Port Maintenance"
@@ -8231,9 +8170,7 @@
/turf/open/floor/plasteel,
/area/security/main)
"aoD" = (
-/obj/effect/landmark/start{
- name = "Security Officer"
- },
+/obj/effect/landmark/start/security_officer,
/turf/open/floor/plasteel/red,
/area/security/main)
"aoE" = (
@@ -8758,10 +8695,7 @@
dir = 8;
on = 1
},
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/xeno_spawn,
/turf/open/floor/plating,
/area/maintenance/fpmaint2{
name = "Port Maintenance"
@@ -9314,10 +9248,7 @@
dir = 2;
on = 1
},
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/xeno_spawn,
/turf/open/floor/plating,
/area/maintenance/auxsolarstarboard)
"aqA" = (
@@ -9662,9 +9593,7 @@
/obj/structure/chair/office/dark{
dir = 4
},
-/obj/effect/landmark/start{
- name = "Warden"
- },
+/obj/effect/landmark/start/warden,
/obj/structure/cable/yellow{
d1 = 4;
d2 = 8;
@@ -9694,9 +9623,7 @@
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 5
},
-/obj/effect/landmark/start{
- name = "Security Officer"
- },
+/obj/effect/landmark/start/security_officer,
/turf/open/floor/plasteel/red/side{
dir = 8
},
@@ -9727,9 +9654,7 @@
d2 = 8;
icon_state = "4-8"
},
-/obj/effect/landmark/start{
- name = "Security Officer"
- },
+/obj/effect/landmark/start/security_officer,
/turf/open/floor/plasteel/red/side,
/area/security/main)
"aro" = (
@@ -9745,9 +9670,7 @@
d2 = 8;
icon_state = "2-8"
},
-/obj/effect/landmark/start{
- name = "Security Officer"
- },
+/obj/effect/landmark/start/security_officer,
/turf/open/floor/plasteel/red/side,
/area/security/main)
"arp" = (
@@ -9757,9 +9680,7 @@
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
},
-/obj/effect/landmark/start{
- name = "Security Officer"
- },
+/obj/effect/landmark/start/security_officer,
/turf/open/floor/plasteel/red/side,
/area/security/main)
"arq" = (
@@ -9777,9 +9698,7 @@
dir = 2;
initialize_directions = 11
},
-/obj/effect/landmark/start{
- name = "Security Officer"
- },
+/obj/effect/landmark/start/security_officer,
/turf/open/floor/plasteel/red/side,
/area/security/main)
"ars" = (
@@ -9905,7 +9824,7 @@
/area/maintenance/starboard)
"arI" = (
/obj/structure/rack,
-/obj/effect/landmark/costume,
+/obj/effect/spawner/lootdrop/costume,
/obj/effect/spawner/lootdrop/maintenance,
/turf/open/floor/plating,
/area/maintenance/starboard)
@@ -9917,9 +9836,7 @@
/turf/open/floor/plating,
/area/maintenance/starboard)
"arK" = (
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/turf/open/floor/plating{
icon_state = "panelscorched"
},
@@ -9929,10 +9846,7 @@
dir = 2;
on = 1
},
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/xeno_spawn,
/turf/open/floor/plating,
/area/maintenance/starboard)
"arM" = (
@@ -10065,10 +9979,7 @@
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 6
},
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/xeno_spawn,
/obj/structure/cable/yellow{
d1 = 2;
d2 = 4;
@@ -10187,10 +10098,7 @@
on = 1
},
/obj/machinery/light,
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/xeno_spawn,
/obj/structure/cable/yellow{
d1 = 4;
d2 = 8;
@@ -10376,9 +10284,7 @@
/turf/open/floor/plasteel/showroomfloor,
/area/security/warden)
"asq" = (
-/obj/effect/landmark/start{
- name = "Warden"
- },
+/obj/effect/landmark/start/warden,
/obj/structure/chair/office/dark,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/obj/structure/cable/yellow{
@@ -11484,10 +11390,7 @@
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
},
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/xeno_spawn,
/turf/open/floor/wood,
/area/crew_quarters/sleep)
"aug" = (
@@ -11520,9 +11423,7 @@
dir = 4;
initialize_directions = 11
},
-/obj/effect/landmark{
- name = "lightsout"
- },
+/obj/effect/landmark/lightsout,
/turf/open/floor/plasteel,
/area/crew_quarters/sleep)
"auj" = (
@@ -11551,10 +11452,7 @@
/turf/open/floor/carpet,
/area/crew_quarters/sleep)
"aum" = (
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/xeno_spawn,
/obj/machinery/atmospherics/components/unary/vent_pump{
dir = 8;
on = 1
@@ -11567,9 +11465,7 @@
"auo" = (
/obj/structure/mopbucket,
/obj/item/weapon/mop,
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/turf/open/floor/plating{
icon_state = "platingdmg2"
},
@@ -11584,10 +11480,7 @@
dir = 4;
on = 1
},
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/xeno_spawn,
/turf/open/floor/plating,
/area/maintenance/starboard)
"aur" = (
@@ -12821,9 +12714,7 @@
d2 = 8;
icon_state = "2-8"
},
-/obj/effect/landmark{
- name = "lightsout"
- },
+/obj/effect/landmark/lightsout,
/turf/open/floor/plasteel,
/area/security/brig)
"awn" = (
@@ -13539,10 +13430,7 @@
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
},
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/xeno_spawn,
/turf/open/floor/carpet,
/area/crew_quarters/sleep)
"axF" = (
@@ -13594,10 +13482,7 @@
/turf/open/floor/wood,
/area/crew_quarters/sleep)
"axK" = (
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/xeno_spawn,
/obj/machinery/atmospherics/components/unary/vent_pump{
dir = 8;
on = 1
@@ -14191,9 +14076,7 @@
icon_state = "shower";
dir = 8
},
-/obj/effect/landmark/start{
- name = "Assistant"
- },
+/obj/effect/landmark/start/assistant,
/turf/open/floor/plasteel/freezer,
/area/crew_quarters/locker/locker_toilet{
name = "\improper Restrooms"
@@ -14891,10 +14774,7 @@
name = "\improper Restrooms"
})
"aAb" = (
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/xeno_spawn,
/obj/item/weapon/bikehorn/rubberducky,
/turf/open/floor/plasteel/freezer,
/area/crew_quarters/locker/locker_toilet{
@@ -15139,9 +15019,7 @@
/obj/structure/disposalpipe/sortjunction{
sortType = 4
},
-/obj/effect/landmark/start{
- name = "Station Engineer"
- },
+/obj/effect/landmark/start/station_engineer,
/turf/open/floor/plasteel,
/area/engine/engineering)
"aAv" = (
@@ -15260,9 +15138,7 @@
d2 = 2;
icon_state = "1-2"
},
-/obj/effect/landmark/start{
- name = "Shaft Miner"
- },
+/obj/effect/landmark/start/shaft_miner,
/turf/open/floor/plasteel,
/area/quartermaster/miningdock{
name = "\improper Mining Office"
@@ -15597,9 +15473,7 @@
/area/security/brig)
"aBk" = (
/obj/structure/closet/secure_closet/detective,
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/obj/machinery/camera{
c_tag = "Detective's Office";
dir = 4;
@@ -15629,9 +15503,7 @@
/turf/open/floor/carpet,
/area/security/detectives_office)
"aBo" = (
-/obj/effect/landmark/start{
- name = "Detective"
- },
+/obj/effect/landmark/start/detective,
/obj/structure/chair/office/dark{
dir = 8
},
@@ -15684,9 +15556,7 @@
d2 = 8;
icon_state = "1-8"
},
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 9
},
@@ -16692,9 +16562,7 @@
})
"aDi" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
-/obj/effect/landmark/start{
- name = "Shaft Miner"
- },
+/obj/effect/landmark/start/shaft_miner,
/turf/open/floor/plasteel,
/area/quartermaster/miningdock{
name = "\improper Mining Office"
@@ -16738,9 +16606,7 @@
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
},
-/obj/effect/landmark/start{
- name = "Cargo Technician"
- },
+/obj/effect/landmark/start/cargo_technician,
/turf/open/floor/plasteel/floorgrime,
/area/quartermaster/sorting{
name = "\improper Warehouse"
@@ -17122,9 +16988,7 @@
req_access_txt = "0";
specialfunctions = 4
},
-/obj/effect/landmark/start{
- name = "Assistant"
- },
+/obj/effect/landmark/start/assistant,
/turf/open/floor/plasteel/freezer,
/area/crew_quarters/locker/locker_toilet{
name = "\improper Restrooms"
@@ -17275,10 +17139,7 @@
/turf/open/floor/wood,
/area/crew_quarters/sleep)
"aEe" = (
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/xeno_spawn,
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
},
@@ -17316,9 +17177,7 @@
/turf/open/floor/plasteel,
/area/engine/engineering)
"aEj" = (
-/obj/effect/landmark/start{
- name = "Station Engineer"
- },
+/obj/effect/landmark/start/station_engineer,
/obj/machinery/atmospherics/components/unary/vent_pump{
dir = 4;
on = 1
@@ -17483,9 +17342,7 @@
/obj/structure/chair/office/dark{
dir = 8
},
-/obj/effect/landmark/start{
- name = "Shaft Miner"
- },
+/obj/effect/landmark/start/shaft_miner,
/turf/open/floor/plasteel,
/area/quartermaster/miningdock{
name = "\improper Mining Office"
@@ -17591,9 +17448,7 @@
d2 = 8;
icon_state = "0-8"
},
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/turf/open/floor/plasteel/floorgrime,
/area/quartermaster/sorting{
name = "\improper Warehouse"
@@ -18755,9 +18610,7 @@
/area/security/brig)
"aGu" = (
/obj/structure/bodycontainer/morgue,
-/obj/effect/landmark{
- name = "revenantspawn"
- },
+/obj/effect/landmark/revenantspawn,
/turf/open/floor/plasteel/black,
/area/security/detectives_office)
"aGv" = (
@@ -18823,9 +18676,7 @@
pixel_x = 0;
pixel_y = -32
},
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/obj/machinery/button/door{
id = "Toilet2";
name = "Lock Control";
@@ -18971,10 +18822,7 @@
name = "Port Maintenance"
})
"aGO" = (
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/xeno_spawn,
/obj/machinery/airalarm{
pixel_y = 23
},
@@ -19109,9 +18957,7 @@
/area/engine/engineering)
"aGW" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
-/obj/effect/landmark/start{
- name = "Station Engineer"
- },
+/obj/effect/landmark/start/station_engineer,
/turf/open/floor/plasteel,
/area/engine/engineering)
"aGX" = (
@@ -20380,9 +20226,7 @@
pixel_x = 0;
pixel_y = -32
},
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/obj/machinery/button/door{
id = "Toilet1";
name = "Lock Control";
@@ -20424,9 +20268,7 @@
req_access_txt = "0";
specialfunctions = 4
},
-/obj/effect/landmark/start{
- name = "Assistant"
- },
+/obj/effect/landmark/start/assistant,
/turf/open/floor/plasteel/freezer,
/area/crew_quarters/locker/locker_toilet{
name = "\improper Restrooms"
@@ -20535,7 +20377,7 @@
dir = 6
},
/turf/closed/wall/r_wall,
-/area/engine/engineering)
+/area/engine/supermatter)
"aJB" = (
/obj/structure/grille,
/obj/structure/window/reinforced/fulltile,
@@ -20817,9 +20659,7 @@
/turf/open/floor/plasteel/black,
/area/crew_quarters/courtroom)
"aKf" = (
-/obj/effect/landmark/start{
- name = "Lawyer"
- },
+/obj/effect/landmark/start/lawyer,
/obj/structure/chair/office/dark{
dir = 4
},
@@ -21032,9 +20872,7 @@
/turf/open/floor/plating,
/area/engine/engineering)
"aKy" = (
-/obj/effect/landmark{
- name = "revenantspawn"
- },
+/obj/effect/landmark/revenantspawn,
/turf/open/floor/plating,
/area/engine/engineering)
"aKz" = (
@@ -21087,21 +20925,21 @@
dir = 4
},
/turf/closed/wall/r_wall,
-/area/engine/engineering)
+/area/engine/supermatter)
"aKH" = (
/obj/machinery/atmospherics/components/binary/pump/on{
dir = 4;
name = "Gas to Chamber"
},
/turf/open/floor/engine,
-/area/engine/engineering)
+/area/engine/supermatter)
"aKI" = (
/obj/machinery/atmospherics/pipe/simple/general/visible{
dir = 9
},
/obj/machinery/meter,
/turf/closed/wall/r_wall,
-/area/engine/engineering)
+/area/engine/supermatter)
"aKL" = (
/obj/machinery/atmospherics/pipe/simple/general/visible{
icon_state = "intact";
@@ -21110,7 +20948,7 @@
/obj/structure/cable{
d1 = 2;
d2 = 8;
- icon_state = "2-8";
+ icon_state = "2-8"
},
/obj/effect/turf_decal/stripes/line,
/turf/open/floor/engine,
@@ -21263,9 +21101,7 @@
d2 = 8;
icon_state = "4-8"
},
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/turf/open/floor/plating,
/area/maintenance/fpmaint2{
name = "Port Maintenance"
@@ -21512,9 +21348,7 @@
},
/area/crew_quarters/courtroom)
"aLB" = (
-/obj/effect/landmark/start{
- name = "Lawyer"
- },
+/obj/effect/landmark/start/lawyer,
/turf/open/floor/plasteel,
/area/crew_quarters/courtroom)
"aLC" = (
@@ -21731,9 +21565,7 @@
name = "\improper Garden"
})
"aLZ" = (
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/turf/open/floor/plating{
icon_state = "platingdmg1"
},
@@ -21743,9 +21575,7 @@
/turf/open/floor/plating,
/area/engine/engineering)
"aMb" = (
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/turf/open/floor/plating,
/area/engine/engineering)
"aMc" = (
@@ -21797,7 +21627,7 @@
/obj/structure/cable{
d1 = 2;
d2 = 8;
- icon_state = "2-8";
+ icon_state = "2-8"
},
/obj/structure/cable{
icon_state = "1-8"
@@ -21823,10 +21653,10 @@
req_access_txt = "10"
},
/turf/open/floor/engine,
-/area/engine/engineering)
+/area/engine/supermatter)
"aMk" = (
/turf/open/floor/engine,
-/area/engine/engineering)
+/area/engine/supermatter)
"aMm" = (
/obj/machinery/atmospherics/pipe/simple/general/visible,
/obj/effect/turf_decal/delivery,
@@ -21876,9 +21706,7 @@
/area/quartermaster/storage)
"aMx" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
-/obj/effect/landmark/start{
- name = "Cargo Technician"
- },
+/obj/effect/landmark/start/cargo_technician,
/obj/structure/disposalpipe/segment,
/turf/open/floor/plasteel,
/area/quartermaster/storage)
@@ -22078,9 +21906,7 @@
/turf/open/floor/wood,
/area/lawoffice)
"aMS" = (
-/obj/effect/landmark/start{
- name = "Lawyer"
- },
+/obj/effect/landmark/start/lawyer,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 10
},
@@ -22357,14 +22183,14 @@
name = "Gas to Filter"
},
/turf/open/floor/engine,
-/area/engine/engineering)
+/area/engine/supermatter)
"aNv" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber{
dir = 2;
on = 1
},
/turf/open/floor/engine,
-/area/engine/engineering)
+/area/engine/supermatter)
"aNw" = (
/obj/structure/window/reinforced{
dir = 4
@@ -22463,9 +22289,7 @@
/turf/open/floor/plasteel,
/area/quartermaster/storage)
"aNF" = (
-/obj/effect/landmark/start{
- name = "Cargo Technician"
- },
+/obj/effect/landmark/start/cargo_technician,
/turf/open/floor/plasteel,
/area/quartermaster/storage)
"aNG" = (
@@ -22887,9 +22711,7 @@
d2 = 8;
icon_state = "4-8"
},
-/obj/effect/landmark{
- name = "lightsout"
- },
+/obj/effect/landmark/lightsout,
/turf/open/floor/plasteel/floorgrime,
/area/crew_quarters/locker)
"aOA" = (
@@ -23362,9 +23184,7 @@
/turf/open/floor/plasteel,
/area/quartermaster/qm)
"aPj" = (
-/obj/effect/landmark/start{
- name = "Quartermaster"
- },
+/obj/effect/landmark/start/quartermaster,
/obj/structure/disposalpipe/segment{
dir = 2;
icon_state = "pipe-c"
@@ -23791,9 +23611,6 @@
d2 = 4;
icon_state = "0-4"
},
-/obj/machinery/computer/monitor{
- name = "Engineering Power Monitoring Console"
- },
/obj/machinery/status_display{
density = 0;
layer = 4;
@@ -23805,6 +23622,7 @@
dir = 2;
network = list("SS13")
},
+/obj/machinery/modular_computer/console/preset/engineering,
/turf/open/floor/plasteel/vault,
/area/engine/engineering)
"aPX" = (
@@ -23845,6 +23663,8 @@
/obj/effect/turf_decal/stripes/line{
dir = 4
},
+/obj/item/weapon/storage/belt/utility,
+/obj/item/weapon/storage/belt/utility,
/turf/open/floor/plasteel,
/area/engine/engineering)
"aQd" = (
@@ -23911,9 +23731,7 @@
/turf/open/floor/plating,
/area/quartermaster/storage)
"aQj" = (
-/obj/effect/landmark/start{
- name = "Cargo Technician"
- },
+/obj/effect/landmark/start/cargo_technician,
/obj/effect/turf_decal/delivery,
/turf/open/floor/plasteel{
name = "floor"
@@ -24414,8 +24232,8 @@
/area/crew_quarters/locker)
"aRa" = (
/obj/structure/rack,
-/obj/effect/landmark/costume,
-/obj/effect/landmark/costume,
+/obj/effect/spawner/lootdrop/costume,
+/obj/effect/spawner/lootdrop/costume,
/obj/item/clothing/mask/balaclava,
/obj/machinery/airalarm{
dir = 8;
@@ -24511,9 +24329,7 @@
/turf/open/floor/plating,
/area/maintenance/starboard)
"aRj" = (
-/obj/effect/landmark/start{
- name = "Station Engineer"
- },
+/obj/effect/landmark/start/station_engineer,
/obj/machinery/light{
dir = 8
},
@@ -24629,9 +24445,7 @@
/obj/structure/disposalpipe/segment{
dir = 4
},
-/obj/effect/landmark/start{
- name = "Station Engineer"
- },
+/obj/effect/landmark/start/station_engineer,
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
},
@@ -24718,9 +24532,7 @@
},
/area/mining_construction)
"aRG" = (
-/obj/effect/landmark{
- name = "revenantspawn"
- },
+/obj/effect/landmark/revenantspawn,
/turf/open/floor/plating,
/area/maintenance/fpmaint2{
name = "Port Maintenance"
@@ -26293,9 +26105,7 @@
pixel_x = -24;
pixel_y = 24
},
-/obj/effect/landmark/start{
- name = "Cyborg"
- },
+/obj/effect/landmark/start/cyborg,
/obj/structure/cable/yellow{
d2 = 4;
icon_state = "0-4"
@@ -26339,9 +26149,7 @@
dir = 2;
on = 1
},
-/obj/effect/landmark/start{
- name = "Cyborg"
- },
+/obj/effect/landmark/start/cyborg,
/obj/machinery/light/small{
dir = 4
},
@@ -26996,9 +26804,7 @@
},
/area/quartermaster/storage)
"aVI" = (
-/obj/effect/landmark{
- name = "lightsout"
- },
+/obj/effect/landmark/lightsout,
/obj/effect/turf_decal/bot,
/turf/open/floor/plasteel,
/area/quartermaster/storage)
@@ -27006,9 +26812,7 @@
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 5
},
-/obj/effect/landmark/start{
- name = "Cargo Technician"
- },
+/obj/effect/landmark/start/cargo_technician,
/turf/open/floor/plasteel,
/area/quartermaster/storage)
"aVK" = (
@@ -27838,9 +27642,7 @@
d2 = 4;
icon_state = "1-4"
},
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/turf/open/floor/plating{
icon_state = "panelscorched"
},
@@ -28135,9 +27937,7 @@
d2 = 2;
icon_state = "1-2"
},
-/obj/effect/landmark{
- name = "lightsout"
- },
+/obj/effect/landmark/lightsout,
/turf/open/floor/plasteel{
icon_state = "L7"
},
@@ -28265,9 +28065,7 @@
d2 = 4;
icon_state = "1-4"
},
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/turf/open/floor/plating,
/area/maintenance/starboard)
"aYb" = (
@@ -29142,9 +28940,7 @@
d2 = 4;
icon_state = "0-4"
},
-/obj/effect/landmark{
- name = "revenantspawn"
- },
+/obj/effect/landmark/revenantspawn,
/turf/open/floor/plasteel/vault{
dir = 8
},
@@ -29290,9 +29086,7 @@
/turf/open/floor/plasteel,
/area/engine/engineering)
"aZJ" = (
-/obj/effect/landmark{
- name = "lightsout"
- },
+/obj/effect/landmark/lightsout,
/obj/structure/disposalpipe/segment,
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 9;
@@ -29377,9 +29171,7 @@
/turf/open/floor/wood,
/area/library)
"aZQ" = (
-/obj/effect/landmark{
- name = "tripai"
- },
+/obj/effect/landmark/tripai,
/obj/item/device/radio/intercom{
anyai = 1;
freerange = 1;
@@ -29485,9 +29277,7 @@
},
/area/ai_monitored/turret_protected/ai)
"aZY" = (
-/obj/effect/landmark{
- name = "tripai"
- },
+/obj/effect/landmark/tripai,
/obj/item/device/radio/intercom{
anyai = 1;
freerange = 1;
@@ -30279,10 +30069,7 @@
/turf/open/floor/plating,
/area/maintenance/starboard)
"bbi" = (
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/xeno_spawn,
/obj/item/weapon/cigbutt,
/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
dir = 4
@@ -30439,9 +30226,7 @@
},
/area/engine/chiefs_office)
"bbu" = (
-/obj/effect/landmark/start{
- name = "Chief Engineer"
- },
+/obj/effect/landmark/start/chief_engineer,
/obj/structure/chair/office/light{
dir = 1;
pixel_y = 3
@@ -30468,14 +30253,6 @@
},
/area/engine/chiefs_office)
"bbx" = (
-/obj/machinery/computer/security/telescreen{
- desc = "Used for monitoring the singularity engine safely.";
- dir = 8;
- name = "Singularity Monitor";
- network = list("Singulo");
- pixel_x = 29;
- pixel_y = 0
- },
/obj/structure/cable/yellow{
d1 = 1;
d2 = 2;
@@ -30486,6 +30263,14 @@
icon_state = "tube1"
},
/obj/structure/disposalpipe/segment,
+/obj/machinery/computer/security/telescreen{
+ desc = "Used for monitoring the engine.";
+ dir = 8;
+ name = "Engine Monitor";
+ network = list("Engine");
+ pixel_x = 32;
+ pixel_y = 0
+ },
/turf/open/floor/plasteel/vault{
dir = 5
},
@@ -30726,7 +30511,7 @@
/obj/structure/cable/yellow{
d1 = 2;
d2 = 8;
- icon_state = "2-8";
+ icon_state = "2-8"
},
/turf/open/floor/plasteel/brown{
dir = 1
@@ -30761,9 +30546,7 @@
name = "\improper Cargo Office"
})
"bbU" = (
-/obj/effect/landmark/start{
- name = "Cargo Technician"
- },
+/obj/effect/landmark/start/cargo_technician,
/obj/structure/chair/office/dark{
dir = 4
},
@@ -30804,9 +30587,7 @@
"bbZ" = (
/obj/structure/disposalpipe/segment,
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
-/obj/effect/landmark{
- name = "lightsout"
- },
+/obj/effect/landmark/lightsout,
/turf/open/floor/plasteel,
/area/hallway/primary/port)
"bca" = (
@@ -31037,10 +30818,7 @@
dir = 4;
on = 1
},
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/xeno_spawn,
/turf/open/floor/plasteel/vault{
dir = 8
},
@@ -31204,10 +30982,10 @@
"bcN" = (
/obj/machinery/computer/secure_data,
/obj/machinery/computer/security/telescreen{
- desc = "Used for monitoring the singularity engine safely.";
+ desc = "Used for monitoring the engine.";
dir = 8;
- name = "Singularity Monitor";
- network = list("Singulo");
+ name = "Engine Monitor";
+ network = list("Engine");
pixel_x = 32;
pixel_y = 0
},
@@ -32451,9 +32229,7 @@
name = "Port Maintenance"
})
"beT" = (
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/obj/effect/turf_decal/stripes/line{
dir = 4
},
@@ -32835,9 +32611,7 @@
name = "\improper Captain's Quarters"
})
"bfz" = (
-/obj/effect/landmark/start{
- name = "Captain"
- },
+/obj/effect/landmark/start/captain,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/obj/structure/chair/comfy/brown{
icon_state = "comfychair";
@@ -32867,9 +32641,7 @@
"bfD" = (
/obj/structure/bed,
/obj/item/weapon/bedsheet/captain,
-/obj/effect/landmark/start{
- name = "Captain"
- },
+/obj/effect/landmark/start/captain,
/obj/machinery/camera{
c_tag = "Captain's Quarters";
dir = 8;
@@ -33570,9 +33342,7 @@
})
"bgR" = (
/obj/structure/disposalpipe/segment,
-/obj/effect/landmark/start{
- name = "Cargo Technician"
- },
+/obj/effect/landmark/start/cargo_technician,
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
},
@@ -33736,9 +33506,7 @@
d2 = 8;
icon_state = "1-8"
},
-/obj/effect/landmark/start{
- name = "Janitor"
- },
+/obj/effect/landmark/start/janitor,
/turf/open/floor/plasteel/floorgrime,
/area/janitor)
"bhd" = (
@@ -33764,9 +33532,7 @@
name = "Central Maintenance"
})
"bhf" = (
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/obj/machinery/power/apc{
cell_type = 2500;
dir = 4;
@@ -34725,9 +34491,7 @@
/obj/structure/chair{
dir = 8
},
-/obj/effect/landmark/start{
- name = "Assistant"
- },
+/obj/effect/landmark/start/assistant,
/turf/open/floor/plasteel/brown{
dir = 4
},
@@ -35522,9 +35286,7 @@
"bki" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/obj/structure/chair/office/dark,
-/obj/effect/landmark/start{
- name = "Cargo Technician"
- },
+/obj/effect/landmark/start/cargo_technician,
/turf/open/floor/plasteel/arrival{
dir = 2
},
@@ -35900,10 +35662,7 @@
},
/area/bridge)
"bkJ" = (
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/xeno_spawn,
/obj/item/weapon/soap/deluxe,
/obj/machinery/atmospherics/components/unary/vent_pump{
dir = 4;
@@ -35927,9 +35686,7 @@
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
},
-/obj/effect/landmark{
- name = "revenantspawn"
- },
+/obj/effect/landmark/revenantspawn,
/turf/open/floor/plasteel/white,
/area/crew_quarters/captain{
name = "\improper Captain's Quarters"
@@ -35942,9 +35699,7 @@
dir = 2;
icon_state = "tube1"
},
-/obj/effect/landmark/start{
- name = "Captain"
- },
+/obj/effect/landmark/start/captain,
/obj/machinery/light_switch{
pixel_y = -25
},
@@ -35981,9 +35736,7 @@
name = "\improper Captain's Quarters"
})
"bkP" = (
-/obj/effect/landmark/start{
- name = "Captain"
- },
+/obj/effect/landmark/start/captain,
/obj/machinery/airalarm{
dir = 1;
pixel_y = -22
@@ -37297,6 +37050,7 @@
/obj/item/device/lightreplacer{
pixel_y = 7
},
+/obj/item/weapon/storage/belt/utility,
/turf/open/floor/plasteel,
/area/engine/break_room)
"bne" = (
@@ -37583,9 +37337,7 @@
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
},
-/obj/effect/landmark/start{
- name = "Cyborg"
- },
+/obj/effect/landmark/start/cyborg,
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/turf/open/floor/plasteel/black,
/area/ai_monitored/turret_protected/aisat_interior)
@@ -38020,9 +37772,7 @@
/turf/open/floor/wood,
/area/crew_quarters/heads)
"bon" = (
-/obj/effect/landmark/start{
- name = "Head of Personnel"
- },
+/obj/effect/landmark/start/head_of_personnel,
/obj/structure/chair/office/dark{
dir = 8
},
@@ -39099,9 +38849,7 @@
dir = 4;
network = list("SS13")
},
-/obj/effect/landmark/start{
- name = "Assistant"
- },
+/obj/effect/landmark/start/assistant,
/turf/open/floor/plasteel/grimy,
/area/hallway/primary/port)
"bqf" = (
@@ -39650,9 +39398,7 @@
name = "\improper Captain's Quarters"
})
"bqY" = (
-/obj/effect/landmark/start{
- name = "Captain"
- },
+/obj/effect/landmark/start/captain,
/obj/structure/chair/comfy/brown,
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/structure/disposalpipe/segment,
@@ -39750,9 +39496,7 @@
/turf/open/floor/wood,
/area/crew_quarters/bar)
"brh" = (
-/obj/effect/landmark/start{
- name = "Bartender"
- },
+/obj/effect/landmark/start/bartender,
/turf/open/floor/wood,
/area/crew_quarters/bar)
"bri" = (
@@ -40538,9 +40282,7 @@
d2 = 4;
icon_state = "2-4"
},
-/obj/effect/landmark{
- name = "lightsout"
- },
+/obj/effect/landmark/lightsout,
/turf/open/floor/plasteel,
/area/hallway/secondary/entry{
name = "Arrivals"
@@ -40587,9 +40329,7 @@
dir = 4;
icon_state = "tube1"
},
-/obj/effect/landmark/start{
- name = "Assistant"
- },
+/obj/effect/landmark/start/assistant,
/turf/open/floor/plasteel/grimy,
/area/hallway/primary/port)
"bst" = (
@@ -41069,9 +40809,7 @@
d2 = 4;
icon_state = "2-4"
},
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/obj/effect/turf_decal/stripes/line{
dir = 4
},
@@ -41169,10 +40907,7 @@
dir = 2;
on = 1
},
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/xeno_spawn,
/obj/structure/disposalpipe/segment{
dir = 4;
icon_state = "pipe-c"
@@ -41314,9 +41049,7 @@
/turf/open/floor/plasteel,
/area/engine/break_room)
"btE" = (
-/obj/effect/landmark{
- name = "revenantspawn"
- },
+/obj/effect/landmark/revenantspawn,
/obj/item/device/radio/intercom{
freerange = 0;
frequency = 1459;
@@ -42124,9 +41857,7 @@
pixel_x = 27;
pixel_y = -7
},
-/obj/effect/landmark/start{
- name = "AI"
- },
+/obj/effect/landmark/start/ai,
/obj/machinery/button/door{
id = "AI Core shutters";
name = "AI Core shutters control";
@@ -42147,9 +41878,7 @@
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
},
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/turf/open/floor/plating,
/area/maintenance/starboard)
"bvh" = (
@@ -42431,9 +42160,7 @@
})
"bvD" = (
/obj/structure/chair,
-/obj/effect/landmark/start{
- name = "Assistant"
- },
+/obj/effect/landmark/start/assistant,
/obj/effect/turf_decal/stripes/line{
dir = 1
},
@@ -42611,7 +42338,10 @@
dir = 4
},
/turf/open/floor/plating,
-/area/toxins/xenobiology)
+/area/maintenance/aft{
+ icon_state = "xenomaint";
+ name = "Xeno Maintenance"
+ })
"bvU" = (
/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
dir = 4;
@@ -42773,9 +42503,7 @@
/area/crew_quarters/heads)
"bwo" = (
/obj/structure/chair/office/dark,
-/obj/effect/landmark/start{
- name = "Head of Personnel"
- },
+/obj/effect/landmark/start/head_of_personnel,
/obj/structure/cable/yellow{
d1 = 1;
d2 = 2;
@@ -43767,10 +43495,7 @@
name = "old sink";
pixel_y = 28
},
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/xeno_spawn,
/turf/open/floor/plating,
/area/crew_quarters/toilet{
name = "\improper Auxiliary Restrooms"
@@ -43822,9 +43547,7 @@
/obj/structure/chair/office/dark{
dir = 1
},
-/obj/effect/landmark/start{
- name = "Librarian"
- },
+/obj/effect/landmark/start/librarian,
/turf/open/floor/wood,
/area/library)
"bxW" = (
@@ -44098,9 +43821,7 @@
},
/area/ai_monitored/turret_protected/ai)
"byy" = (
-/obj/effect/landmark/start{
- name = "Bartender"
- },
+/obj/effect/landmark/start/bartender,
/turf/open/floor/plasteel/bar,
/area/crew_quarters/bar)
"byz" = (
@@ -44109,9 +43830,7 @@
/area/crew_quarters/bar)
"byA" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
-/obj/effect/landmark/start{
- name = "Bartender"
- },
+/obj/effect/landmark/start/bartender,
/turf/open/floor/plasteel/bar,
/area/crew_quarters/bar)
"byB" = (
@@ -45289,9 +45008,7 @@
/obj/structure/chair/office/dark{
dir = 4
},
-/obj/effect/landmark/start{
- name = "Atmospheric Technician"
- },
+/obj/effect/landmark/start/atmospheric_technician,
/turf/open/floor/plasteel,
/area/atmos)
"bAF" = (
@@ -45684,9 +45401,7 @@
/area/library)
"bBv" = (
/obj/structure/chair/comfy/black,
-/obj/effect/landmark/start{
- name = "Assistant"
- },
+/obj/effect/landmark/start/assistant,
/turf/open/floor/wood,
/area/library)
"bBw" = (
@@ -46043,9 +45758,7 @@
/area/crew_quarters/bar)
"bBV" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
-/obj/effect/landmark/start{
- name = "Assistant"
- },
+/obj/effect/landmark/start/assistant,
/obj/structure/chair/stool/bar,
/turf/open/floor/plasteel/bar,
/area/crew_quarters/bar)
@@ -46074,9 +45787,7 @@
"bCa" = (
/obj/structure/chair/wood/wings,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
-/obj/effect/landmark/start{
- name = "Mime"
- },
+/obj/effect/landmark/start/mime,
/turf/open/floor/carpet,
/area/crew_quarters/theatre)
"bCb" = (
@@ -46152,9 +45863,7 @@
/obj/structure/chair{
dir = 8
},
-/obj/effect/landmark/start{
- name = "Atmospheric Technician"
- },
+/obj/effect/landmark/start/atmospheric_technician,
/turf/open/floor/plasteel/caution{
dir = 8
},
@@ -46585,9 +46294,7 @@
/obj/structure/disposalpipe/segment{
dir = 4
},
-/obj/effect/landmark{
- name = "lightsout"
- },
+/obj/effect/landmark/lightsout,
/turf/open/floor/plasteel/neutral/corner{
dir = 1
},
@@ -46810,9 +46517,7 @@
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
},
-/obj/effect/landmark{
- name = "lightsout"
- },
+/obj/effect/landmark/lightsout,
/turf/open/floor/plasteel/neutral/corner{
dir = 4
},
@@ -46967,9 +46672,7 @@
/turf/open/floor/plasteel/bar,
/area/crew_quarters/bar)
"bDE" = (
-/obj/effect/landmark{
- name = "lightsout"
- },
+/obj/effect/landmark/lightsout,
/turf/open/floor/plasteel/bar,
/area/crew_quarters/bar)
"bDF" = (
@@ -46999,9 +46702,7 @@
/obj/structure/chair/stool{
pixel_y = 8
},
-/obj/effect/landmark/start{
- name = "Assistant"
- },
+/obj/effect/landmark/start/assistant,
/turf/open/floor/wood,
/area/crew_quarters/bar)
"bDJ" = (
@@ -47112,9 +46813,7 @@
/obj/machinery/atmospherics/pipe/simple/green/visible{
dir = 6
},
-/obj/effect/landmark/start{
- name = "Atmospheric Technician"
- },
+/obj/effect/landmark/start/atmospheric_technician,
/turf/open/floor/plasteel,
/area/atmos)
"bEa" = (
@@ -47281,9 +46980,7 @@
/turf/open/floor/wood,
/area/security/vacantoffice)
"bEr" = (
-/obj/effect/landmark{
- name = "lightsout"
- },
+/obj/effect/landmark/lightsout,
/turf/open/floor/wood,
/area/security/vacantoffice)
"bEs" = (
@@ -48176,9 +47873,7 @@
dir = 4
},
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
-/obj/effect/landmark/start{
- name = "Clown"
- },
+/obj/effect/landmark/start/clown,
/turf/open/floor/carpet,
/area/crew_quarters/theatre)
"bFx" = (
@@ -49376,9 +49071,7 @@
dir = 4
},
/obj/machinery/light/small,
-/obj/effect/landmark{
- name = "revenantspawn"
- },
+/obj/effect/landmark/revenantspawn,
/obj/effect/decal/cleanable/blood/old,
/obj/effect/decal/cleanable/blood/gibs/old,
/turf/open/floor/plasteel/floorgrime,
@@ -49428,9 +49121,7 @@
pixel_x = 0;
pixel_y = -32
},
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/turf/open/floor/plating,
/area/crew_quarters/toilet{
name = "\improper Auxiliary Restrooms"
@@ -49823,7 +49514,7 @@
dir = 10;
initialize_directions = 10
},
-/turf/open/floor/plating,
+/turf/open/floor/plasteel/white,
/area/toxins/xenobiology)
"bIw" = (
/obj/machinery/light,
@@ -49839,7 +49530,10 @@
/obj/item/clothing/shoes/winterboots,
/obj/item/clothing/suit/hooded/wintercoat,
/turf/open/floor/plating,
-/area/toxins/xenobiology)
+/area/maintenance/aft{
+ icon_state = "xenomaint";
+ name = "Xeno Maintenance"
+ })
"bIy" = (
/obj/machinery/firealarm{
dir = 1;
@@ -50333,9 +50027,7 @@
/turf/open/floor/wood,
/area/library)
"bJB" = (
-/obj/effect/landmark/start{
- name = "Librarian"
- },
+/obj/effect/landmark/start/librarian,
/obj/structure/chair/office/dark{
dir = 1
},
@@ -50935,9 +50627,7 @@
/turf/open/floor/plasteel,
/area/atmos)
"bKD" = (
-/obj/effect/landmark/start{
- name = "Atmospheric Technician"
- },
+/obj/effect/landmark/start/atmospheric_technician,
/turf/open/floor/plasteel,
/area/atmos)
"bKE" = (
@@ -51081,9 +50771,7 @@
})
"bKT" = (
/obj/structure/chair,
-/obj/effect/landmark/start{
- name = "Assistant"
- },
+/obj/effect/landmark/start/assistant,
/obj/machinery/light{
dir = 1
},
@@ -51220,8 +50908,8 @@
dir = 8;
layer = 2.9
},
-/obj/effect/landmark/costume,
-/obj/effect/landmark/costume,
+/obj/effect/spawner/lootdrop/costume,
+/obj/effect/spawner/lootdrop/costume,
/turf/open/floor/plating,
/area/maintenance/fpmaint2{
name = "Port Maintenance"
@@ -51232,8 +50920,8 @@
dir = 8;
layer = 2.9
},
-/obj/effect/landmark/costume,
-/obj/effect/landmark/costume,
+/obj/effect/spawner/lootdrop/costume,
+/obj/effect/spawner/lootdrop/costume,
/turf/open/floor/plating,
/area/maintenance/fpmaint2{
name = "Port Maintenance"
@@ -51250,9 +50938,7 @@
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
req_access_txt = 1
},
-/obj/effect/landmark{
- name = "lightsout"
- },
+/obj/effect/landmark/lightsout,
/turf/open/floor/carpet,
/area/library)
"bLk" = (
@@ -51547,9 +51233,7 @@
icon_state = "1-2"
},
/obj/item/weapon/cigbutt,
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/turf/open/floor/plating,
/area/maintenance/maintcentral{
name = "Central Maintenance"
@@ -52751,9 +52435,7 @@
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
},
-/obj/effect/landmark/start{
- name = "Mime"
- },
+/obj/effect/landmark/start/mime,
/turf/open/floor/wood,
/area/crew_quarters/theatre)
"bNK" = (
@@ -52870,9 +52552,7 @@
/turf/open/floor/plasteel,
/area/atmos)
"bNT" = (
-/obj/effect/landmark{
- name = "lightsout"
- },
+/obj/effect/landmark/lightsout,
/turf/open/floor/plasteel,
/area/atmos)
"bNU" = (
@@ -53438,9 +53118,7 @@
},
/area/crew_quarters/kitchen)
"bOR" = (
-/obj/effect/landmark/start{
- name = "Cook"
- },
+/obj/effect/landmark/start/cook,
/turf/open/floor/plasteel/cafeteria,
/area/crew_quarters/kitchen)
"bOS" = (
@@ -53538,9 +53216,7 @@
dir = 4;
on = 1
},
-/obj/effect/landmark/start{
- name = "Clown"
- },
+/obj/effect/landmark/start/clown,
/turf/open/floor/wood,
/area/crew_quarters/theatre)
"bPe" = (
@@ -53645,10 +53321,7 @@
dir = 8;
on = 1
},
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/xeno_spawn,
/turf/open/floor/plating,
/area/maintenance/starboard)
"bPm" = (
@@ -53769,10 +53442,7 @@
/turf/open/floor/engine/plasma,
/area/atmos)
"bPz" = (
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/xeno_spawn,
/turf/open/floor/engine/plasma,
/area/atmos)
"bPA" = (
@@ -53986,9 +53656,7 @@
/turf/open/floor/engine/cult,
/area/library)
"bPX" = (
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/obj/machinery/light/small{
dir = 1
},
@@ -54492,17 +54160,12 @@
/turf/open/floor/plasteel/showroomfloor,
/area/crew_quarters/kitchen)
"bQJ" = (
-/obj/effect/landmark/start{
- name = "Chef"
- },
+/obj/effect/landmark/start/cook,
/obj/machinery/atmospherics/components/unary/vent_pump{
dir = 4;
on = 1
},
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/xeno_spawn,
/turf/open/floor/plasteel/showroomfloor,
/area/crew_quarters/kitchen)
"bQK" = (
@@ -55341,9 +55004,7 @@
/area/maintenance/starboard)
"bSe" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/turf/open/floor/plating,
/area/maintenance/starboard)
"bSf" = (
@@ -55881,9 +55542,7 @@
d2 = 8;
icon_state = "4-8"
},
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/obj/effect/turf_decal/stripes/line{
dir = 8
},
@@ -57486,10 +57145,7 @@
icon_state = "4-8";
pixel_y = 0
},
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/xeno_spawn,
/obj/machinery/atmospherics/components/unary/vent_pump{
dir = 1;
on = 1
@@ -57520,10 +57176,7 @@
dir = 1;
on = 1
},
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/xeno_spawn,
/turf/open/floor/plating,
/area/maintenance/fpmaint2{
name = "Port Maintenance"
@@ -57574,9 +57227,7 @@
name = "Aft Maintenance"
})
"bWa" = (
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/turf/open/floor/plating,
/area/maintenance/aft{
name = "Aft Maintenance"
@@ -57835,9 +57486,7 @@
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
},
-/obj/effect/landmark{
- name = "lightsout"
- },
+/obj/effect/landmark/lightsout,
/turf/open/floor/plasteel{
icon_state = "L8"
},
@@ -58030,9 +57679,7 @@
/obj/structure/chair/office/dark{
dir = 8
},
-/obj/effect/landmark/start{
- name = "Botanist"
- },
+/obj/effect/landmark/start/botanist,
/turf/open/floor/plasteel/green/side{
dir = 10
},
@@ -58302,9 +57949,7 @@
/turf/open/floor/plasteel,
/area/atmos)
"bXk" = (
-/obj/effect/landmark/start{
- name = "Atmospheric Technician"
- },
+/obj/effect/landmark/start/atmospheric_technician,
/obj/machinery/atmospherics/pipe/simple/general/visible{
color = "#330000";
dir = 4
@@ -58729,9 +58374,7 @@
/turf/open/floor/plasteel/green,
/area/hydroponics)
"bYg" = (
-/obj/effect/landmark/start{
- name = "Botanist"
- },
+/obj/effect/landmark/start/botanist,
/obj/machinery/holopad,
/turf/open/floor/plasteel,
/area/hydroponics)
@@ -58755,9 +58398,7 @@
/turf/open/floor/plasteel,
/area/hydroponics)
"bYk" = (
-/obj/effect/landmark/start{
- name = "Botanist"
- },
+/obj/effect/landmark/start/botanist,
/turf/open/floor/plasteel/green/side{
dir = 4
},
@@ -58805,9 +58446,7 @@
icon_state = "alarm0";
pixel_x = 24
},
-/obj/effect/landmark/start{
- name = "Botanist"
- },
+/obj/effect/landmark/start/botanist,
/turf/open/floor/plasteel/hydrofloor,
/area/hydroponics)
"bYo" = (
@@ -59485,9 +59124,7 @@
},
/area/hydroponics)
"bZu" = (
-/obj/effect/landmark/start{
- name = "Botanist"
- },
+/obj/effect/landmark/start/botanist,
/turf/open/floor/plasteel/green/side{
dir = 8
},
@@ -59942,9 +59579,7 @@
})
"can" = (
/obj/structure/chair,
-/obj/effect/landmark/start{
- name = "Assistant"
- },
+/obj/effect/landmark/start/assistant,
/turf/open/floor/plasteel/whiteblue/side{
dir = 1
},
@@ -60020,9 +59655,7 @@
})
"cav" = (
/obj/structure/chair,
-/obj/effect/landmark/start{
- name = "Assistant"
- },
+/obj/effect/landmark/start/assistant,
/turf/open/floor/plasteel/whitepurple/side{
dir = 1
},
@@ -60952,9 +60585,7 @@
name = "Medbay Storage"
})
"cbL" = (
-/obj/effect/landmark{
- name = "lightsout"
- },
+/obj/effect/landmark/lightsout,
/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
dir = 2
},
@@ -60972,9 +60603,7 @@
})
"cbN" = (
/obj/machinery/holopad,
-/obj/effect/landmark/start{
- name = "Medical Doctor"
- },
+/obj/effect/landmark/start/medical_doctor,
/obj/structure/cable/yellow{
d1 = 1;
d2 = 2;
@@ -61819,10 +61448,7 @@
name = "Aft Maintenance"
})
"cdo" = (
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/xeno_spawn,
/obj/structure/closet/firecloset,
/turf/open/floor/plating,
/area/maintenance/aft{
@@ -62603,9 +62229,7 @@
/obj/structure/chair/office/light{
dir = 4
},
-/obj/effect/landmark/start{
- name = "Medical Doctor"
- },
+/obj/effect/landmark/start/medical_doctor,
/obj/machinery/button/door{
desc = "A remote control switch for the medbay foyer.";
id = "MedbayFoyer";
@@ -63150,10 +62774,7 @@
/turf/open/floor/plasteel/floorgrime,
/area/maintenance/incinerator)
"cfp" = (
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/xeno_spawn,
/obj/machinery/atmospherics/pipe/simple/general/visible{
dir = 4
},
@@ -64049,9 +63670,7 @@
d2 = 8;
icon_state = "4-8"
},
-/obj/effect/landmark/start{
- name = "Medical Doctor"
- },
+/obj/effect/landmark/start/medical_doctor,
/turf/open/floor/plasteel/whiteblue/side{
dir = 1
},
@@ -64230,9 +63849,7 @@
/obj/structure/chair/office/light{
dir = 1
},
-/obj/effect/landmark/start{
- name = "Chemist"
- },
+/obj/effect/landmark/start/chemist,
/turf/open/floor/plasteel/whiteyellow{
dir = 4
},
@@ -64461,9 +64078,7 @@
/area/toxins/explab)
"chB" = (
/obj/machinery/space_heater,
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/obj/effect/turf_decal/stripes/line{
dir = 1
},
@@ -65186,17 +64801,13 @@
name = "Research Division"
})
"ciL" = (
-/obj/effect/landmark{
- name = "revenantspawn"
- },
+/obj/effect/landmark/revenantspawn,
/turf/open/floor/plating,
/area/maintenance/aft{
name = "Aft Maintenance"
})
"ciM" = (
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/obj/structure/cable/yellow{
d1 = 1;
d2 = 2;
@@ -65391,10 +65002,7 @@
/turf/open/floor/engine/o2,
/area/atmos)
"cji" = (
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/xeno_spawn,
/turf/open/floor/engine/air,
/area/atmos)
"cjj" = (
@@ -65519,9 +65127,7 @@
dir = 4;
on = 1
},
-/obj/effect/landmark{
- name = "revenantspawn"
- },
+/obj/effect/landmark/revenantspawn,
/turf/open/floor/plasteel/black,
/area/medical/surgery)
"cjx" = (
@@ -65880,9 +65486,7 @@
/turf/open/floor/plasteel/white,
/area/toxins/lab)
"ckb" = (
-/obj/effect/landmark/start{
- name = "Scientist"
- },
+/obj/effect/landmark/start/scientist,
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 5
},
@@ -66007,9 +65611,7 @@
/obj/structure/disposalpipe/segment,
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/item/device/flashlight,
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/turf/open/floor/plating,
/area/maintenance/aft{
name = "Aft Maintenance"
@@ -66414,9 +66016,7 @@
/obj/structure/sign/nosmoking_2{
pixel_x = 28
},
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/turf/open/floor/plasteel/black,
/area/medical/surgery)
"cld" = (
@@ -66614,9 +66214,7 @@
/obj/structure/chair/office/light{
dir = 8
},
-/obj/effect/landmark/start{
- name = "Chemist"
- },
+/obj/effect/landmark/start/chemist,
/turf/open/floor/plasteel/whiteyellow/side{
dir = 8
},
@@ -66627,9 +66225,7 @@
d2 = 2;
icon_state = "1-2"
},
-/obj/effect/landmark/start{
- name = "Chemist"
- },
+/obj/effect/landmark/start/chemist,
/turf/open/floor/plasteel/white,
/area/medical/chemistry)
"clv" = (
@@ -66995,10 +66591,7 @@
name = "Aft Maintenance"
})
"clZ" = (
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/xeno_spawn,
/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
dir = 4
},
@@ -68298,9 +67891,7 @@
/turf/open/floor/plasteel/white,
/area/toxins/explab)
"con" = (
-/obj/effect/landmark/start{
- name = "Scientist"
- },
+/obj/effect/landmark/start/scientist,
/obj/structure/chair/office/light{
dir = 1;
pixel_y = 3
@@ -68441,9 +68032,7 @@
/turf/open/floor/plasteel/white,
/area/medical/surgery)
"coA" = (
-/obj/effect/landmark/start{
- name = "Medical Doctor"
- },
+/obj/effect/landmark/start/medical_doctor,
/turf/open/floor/plasteel/white,
/area/medical/surgery)
"coB" = (
@@ -68549,9 +68138,7 @@
/obj/machinery/atmospherics/pipe/manifold/general/visible{
dir = 2
},
-/obj/effect/landmark/start{
- name = "Medical Doctor"
- },
+/obj/effect/landmark/start/medical_doctor,
/turf/open/floor/plasteel,
/area/medical/cryo)
"coL" = (
@@ -68599,9 +68186,7 @@
/obj/structure/chair/office/light{
dir = 1
},
-/obj/effect/landmark/start{
- name = "Chief Medical Officer"
- },
+/obj/effect/landmark/start/chief_medical_officer,
/turf/open/floor/plasteel/barber{
dir = 8
},
@@ -68686,9 +68271,7 @@
/obj/structure/chair/office/light{
dir = 4
},
-/obj/effect/landmark/start{
- name = "Chemist"
- },
+/obj/effect/landmark/start/chemist,
/turf/open/floor/plasteel/whiteyellow/side{
dir = 4
},
@@ -68764,9 +68347,7 @@
/turf/open/floor/plating,
/area/toxins/lab)
"cpd" = (
-/obj/effect/landmark/start{
- name = "Scientist"
- },
+/obj/effect/landmark/start/scientist,
/obj/structure/cable/yellow{
d1 = 2;
d2 = 4;
@@ -68978,9 +68559,7 @@
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
},
-/obj/effect/landmark{
- name = "lightsout"
- },
+/obj/effect/landmark/lightsout,
/turf/open/floor/plasteel/white,
/area/medical/research{
name = "Research Division"
@@ -69236,10 +68815,7 @@
name = "Aft Maintenance"
})
"cpK" = (
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/xeno_spawn,
/turf/open/floor/plating,
/area/maintenance/aft{
name = "Aft Maintenance"
@@ -69303,9 +68879,9 @@
dir = 4
},
/obj/machinery/camera{
- c_tag = "Engineering - Supermatter West";
+ c_tag = "Engineering Supermatter Port";
dir = 8;
- network = list("SS13")
+ network = list("SS13","Engine")
},
/obj/machinery/airalarm{
dir = 8;
@@ -69316,7 +68892,7 @@
req_one_access_txt = "24;10"
},
/turf/open/floor/engine,
-/area/engine/engineering)
+/area/engine/supermatter)
"cpS" = (
/obj/structure/cable/yellow{
d1 = 1;
@@ -69388,9 +68964,7 @@
/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
dir = 8
},
-/obj/effect/landmark/start{
- name = "Medical Doctor"
- },
+/obj/effect/landmark/start/medical_doctor,
/obj/machinery/holopad,
/turf/open/floor/plasteel/white,
/area/medical/surgery)
@@ -70079,10 +69653,7 @@
dir = 8;
on = 1
},
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/xeno_spawn,
/turf/open/floor/plating,
/area/maintenance/aft{
name = "Aft Maintenance"
@@ -70991,9 +70562,7 @@
pixel_x = 0;
pixel_y = -32
},
-/obj/effect/landmark/start{
- name = "Chief Medical Officer"
- },
+/obj/effect/landmark/start/chief_medical_officer,
/obj/structure/cable/yellow{
d1 = 1;
d2 = 8;
@@ -71030,9 +70599,7 @@
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 5
},
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/turf/open/floor/plating,
/area/maintenance/aft{
name = "Aft Maintenance"
@@ -71803,9 +71370,7 @@
/obj/structure/chair/office/light{
dir = 8
},
-/obj/effect/landmark/start{
- name = "Research Director"
- },
+/obj/effect/landmark/start/research_director,
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/turf/open/floor/plasteel/cafeteria{
dir = 5
@@ -72459,10 +72024,7 @@
},
/area/toxins/storage)
"cuX" = (
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/xeno_spawn,
/obj/machinery/atmospherics/components/unary/vent_pump{
dir = 4;
on = 1
@@ -72475,9 +72037,7 @@
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
},
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/obj/effect/turf_decal/stripes/line{
dir = 4
},
@@ -72791,9 +72351,7 @@
/obj/structure/chair/office/light{
dir = 8
},
-/obj/effect/landmark/start{
- name = "Geneticist"
- },
+/obj/effect/landmark/start/geneticist,
/turf/open/floor/plasteel/whiteblue/side{
dir = 9
},
@@ -72812,9 +72370,7 @@
d2 = 2;
icon_state = "1-2"
},
-/obj/effect/landmark/start{
- name = "Geneticist"
- },
+/obj/effect/landmark/start/geneticist,
/turf/open/floor/plasteel/whiteblue/side{
dir = 5
},
@@ -72843,9 +72399,7 @@
dir = 4
},
/obj/structure/disposalpipe/segment,
-/obj/effect/landmark/start{
- name = "Geneticist"
- },
+/obj/effect/landmark/start/geneticist,
/turf/open/floor/plasteel/blue/side{
dir = 4
},
@@ -72911,9 +72465,7 @@
})
"cvK" = (
/obj/machinery/magnetic_module,
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/obj/structure/target_stake,
/obj/effect/turf_decal/bot{
dir = 9
@@ -73077,9 +72629,7 @@
"cvW" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/obj/structure/disposalpipe/segment,
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/obj/effect/turf_decal/stripes/line{
dir = 4
},
@@ -73274,9 +72824,7 @@
d2 = 8;
icon_state = "2-8"
},
-/obj/effect/landmark/start{
- name = "Medical Doctor"
- },
+/obj/effect/landmark/start/medical_doctor,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
},
@@ -73375,9 +72923,7 @@
},
/area/medical/genetics_cloning)
"cww" = (
-/obj/effect/landmark/start{
- name = "Geneticist"
- },
+/obj/effect/landmark/start/geneticist,
/obj/machinery/holopad,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 6
@@ -73700,9 +73246,7 @@
"cwX" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/obj/structure/disposalpipe/segment,
-/obj/effect/landmark/start{
- name = "Scientist"
- },
+/obj/effect/landmark/start/scientist,
/obj/effect/turf_decal/stripes/line{
dir = 6
},
@@ -73754,9 +73298,7 @@
})
"cxd" = (
/obj/structure/reagent_dispensers/watertank,
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/turf/open/floor/plating,
/area/maintenance/aft{
name = "Aft Maintenance"
@@ -73847,9 +73389,7 @@
d2 = 8;
icon_state = "1-8"
},
-/obj/effect/landmark{
- name = "lightsout"
- },
+/obj/effect/landmark/lightsout,
/turf/open/floor/plasteel/white,
/area/medical/medbay3{
name = "Medbay Aft"
@@ -74384,9 +73924,7 @@
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 9
},
-/obj/effect/landmark/start{
- name = "Geneticist"
- },
+/obj/effect/landmark/start/geneticist,
/turf/open/floor/plasteel/white,
/area/medical/genetics)
"cyg" = (
@@ -74498,9 +74036,7 @@
icon_state = "alarm0";
pixel_x = 24
},
-/obj/effect/landmark/start{
- name = "Roboticist"
- },
+/obj/effect/landmark/start/roboticist,
/obj/machinery/light{
icon_state = "tube1";
dir = 4
@@ -74858,9 +74394,7 @@
},
/area/medical/genetics_cloning)
"cyW" = (
-/obj/effect/landmark/start{
- name = "Geneticist"
- },
+/obj/effect/landmark/start/geneticist,
/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
dir = 8
},
@@ -75948,9 +75482,7 @@
dir = 4
},
/obj/machinery/holopad,
-/obj/effect/landmark/start{
- name = "Scientist"
- },
+/obj/effect/landmark/start/scientist,
/obj/structure/disposalpipe/segment{
dir = 4
},
@@ -75989,9 +75521,7 @@
name = "\improper Toxins Lab"
})
"cAI" = (
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/obj/effect/turf_decal/stripes/corner{
dir = 1
},
@@ -76430,9 +75960,7 @@
})
"cBu" = (
/obj/structure/chair/stool,
-/obj/effect/landmark/start{
- name = "Scientist"
- },
+/obj/effect/landmark/start/scientist,
/obj/effect/turf_decal/stripes/line{
dir = 1
},
@@ -76663,10 +76191,7 @@
/turf/open/floor/plating/airless,
/area/toxins/test_area)
"cBQ" = (
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/xeno_spawn,
/obj/structure/cable,
/obj/structure/lattice/catwalk,
/turf/open/space,
@@ -76815,15 +76340,11 @@
/area/medical/morgue)
"cCf" = (
/obj/structure/bodycontainer/morgue,
-/obj/effect/landmark{
- name = "revenantspawn"
- },
+/obj/effect/landmark/revenantspawn,
/turf/open/floor/plasteel/black,
/area/medical/morgue)
"cCg" = (
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/turf/open/floor/plasteel/black,
/area/medical/morgue)
"cCi" = (
@@ -76851,9 +76372,7 @@
/obj/item/weapon/paper/morguereminder{
pixel_x = -4
},
-/obj/effect/landmark{
- name = "revenantspawn"
- },
+/obj/effect/landmark/revenantspawn,
/turf/open/floor/plasteel/black,
/area/medical/morgue)
"cCl" = (
@@ -77306,9 +76825,7 @@
dir = 8
},
/obj/structure/bodycontainer/morgue,
-/obj/effect/landmark{
- name = "revenantspawn"
- },
+/obj/effect/landmark/revenantspawn,
/turf/open/floor/plasteel/black,
/area/medical/morgue)
"cCV" = (
@@ -77316,10 +76833,7 @@
dir = 2;
on = 1
},
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/xeno_spawn,
/turf/open/floor/plasteel/black,
/area/medical/morgue)
"cCW" = (
@@ -77332,9 +76846,7 @@
/turf/open/floor/plasteel/black,
/area/medical/morgue)
"cCX" = (
-/obj/effect/landmark/start{
- name = "Medical Doctor"
- },
+/obj/effect/landmark/start/medical_doctor,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 10
},
@@ -77653,9 +77165,7 @@
/turf/open/floor/plasteel/freezer,
/area/medical/virology)
"cDC" = (
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/turf/open/floor/plasteel/freezer,
/area/medical/virology)
"cDD" = (
@@ -77899,9 +77409,7 @@
/obj/structure/disposalpipe/segment{
dir = 4
},
-/obj/effect/landmark/start{
- name = "Medical Doctor"
- },
+/obj/effect/landmark/start/medical_doctor,
/turf/open/floor/plasteel/white,
/area/medical/medbay3{
name = "Medbay Aft"
@@ -78097,9 +77605,7 @@
/turf/open/floor/plating,
/area/assembly/robotics)
"cEk" = (
-/obj/effect/landmark/start{
- name = "Roboticist"
- },
+/obj/effect/landmark/start/roboticist,
/obj/structure/chair/office/light{
dir = 8
},
@@ -78433,9 +77939,7 @@
/obj/structure/chair/office/light{
dir = 4
},
-/obj/effect/landmark/start{
- name = "Virologist"
- },
+/obj/effect/landmark/start/virologist,
/turf/open/floor/plasteel/whitegreen/corner{
dir = 1
},
@@ -78560,9 +78064,7 @@
pixel_y = 0
},
/obj/structure/bodycontainer/morgue,
-/obj/effect/landmark{
- name = "revenantspawn"
- },
+/obj/effect/landmark/revenantspawn,
/turf/open/floor/plasteel/black,
/area/medical/morgue)
"cEV" = (
@@ -78647,9 +78149,7 @@
/turf/open/floor/plasteel,
/area/assembly/robotics)
"cFf" = (
-/obj/effect/landmark/start{
- name = "Roboticist"
- },
+/obj/effect/landmark/start/roboticist,
/obj/effect/turf_decal/bot,
/turf/open/floor/plasteel,
/area/assembly/robotics)
@@ -78757,9 +78257,7 @@
frequency = 1449;
id = "tox_airlock_pump"
},
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/turf/open/floor/engine,
/area/toxins/mixing{
name = "\improper Toxins Lab"
@@ -79250,9 +78748,7 @@
d2 = 2;
icon_state = "1-2"
},
-/obj/effect/landmark{
- name = "lightsout"
- },
+/obj/effect/landmark/lightsout,
/turf/open/floor/plasteel/white,
/area/medical/research{
name = "Research Division"
@@ -79490,9 +78986,7 @@
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 10
},
-/obj/effect/landmark{
- name = "lightsout"
- },
+/obj/effect/landmark/lightsout,
/obj/machinery/holopad,
/turf/open/floor/plasteel/white,
/area/medical/virology)
@@ -79837,9 +79331,7 @@
/turf/open/floor/plasteel,
/area/assembly/robotics)
"cGW" = (
-/obj/effect/landmark/start{
- name = "Roboticist"
- },
+/obj/effect/landmark/start/roboticist,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/obj/effect/turf_decal/bot,
/turf/open/floor/plasteel,
@@ -80599,9 +80091,7 @@
d2 = 8;
icon_state = "0-8"
},
-/obj/effect/landmark{
- name = "revenantspawn"
- },
+/obj/effect/landmark/revenantspawn,
/turf/open/floor/plasteel/black,
/area/toxins/server{
name = "\improper Research Division Server Room"
@@ -80975,9 +80465,7 @@
},
/area/assembly/robotics)
"cIJ" = (
-/obj/effect/landmark/start{
- name = "Roboticist"
- },
+/obj/effect/landmark/start/roboticist,
/obj/structure/sink{
dir = 8;
icon_state = "sink";
@@ -81144,9 +80632,7 @@
name = "\improper Research Division Server Room"
})
"cIZ" = (
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/obj/machinery/atmospherics/pipe/manifold{
dir = 4
},
@@ -81751,7 +81237,7 @@
})
"cJY" = (
/obj/structure/rack,
-/obj/effect/landmark/costume,
+/obj/effect/spawner/lootdrop/costume,
/obj/effect/spawner/lootdrop/maintenance{
lootcount = 2;
name = "2maintenance loot spawner"
@@ -81826,10 +81312,7 @@
/turf/open/floor/plasteel/freezer,
/area/medical/virology)
"cKh" = (
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/xeno_spawn,
/obj/machinery/atmospherics/components/unary/vent_pump{
dir = 1;
on = 1
@@ -82337,23 +81820,17 @@
/turf/closed/wall,
/area/chapel/office)
"cLb" = (
-/obj/machinery/door/airlock/centcom{
- layer = 2.7;
- name = "Crematorium Maintenance";
- opacity = 1;
- req_access_txt = "27"
- },
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/machinery/door/airlock/maintenance{
+ name = "Crematorium Maintenance";
+ req_access_txt = "12;27";
+ req_one_access_txt = "0"
+ },
/turf/open/floor/plating,
/area/maintenance/aft{
name = "Aft Maintenance"
})
"cLc" = (
-/obj/machinery/door/airlock/centcom{
- name = "Chapel Office Maintenance";
- opacity = 1;
- req_access_txt = "27"
- },
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/obj/structure/disposalpipe/segment,
/obj/structure/cable/yellow{
@@ -82361,6 +81838,11 @@
d2 = 2;
icon_state = "1-2"
},
+/obj/machinery/door/airlock/maintenance{
+ name = "Chapel Office Maintenance";
+ req_access_txt = "12;22";
+ req_one_access_txt = "0"
+ },
/turf/open/floor/plating,
/area/maintenance/aft{
name = "Aft Maintenance"
@@ -82931,13 +82413,8 @@
/turf/open/floor/plasteel/black,
/area/chapel/office)
"cLU" = (
-/obj/effect/landmark{
- name = "blobstart"
- },
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/blobstart,
+/obj/effect/landmark/xeno_spawn,
/turf/open/floor/engine,
/area/toxins/explab)
"cLV" = (
@@ -83019,18 +82496,16 @@
},
/obj/item/organ/heart,
/obj/item/device/soulstone/anybody/chaplain,
-/obj/effect/landmark{
- name = "revenantspawn"
- },
+/obj/effect/landmark/revenantspawn,
/turf/open/floor/plasteel/cult{
dir = 2
},
/area/chapel/office)
"cMb" = (
/obj/machinery/door/airlock/maintenance{
- name = "Chapel Maintenance Access ";
- req_access_txt = "0";
- req_one_access_txt = "12;27"
+ name = "Chapel Maintenance";
+ req_access_txt = "12";
+ req_one_access_txt = "0"
},
/obj/structure/cable/yellow{
d1 = 1;
@@ -83131,9 +82606,7 @@
})
"cMl" = (
/obj/machinery/space_heater,
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/turf/open/floor/plating,
/area/maintenance/aft{
name = "Aft Maintenance"
@@ -83201,10 +82674,7 @@
/turf/open/floor/plating,
/area/maintenance/starboardsolar)
"cMr" = (
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/xeno_spawn,
/obj/machinery/atmospherics/components/unary/vent_pump{
dir = 1;
on = 1
@@ -83305,9 +82775,7 @@
/obj/machinery/light/small{
dir = 4
},
-/obj/effect/landmark/start{
- name = "Chaplain"
- },
+/obj/effect/landmark/start/chaplain,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 9
},
@@ -83323,9 +82791,7 @@
/area/chapel/office)
"cMF" = (
/obj/structure/chair,
-/obj/effect/landmark/start{
- name = "Chaplain"
- },
+/obj/effect/landmark/start/chaplain,
/obj/structure/disposalpipe/segment,
/turf/open/floor/plasteel/grimy,
/area/chapel/office)
@@ -83467,9 +82933,7 @@
/obj/structure/chair{
dir = 4
},
-/obj/effect/landmark/start{
- name = "Assistant"
- },
+/obj/effect/landmark/start/assistant,
/obj/effect/turf_decal/stripes/line{
dir = 8
},
@@ -83780,7 +83244,7 @@
/obj/structure/cable{
d1 = 1;
d2 = 4;
- icon_state = "1-4";
+ icon_state = "1-4"
},
/turf/open/floor/plating,
/area/maintenance/starboardsolar)
@@ -83952,16 +83416,15 @@
/area/chapel/main)
"cNH" = (
/obj/machinery/door/firedoor,
-/obj/machinery/door/airlock/centcom{
- name = "Chapel";
- opacity = 1
- },
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
},
/obj/structure/disposalpipe/segment{
dir = 4
},
+/obj/machinery/door/airlock/glass{
+ name = "Chapel"
+ },
/turf/open/floor/plasteel/black,
/area/chapel/main)
"cNI" = (
@@ -84016,9 +83479,7 @@
name = "\improper Departure Lounge"
})
"cNM" = (
-/obj/effect/landmark{
- name = "lightsout"
- },
+/obj/effect/landmark/lightsout,
/turf/open/floor/plasteel,
/area/hallway/secondary/exit{
name = "\improper Departure Lounge"
@@ -84184,22 +83645,18 @@
on = 1;
pressure_checks = 1
},
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/xeno_spawn,
/turf/open/floor/plasteel/black,
/area/chapel/office)
"cOc" = (
-/obj/machinery/door/airlock/centcom{
- layer = 2.7;
- name = "Crematorium";
- opacity = 1;
- req_access_txt = "27"
- },
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
},
+/obj/machinery/door/airlock/maintenance{
+ name = "Crematorium";
+ req_access_txt = "22;27";
+ req_one_access_txt = "0"
+ },
/turf/open/floor/plasteel/black,
/area/chapel/office)
"cOd" = (
@@ -84303,13 +83760,12 @@
/area/chapel/main)
"cOn" = (
/obj/machinery/door/firedoor,
-/obj/machinery/door/airlock/centcom{
- name = "Chapel";
- opacity = 1
- },
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
},
+/obj/machinery/door/airlock/glass{
+ name = "Chapel"
+ },
/turf/open/floor/plasteel/black,
/area/chapel/main)
"cOo" = (
@@ -84509,10 +83965,7 @@
dir = 1;
on = 1
},
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/xeno_spawn,
/turf/open/floor/plating,
/area/maintenance/aft{
name = "Aft Maintenance"
@@ -84592,9 +84045,7 @@
/obj/structure/chair{
dir = 1
},
-/obj/effect/landmark/start{
- name = "Chaplain"
- },
+/obj/effect/landmark/start/chaplain,
/turf/open/floor/plasteel/black,
/area/chapel/office)
"cOM" = (
@@ -84836,12 +84287,11 @@
/turf/closed/wall,
/area/chapel/office)
"cPl" = (
-/obj/machinery/door/airlock/centcom{
- name = "Chapel Office";
- opacity = 1;
- req_access_txt = "27"
- },
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/obj/machinery/door/airlock/glass{
+ name = "Chapel Office";
+ req_access_txt = "22"
+ },
/turf/open/floor/plasteel/black,
/area/chapel/office)
"cPm" = (
@@ -84911,9 +84361,7 @@
/obj/structure/chair{
dir = 8
},
-/obj/effect/landmark/start{
- name = "Assistant"
- },
+/obj/effect/landmark/start/assistant,
/obj/effect/turf_decal/stripes/line{
dir = 4
},
@@ -85304,9 +84752,8 @@
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
},
-/obj/machinery/door/airlock/centcom{
- name = "Funeral Parlour";
- opacity = 1
+/obj/machinery/door/airlock/glass{
+ name = "Funeral Parlour"
},
/turf/open/floor/plasteel/black,
/area/chapel/main)
@@ -85460,9 +84907,7 @@
/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
dir = 2
},
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/turf/open/floor/plasteel/whitepurple/side{
dir = 1
},
@@ -85692,9 +85137,7 @@
/turf/open/floor/plasteel/black,
/area/chapel/main)
"cQW" = (
-/obj/effect/landmark/start{
- name = "Chaplain"
- },
+/obj/effect/landmark/start/chaplain,
/turf/open/floor/plasteel/black,
/area/chapel/main)
"cQX" = (
@@ -86041,9 +85484,7 @@
/area/chapel/main)
"cRI" = (
/obj/structure/chair,
-/obj/effect/landmark/start{
- name = "Chaplain"
- },
+/obj/effect/landmark/start/chaplain,
/turf/open/floor/plasteel/vault,
/area/chapel/main)
"cRJ" = (
@@ -86347,9 +85788,7 @@
/turf/open/floor/engine,
/area/toxins/xenobiology)
"cSo" = (
-/obj/effect/landmark{
- name = "revenantspawn"
- },
+/obj/effect/landmark/revenantspawn,
/turf/open/floor/engine,
/area/toxins/xenobiology)
"cSp" = (
@@ -87039,7 +86478,10 @@
icon_state = "pipe-c"
},
/turf/open/floor/plating,
-/area/toxins/xenobiology)
+/area/maintenance/aft{
+ icon_state = "xenomaint";
+ name = "Xeno Maintenance"
+ })
"cTo" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
@@ -87049,7 +86491,10 @@
"cTp" = (
/obj/structure/closet,
/turf/open/floor/plating,
-/area/toxins/xenobiology)
+/area/maintenance/aft{
+ icon_state = "xenomaint";
+ name = "Xeno Maintenance"
+ })
"cTq" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -87162,7 +86607,10 @@
"cTC" = (
/obj/structure/disposalpipe/segment,
/turf/open/floor/plating,
-/area/toxins/xenobiology)
+/area/maintenance/aft{
+ icon_state = "xenomaint";
+ name = "Xeno Maintenance"
+ })
"cTD" = (
/obj/machinery/shieldwallgen{
req_access_txt = "55"
@@ -87722,9 +87170,7 @@
d2 = 2;
icon_state = "1-2"
},
-/obj/effect/landmark{
- name = "lightsout"
- },
+/obj/effect/landmark/lightsout,
/obj/machinery/holopad,
/turf/open/floor/plasteel/white,
/area/toxins/xenobiology)
@@ -87745,9 +87191,7 @@
d2 = 8;
icon_state = "1-8"
},
-/obj/effect/landmark/start{
- name = "Scientist"
- },
+/obj/effect/landmark/start/scientist,
/turf/open/floor/plasteel/white,
/area/toxins/xenobiology)
"cUO" = (
@@ -89150,9 +88594,9 @@
},
/obj/effect/turf_decal/stripes/line,
/obj/machinery/camera{
- c_tag = "Engineering - Supermatter South";
+ c_tag = "Engineering Supermatter Aft";
dir = 1;
- network = list("SS13")
+ network = list("SS13","Engine")
},
/turf/open/floor/engine,
/area/engine/engineering)
@@ -90417,9 +89861,7 @@
/obj/structure/chair{
dir = 4
},
-/obj/effect/landmark/start{
- name = "Security Officer"
- },
+/obj/effect/landmark/start/security_officer,
/turf/open/floor/plasteel/red/side{
dir = 8
},
@@ -90579,9 +90021,7 @@
/obj/structure/chair{
dir = 8
},
-/obj/effect/landmark/start{
- name = "Security Officer"
- },
+/obj/effect/landmark/start/security_officer,
/turf/open/floor/plasteel/red/side{
dir = 4
},
@@ -90822,7 +90262,10 @@
dir = 1
},
/turf/open/floor/plating,
-/area/toxins/xenobiology)
+/area/maintenance/aft{
+ icon_state = "xenomaint";
+ name = "Xeno Maintenance"
+ })
"daQ" = (
/obj/structure/disposalpipe/segment{
dir = 2;
@@ -90831,7 +90274,7 @@
/obj/machinery/atmospherics/pipe/simple/cyan/visible{
dir = 4
},
-/turf/open/floor/plating,
+/turf/open/floor/plasteel/white,
/area/toxins/xenobiology)
"daR" = (
/obj/machinery/atmospherics/components/unary/vent_pump{
@@ -90890,7 +90333,7 @@
},
/obj/structure/cable,
/turf/open/floor/engine,
-/area/engine/engineering)
+/area/engine/supermatter)
"daZ" = (
/obj/structure/grille,
/obj/machinery/atmospherics/pipe/manifold/general/visible{
@@ -90898,7 +90341,7 @@
},
/obj/structure/window/reinforced/highpressure/fulltile,
/turf/open/floor/plating,
-/area/engine/engineering)
+/area/engine/supermatter)
"dbb" = (
/obj/machinery/atmospherics/components/unary/vent_pump{
dir = 1;
@@ -90907,7 +90350,7 @@
pressure_checks = 1
},
/turf/open/floor/engine,
-/area/engine/engineering)
+/area/engine/supermatter)
"dbd" = (
/obj/structure/sink/kitchen{
pixel_y = 28
@@ -91202,7 +90645,7 @@
/obj/structure/cable{
d1 = 2;
d2 = 8;
- icon_state = "2-8";
+ icon_state = "2-8"
},
/turf/open/space,
/area/solar/starboard)
@@ -91227,7 +90670,7 @@
/obj/structure/cable{
d1 = 2;
d2 = 8;
- icon_state = "2-8";
+ icon_state = "2-8"
},
/obj/structure/cable{
icon_state = "1-2"
@@ -91304,7 +90747,7 @@
/obj/structure/cable{
d1 = 1;
d2 = 4;
- icon_state = "1-4";
+ icon_state = "1-4"
},
/obj/structure/cable{
d1 = 1;
@@ -91323,7 +90766,7 @@
/obj/structure/cable{
d1 = 1;
d2 = 4;
- icon_state = "1-4";
+ icon_state = "1-4"
},
/obj/structure/cable{
d1 = 1;
@@ -91526,7 +90969,7 @@
/obj/structure/cable/yellow{
d1 = 1;
d2 = 4;
- icon_state = "1-4";
+ icon_state = "1-4"
},
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 6
@@ -91768,9 +91211,7 @@
/area/toxins/xenobiology)
"dcC" = (
/obj/structure/chair/office/light,
-/obj/effect/landmark/start{
- name = "Scientist"
- },
+/obj/effect/landmark/start/scientist,
/turf/open/floor/plasteel/white,
/area/toxins/xenobiology)
"dcD" = (
@@ -92123,7 +91564,10 @@
"ddi" = (
/obj/structure/rack,
/turf/open/floor/plating,
-/area/toxins/xenobiology)
+/area/maintenance/aft{
+ icon_state = "xenomaint";
+ name = "Xeno Maintenance"
+ })
"ddj" = (
/turf/open/floor/plating{
icon_state = "platingdmg2"
@@ -92235,7 +91679,10 @@
icon_state = "2-8"
},
/turf/open/floor/plating,
-/area/toxins/xenobiology)
+/area/maintenance/aft{
+ icon_state = "xenomaint";
+ name = "Xeno Maintenance"
+ })
"ddr" = (
/obj/structure/reagent_dispensers/watertank,
/turf/open/floor/plating,
@@ -92258,7 +91705,10 @@
icon_state = "1-2"
},
/turf/open/floor/plating,
-/area/toxins/xenobiology)
+/area/maintenance/aft{
+ icon_state = "xenomaint";
+ name = "Xeno Maintenance"
+ })
"ddu" = (
/obj/structure/cable/yellow{
d2 = 8;
@@ -92291,7 +91741,10 @@
"ddw" = (
/obj/structure/cable/yellow,
/turf/open/floor/plating,
-/area/toxins/xenobiology)
+/area/maintenance/aft{
+ icon_state = "xenomaint";
+ name = "Xeno Maintenance"
+ })
"ddx" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -92302,7 +91755,7 @@
dir = 1;
initialize_directions = 11
},
-/turf/open/floor/plating,
+/turf/open/floor/plasteel/white,
/area/toxins/xenobiology)
"ddy" = (
/turf/open/floor/plating{
@@ -92323,7 +91776,7 @@
opacity = 0;
req_access_txt = "55"
},
-/turf/open/floor/plating,
+/turf/open/floor/plasteel/white,
/area/toxins/xenobiology)
"ddB" = (
/obj/machinery/atmospherics/components/unary/vent_pump{
@@ -92358,9 +91811,7 @@
},
/area/crew_quarters/kitchen)
"ddE" = (
-/obj/effect/landmark/start{
- name = "Cook"
- },
+/obj/effect/landmark/start/cook,
/obj/machinery/holopad,
/turf/open/floor/plasteel/cafeteria,
/area/crew_quarters/kitchen)
@@ -92440,9 +91891,9 @@
dir = 6
},
/obj/machinery/camera{
- c_tag = "Engineering - Supermatter North";
+ c_tag = "Engineering Supermatter Fore";
dir = 4;
- network = list("SS13")
+ network = list("SS13","Engine")
},
/obj/machinery/firealarm{
dir = 8;
@@ -92662,7 +92113,7 @@
/obj/structure/cable{
d1 = 2;
d2 = 8;
- icon_state = "2-8";
+ icon_state = "2-8"
},
/obj/effect/turf_decal/stripes/line,
/turf/open/floor/engine,
@@ -92681,7 +92132,7 @@
/obj/structure/cable{
d1 = 2;
d2 = 8;
- icon_state = "2-8";
+ icon_state = "2-8"
},
/obj/effect/turf_decal/stripes/line,
/turf/open/floor/engine,
@@ -92767,7 +92218,7 @@
"deD" = (
/obj/machinery/status_display,
/turf/closed/wall/r_wall,
-/area/engine/engineering)
+/area/engine/supermatter)
"deI" = (
/obj/machinery/atmospherics/components/trinary/filter{
dir = 1;
@@ -92832,7 +92283,7 @@
},
/obj/structure/window/reinforced/highpressure/fulltile,
/turf/open/floor/plating,
-/area/engine/engineering)
+/area/engine/supermatter)
"deT" = (
/obj/machinery/atmospherics/components/trinary/filter{
dir = 1;
@@ -92861,16 +92312,16 @@
"deV" = (
/obj/structure/sign/fire,
/turf/closed/wall/r_wall,
-/area/engine/engineering)
+/area/engine/supermatter)
"deW" = (
/obj/machinery/atmospherics/pipe/simple/general/visible,
/obj/effect/turf_decal/stripes/line{
dir = 10
},
/obj/machinery/camera{
- c_tag = "Engineering - Supermatter Central";
+ c_tag = "Engineering Supermatter Starboard";
dir = 4;
- network = list("SS13")
+ network = list("SS13","Engine")
},
/turf/open/floor/engine,
/area/engine/engineering)
@@ -92885,7 +92336,7 @@
/obj/structure/reflector/single{
anchored = 1;
dir = 1;
- icon_state = "reflector";
+ icon_state = "reflector"
},
/turf/open/floor/plating,
/area/engine/engineering)
@@ -92896,7 +92347,7 @@
"dfa" = (
/obj/machinery/power/supermatter_shard/crystal,
/turf/open/floor/engine,
-/area/engine/engineering)
+/area/engine/supermatter)
"dfb" = (
/obj/machinery/atmospherics/pipe/simple/general/visible{
dir = 10;
@@ -92905,11 +92356,11 @@
},
/obj/machinery/meter,
/turf/closed/wall/r_wall,
-/area/engine/engineering)
+/area/engine/supermatter)
"dfc" = (
/obj/structure/sign/electricshock,
/turf/closed/wall/r_wall,
-/area/engine/engineering)
+/area/engine/supermatter)
"dfd" = (
/obj/machinery/atmospherics/components/trinary/filter{
dir = 1;
@@ -92935,7 +92386,7 @@
/obj/structure/reflector/double{
anchored = 1;
dir = 1;
- icon_state = "reflector_double";
+ icon_state = "reflector_double"
},
/turf/open/floor/plasteel/black,
/area/engine/engineering)
@@ -92943,7 +92394,7 @@
/obj/structure/reflector/single{
anchored = 1;
dir = 8;
- icon_state = "reflector";
+ icon_state = "reflector"
},
/turf/open/floor/plating,
/area/engine/engineering)
@@ -92968,13 +92419,13 @@
dir = 5
},
/turf/closed/wall/r_wall,
-/area/engine/engineering)
+/area/engine/supermatter)
"dfk" = (
/obj/structure/grille,
/obj/machinery/atmospherics/pipe/manifold/general/visible,
/obj/structure/window/reinforced/highpressure/fulltile,
/turf/open/floor/plating,
-/area/engine/engineering)
+/area/engine/supermatter)
"dfm" = (
/obj/structure/grille,
/obj/machinery/atmospherics/pipe/simple/general/visible{
@@ -92982,7 +92433,7 @@
},
/obj/structure/window/reinforced/highpressure/fulltile,
/turf/open/floor/plating,
-/area/engine/engineering)
+/area/engine/supermatter)
"dfp" = (
/obj/effect/turf_decal/bot{
dir = 1
@@ -93003,7 +92454,7 @@
d2 = 2
},
/turf/open/floor/engine,
-/area/engine/engineering)
+/area/engine/supermatter)
"dft" = (
/obj/machinery/atmospherics/components/trinary/filter{
dir = 1;
@@ -94627,9 +94078,7 @@
/obj/structure/closet/crate,
/obj/item/weapon/poster/random_official,
/obj/effect/spawner/lootdrop/maintenance,
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/obj/effect/turf_decal/stripes/line{
dir = 1
},
@@ -94748,7 +94197,7 @@
name = "Radiation Chamber Shutters"
},
/turf/open/floor/plating,
-/area/engine/engineering)
+/area/engine/supermatter)
"dju" = (
/obj/structure/cable{
d1 = 1;
@@ -94762,12 +94211,13 @@
/turf/open/floor/plating,
/area/engine/engineering)
"djv" = (
-/obj/machinery/door/poddoor/shutters/preopen{
- id = "engsm";
- name = "Radiation Chamber Shutters"
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
},
/turf/open/floor/plating,
-/area/engine/engineering)
+/area/engine/supermatter)
"djw" = (
/obj/structure/cable{
d1 = 1;
@@ -94792,7 +94242,7 @@
name = "Radiation Chamber Shutters"
},
/turf/open/floor/plating,
-/area/engine/engineering)
+/area/engine/supermatter)
"djy" = (
/obj/structure/cable{
d1 = 1;
@@ -94834,9 +94284,7 @@
d1 = 1;
d2 = 4
},
-/obj/effect/landmark{
- name = "Observer-Start"
- },
+/obj/effect/landmark/observer_start,
/turf/open/floor/plasteel{
icon_state = "L8"
},
@@ -95591,6 +95039,357 @@
},
/turf/open/floor/mineral/titanium,
/area/shuttle/escape)
+"dlI" = (
+/obj/machinery/power/rad_collector{
+ anchored = 1
+ },
+/obj/structure/cable{
+ icon_state = "0-2";
+ d2 = 2
+ },
+/obj/machinery/camera{
+ c_tag = "Supermatter Chamber";
+ dir = 4;
+ network = list("Engine")
+ },
+/turf/open/floor/engine,
+/area/engine/supermatter)
+"dlJ" = (
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"dlK" = (
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"dlL" = (
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"dlM" = (
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"dlN" = (
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"dlO" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/highpressure/fulltile,
+/turf/open/floor/plating,
+/area/engine/supermatter)
+"dlP" = (
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"dlQ" = (
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"dlR" = (
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"dlS" = (
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"dlT" = (
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"dlU" = (
+/turf/closed/wall/r_wall,
+/area/maintenance/aft{
+ icon_state = "xenomaint";
+ name = "Xeno Maintenance"
+ })
+"dlV" = (
+/obj/structure/reagent_dispensers/fueltank,
+/turf/open/floor/plating,
+/area/maintenance/aft{
+ icon_state = "xenomaint";
+ name = "Xeno Maintenance"
+ })
+"dlW" = (
+/turf/open/floor/plating,
+/area/maintenance/aft{
+ icon_state = "xenomaint";
+ name = "Xeno Maintenance"
+ })
+"dlX" = (
+/turf/open/floor/plating{
+ icon_state = "platingdmg3"
+ },
+/area/maintenance/aft{
+ icon_state = "xenomaint";
+ name = "Xeno Maintenance"
+ })
+"dlY" = (
+/turf/closed/wall/r_wall,
+/area/maintenance/aft{
+ icon_state = "xenomaint";
+ name = "Xeno Maintenance"
+ })
+"dlZ" = (
+/turf/closed/wall/r_wall,
+/area/maintenance/aft{
+ icon_state = "xenomaint";
+ name = "Xeno Maintenance"
+ })
+"dma" = (
+/turf/open/floor/plating{
+ icon_state = "platingdmg2"
+ },
+/area/maintenance/aft{
+ icon_state = "xenomaint";
+ name = "Xeno Maintenance"
+ })
+"dmb" = (
+/obj/structure/reagent_dispensers/watertank,
+/turf/open/floor/plating,
+/area/maintenance/aft{
+ icon_state = "xenomaint";
+ name = "Xeno Maintenance"
+ })
+"dmc" = (
+/turf/closed/wall/r_wall,
+/area/maintenance/aft{
+ icon_state = "xenomaint";
+ name = "Xeno Maintenance"
+ })
+"dmd" = (
+/turf/closed/wall/r_wall,
+/area/maintenance/aft{
+ icon_state = "xenomaint";
+ name = "Xeno Maintenance"
+ })
+"dme" = (
+/obj/machinery/space_heater,
+/turf/open/floor/plating,
+/area/maintenance/aft{
+ icon_state = "xenomaint";
+ name = "Xeno Maintenance"
+ })
+"dmf" = (
+/turf/closed/wall/r_wall,
+/area/maintenance/aft{
+ icon_state = "xenomaint";
+ name = "Xeno Maintenance"
+ })
+"dmg" = (
+/turf/closed/wall/r_wall,
+/area/maintenance/aft{
+ icon_state = "xenomaint";
+ name = "Xeno Maintenance"
+ })
+"dmh" = (
+/turf/closed/wall/r_wall,
+/area/maintenance/aft{
+ icon_state = "xenomaint";
+ name = "Xeno Maintenance"
+ })
+"dmi" = (
+/turf/closed/wall/r_wall,
+/area/maintenance/aft{
+ icon_state = "xenomaint";
+ name = "Xeno Maintenance"
+ })
+"dmj" = (
+/turf/closed/wall/r_wall,
+/area/maintenance/aft{
+ icon_state = "xenomaint";
+ name = "Xeno Maintenance"
+ })
+"dmk" = (
+/turf/closed/wall/r_wall,
+/area/maintenance/aft{
+ icon_state = "xenomaint";
+ name = "Xeno Maintenance"
+ })
+"dml" = (
+/turf/closed/wall/r_wall,
+/area/maintenance/aft{
+ icon_state = "xenomaint";
+ name = "Xeno Maintenance"
+ })
+"dmm" = (
+/turf/closed/wall/r_wall,
+/area/maintenance/aft{
+ icon_state = "xenomaint";
+ name = "Xeno Maintenance"
+ })
+"dmn" = (
+/turf/closed/wall/r_wall,
+/area/maintenance/aft{
+ icon_state = "xenomaint";
+ name = "Xeno Maintenance"
+ })
+"dmo" = (
+/turf/closed/wall/r_wall,
+/area/maintenance/aft{
+ icon_state = "xenomaint";
+ name = "Xeno Maintenance"
+ })
+"dmp" = (
+/turf/closed/wall/r_wall,
+/area/maintenance/aft{
+ icon_state = "xenomaint";
+ name = "Xeno Maintenance"
+ })
+"dmq" = (
+/turf/closed/wall/r_wall,
+/area/maintenance/aft{
+ icon_state = "xenomaint";
+ name = "Xeno Maintenance"
+ })
+"dmr" = (
+/turf/open/floor/plating,
+/area/maintenance/aft{
+ icon_state = "xenomaint";
+ name = "Xeno Maintenance"
+ })
+"dms" = (
+/turf/closed/wall/r_wall,
+/area/maintenance/aft{
+ icon_state = "xenomaint";
+ name = "Xeno Maintenance"
+ })
+"dmt" = (
+/turf/closed/wall/r_wall,
+/area/maintenance/aft{
+ icon_state = "xenomaint";
+ name = "Xeno Maintenance"
+ })
+"dmu" = (
+/turf/open/floor/plating,
+/area/maintenance/aft{
+ icon_state = "xenomaint";
+ name = "Xeno Maintenance"
+ })
+"dmv" = (
+/turf/closed/wall/r_wall,
+/area/maintenance/aft{
+ icon_state = "xenomaint";
+ name = "Xeno Maintenance"
+ })
+"dmw" = (
+/turf/closed/wall/r_wall,
+/area/maintenance/aft{
+ icon_state = "xenomaint";
+ name = "Xeno Maintenance"
+ })
+"dmx" = (
+/obj/structure/disposalpipe/segment{
+ dir = 1;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plating,
+/area/maintenance/aft{
+ icon_state = "xenomaint";
+ name = "Xeno Maintenance"
+ })
+"dmy" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/cyan/visible{
+ dir = 4
+ },
+/obj/machinery/door/airlock/research{
+ glass = 1;
+ name = "Slime Euthanization Chamber";
+ opacity = 0;
+ req_access_txt = "55"
+ },
+/turf/open/floor/plasteel/white,
+/area/toxins/xenobiology)
+"dmz" = (
+/obj/machinery/door/airlock/research{
+ glass = 1;
+ name = "Slime Euthanization Chamber";
+ opacity = 0;
+ req_access_txt = "55"
+ },
+/turf/open/floor/plasteel/white,
+/area/toxins/xenobiology)
+"dmA" = (
+/turf/open/floor/plating,
+/area/maintenance/aft{
+ icon_state = "xenomaint";
+ name = "Xeno Maintenance"
+ })
+"dmB" = (
+/turf/open/floor/plating,
+/area/maintenance/aft{
+ icon_state = "xenomaint";
+ name = "Xeno Maintenance"
+ })
+"dmC" = (
+/turf/open/floor/plating{
+ icon_state = "platingdmg1"
+ },
+/area/maintenance/aft{
+ icon_state = "xenomaint";
+ name = "Xeno Maintenance"
+ })
+"dmD" = (
+/turf/closed/wall/r_wall,
+/area/maintenance/aft{
+ icon_state = "xenomaint";
+ name = "Xeno Maintenance"
+ })
+"dmE" = (
+/turf/closed/wall/r_wall,
+/area/maintenance/aft{
+ icon_state = "xenomaint";
+ name = "Xeno Maintenance"
+ })
+"dmF" = (
+/turf/closed/wall/r_wall,
+/area/maintenance/aft{
+ icon_state = "xenomaint";
+ name = "Xeno Maintenance"
+ })
+"dmG" = (
+/turf/closed/wall/r_wall,
+/area/maintenance/aft{
+ icon_state = "xenomaint";
+ name = "Xeno Maintenance"
+ })
+"dmH" = (
+/turf/closed/wall/r_wall,
+/area/maintenance/aft{
+ icon_state = "xenomaint";
+ name = "Xeno Maintenance"
+ })
+"dmI" = (
+/turf/closed/wall/r_wall,
+/area/maintenance/aft{
+ icon_state = "xenomaint";
+ name = "Xeno Maintenance"
+ })
+"dmJ" = (
+/turf/closed/wall/r_wall,
+/area/maintenance/aft{
+ icon_state = "xenomaint";
+ name = "Xeno Maintenance"
+ })
+"dmK" = (
+/turf/closed/wall/r_wall,
+/area/maintenance/aft{
+ icon_state = "xenomaint";
+ name = "Xeno Maintenance"
+ })
+"dmL" = (
+/turf/closed/wall/r_wall,
+/area/maintenance/aft{
+ icon_state = "xenomaint";
+ name = "Xeno Maintenance"
+ })
+"dmM" = (
+/turf/closed/wall/r_wall,
+/area/maintenance/aft{
+ icon_state = "xenomaint";
+ name = "Xeno Maintenance"
+ })
+"dmN" = (
+/turf/closed/wall/r_wall,
+/area/maintenance/aft{
+ icon_state = "xenomaint";
+ name = "Xeno Maintenance"
+ })
(1,1,1) = {"
aaa
@@ -119818,7 +119617,7 @@ aax
aax
abr
abJ
-acd
+abE
abE
abE
ade
@@ -127668,10 +127467,10 @@ cRi
cRi
cRi
cRi
-cRi
-cRi
-cRi
-cRi
+dlU
+dlZ
+dmd
+dmg
aaf
aaa
aaa
@@ -127925,18 +127724,18 @@ cSh
dbs
cSn
cRi
-dde
-ddj
+dlV
+dma
cTp
-cRi
-cRi
-cRi
-cRi
-cRi
-cRi
-cRi
-cRi
-cRi
+dmh
+dmk
+dmm
+dmo
+dmq
+dmt
+dmw
+dmE
+dmM
aaa
aaa
aai
@@ -128182,7 +127981,7 @@ cSg
cSo
cSn
cRi
-cTA
+dlW
cTn
cTC
cTC
@@ -128191,9 +127990,9 @@ cTC
cTC
cTC
cTC
-daO
+dmx
bIx
-cRi
+dmN
aaf
aaf
aag
@@ -128706,7 +128505,7 @@ daF
daJ
cRi
bvT
-cRi
+dmF
cRi
cRi
cRi
@@ -128962,8 +128761,8 @@ cSn
cSn
cSn
cRi
-bvT
-cRi
+dmy
+dmG
cZv
cZv
cRi
@@ -129990,8 +129789,8 @@ cSn
cSn
daN
cRi
-cTA
-cRi
+dmz
+dmH
cZv
dbw
cRi
@@ -130247,8 +130046,8 @@ daE
daI
daM
cRi
-cTA
-cRi
+dmA
+dmI
cRi
cRi
cRi
@@ -130504,8 +130303,8 @@ cRi
cRi
cRi
cRi
-cTA
-cRi
+dmB
+dmJ
aaf
aaa
aaa
@@ -130752,17 +130551,17 @@ cSn
cSo
cSg
cRi
-ddh
+dlX
ddq
ddt
ddt
ddt
ddt
ddw
-cTA
-cTA
-ddy
-cRi
+dmr
+dmu
+dmC
+dmK
aaf
aaf
aaa
@@ -131010,16 +130809,16 @@ dbt
cSF
cRi
ddi
-ddr
-cTB
-cRi
-cRi
-cRi
-cRi
-cRi
-cRi
-cRi
-cRi
+dmb
+dme
+dmi
+dml
+dmn
+dmp
+dms
+dmv
+dmD
+dmL
aaf
aaa
aaa
@@ -131266,10 +131065,10 @@ cRi
cRi
cRi
cRi
-cRi
-cRi
-cRi
-cRi
+dlY
+dmc
+dmf
+dmj
aaa
aaf
aaf
@@ -137840,11 +137639,11 @@ aEr
aFC
aGZ
aGZ
-axY
+dlJ
aKG
aMj
aKG
-axY
+dlJ
aQe
aRv
dfD
@@ -138097,11 +137896,11 @@ dej
aFC
deC
deC
-axY
+dlJ
aKH
aMk
aNu
-axY
+dlJ
dfp
dfp
dfE
@@ -138353,13 +138152,13 @@ aCY
dek
der
deD
-axY
+dlJ
aJv
aKI
aMj
dfb
dfj
-axY
+dlJ
deD
dfF
aTN
@@ -138616,7 +138415,7 @@ dbb
aMk
aNv
dfk
-dfq
+dlI
djt
dfG
dfQ
@@ -139123,7 +138922,7 @@ aBQ
dee
aEr
aKL
-djv
+djt
daY
deS
dbb
@@ -139381,13 +139180,13 @@ aCY
dem
aFD
deD
-axY
-axY
+dlJ
+dlJ
deV
-aCZ
+dlO
dfc
-axY
-axY
+dlJ
+dlJ
deD
dfI
dfS
diff --git a/_maps/map_files/OmegaStation/OmegaStation.dmm b/_maps/map_files/OmegaStation/OmegaStation.dmm
index ecc1416291..2dbf89536a 100644
--- a/_maps/map_files/OmegaStation/OmegaStation.dmm
+++ b/_maps/map_files/OmegaStation/OmegaStation.dmm
@@ -1,11 +1,9 @@
//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
"aaa" = (
-/turf/open/space,
+/turf/open/space/basic,
/area/space)
"aab" = (
-/obj/effect/landmark{
- name = "carpspawn"
- },
+/obj/effect/landmark/carpspawn,
/turf/open/space,
/area/space)
"aac" = (
@@ -776,9 +774,10 @@
tag = "icon-0-2";
icon_state = "0-2"
},
-/obj/structure/grille,
-/obj/structure/window/reinforced/fulltile,
-/turf/open/floor/plating,
+/obj/machinery/modular_computer/console/preset/command,
+/turf/open/floor/plasteel/vault{
+ dir = 5
+ },
/area/bridge)
"abo" = (
/turf/open/floor/plasteel/vault{
@@ -942,9 +941,7 @@
icon_state = "1-4"
},
/obj/machinery/holopad,
-/obj/effect/landmark{
- name = "lightsout"
- },
+/obj/effect/landmark/lightsout,
/turf/open/floor/plasteel/vault,
/area/bridge)
"abF" = (
@@ -1203,9 +1200,7 @@
dir = 4
},
/obj/item/weapon/bedsheet/captain,
-/obj/effect/landmark/start{
- name = "Captain"
- },
+/obj/effect/landmark/start/captain,
/turf/open/floor/plasteel/grimy,
/area/crew_quarters/captain{
name = "\improper Captain's Quarters"
@@ -1386,9 +1381,7 @@
dir = 8
},
/obj/item/weapon/bedsheet/hop,
-/obj/effect/landmark/start{
- name = "Head of Personnel"
- },
+/obj/effect/landmark/start/head_of_personnel,
/turf/open/floor/wood,
/area/crew_quarters/heads)
"acq" = (
@@ -1437,9 +1430,7 @@
dir = 8
},
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
-/obj/effect/landmark/start{
- name = "Head of Personnel"
- },
+/obj/effect/landmark/start/head_of_personnel,
/turf/open/floor/plasteel/white,
/area/crew_quarters/heads)
"acu" = (
@@ -1487,10 +1478,7 @@
dir = 8;
on = 1
},
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/xeno_spawn,
/obj/effect/turf_decal/delivery,
/turf/open/floor/plasteel,
/area/hallway/primary/central{
@@ -1595,9 +1583,7 @@
dir = 2;
on = 1
},
-/obj/effect/landmark/start{
- name = "Detective"
- },
+/obj/effect/landmark/start/detective,
/obj/item/weapon/bedsheet/brown,
/turf/open/floor/wood,
/area/security/detectives_office)
@@ -1633,15 +1619,11 @@
dir = 8
},
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
-/obj/effect/landmark/start{
- name = "Detective"
- },
+/obj/effect/landmark/start/detective,
/turf/open/floor/plasteel/white,
/area/security/detectives_office)
"acN" = (
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/delivery,
@@ -2083,9 +2065,7 @@
/obj/effect/decal/cleanable/dirt,
/obj/item/clothing/suit/space/orange,
/obj/item/clothing/head/helmet/space/orange,
-/obj/effect/landmark{
- name = "revenantspawn"
- },
+/obj/effect/landmark/revenantspawn,
/turf/open/floor/plasteel/neutral,
/area/ruin/unpowered{
name = "Asteroid"
@@ -2157,10 +2137,7 @@
dir = 2;
on = 1
},
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/xeno_spawn,
/turf/open/floor/plating,
/area/hallway/primary/central{
name = "Primary Hallway"
@@ -2180,9 +2157,7 @@
req_access_txt = "0";
use_power = 0
},
-/obj/effect/landmark/start{
- name = "Captain"
- },
+/obj/effect/landmark/start/captain,
/turf/open/floor/plasteel/white,
/area/crew_quarters/captain{
name = "\improper Captain's Quarters"
@@ -2813,9 +2788,7 @@
pixel_y = -40;
req_access_txt = "16"
},
-/obj/effect/landmark/start{
- name = "AI"
- },
+/obj/effect/landmark/start/ai,
/obj/structure/cable/white{
tag = "icon-1-4";
icon_state = "1-4"
@@ -3480,9 +3453,7 @@
/area/crew_quarters/heads)
"afB" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/turf/open/floor/plating,
/area/hallway/primary/central{
name = "Primary Hallway"
@@ -3507,9 +3478,7 @@
/turf/open/floor/plasteel/neutral,
/area/quartermaster/storage)
"afF" = (
-/obj/effect/landmark/start{
- name = "Cargo Technician"
- },
+/obj/effect/landmark/start/cargo_technician,
/turf/open/floor/plasteel/neutral,
/area/quartermaster/storage)
"afG" = (
@@ -3958,9 +3927,7 @@
pixel_x = 42;
pixel_y = -42
},
-/obj/effect/landmark/start{
- name = "Head of Personnel"
- },
+/obj/effect/landmark/start/head_of_personnel,
/turf/open/floor/plasteel/vault{
dir = 5
},
@@ -4159,9 +4126,7 @@
/obj/structure/chair/office/dark{
dir = 8
},
-/obj/effect/landmark/start{
- name = "Detective"
- },
+/obj/effect/landmark/start/detective,
/obj/machinery/atmospherics/components/unary/vent_scrubber{
dir = 8;
on = 1;
@@ -4243,9 +4208,7 @@
icon_state = "intact";
dir = 4
},
-/obj/effect/landmark/start{
- name = "Captain"
- },
+/obj/effect/landmark/start/captain,
/turf/open/floor/carpet,
/area/crew_quarters/captain{
name = "\improper Captain's Quarters"
@@ -4406,9 +4369,7 @@
tag = "icon-2-4";
icon_state = "2-4"
},
-/obj/effect/landmark/start{
- name = "Cyborg"
- },
+/obj/effect/landmark/start/cyborg,
/turf/open/floor/plasteel/vault{
dir = 5
},
@@ -6148,9 +6109,7 @@
icon_state = "manifold";
dir = 4
},
-/obj/effect/landmark/start{
- name = "Cargo Technician"
- },
+/obj/effect/landmark/start/cargo_technician,
/turf/open/floor/plasteel/neutral,
/area/quartermaster/storage)
"ajM" = (
@@ -6387,9 +6346,7 @@
name = "Primary Hallway"
})
"akd" = (
-/obj/effect/landmark{
- name = "lightsout"
- },
+/obj/effect/landmark/lightsout,
/obj/structure/cable/white{
tag = "icon-1-2";
icon_state = "1-2"
@@ -6733,9 +6690,7 @@
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
},
-/obj/effect/landmark{
- name = "lightsout"
- },
+/obj/effect/landmark/lightsout,
/obj/structure/cable/white{
tag = "icon-1-4";
icon_state = "1-4"
@@ -7511,9 +7466,7 @@
tag = "icon-2-4";
icon_state = "2-4"
},
-/obj/effect/landmark{
- name = "lightsout"
- },
+/obj/effect/landmark/lightsout,
/turf/open/floor/plasteel/neutral,
/area/quartermaster/storage)
"alF" = (
@@ -7538,9 +7491,7 @@
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/blood/old,
-/obj/effect/landmark{
- name = "revenantspawn"
- },
+/obj/effect/landmark/revenantspawn,
/turf/open/floor/plating,
/area/ruin/unpowered{
name = "Asteroid"
@@ -7627,9 +7578,7 @@
dir = 4
},
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
-/obj/effect/landmark{
- name = "lightsout"
- },
+/obj/effect/landmark/lightsout,
/turf/open/floor/plasteel/neutral/side{
dir = 4
},
@@ -8087,9 +8036,7 @@
/area/quartermaster/storage)
"amw" = (
/obj/structure/chair/office/dark,
-/obj/effect/landmark/start{
- name = "Cargo Technician"
- },
+/obj/effect/landmark/start/cargo_technician,
/turf/open/floor/plasteel/brown,
/area/quartermaster/storage)
"amx" = (
@@ -8748,9 +8695,7 @@
pixel_x = 38;
pixel_y = 38
},
-/obj/effect/landmark/start{
- name = "Security Officer"
- },
+/obj/effect/landmark/start/security_officer,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/turf/open/floor/plasteel/red/side{
dir = 4
@@ -9213,9 +9158,7 @@
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
},
-/obj/effect/landmark/start{
- name = "Shaft Miner"
- },
+/obj/effect/landmark/start/shaft_miner,
/turf/open/floor/plasteel/loadingarea{
baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface;
dir = 8
@@ -9239,9 +9182,7 @@
tag = "icon-1-2";
icon_state = "1-2"
},
-/obj/effect/landmark/start{
- name = "Shaft Miner"
- },
+/obj/effect/landmark/start/shaft_miner,
/turf/open/floor/plasteel/brown{
tag = "icon-brown (NORTHEAST)";
icon_state = "brown";
@@ -9438,9 +9379,7 @@
pixel_x = -32
},
/obj/machinery/light/small,
-/obj/effect/landmark{
- name = "revenantspawn"
- },
+/obj/effect/landmark/revenantspawn,
/turf/open/floor/plating,
/area/hallway/primary/central{
name = "Primary Hallway"
@@ -9456,9 +9395,7 @@
pixel_x = -32
},
/obj/machinery/light/small,
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/obj/effect/turf_decal/bot,
/turf/open/floor/plasteel,
/area/hallway/primary/central{
@@ -9475,9 +9412,7 @@
pixel_x = -32
},
/obj/machinery/light/small,
-/obj/effect/landmark/start{
- name = "Assistant"
- },
+/obj/effect/landmark/start/assistant,
/obj/effect/turf_decal/bot,
/turf/open/floor/plasteel,
/area/hallway/primary/central{
@@ -9785,9 +9720,7 @@
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
},
-/obj/effect/landmark{
- name = "lightsout"
- },
+/obj/effect/landmark/lightsout,
/obj/structure/cable/white{
tag = "icon-1-2";
icon_state = "1-2"
@@ -10121,9 +10054,7 @@
/turf/open/floor/plasteel,
/area/security/brig)
"apz" = (
-/obj/effect/landmark/start{
- name = "Security Officer"
- },
+/obj/effect/landmark/start/security_officer,
/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
tag = "icon-manifold (WEST)";
icon_state = "manifold";
@@ -10650,9 +10581,7 @@
/obj/structure/chair{
dir = 1
},
-/obj/effect/landmark/start{
- name = "Assistant"
- },
+/obj/effect/landmark/start/assistant,
/obj/effect/turf_decal/bot,
/turf/open/floor/plasteel,
/area/hallway/primary/central{
@@ -11556,9 +11485,7 @@
tag = "icon-1-4";
icon_state = "1-4"
},
-/obj/effect/landmark/start{
- name = "Security Officer"
- },
+/obj/effect/landmark/start/security_officer,
/obj/machinery/atmospherics/components/unary/vent_scrubber{
dir = 4;
on = 1;
@@ -11636,9 +11563,7 @@
tag = "icon-1-4";
icon_state = "1-4"
},
-/obj/effect/landmark/start{
- name = "Security Officer"
- },
+/obj/effect/landmark/start/security_officer,
/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,
/turf/open/floor/plasteel/red/corner{
dir = 1
@@ -11731,9 +11656,7 @@
tag = "icon-2-8";
icon_state = "2-8"
},
-/obj/effect/landmark/start{
- name = "Security Officer"
- },
+/obj/effect/landmark/start/security_officer,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
tag = "icon-intact (SOUTHWEST)";
icon_state = "intact";
@@ -11779,9 +11702,7 @@
},
/area/storage/primary)
"arR" = (
-/obj/effect/landmark/start{
- name = "Assistant"
- },
+/obj/effect/landmark/start/assistant,
/turf/open/floor/plasteel/yellow/side{
dir = 1
},
@@ -12783,10 +12704,7 @@
dir = 8;
on = 1
},
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/xeno_spawn,
/obj/effect/decal/cleanable/dirt,
/obj/effect/turf_decal/delivery,
/turf/open/floor/plasteel,
@@ -13150,9 +13068,7 @@
name = "Central Port Maintenance"
})
"atW" = (
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/obj/structure/cable/white{
tag = "icon-1-2";
icon_state = "1-2"
@@ -13334,9 +13250,7 @@
/turf/closed/wall,
/area/crew_quarters/bar)
"aun" = (
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/structure/cable/white{
tag = "icon-1-2";
@@ -13586,9 +13500,7 @@
icon_state = "4-8"
},
/obj/effect/decal/cleanable/blood/splatter,
-/obj/effect/landmark{
- name = "revenantspawn"
- },
+/obj/effect/landmark/revenantspawn,
/turf/open/floor/plating,
/area/hallway/primary/central{
name = "Primary Hallway"
@@ -13610,9 +13522,7 @@
name = "Primary Hallway"
})
"auL" = (
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/obj/structure/cable/white{
tag = "icon-4-8";
icon_state = "4-8"
@@ -13759,9 +13669,7 @@
/turf/open/floor/plasteel/yellow/side,
/area/storage/primary)
"auV" = (
-/obj/effect/landmark/start{
- name = "Assistant"
- },
+/obj/effect/landmark/start/assistant,
/obj/machinery/atmospherics/components/unary/vent_scrubber{
dir = 1;
on = 1;
@@ -13939,9 +13847,7 @@
/turf/open/floor/plasteel/black,
/area/crew_quarters/bar)
"avp" = (
-/obj/effect/landmark/start{
- name = "Bartender"
- },
+/obj/effect/landmark/start/bartender,
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
@@ -14076,9 +13982,7 @@
/area/atmos)
"avB" = (
/obj/machinery/atmospherics/pipe/simple/cyan/visible,
-/obj/effect/landmark/start{
- name = "Atmospheric Technician"
- },
+/obj/effect/landmark/start/atmospheric_technician,
/turf/open/floor/plasteel/neutral,
/area/atmos)
"avC" = (
@@ -14470,9 +14374,7 @@
/area/crew_quarters/theatre)
"awh" = (
/obj/structure/chair/comfy/brown,
-/obj/effect/landmark/start{
- name = "Clown"
- },
+/obj/effect/landmark/start/clown,
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/structure/cable/white{
tag = "icon-1-2";
@@ -14501,9 +14403,7 @@
})
"awk" = (
/obj/structure/chair/stool,
-/obj/effect/landmark/start{
- name = "Assistant"
- },
+/obj/effect/landmark/start/assistant,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/obj/structure/cable/white{
tag = "icon-1-2";
@@ -14562,9 +14462,7 @@
},
/area/crew_quarters/bar)
"awq" = (
-/obj/effect/landmark/start{
- name = "Bartender"
- },
+/obj/effect/landmark/start/bartender,
/obj/machinery/atmospherics/pipe/manifold/supply/hidden,
/obj/structure/cable/white{
tag = "icon-2-4";
@@ -15409,9 +15307,7 @@
/obj/structure/chair/comfy/brown{
dir = 1
},
-/obj/effect/landmark/start{
- name = "Mime"
- },
+/obj/effect/landmark/start/mime,
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/structure/cable/white{
tag = "icon-1-2";
@@ -15773,9 +15669,7 @@
},
/area/crew_quarters/sleep)
"ayw" = (
-/obj/effect/landmark/start{
- name = "Assistant"
- },
+/obj/effect/landmark/start/assistant,
/turf/open/floor/plasteel/neutral/corner{
dir = 1
},
@@ -16509,9 +16403,7 @@
name = "Central Starboard Maintenance"
})
"azP" = (
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
},
@@ -16783,9 +16675,7 @@
/obj/machinery/atmospherics/pipe/simple/cyan/visible{
dir = 4
},
-/obj/effect/landmark/start{
- name = "Atmospheric Technician"
- },
+/obj/effect/landmark/start/atmospheric_technician,
/obj/structure/cable/white{
tag = "icon-1-4";
icon_state = "1-4"
@@ -16909,9 +16799,7 @@
/obj/structure/chair/office/dark{
dir = 4
},
-/obj/effect/landmark/start{
- name = "Atmospheric Technician"
- },
+/obj/effect/landmark/start/atmospheric_technician,
/turf/open/floor/plasteel/neutral,
/area/atmos)
"aAB" = (
@@ -17076,9 +16964,7 @@
},
/obj/structure/table/wood,
/obj/item/weapon/kitchen/fork,
-/obj/effect/landmark{
- name = "lightsout"
- },
+/obj/effect/landmark/lightsout,
/obj/structure/cable/white{
tag = "icon-4-8";
icon_state = "4-8"
@@ -17547,9 +17433,7 @@
/area/atmos)
"aBH" = (
/obj/structure/chair/office/dark,
-/obj/effect/landmark/start{
- name = "Atmospheric Technician"
- },
+/obj/effect/landmark/start/atmospheric_technician,
/obj/structure/cable/white{
tag = "icon-1-2";
icon_state = "1-2"
@@ -17610,9 +17494,7 @@
name = "Primary Hallway"
})
"aBL" = (
-/obj/effect/landmark{
- name = "lightsout"
- },
+/obj/effect/landmark/lightsout,
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
},
@@ -18312,9 +18194,7 @@
},
/area/crew_quarters/theatre)
"aCQ" = (
-/obj/effect/landmark/start{
- name = "Clown"
- },
+/obj/effect/landmark/start/clown,
/obj/machinery/atmospherics/components/unary/vent_scrubber{
dir = 4;
on = 1;
@@ -18709,9 +18589,7 @@
},
/area/crew_quarters/sleep)
"aDE" = (
-/obj/effect/landmark/start{
- name = "Assistant"
- },
+/obj/effect/landmark/start/assistant,
/obj/machinery/atmospherics/components/unary/vent_pump{
dir = 1;
on = 1
@@ -18769,9 +18647,7 @@
},
/area/crew_quarters/theatre)
"aDK" = (
-/obj/effect/landmark/start{
- name = "Mime"
- },
+/obj/effect/landmark/start/mime,
/turf/open/floor/plasteel/grimy,
/area/crew_quarters/theatre)
"aDL" = (
@@ -18896,9 +18772,7 @@
/turf/open/floor/plasteel/red,
/area/crew_quarters/kitchen)
"aDU" = (
-/obj/effect/landmark/start{
- name = "Chef"
- },
+/obj/effect/landmark/start/cook,
/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
tag = "icon-manifold (NORTH)";
icon_state = "manifold";
@@ -19257,9 +19131,7 @@
on = 1;
scrub_Toxins = 0
},
-/obj/effect/landmark{
- name = "lightsout"
- },
+/obj/effect/landmark/lightsout,
/obj/effect/turf_decal/delivery,
/turf/open/floor/plasteel,
/area/engine/engineering)
@@ -19564,9 +19436,7 @@
/turf/open/floor/plasteel,
/area/crew_quarters/kitchen)
"aEZ" = (
-/obj/effect/landmark/start{
- name = "Chef"
- },
+/obj/effect/landmark/start/cook,
/turf/open/floor/plasteel/red,
/area/crew_quarters/kitchen)
"aFa" = (
@@ -19671,9 +19541,7 @@
tag = "icon-2-8";
icon_state = "2-8"
},
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/turf/open/floor/plating,
/area/maintenance/starboard{
name = "Central Starboard Maintenance"
@@ -20173,9 +20041,7 @@
/turf/open/floor/plasteel/red,
/area/crew_quarters/kitchen)
"aFV" = (
-/obj/effect/landmark/start{
- name = "Chef"
- },
+/obj/effect/landmark/start/cook,
/turf/open/floor/plasteel/white,
/area/crew_quarters/kitchen)
"aFW" = (
@@ -20199,9 +20065,7 @@
})
"aFY" = (
/obj/machinery/holopad,
-/obj/effect/landmark{
- name = "lightsout"
- },
+/obj/effect/landmark/lightsout,
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/structure/cable/white{
tag = "icon-1-2";
@@ -20736,9 +20600,7 @@
})
"aGP" = (
/obj/structure/chair/stool,
-/obj/effect/landmark/start{
- name = "Assistant"
- },
+/obj/effect/landmark/start/assistant,
/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
tag = "icon-manifold (EAST)";
icon_state = "manifold";
@@ -21002,6 +20864,12 @@
/obj/effect/turf_decal/stripes/line{
dir = 1
},
+/obj/machinery/camera{
+ c_tag = "Engineering Fore";
+ dir = 2;
+ network = list("SS13","Engine");
+ pixel_x = 23
+ },
/turf/open/floor/plasteel,
/area/engine/engineering)
"aHo" = (
@@ -21404,9 +21272,7 @@
name = "Central Port Maintenance"
})
"aHK" = (
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
},
@@ -21794,9 +21660,7 @@
pixel_x = 0;
tag = ""
},
-/obj/effect/landmark/start{
- name = "Station Engineer"
- },
+/obj/effect/landmark/start/station_engineer,
/obj/effect/turf_decal/stripes/line,
/turf/open/floor/plasteel,
/area/engine/engineering)
@@ -21875,20 +21739,18 @@
/obj/structure/chair/office/dark{
dir = 1
},
-/obj/effect/landmark/start{
- name = "Station Engineer"
- },
+/obj/effect/landmark/start/station_engineer,
/obj/structure/cable/white{
tag = "icon-1-2";
icon_state = "1-2"
},
/obj/effect/turf_decal/bot,
+/obj/structure/cable/white{
+ icon_state = "2-4"
+ },
/turf/open/floor/plasteel,
/area/engine/engineering)
"aIx" = (
-/obj/machinery/computer/monitor{
- name = "Engineering Power Monitoring Console"
- },
/obj/machinery/light_switch{
pixel_x = 38;
pixel_y = 24
@@ -21901,6 +21763,7 @@
req_access_txt = "10"
},
/obj/effect/turf_decal/bot,
+/obj/machinery/modular_computer/console/preset/engineering,
/turf/open/floor/plasteel,
/area/engine/engineering)
"aIy" = (
@@ -22450,11 +22313,11 @@
"aJt" = (
/obj/structure/sign/radiation,
/turf/closed/wall/r_wall,
-/area/engine/engineering)
+/area/engine/supermatter)
"aJu" = (
/obj/machinery/atmospherics/pipe/simple/general/visible,
/turf/closed/wall/r_wall,
-/area/engine/engineering)
+/area/engine/supermatter)
"aJv" = (
/obj/machinery/door/airlock/glass_atmos{
name = "Supermatter Chamber";
@@ -22462,7 +22325,7 @@
},
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/engine,
-/area/engine/engineering)
+/area/engine/supermatter)
"aJw" = (
/obj/machinery/atmospherics/components/binary/pump{
dir = 1;
@@ -22598,9 +22461,7 @@
/obj/structure/chair/office/dark{
dir = 4
},
-/obj/effect/landmark/start{
- name = "Station Engineer"
- },
+/obj/effect/landmark/start/station_engineer,
/turf/open/floor/plasteel/yellow,
/area/engine/engineering)
"aJH" = (
@@ -22734,9 +22595,7 @@
},
/area/hydroponics)
"aJQ" = (
-/obj/effect/landmark/start{
- name = "Botanist"
- },
+/obj/effect/landmark/start/botanist,
/turf/open/floor/plasteel/greenblue/side{
tag = "icon-greenblue (NORTH)";
icon_state = "greenblue";
@@ -22779,9 +22638,7 @@
/obj/structure/chair/office/dark{
dir = 4
},
-/obj/effect/landmark/start{
- name = "Botanist"
- },
+/obj/effect/landmark/start/botanist,
/turf/open/floor/plasteel/greenblue,
/area/hydroponics)
"aJV" = (
@@ -23170,12 +23027,12 @@
},
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/engine,
-/area/engine/engineering)
+/area/engine/supermatter)
"aKB" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/engine,
-/area/engine/engineering)
+/area/engine/supermatter)
"aKC" = (
/obj/machinery/atmospherics/components/binary/pump{
dir = 2;
@@ -23184,11 +23041,11 @@
},
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/engine,
-/area/engine/engineering)
+/area/engine/supermatter)
"aKD" = (
/obj/structure/sign/fire,
/turf/closed/wall/r_wall,
-/area/engine/engineering)
+/area/engine/supermatter)
"aKE" = (
/obj/machinery/atmospherics/components/unary/portables_connector/visible{
dir = 1
@@ -23373,9 +23230,7 @@
/turf/open/floor/plasteel,
/area/janitor)
"aKQ" = (
-/obj/effect/landmark/start{
- name = "Janitor"
- },
+/obj/effect/landmark/start/janitor,
/obj/structure/cable/white{
tag = "icon-1-2";
icon_state = "1-2"
@@ -23875,45 +23730,45 @@
"aLO" = (
/obj/machinery/ai_status_display,
/turf/closed/wall/r_wall,
-/area/engine/engineering)
+/area/engine/supermatter)
"aLP" = (
/obj/machinery/atmospherics/pipe/simple/general/visible{
icon_state = "intact";
dir = 6
},
/turf/closed/wall/r_wall,
-/area/engine/engineering)
+/area/engine/supermatter)
"aLQ" = (
/obj/machinery/meter,
/obj/machinery/atmospherics/pipe/simple/general/visible{
dir = 9
},
/turf/closed/wall/r_wall,
-/area/engine/engineering)
+/area/engine/supermatter)
"aLR" = (
/obj/machinery/door/airlock/glass_atmos{
name = "Supermatter Chamber";
req_access_txt = "24"
},
/turf/open/floor/engine,
-/area/engine/engineering)
+/area/engine/supermatter)
"aLS" = (
/obj/machinery/meter,
/obj/machinery/atmospherics/pipe/simple/general/visible{
dir = 5
},
/turf/closed/wall/r_wall,
-/area/engine/engineering)
+/area/engine/supermatter)
"aLT" = (
/obj/machinery/atmospherics/pipe/simple/general/visible{
dir = 10
},
/turf/closed/wall/r_wall,
-/area/engine/engineering)
+/area/engine/supermatter)
"aLU" = (
/obj/machinery/status_display,
/turf/closed/wall/r_wall,
-/area/engine/engineering)
+/area/engine/supermatter)
"aLV" = (
/obj/machinery/atmospherics/pipe/simple/general/visible,
/obj/structure/cable{
@@ -24017,9 +23872,7 @@
},
/area/janitor)
"aMg" = (
-/obj/effect/landmark/start{
- name = "Janitor"
- },
+/obj/effect/landmark/start/janitor,
/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
tag = "icon-manifold (WEST)";
icon_state = "manifold";
@@ -24098,9 +23951,7 @@
/turf/open/floor/plasteel/greenblue/side,
/area/hydroponics)
"aMn" = (
-/obj/effect/landmark/start{
- name = "Botanist"
- },
+/obj/effect/landmark/start/botanist,
/obj/machinery/atmospherics/components/unary/vent_pump{
dir = 4;
layer = 2.4;
@@ -24267,9 +24118,7 @@
dir = 1;
on = 1
},
-/obj/effect/landmark{
- name = "lightsout"
- },
+/obj/effect/landmark/lightsout,
/turf/open/floor/plasteel/neutral,
/area/hallway/secondary/exit{
name = "\improper Departure Lounge"
@@ -24398,9 +24247,9 @@
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/machinery/camera{
- c_tag = "Engineering West";
+ c_tag = "Engineering Port";
dir = 4;
- network = list("SS13")
+ network = list("SS13","Engine")
},
/obj/effect/turf_decal/stripes/line{
dir = 8
@@ -24442,7 +24291,7 @@
dir = 4
},
/turf/open/floor/plating,
-/area/engine/engineering)
+/area/engine/supermatter)
"aMR" = (
/obj/machinery/power/rad_collector{
anchored = 1
@@ -24452,7 +24301,7 @@
icon_state = "0-8"
},
/turf/open/floor/circuit/green,
-/area/engine/engineering)
+/area/engine/supermatter)
"aMS" = (
/obj/structure/grille,
/obj/structure/window/reinforced/fulltile,
@@ -24460,7 +24309,7 @@
dir = 8
},
/turf/open/floor/plating,
-/area/engine/engineering)
+/area/engine/supermatter)
"aMT" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber{
dir = 8;
@@ -24468,17 +24317,17 @@
scrub_Toxins = 0
},
/turf/open/floor/engine,
-/area/engine/engineering)
+/area/engine/supermatter)
"aMU" = (
/turf/open/floor/engine,
-/area/engine/engineering)
+/area/engine/supermatter)
"aMV" = (
/obj/machinery/atmospherics/components/unary/vent_pump{
dir = 4;
on = 1
},
/turf/open/floor/engine,
-/area/engine/engineering)
+/area/engine/supermatter)
"aMW" = (
/obj/structure/grille,
/obj/structure/window/reinforced/fulltile,
@@ -24487,7 +24336,7 @@
dir = 4
},
/turf/open/floor/plating,
-/area/engine/engineering)
+/area/engine/supermatter)
"aMX" = (
/obj/machinery/power/rad_collector{
anchored = 1
@@ -24497,7 +24346,7 @@
d2 = 4
},
/turf/open/floor/circuit/green,
-/area/engine/engineering)
+/area/engine/supermatter)
"aMY" = (
/obj/structure/cable{
d1 = 4;
@@ -24514,7 +24363,7 @@
dir = 8
},
/turf/open/floor/plating,
-/area/engine/engineering)
+/area/engine/supermatter)
"aMZ" = (
/obj/machinery/atmospherics/pipe/simple/general/visible,
/obj/structure/cable{
@@ -24588,6 +24437,13 @@
pixel_y = -2
},
/obj/effect/turf_decal/delivery,
+/obj/machinery/computer/security/telescreen{
+ desc = "Used for watching the Engine.";
+ dir = 1;
+ name = "Engine Monitor";
+ network = list("Engine");
+ pixel_y = -32
+ },
/turf/open/floor/plasteel,
/area/engine/engineering)
"aNe" = (
@@ -24852,9 +24708,7 @@
name = "Central Starboard Maintenance"
})
"aNB" = (
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
},
@@ -25176,7 +25030,7 @@
name = "supermatter crystal"
},
/turf/open/floor/engine,
-/area/engine/engineering)
+/area/engine/supermatter)
"aOb" = (
/obj/structure/cable{
d1 = 4;
@@ -25194,7 +25048,7 @@
dir = 8
},
/turf/open/floor/plating,
-/area/engine/engineering)
+/area/engine/supermatter)
"aOc" = (
/obj/machinery/atmospherics/pipe/simple/general/visible,
/obj/structure/cable{
@@ -25487,7 +25341,7 @@
dir = 4
},
/turf/open/floor/plating,
-/area/engine/engineering)
+/area/engine/supermatter)
"aOC" = (
/obj/structure/grille,
/obj/structure/window/reinforced/fulltile,
@@ -25495,7 +25349,7 @@
dir = 5
},
/turf/open/floor/plating,
-/area/engine/engineering)
+/area/engine/supermatter)
"aOD" = (
/obj/structure/grille,
/obj/structure/window/reinforced/fulltile,
@@ -25503,7 +25357,7 @@
dir = 9
},
/turf/open/floor/plating,
-/area/engine/engineering)
+/area/engine/supermatter)
"aOE" = (
/obj/structure/cable{
d1 = 4;
@@ -25519,7 +25373,7 @@
dir = 8
},
/turf/open/floor/plating,
-/area/engine/engineering)
+/area/engine/supermatter)
"aOF" = (
/obj/machinery/atmospherics/pipe/simple/general/visible,
/obj/structure/cable{
@@ -25751,9 +25605,7 @@
})
"aOU" = (
/obj/machinery/door/firedoor,
-/obj/effect/landmark{
- name = "lightsout"
- },
+/obj/effect/landmark/lightsout,
/obj/machinery/atmospherics/pipe/manifold/supply/hidden,
/obj/structure/cable/white{
tag = "icon-4-8";
@@ -26375,7 +26227,7 @@
"aPK" = (
/obj/structure/sign/electricshock,
/turf/closed/wall/r_wall,
-/area/engine/engineering)
+/area/engine/supermatter)
"aPL" = (
/obj/structure/grille,
/obj/structure/window/reinforced/fulltile,
@@ -26744,15 +26596,11 @@
},
/area/hallway/primary/central)
"aQp" = (
-/obj/effect/landmark{
- name = "lightsout"
- },
+/obj/effect/landmark/lightsout,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
},
-/obj/effect/landmark{
- name = "Observer-Start"
- },
+/obj/effect/landmark/observer_start,
/turf/open/floor/plasteel{
icon_state = "L8"
},
@@ -26887,18 +26735,13 @@
/obj/structure/chair/office/dark{
dir = 4
},
-/obj/effect/landmark{
- name = "revenantspawn"
- },
+/obj/effect/landmark/revenantspawn,
/obj/effect/decal/cleanable/blood/old,
/turf/open/floor/wood,
/area/maintenance/starboard)
"aQD" = (
/obj/effect/decal/cleanable/dirt,
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/xeno_spawn,
/obj/machinery/atmospherics/components/unary/vent_pump{
on = 1
},
@@ -27010,8 +26853,9 @@
},
/obj/effect/decal/cleanable/dirt,
/obj/machinery/camera{
- c_tag = "Engineering Center";
+ c_tag = "Engineering Aft";
dir = 2;
+ network = list("SS13","Engine");
pixel_x = 23
},
/turf/open/floor/plasteel/vault{
@@ -27526,9 +27370,7 @@
/turf/open/floor/plasteel/neutral,
/area/engine/engineering)
"aRO" = (
-/obj/effect/landmark/start{
- name = "Station Engineer"
- },
+/obj/effect/landmark/start/station_engineer,
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/pipe/simple/general/visible{
@@ -27677,9 +27519,7 @@
/area/library)
"aSe" = (
/obj/structure/bodycontainer/morgue,
-/obj/effect/landmark{
- name = "revenantspawn"
- },
+/obj/effect/landmark/revenantspawn,
/obj/effect/decal/cleanable/cobweb,
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plasteel/vault{
@@ -27767,9 +27607,7 @@
/obj/structure/chair/office/light{
dir = 1
},
-/obj/effect/landmark/start{
- name = "Chemist"
- },
+/obj/effect/landmark/start/chemist,
/obj/effect/turf_decal/bot,
/turf/open/floor/plasteel,
/area/medical/chemistry)
@@ -27865,9 +27703,7 @@
/obj/structure/chair/office/light{
dir = 1
},
-/obj/effect/landmark/start{
- name = "Scientist"
- },
+/obj/effect/landmark/start/scientist,
/turf/open/floor/plasteel/whitepurple/corner{
dir = 1
},
@@ -28228,9 +28064,7 @@
/obj/structure/chair/office/dark{
dir = 8
},
-/obj/effect/landmark/start{
- name = "Assistant"
- },
+/obj/effect/landmark/start/assistant,
/turf/open/floor/plasteel/black,
/area/library)
"aTd" = (
@@ -28281,10 +28115,7 @@
/obj/structure/chair/office/dark{
dir = 4
},
-/obj/effect/landmark/start{
- dir = 4;
- name = "Librarian"
- },
+/obj/effect/landmark/start/librarian,
/turf/open/floor/plasteel/black,
/area/library)
"aTj" = (
@@ -28399,9 +28230,7 @@
/obj/structure/chair/office/light{
dir = 4
},
-/obj/effect/landmark/start{
- name = "Chemist"
- },
+/obj/effect/landmark/start/chemist,
/obj/effect/turf_decal/stripes/line{
dir = 6
},
@@ -28461,9 +28290,7 @@
/area/hallway/primary/central)
"aTB" = (
/obj/structure/chair/comfy/brown,
-/obj/effect/landmark/start{
- name = "Assistant"
- },
+/obj/effect/landmark/start/assistant,
/turf/open/floor/plasteel/grimy,
/area/hallway/primary/central)
"aTC" = (
@@ -28504,9 +28331,7 @@
/obj/structure/chair/office/light{
dir = 8
},
-/obj/effect/landmark/start{
- name = "Scientist"
- },
+/obj/effect/landmark/start/scientist,
/turf/open/floor/plasteel/whitepurple/corner{
dir = 1
},
@@ -28649,9 +28474,7 @@
tag = "icon-4-8";
icon_state = "4-8"
},
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/obj/effect/turf_decal/bot,
/turf/open/floor/plasteel,
/area/maintenance/starboard)
@@ -28746,9 +28569,7 @@
icon_state = "1-2"
},
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/turf/open/floor/plasteel/neutral/corner,
/area/maintenance/fpmaint2{
name = "Port Maintenance"
@@ -28833,9 +28654,7 @@
/area/library)
"aUk" = (
/obj/structure/bodycontainer/morgue,
-/obj/effect/landmark{
- name = "revenantspawn"
- },
+/obj/effect/landmark/revenantspawn,
/obj/effect/decal/cleanable/dirt,
/obj/item/device/radio/intercom{
name = "Station Intercom";
@@ -29112,10 +28931,7 @@
layer = 2.4;
on = 1
},
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/xeno_spawn,
/turf/open/floor/wood{
icon_state = "wood-broken5"
},
@@ -29256,9 +29072,7 @@
/area/library)
"aVc" = (
/obj/structure/bodycontainer/morgue,
-/obj/effect/landmark{
- name = "revenantspawn"
- },
+/obj/effect/landmark/revenantspawn,
/obj/machinery/light{
dir = 8
},
@@ -29319,9 +29133,7 @@
/area/medical/medbay3)
"aVh" = (
/obj/machinery/holopad,
-/obj/effect/landmark/start{
- name = "Medical Doctor"
- },
+/obj/effect/landmark/start/medical_doctor,
/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
tag = "icon-manifold (EAST)";
icon_state = "manifold";
@@ -29350,9 +29162,7 @@
/turf/open/floor/plasteel,
/area/medical/chemistry)
"aVk" = (
-/obj/effect/landmark/start{
- name = "Chemist"
- },
+/obj/effect/landmark/start/chemist,
/turf/open/floor/plasteel/whiteyellow/corner{
tag = "icon-whiteyellowcorner (WEST)";
icon_state = "whiteyellowcorner";
@@ -29448,9 +29258,7 @@
/turf/open/floor/plasteel,
/area/toxins/lab)
"aVu" = (
-/obj/effect/landmark/start{
- name = "Scientist"
- },
+/obj/effect/landmark/start/scientist,
/obj/machinery/atmospherics/components/unary/vent_pump{
on = 1
},
@@ -30058,10 +29866,7 @@
},
/area/library)
"aWB" = (
-/obj/effect/landmark/start{
- dir = 4;
- name = "Librarian"
- },
+/obj/effect/landmark/start/librarian,
/obj/structure/chair/office/dark{
dir = 4
},
@@ -30106,9 +29911,7 @@
/area/library)
"aWH" = (
/obj/structure/bodycontainer/morgue,
-/obj/effect/landmark{
- name = "revenantspawn"
- },
+/obj/effect/landmark/revenantspawn,
/obj/effect/decal/cleanable/dirt,
/obj/machinery/power/apc{
dir = 2;
@@ -30208,9 +30011,7 @@
buildstackamount = 0;
dir = 1
},
-/obj/effect/landmark/start{
- name = "Assistant"
- },
+/obj/effect/landmark/start/assistant,
/obj/machinery/airalarm{
dir = 1;
icon_state = "alarm0";
@@ -30636,9 +30437,7 @@
tag = "icon-1-4";
icon_state = "1-4"
},
-/obj/effect/landmark{
- name = "lightsout"
- },
+/obj/effect/landmark/lightsout,
/turf/open/floor/plasteel/whitepurple/corner{
dir = 1
},
@@ -31206,10 +31005,7 @@
/turf/open/floor/plasteel/grimy,
/area/library)
"aYx" = (
-/obj/effect/landmark/start{
- dir = 4;
- name = "Librarian"
- },
+/obj/effect/landmark/start/librarian,
/obj/machinery/atmospherics/components/unary/vent_scrubber{
dir = 1;
on = 1;
@@ -31355,9 +31151,7 @@
/turf/open/floor/plasteel,
/area/medical/medbay3)
"aYH" = (
-/obj/effect/landmark/start{
- name = "Medical Doctor"
- },
+/obj/effect/landmark/start/medical_doctor,
/turf/open/floor/plasteel/cmo,
/area/medical/medbay3)
"aYI" = (
@@ -31891,9 +31685,7 @@
tag = "icon-2-4";
icon_state = "2-4"
},
-/obj/effect/landmark{
- name = "lightsout"
- },
+/obj/effect/landmark/lightsout,
/turf/open/floor/plasteel/blue,
/area/medical/medbay3)
"aZK" = (
@@ -31909,9 +31701,7 @@
/turf/open/floor/plasteel,
/area/medical/medbay3)
"aZL" = (
-/obj/effect/landmark/start{
- name = "Medical Doctor"
- },
+/obj/effect/landmark/start/medical_doctor,
/obj/structure/cable/white{
tag = "icon-4-8";
icon_state = "4-8"
@@ -32024,9 +31814,7 @@
"aZU" = (
/obj/machinery/recharge_station,
/obj/effect/decal/cleanable/dirt,
-/obj/effect/landmark/start{
- name = "Cyborg"
- },
+/obj/effect/landmark/start/cyborg,
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
/obj/machinery/airalarm{
@@ -32052,9 +31840,7 @@
"aZV" = (
/obj/machinery/recharge_station,
/obj/effect/decal/cleanable/dirt,
-/obj/effect/landmark/start{
- name = "Cyborg"
- },
+/obj/effect/landmark/start/cyborg,
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/effect/turf_decal/bot,
/turf/open/floor/plasteel,
@@ -32238,10 +32024,7 @@
name = "Port Maintenance"
})
"bal" = (
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/xeno_spawn,
/obj/machinery/atmospherics/components/unary/vent_pump{
dir = 4;
layer = 2.4;
@@ -32714,9 +32497,7 @@
/area/assembly/robotics)
"baZ" = (
/obj/effect/decal/cleanable/dirt,
-/obj/effect/landmark/start{
- name = "Roboticist"
- },
+/obj/effect/landmark/start/roboticist,
/obj/effect/turf_decal/stripes/line{
dir = 5
},
@@ -32804,9 +32585,7 @@
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
},
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/turf/open/floor/plating,
/area/maintenance/fpmaint2{
name = "Port Maintenance"
@@ -32870,9 +32649,7 @@
})
"bbm" = (
/obj/effect/decal/cleanable/dirt,
-/obj/effect/landmark{
- name = "revenantspawn"
- },
+/obj/effect/landmark/revenantspawn,
/turf/open/floor/plasteel/bar,
/area/maintenance/fpmaint2{
name = "Port Maintenance"
@@ -33173,9 +32950,7 @@
/turf/open/floor/plasteel,
/area/assembly/robotics)
"bbL" = (
-/obj/effect/landmark/start{
- name = "Roboticist"
- },
+/obj/effect/landmark/start/roboticist,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
},
@@ -33213,9 +32988,7 @@
tag = "icon-1-2";
icon_state = "1-2"
},
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/maintenance/starboard)
@@ -33733,9 +33506,7 @@
icon_state = "2-4"
},
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/obj/effect/turf_decal/bot,
/turf/open/floor/plasteel,
/area/maintenance/fpmaint2{
@@ -33781,9 +33552,7 @@
},
/area/medical/medbay3)
"bcV" = (
-/obj/effect/landmark/start{
- name = "Medical Doctor"
- },
+/obj/effect/landmark/start/medical_doctor,
/turf/open/floor/plasteel/neutral,
/area/medical/medbay3)
"bcW" = (
@@ -33842,9 +33611,7 @@
/obj/structure/chair/office/light{
dir = 1
},
-/obj/effect/landmark/start{
- name = "Medical Doctor"
- },
+/obj/effect/landmark/start/medical_doctor,
/obj/machinery/atmospherics/components/unary/vent_pump{
dir = 1;
on = 1
@@ -34110,9 +33877,7 @@
},
/area/assembly/robotics)
"bdx" = (
-/obj/effect/landmark/start{
- name = "Roboticist"
- },
+/obj/effect/landmark/start/roboticist,
/turf/open/floor/plasteel/whitepurple/corner{
dir = 4
},
@@ -34158,10 +33923,7 @@
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/blood/old,
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/xeno_spawn,
/obj/machinery/atmospherics/components/unary/vent_pump{
dir = 8;
layer = 2.4;
@@ -34190,9 +33952,7 @@
})
"bdE" = (
/obj/structure/chair/stool/bar,
-/obj/effect/landmark{
- name = "revenantspawn"
- },
+/obj/effect/landmark/revenantspawn,
/turf/open/floor/wood{
icon_state = "wood-broken"
},
@@ -34210,9 +33970,7 @@
})
"bdG" = (
/obj/structure/chair/stool/bar,
-/obj/effect/landmark{
- name = "revenantspawn"
- },
+/obj/effect/landmark/revenantspawn,
/turf/open/floor/wood{
tag = "icon-wood-broken2";
icon_state = "wood-broken2"
@@ -34270,9 +34028,7 @@
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
},
-/obj/effect/landmark{
- name = "revenantspawn"
- },
+/obj/effect/landmark/revenantspawn,
/turf/open/floor/plasteel/vault{
dir = 5
},
@@ -34291,10 +34047,7 @@
name = "Port Maintenance"
})
"bdM" = (
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/xeno_spawn,
/obj/machinery/atmospherics/components/unary/vent_pump{
dir = 8;
on = 1
@@ -35284,9 +35037,7 @@
tag = "icon-4-8";
icon_state = "4-8"
},
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/turf/open/floor/plating,
/area/maintenance/starboard)
"bfl" = (
@@ -35541,9 +35292,7 @@
icon_state = "1-2"
},
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/turf/open/floor/plasteel/neutral,
/area/maintenance/fpmaint2{
name = "Port Maintenance"
@@ -35831,9 +35580,7 @@
pixel_x = 0;
pixel_y = 25
},
-/obj/effect/landmark/start{
- name = "Assistant"
- },
+/obj/effect/landmark/start/assistant,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/obj/structure/cable/white{
tag = "icon-0-2";
@@ -35941,9 +35688,7 @@
},
/area/hallway/primary/central)
"bgh" = (
-/obj/effect/landmark{
- name = "lightsout"
- },
+/obj/effect/landmark/lightsout,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
},
@@ -36513,9 +36258,7 @@
/turf/open/floor/circuit/green,
/area/toxins/xenobiology)
"bhh" = (
-/obj/effect/landmark{
- name = "revenantspawn"
- },
+/obj/effect/landmark/revenantspawn,
/turf/open/floor/circuit/green,
/area/toxins/xenobiology)
"bhi" = (
@@ -36549,10 +36292,7 @@
/area/maintenance/starboard)
"bhm" = (
/obj/effect/decal/cleanable/dirt,
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/xeno_spawn,
/obj/machinery/atmospherics/components/unary/vent_pump{
dir = 1;
on = 1
@@ -37352,9 +37092,7 @@
/obj/machinery/newscaster{
pixel_x = -32
},
-/obj/effect/landmark/start{
- name = "Chaplain"
- },
+/obj/effect/landmark/start/chaplain,
/obj/machinery/atmospherics/components/unary/vent_pump{
dir = 4;
layer = 2.4;
@@ -37807,9 +37545,7 @@
},
/area/toxins/xenobiology)
"bjt" = (
-/obj/effect/landmark/start{
- name = "Scientist"
- },
+/obj/effect/landmark/start/scientist,
/turf/open/floor/plasteel/whitepurple/side{
dir = 5;
initial_gas_mix = "o2=22;n2=82;TEMP=293.15";
@@ -37871,9 +37607,7 @@
/obj/structure/chair/office/dark{
dir = 1
},
-/obj/effect/landmark/start{
- name = "Chaplain"
- },
+/obj/effect/landmark/start/chaplain,
/turf/open/floor/plasteel/grimy,
/area/chapel/main)
"bjA" = (
@@ -37917,9 +37651,7 @@
/area/toxins/xenobiology)
"bjE" = (
/obj/structure/chair/office/light,
-/obj/effect/landmark/start{
- name = "Scientist"
- },
+/obj/effect/landmark/start/scientist,
/obj/structure/cable/white{
tag = "icon-1-2";
icon_state = "1-2"
@@ -38507,9 +38239,7 @@
/obj/structure/chair{
dir = 4
},
-/obj/effect/landmark/start{
- name = "Assistant"
- },
+/obj/effect/landmark/start/assistant,
/obj/effect/turf_decal/delivery,
/turf/open/floor/plasteel,
/area/hallway/secondary/entry{
@@ -38594,9 +38324,7 @@
},
/area/shuttle/arrival)
"bkL" = (
-/obj/effect/landmark{
- name = "Observer-Start"
- },
+/obj/effect/landmark/observer_start,
/turf/open/floor/plasteel/neutral,
/area/shuttle/arrival)
"bkM" = (
@@ -38866,9 +38594,9 @@
},
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/obj/machinery/camera{
- c_tag = "Engineering East";
+ c_tag = "Engineering Starboard";
dir = 8;
- network = list("SS13");
+ network = list("SS13","Engine");
pixel_x = 0;
pixel_y = 0
},
@@ -40822,9 +40550,7 @@
/obj/structure/chair{
dir = 4
},
-/obj/effect/landmark/start{
- name = "Assistant"
- },
+/obj/effect/landmark/start/assistant,
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
},
@@ -41953,6 +41679,58 @@
temperature = 80
},
/area/tcommsat/server)
+"buV" = (
+/obj/machinery/power/rad_collector{
+ anchored = 1
+ },
+/obj/structure/cable{
+ d2 = 8;
+ icon_state = "0-8"
+ },
+/obj/machinery/camera{
+ c_tag = "Engineering Supermatter Chamber";
+ dir = 2;
+ network = list("SS13","Engine");
+ pixel_x = 23
+ },
+/turf/open/floor/circuit/green,
+/area/engine/supermatter)
+"buW" = (
+/obj/structure/cable/white{
+ tag = "icon-0-2";
+ icon_state = "0-2"
+ },
+/obj/machinery/modular_computer/console/preset/research,
+/turf/open/floor/plasteel/vault{
+ dir = 5
+ },
+/area/bridge)
+"buX" = (
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"buY" = (
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"buZ" = (
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"bva" = (
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"bvb" = (
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"bvc" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/turf/open/floor/plating,
+/area/engine/supermatter)
+"bvd" = (
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"bve" = (
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
(1,1,1) = {"
aaa
@@ -70603,7 +70381,7 @@ aLH
aMK
aNU
aOw
-buD
+buC
aPG
aRB
aPG
@@ -71117,15 +70895,15 @@ aLJ
aMM
aNW
aOx
-buE
+buC
aPG
aRB
aPG
buG
buI
-buM
+buK
aRB
-buT
+buR
aMJ
aad
aad
@@ -71374,7 +71152,7 @@ aLK
aMJ
aNX
aOy
-buF
+buC
aPG
aRE
aSN
@@ -72655,11 +72433,11 @@ aHl
aIi
aJs
aKz
-aEt
+buY
+buV
aMR
aMR
-aMR
-aEt
+bva
aQL
aRI
aSS
@@ -72911,12 +72689,12 @@ aGj
aHm
aIj
aJt
-aEt
+buX
aLP
aMS
aMS
aOC
-aEt
+bvb
aQM
aRJ
aST
@@ -73430,7 +73208,7 @@ aLR
aMU
aOa
aMU
-aPL
+bvc
aQO
aRL
aSV
@@ -73944,7 +73722,7 @@ aLT
aMW
aMW
aOD
-aEt
+bvd
aQQ
aRN
aSX
@@ -74197,11 +73975,11 @@ aHr
aIo
aJw
aKE
-aEt
+buZ
aMX
aMX
aMX
-aEt
+bve
aQR
aRO
aSY
@@ -84180,7 +83958,7 @@ aav
aaH
aaQ
abb
-abn
+buW
abF
ack
adc
diff --git a/_maps/map_files/OmegaStation/job_changes.dm b/_maps/map_files/OmegaStation/job_changes.dm
index 1aa52e6eac..dc6a461432 100644
--- a/_maps/map_files/OmegaStation/job_changes.dm
+++ b/_maps/map_files/OmegaStation/job_changes.dm
@@ -38,8 +38,8 @@
MAP_JOB_CHECK
total_positions = 3
spawn_positions = 3
- access = list(access_security, access_sec_doors, access_brig, access_armory, access_court, access_maint_tunnels, access_morgue, access_weapons, access_forensics_lockers)
- minimal_access = list(access_security, access_sec_doors, access_brig, access_armory, access_court, access_maint_tunnels, access_morgue, access_weapons, access_forensics_lockers)
+ access = list(GLOB.access_security, GLOB.access_sec_doors, GLOB.access_brig, GLOB.access_armory, GLOB.access_court, GLOB.access_maint_tunnels, GLOB.access_morgue, GLOB.access_weapons, GLOB.access_forensics_lockers)
+ minimal_access = list(GLOB.access_security, GLOB.access_sec_doors, GLOB.access_brig, GLOB.access_armory, GLOB.access_court, GLOB.access_maint_tunnels, GLOB.access_morgue, GLOB.access_weapons, GLOB.access_forensics_lockers)
/datum/outfit/job/officer/New()
..()
@@ -49,8 +49,8 @@
/datum/job/detective/New()
..()
MAP_JOB_CHECK
- access = list(access_security, access_sec_doors, access_brig, access_armory, access_court, access_maint_tunnels, access_morgue, access_weapons, access_forensics_lockers)
- minimal_access = list(access_security, access_sec_doors, access_brig, access_armory, access_court, access_maint_tunnels, access_morgue, access_weapons, access_forensics_lockers)
+ access = list(GLOB.access_security, GLOB.access_sec_doors, GLOB.access_brig, GLOB.access_armory, GLOB.access_court, GLOB.access_maint_tunnels, GLOB.access_morgue, GLOB.access_weapons, GLOB.access_forensics_lockers)
+ minimal_access = list(GLOB.access_security, GLOB.access_sec_doors, GLOB.access_brig, GLOB.access_armory, GLOB.access_court, GLOB.access_maint_tunnels, GLOB.access_morgue, GLOB.access_weapons, GLOB.access_forensics_lockers)
/datum/outfit/job/detective/New()
..()
@@ -65,8 +65,8 @@
selection_color = "#ffffff"
total_positions = 3
spawn_positions = 3
- access = list(access_medical, access_morgue, access_surgery, access_chemistry, access_virology, access_genetics)
- minimal_access = list(access_medical, access_morgue, access_surgery, access_chemistry, access_virology, access_genetics)
+ access = list(GLOB.access_medical, GLOB.access_morgue, GLOB.access_surgery, GLOB.access_chemistry, GLOB.access_virology, GLOB.access_genetics)
+ minimal_access = list(GLOB.access_medical, GLOB.access_morgue, GLOB.access_surgery, GLOB.access_chemistry, GLOB.access_virology, GLOB.access_genetics)
//Engineering
@@ -75,8 +75,8 @@
MAP_JOB_CHECK
total_positions = 2
spawn_positions = 2
- access = list(access_eva, access_engine, access_engine_equip, access_tech_storage, access_maint_tunnels, access_external_airlocks, access_construction, access_atmospherics, access_tcomsat)
- minimal_access = list(access_eva, access_engine, access_engine_equip, access_tech_storage, access_maint_tunnels, access_external_airlocks, access_construction, access_atmospherics, access_tcomsat)
+ access = list(GLOB.access_eva, GLOB.access_engine, GLOB.access_engine_equip, GLOB.access_tech_storage, GLOB.access_maint_tunnels, GLOB.access_external_airlocks, GLOB.access_construction, GLOB.access_atmospherics, GLOB.access_tcomsat)
+ minimal_access = list(GLOB.access_eva, GLOB.access_engine, GLOB.access_engine_equip, GLOB.access_tech_storage, GLOB.access_maint_tunnels, GLOB.access_external_airlocks, GLOB.access_construction, GLOB.access_atmospherics, GLOB.access_tcomsat)
/datum/outfit/job/engineer/New()
..()
@@ -96,8 +96,8 @@
MAP_JOB_CHECK
total_positions = 3
spawn_positions = 3
- access = list(access_robotics, access_tox, access_tox_storage, access_research, access_xenobiology, access_mineral_storeroom, access_tech_storage)
- minimal_access = list(access_robotics, access_tox, access_tox_storage, access_research, access_xenobiology, access_mineral_storeroom, access_tech_storage)
+ access = list(GLOB.access_robotics, GLOB.access_tox, GLOB.access_tox_storage, GLOB.access_research, GLOB.access_xenobiology, GLOB.access_mineral_storeroom, GLOB.access_tech_storage)
+ minimal_access = list(GLOB.access_robotics, GLOB.access_tox, GLOB.access_tox_storage, GLOB.access_research, GLOB.access_xenobiology, GLOB.access_mineral_storeroom, GLOB.access_tech_storage)
//Cargo
@@ -106,16 +106,16 @@
MAP_JOB_CHECK
total_positions = 2
spawn_positions = 2
- access = list(access_maint_tunnels, access_mailsorting, access_cargo, access_cargo_bot, access_qm, access_mining, access_mining_station, access_mineral_storeroom)
- minimal_access = list(access_maint_tunnels, access_mailsorting, access_cargo, access_cargo_bot, access_qm, access_mining, access_mining_station, access_mineral_storeroom)
+ access = list(GLOB.access_maint_tunnels, GLOB.access_mailsorting, GLOB.access_cargo, GLOB.access_cargo_bot, GLOB.access_qm, GLOB.access_mining, GLOB.access_mining_station, GLOB.access_mineral_storeroom)
+ minimal_access = list(GLOB.access_maint_tunnels, GLOB.access_mailsorting, GLOB.access_cargo, GLOB.access_cargo_bot, GLOB.access_qm, GLOB.access_mining, GLOB.access_mining_station, GLOB.access_mineral_storeroom)
/datum/job/mining/New()
..()
MAP_JOB_CHECK
total_positions = 2
spawn_positions = 2
- access = list(access_maint_tunnels, access_mailsorting, access_cargo, access_cargo_bot, access_qm, access_mining, access_mining_station, access_mineral_storeroom)
- minimal_access = list(access_maint_tunnels, access_mailsorting, access_cargo, access_cargo_bot, access_qm, access_mining, access_mining_station, access_mineral_storeroom)
+ access = list(GLOB.access_maint_tunnels, GLOB.access_mailsorting, GLOB.access_cargo, GLOB.access_cargo_bot, GLOB.access_qm, GLOB.access_mining, GLOB.access_mining_station, GLOB.access_mineral_storeroom)
+ minimal_access = list(GLOB.access_maint_tunnels, GLOB.access_mailsorting, GLOB.access_cargo, GLOB.access_cargo_bot, GLOB.access_qm, GLOB.access_mining, GLOB.access_mining_station, GLOB.access_mineral_storeroom)
/datum/outfit/job/mining/New()
..()
@@ -126,27 +126,27 @@
/datum/job/bartender/New()
..()
MAP_JOB_CHECK
- access = list(access_hydroponics, access_bar, access_kitchen, access_morgue, access_weapons)
- minimal_access = list(access_hydroponics, access_bar, access_kitchen, access_morgue, access_weapons)
+ access = list(GLOB.access_hydroponics, GLOB.access_bar, GLOB.access_kitchen, GLOB.access_morgue, GLOB.access_weapons)
+ minimal_access = list(GLOB.access_hydroponics, GLOB.access_bar, GLOB.access_kitchen, GLOB.access_morgue, GLOB.access_weapons)
/datum/job/cook/New()
..()
MAP_JOB_CHECK
- access = list(access_hydroponics, access_bar, access_kitchen, access_morgue, access_weapons)
- minimal_access = list(access_hydroponics, access_bar, access_kitchen, access_morgue, access_weapons)
+ access = list(GLOB.access_hydroponics, GLOB.access_bar, GLOB.access_kitchen, GLOB.access_morgue, GLOB.access_weapons)
+ minimal_access = list(GLOB.access_hydroponics, GLOB.access_bar, GLOB.access_kitchen, GLOB.access_morgue, GLOB.access_weapons)
/datum/job/hydro/New()
..()
MAP_JOB_CHECK
- access = list(access_hydroponics, access_bar, access_kitchen, access_morgue, access_maint_tunnels)
- minimal_access = list(access_hydroponics, access_bar, access_kitchen, access_morgue, access_maint_tunnels)
+ access = list(GLOB.access_hydroponics, GLOB.access_bar, GLOB.access_kitchen, GLOB.access_morgue, GLOB.access_maint_tunnels)
+ minimal_access = list(GLOB.access_hydroponics, GLOB.access_bar, GLOB.access_kitchen, GLOB.access_morgue, GLOB.access_maint_tunnels)
// they get maint access because of all the hydro content in maint
/datum/job/janitor/New()
..()
MAP_JOB_CHECK
- access = list(access_janitor, access_hydroponics, access_bar, access_kitchen, access_morgue, access_maint_tunnels)
- minimal_access = list(access_janitor, access_hydroponics, access_bar, access_kitchen, access_morgue, access_maint_tunnels)
+ access = list(GLOB.access_janitor, GLOB.access_hydroponics, GLOB.access_bar, GLOB.access_kitchen, GLOB.access_morgue, GLOB.access_maint_tunnels)
+ minimal_access = list(GLOB.access_janitor, GLOB.access_hydroponics, GLOB.access_bar, GLOB.access_kitchen, GLOB.access_morgue, GLOB.access_maint_tunnels)
//Civilian
diff --git a/_maps/map_files/PubbyStation/PubbyStation.dmm b/_maps/map_files/PubbyStation/PubbyStation.dmm
index e7a41aabfd..13de429501 100644
--- a/_maps/map_files/PubbyStation/PubbyStation.dmm
+++ b/_maps/map_files/PubbyStation/PubbyStation.dmm
@@ -1,11 +1,9 @@
//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
"aaa" = (
-/turf/open/space,
+/turf/open/space/basic,
/area/space)
"aab" = (
-/obj/effect/landmark{
- name = "carpspawn"
- },
+/obj/effect/landmark/carpspawn,
/turf/open/space,
/area/space)
"aac" = (
@@ -128,9 +126,7 @@
icon_state = "2-4";
tag = ""
},
-/obj/effect/landmark{
- name = "tripai"
- },
+/obj/effect/landmark/tripai,
/obj/item/device/radio/intercom{
anyai = 1;
broadcasting = 0;
@@ -182,9 +178,7 @@
name = "AI Chamber APC";
pixel_y = 24
},
-/obj/effect/landmark{
- name = "tripai"
- },
+/obj/effect/landmark/tripai,
/obj/item/device/radio/intercom{
anyai = 1;
broadcasting = 0;
@@ -326,9 +320,7 @@
/turf/open/floor/circuit,
/area/wreck/ai)
"aaI" = (
-/obj/effect/landmark/start{
- name = "AI"
- },
+/obj/effect/landmark/start/ai,
/obj/item/device/radio/intercom{
broadcasting = 0;
freerange = 1;
@@ -1333,10 +1325,7 @@
/turf/open/floor/plasteel/black,
/area/security/prison)
"adc" = (
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/xeno_spawn,
/turf/open/floor/plasteel/black,
/area/security/prison)
"add" = (
@@ -1659,9 +1648,7 @@
},
/area/ai_monitored/turret_protected/aisat_interior)
"adF" = (
-/obj/effect/landmark/start{
- name = "Cyborg"
- },
+/obj/effect/landmark/start/cyborg,
/obj/item/device/radio/beacon,
/turf/open/floor/plasteel/black,
/area/ai_monitored/turret_protected/aisat_interior)
@@ -2014,9 +2001,7 @@
/area/security/transfer)
"aeC" = (
/obj/structure/bed,
-/obj/effect/landmark{
- name = "revenantspawn"
- },
+/obj/effect/landmark/revenantspawn,
/turf/open/floor/plasteel/black,
/area/security/transfer)
"aeD" = (
@@ -3453,9 +3438,7 @@
/turf/open/floor/plasteel/black,
/area/security/armory)
"ahk" = (
-/obj/effect/landmark/start{
- name = "Security Officer"
- },
+/obj/effect/landmark/start/security_officer,
/obj/machinery/atmospherics/pipe/simple/cyan/hidden,
/turf/open/floor/plasteel/red,
/area/security/main)
@@ -3521,9 +3504,7 @@
},
/area/security/main)
"ahq" = (
-/obj/effect/landmark/start{
- name = "Security Officer"
- },
+/obj/effect/landmark/start/security_officer,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/obj/structure/reagent_dispensers/peppertank{
pixel_x = 32;
@@ -3777,16 +3758,12 @@
},
/area/security/main)
"ahQ" = (
-/obj/effect/landmark/start{
- name = "Security Officer"
- },
+/obj/effect/landmark/start/security_officer,
/turf/open/floor/plasteel,
/area/security/main)
"ahR" = (
/obj/structure/chair/stool,
-/obj/effect/landmark/start{
- name = "Security Officer"
- },
+/obj/effect/landmark/start/security_officer,
/turf/open/floor/plasteel,
/area/security/main)
"ahS" = (
@@ -3972,9 +3949,7 @@
})
"aik" = (
/obj/structure/bodycontainer/crematorium,
-/obj/effect/landmark{
- name = "revenantspawn"
- },
+/obj/effect/landmark/revenantspawn,
/obj/item/device/radio/intercom{
dir = 0;
name = "Station Intercom (General)";
@@ -4133,9 +4108,7 @@
c_tag = "Brig Evidence Room";
dir = 8
},
-/obj/effect/landmark{
- name = "revenantspawn"
- },
+/obj/effect/landmark/revenantspawn,
/turf/open/floor/plasteel/red/side{
tag = "icon-red (EAST)";
dir = 4
@@ -4374,10 +4347,7 @@
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
},
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/xeno_spawn,
/turf/open/floor/plating,
/area/maintenance/fsmaint)
"aiV" = (
@@ -4711,9 +4681,7 @@
},
/area/maintenance/fsmaint)
"ajF" = (
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/obj/structure/chair/stool/bar,
/turf/open/floor/wood,
/area/maintenance/fsmaint)
@@ -4827,9 +4795,7 @@
dir = 1;
layer = 2.9
},
-/obj/effect/landmark{
- name = "revenantspawn"
- },
+/obj/effect/landmark/revenantspawn,
/turf/open/floor/plasteel/black,
/area/security/brig)
"ajS" = (
@@ -5045,9 +5011,7 @@
/obj/structure/chair/office/dark{
dir = 1
},
-/obj/effect/landmark/start{
- name = "Security Officer"
- },
+/obj/effect/landmark/start/security_officer,
/obj/machinery/atmospherics/pipe/simple/cyan/hidden{
tag = "icon-intact (EAST)";
icon_state = "intact";
@@ -5072,9 +5036,7 @@
dir = 4;
icon_state = "pipe-c"
},
-/obj/effect/landmark/start{
- name = "Security Officer"
- },
+/obj/effect/landmark/start/security_officer,
/obj/machinery/atmospherics/pipe/simple/cyan/hidden{
tag = "icon-intact (EAST)";
icon_state = "intact";
@@ -5176,9 +5138,7 @@
/obj/structure/disposalpipe/segment{
dir = 4
},
-/obj/effect/landmark/start{
- name = "Head of Security"
- },
+/obj/effect/landmark/start/head_of_security,
/turf/open/floor/carpet,
/area/security/hos)
"ako" = (
@@ -5767,9 +5727,7 @@
/obj/structure/chair/office/dark{
dir = 1
},
-/obj/effect/landmark/start{
- name = "Security Officer"
- },
+/obj/effect/landmark/start/security_officer,
/turf/open/floor/plasteel,
/area/security/main)
"aly" = (
@@ -5777,9 +5735,7 @@
dir = 1
},
/obj/structure/disposalpipe/segment,
-/obj/effect/landmark/start{
- name = "Security Officer"
- },
+/obj/effect/landmark/start/security_officer,
/turf/open/floor/plasteel,
/area/security/main)
"alz" = (
@@ -6338,9 +6294,7 @@
/area/security/warden)
"amw" = (
/obj/structure/chair/office/dark,
-/obj/effect/landmark/start{
- name = "Warden"
- },
+/obj/effect/landmark/start/warden,
/turf/open/floor/plasteel/showroomfloor,
/area/security/warden)
"amx" = (
@@ -7606,9 +7560,7 @@
/turf/open/floor/plasteel/barber,
/area/crew_quarters/sleep)
"apb" = (
-/obj/effect/landmark/start{
- name = "Assistant"
- },
+/obj/effect/landmark/start/assistant,
/obj/machinery/atmospherics/components/unary/vent_scrubber{
on = 1
},
@@ -8824,9 +8776,7 @@
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
},
-/obj/effect/landmark{
- name = "revenantspawn"
- },
+/obj/effect/landmark/revenantspawn,
/turf/open/floor/circuit/green{
luminosity = 2
},
@@ -9215,9 +9165,7 @@
},
/obj/item/weapon/soap/deluxe,
/obj/item/weapon/bikehorn/rubberducky,
-/obj/effect/landmark{
- name = "revenantspawn"
- },
+/obj/effect/landmark/revenantspawn,
/obj/structure/curtain,
/turf/open/floor/plasteel/freezer,
/area/crew_quarters/captain)
@@ -9946,9 +9894,7 @@
/turf/open/floor/carpet,
/area/crew_quarters/sleep)
"atI" = (
-/obj/effect/landmark/start{
- name = "Assistant"
- },
+/obj/effect/landmark/start/assistant,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
},
@@ -10022,10 +9968,7 @@
dir = 9;
pixel_y = 0
},
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/xeno_spawn,
/turf/open/floor/plasteel,
/area/crew_quarters/fitness{
name = "Recreation Room"
@@ -10725,9 +10668,7 @@
/area/crew_quarters/captain)
"avw" = (
/obj/structure/chair/comfy/black,
-/obj/effect/landmark/start{
- name = "Captain"
- },
+/obj/effect/landmark/start/captain,
/turf/open/floor/carpet,
/area/crew_quarters/captain)
"avx" = (
@@ -11674,9 +11615,7 @@
/turf/open/floor/carpet,
/area/crew_quarters/sleep)
"axp" = (
-/obj/effect/landmark/start{
- name = "Assistant"
- },
+/obj/effect/landmark/start/assistant,
/obj/structure/chair/comfy/brown{
dir = 1
},
@@ -12649,9 +12588,7 @@
/obj/structure/chair/office/dark{
dir = 1
},
-/obj/effect/landmark/start{
- name = "Head of Personnel"
- },
+/obj/effect/landmark/start/head_of_personnel,
/turf/open/floor/wood,
/area/crew_quarters/heads)
"azk" = (
@@ -12759,9 +12696,7 @@
dir = 2;
icon_state = "pipe-c"
},
-/obj/effect/landmark/start{
- name = "Assistant"
- },
+/obj/effect/landmark/start/assistant,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
},
@@ -12981,9 +12916,7 @@
/turf/open/floor/plasteel,
/area/storage/primary)
"azQ" = (
-/obj/effect/landmark/start{
- name = "Assistant"
- },
+/obj/effect/landmark/start/assistant,
/turf/open/floor/plasteel,
/area/storage/primary)
"azR" = (
@@ -13369,10 +13302,7 @@
/obj/structure/urinal{
pixel_y = 32
},
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/xeno_spawn,
/turf/open/floor/plasteel/freezer,
/area/crew_quarters/locker/locker_toilet{
name = "\improper Restrooms"
@@ -13400,9 +13330,7 @@
name = "\improper Restrooms"
})
"aAB" = (
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/obj/item/toy/beach_ball/holoball,
/turf/open/floor/plating,
/area/crew_quarters/locker/locker_toilet{
@@ -13903,9 +13831,7 @@
/area/maintenance/apmaint)
"aBz" = (
/obj/structure/bodycontainer/morgue,
-/obj/effect/landmark{
- name = "revenantspawn"
- },
+/obj/effect/landmark/revenantspawn,
/turf/open/floor/plasteel/black,
/area/security/detectives_office)
"aBA" = (
@@ -13928,9 +13854,7 @@
buildstackamount = 0;
dir = 1
},
-/obj/effect/landmark/start{
- name = "Detective"
- },
+/obj/effect/landmark/start/detective,
/turf/open/floor/carpet,
/area/security/detectives_office)
"aBE" = (
@@ -14496,9 +14420,7 @@
/turf/open/floor/plating,
/area/maintenance/apmaint)
"aCS" = (
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/turf/open/floor/plating,
/area/maintenance/apmaint)
"aCT" = (
@@ -16668,9 +16590,7 @@
dir = 8;
name = "Defense"
},
-/obj/effect/landmark/start{
- name = "Assistant"
- },
+/obj/effect/landmark/start/assistant,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/turf/open/floor/plasteel/neutral/side{
dir = 1
@@ -16713,10 +16633,7 @@
/obj/machinery/airalarm{
pixel_y = 22
},
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/xeno_spawn,
/turf/open/floor/plasteel/freezer,
/area/crew_quarters/toilet{
name = "\improper Auxiliary Restroom"
@@ -17461,9 +17378,7 @@
/obj/structure/toilet{
dir = 4
},
-/obj/effect/landmark/start{
- name = "Assistant"
- },
+/obj/effect/landmark/start/assistant,
/turf/open/floor/plasteel/freezer,
/area/crew_quarters/toilet{
name = "\improper Auxiliary Restroom"
@@ -18332,9 +18247,7 @@
dir = 2;
icon_state = "pipe-c"
},
-/obj/effect/landmark/start{
- name = "Cargo Technician"
- },
+/obj/effect/landmark/start/cargo_technician,
/turf/open/floor/plasteel,
/area/quartermaster/office)
"aKw" = (
@@ -18841,9 +18754,7 @@
/area/maintenance/disposal)
"aLK" = (
/obj/structure/disposalpipe/segment,
-/obj/effect/landmark{
- name = "revenantspawn"
- },
+/obj/effect/landmark/revenantspawn,
/obj/effect/turf_decal/stripes/line{
dir = 8
},
@@ -19006,9 +18917,7 @@
/obj/structure/disposalpipe/segment{
dir = 4
},
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/turf/open/floor/plating{
burnt = 1;
icon_state = "panelscorched"
@@ -19777,10 +19686,7 @@
/turf/open/floor/plating,
/area/maintenance/apmaint)
"aNz" = (
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/xeno_spawn,
/turf/open/floor/plating,
/area/maintenance/disposal)
"aNA" = (
@@ -20001,10 +19907,7 @@
/turf/open/floor/wood,
/area/crew_quarters/bar)
"aNY" = (
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/xeno_spawn,
/obj/item/weapon/storage/box/beanbag,
/turf/open/floor/wood,
/area/crew_quarters/bar)
@@ -21258,9 +21161,7 @@
/turf/open/floor/plasteel,
/area/quartermaster/storage)
"aQw" = (
-/obj/effect/landmark/start{
- name = "Cargo Technician"
- },
+/obj/effect/landmark/start/cargo_technician,
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/effect/turf_decal/bot,
/turf/open/floor/plasteel,
@@ -21646,9 +21547,7 @@
d2 = 8;
icon_state = "4-8"
},
-/obj/effect/landmark/start{
- name = "Mime"
- },
+/obj/effect/landmark/start/mime,
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 6
},
@@ -21893,9 +21792,7 @@
"aRI" = (
/obj/structure/bed,
/obj/item/weapon/bedsheet,
-/obj/effect/landmark/start{
- name = "Janitor"
- },
+/obj/effect/landmark/start/janitor,
/turf/open/floor/plasteel/black,
/area/janitor)
"aRJ" = (
@@ -22113,9 +22010,7 @@
/obj/structure/disposalpipe/segment{
dir = 4
},
-/obj/effect/landmark/start{
- name = "Clown"
- },
+/obj/effect/landmark/start/clown,
/turf/open/floor/plasteel/redblue,
/area/crew_quarters/theatre)
"aSh" = (
@@ -22545,9 +22440,7 @@
/obj/structure/chair/office/dark{
dir = 1
},
-/obj/effect/landmark/start{
- name = "Cargo Technician"
- },
+/obj/effect/landmark/start/cargo_technician,
/turf/open/floor/plasteel/brown{
dir = 1
},
@@ -23346,9 +23239,7 @@
/turf/open/floor/plasteel,
/area/hydroponics)
"aUE" = (
-/obj/effect/landmark/start{
- name = "Botanist"
- },
+/obj/effect/landmark/start/botanist,
/turf/open/floor/plasteel,
/area/hydroponics)
"aUF" = (
@@ -23395,9 +23286,7 @@
},
/area/crew_quarters/bar)
"aUN" = (
-/obj/effect/landmark/start{
- name = "Assistant"
- },
+/obj/effect/landmark/start/assistant,
/obj/structure/chair/wood/normal,
/turf/open/floor/carpet{
icon_state = "carpetsymbol"
@@ -23855,9 +23744,7 @@
/turf/open/floor/plasteel/cafeteria,
/area/crew_quarters/kitchen)
"aVF" = (
-/obj/effect/landmark/start{
- name = "Cook"
- },
+/obj/effect/landmark/start/cook,
/obj/machinery/atmospherics/components/unary/vent_pump{
on = 1
},
@@ -23889,9 +23776,7 @@
/turf/open/floor/plasteel/hydrofloor,
/area/crew_quarters/kitchen)
"aVJ" = (
-/obj/effect/landmark/start{
- name = "Bartender"
- },
+/obj/effect/landmark/start/bartender,
/obj/machinery/atmospherics/components/unary/vent_pump{
dir = 8;
on = 1
@@ -23908,9 +23793,7 @@
/area/crew_quarters/bar)
"aVL" = (
/obj/structure/chair/stool/bar,
-/obj/effect/landmark/start{
- name = "Assistant"
- },
+/obj/effect/landmark/start/assistant,
/turf/open/floor/plasteel/vault{
dir = 5
},
@@ -23970,9 +23853,7 @@
},
/area/crew_quarters/bar)
"aVT" = (
-/obj/effect/landmark/start{
- name = "Assistant"
- },
+/obj/effect/landmark/start/assistant,
/obj/structure/chair/stool,
/turf/open/floor/carpet{
icon_state = "carpetsymbol"
@@ -24920,9 +24801,7 @@
/obj/structure/chair/office/dark{
dir = 8
},
-/obj/effect/landmark/start{
- name = "Shaft Miner"
- },
+/obj/effect/landmark/start/shaft_miner,
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -25216,9 +25095,7 @@
/turf/open/floor/plasteel/cafeteria,
/area/crew_quarters/kitchen)
"aYx" = (
-/obj/effect/landmark/start{
- name = "Cook"
- },
+/obj/effect/landmark/start/cook,
/obj/structure/disposalpipe/segment{
dir = 4
},
@@ -25374,9 +25251,7 @@
/obj/structure/chair/office/dark{
dir = 4
},
-/obj/effect/landmark/start{
- name = "Quartermaster"
- },
+/obj/effect/landmark/start/quartermaster,
/turf/open/floor/plasteel,
/area/quartermaster/qm)
"aYN" = (
@@ -25399,9 +25274,7 @@
icon_state = "1-2"
},
/obj/structure/disposalpipe/segment,
-/obj/effect/landmark/start{
- name = "Shaft Miner"
- },
+/obj/effect/landmark/start/shaft_miner,
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/turf/open/floor/plasteel,
/area/quartermaster/miningdock)
@@ -25797,9 +25670,7 @@
d2 = 2;
icon_state = "1-2"
},
-/obj/effect/landmark/start{
- name = "Shaft Miner"
- },
+/obj/effect/landmark/start/shaft_miner,
/obj/structure/disposalpipe/segment,
/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
dir = 8
@@ -26256,9 +26127,7 @@
/turf/open/floor/mineral/titanium/blue,
/area/shuttle/arrival)
"baF" = (
-/obj/effect/landmark/start{
- name = "Assistant"
- },
+/obj/effect/landmark/start/assistant,
/obj/machinery/atmospherics/components/unary/vent_pump{
dir = 4;
external_pressure_bound = 101.325;
@@ -26730,9 +26599,7 @@
/turf/open/floor/plating,
/area/maintenance/apmaint)
"bbt" = (
-/obj/effect/landmark{
- name = "Observer-Start"
- },
+/obj/effect/landmark/observer_start,
/turf/open/floor/mineral/titanium/blue,
/area/shuttle/arrival)
"bbu" = (
@@ -26959,9 +26826,7 @@
name = "Lounge"
})
"bbT" = (
-/obj/effect/landmark/start{
- name = "Assistant"
- },
+/obj/effect/landmark/start/assistant,
/obj/structure/cable{
d1 = 1;
d2 = 4;
@@ -28063,9 +27928,7 @@
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 10
},
-/obj/effect/landmark{
- name = "revenantspawn"
- },
+/obj/effect/landmark/revenantspawn,
/turf/open/floor/plating{
broken = 1;
icon_state = "platingdmg1"
@@ -28198,9 +28061,7 @@
/area/storage/emergency2)
"beD" = (
/obj/structure/bodycontainer/morgue,
-/obj/effect/landmark{
- name = "revenantspawn"
- },
+/obj/effect/landmark/revenantspawn,
/turf/open/floor/plasteel/black,
/area/medical/morgue)
"beE" = (
@@ -28422,9 +28283,7 @@
/obj/structure/chair/office/light{
dir = 1
},
-/obj/effect/landmark/start{
- name = "Roboticist"
- },
+/obj/effect/landmark/start/roboticist,
/turf/open/floor/plasteel,
/area/assembly/robotics)
"bff" = (
@@ -28519,13 +28378,8 @@
/turf/open/floor/engine,
/area/toxins/explab)
"bfo" = (
-/obj/effect/landmark{
- name = "blobstart"
- },
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/blobstart,
+/obj/effect/landmark/xeno_spawn,
/turf/open/floor/engine,
/area/toxins/explab)
"bfp" = (
@@ -28809,9 +28663,7 @@
/area/storage/emergency2)
"bfS" = (
/obj/structure/bodycontainer/morgue,
-/obj/effect/landmark{
- name = "revenantspawn"
- },
+/obj/effect/landmark/revenantspawn,
/obj/machinery/light/small{
brightness = 3;
dir = 8
@@ -29065,9 +28917,7 @@
/area/toxins/explab)
"bgr" = (
/obj/structure/disposalpipe/segment,
-/obj/effect/landmark/start{
- name = "Scientist"
- },
+/obj/effect/landmark/start/scientist,
/obj/machinery/atmospherics/components/trinary/filter,
/turf/open/floor/engine{
name = "Holodeck Projector Floor"
@@ -29121,9 +28971,7 @@
/area/toxins/xenobiology)
"bgA" = (
/obj/effect/decal/cleanable/ash,
-/obj/effect/landmark{
- name = "revenantspawn"
- },
+/obj/effect/landmark/revenantspawn,
/turf/open/floor/plating,
/area/maintenance/apmaint)
"bgB" = (
@@ -29563,9 +29411,7 @@
},
/area/toxins/xenobiology)
"bhu" = (
-/obj/effect/landmark{
- name = "revenantspawn"
- },
+/obj/effect/landmark/revenantspawn,
/turf/open/floor/engine,
/area/toxins/xenobiology)
"bhv" = (
@@ -29836,9 +29682,7 @@
/obj/structure/chair/office/light{
dir = 4
},
-/obj/effect/landmark/start{
- name = "Medical Doctor"
- },
+/obj/effect/landmark/start/medical_doctor,
/turf/open/floor/plasteel/whiteblue/side{
tag = "icon-whiteblue (NORTHEAST)";
dir = 5
@@ -29927,9 +29771,7 @@
},
/area/assembly/robotics)
"bii" = (
-/obj/effect/landmark/start{
- name = "Roboticist"
- },
+/obj/effect/landmark/start/roboticist,
/obj/effect/turf_decal/bot,
/turf/open/floor/plasteel,
/area/assembly/robotics)
@@ -30092,9 +29934,7 @@
/obj/structure/chair/comfy/beige{
dir = 4
},
-/obj/effect/landmark/start{
- name = "Scientist"
- },
+/obj/effect/landmark/start/scientist,
/turf/open/floor/plasteel/white,
/area/toxins/xenobiology)
"biz" = (
@@ -30616,9 +30456,7 @@
/area/toxins/explab)
"bjy" = (
/obj/structure/chair/stool,
-/obj/effect/landmark/start{
- name = "Scientist"
- },
+/obj/effect/landmark/start/scientist,
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
},
@@ -31206,9 +31044,7 @@
/obj/structure/chair/office/light{
dir = 1
},
-/obj/effect/landmark/start{
- name = "Chemist"
- },
+/obj/effect/landmark/start/chemist,
/turf/open/floor/plasteel/whiteyellow/side{
dir = 1
},
@@ -32354,10 +32190,7 @@
/obj/machinery/light/small{
dir = 8
},
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/xeno_spawn,
/turf/open/floor/plasteel/floorgrime,
/area/toxins/xenobiology)
"bmH" = (
@@ -33075,9 +32908,7 @@
dir = 4;
initialize_directions = 11
},
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/turf/open/floor/plasteel/floorgrime,
/area/toxins/xenobiology)
"bnX" = (
@@ -33325,9 +33156,7 @@
/area/toxins/explab)
"boD" = (
/obj/structure/disposalpipe/segment,
-/obj/effect/landmark/start{
- name = "Scientist"
- },
+/obj/effect/landmark/start/scientist,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/obj/effect/turf_decal/bot,
/turf/open/floor/plasteel,
@@ -34554,9 +34383,7 @@
/area/medical/genetics)
"bqD" = (
/obj/structure/chair/stool,
-/obj/effect/landmark/start{
- name = "Geneticist"
- },
+/obj/effect/landmark/start/geneticist,
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
},
@@ -35717,9 +35544,7 @@
/area/medical/genetics)
"bsK" = (
/obj/structure/chair/stool,
-/obj/effect/landmark/start{
- name = "Geneticist"
- },
+/obj/effect/landmark/start/geneticist,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
},
@@ -35899,9 +35724,7 @@
name = "Chief Medical Office"
})
"bta" = (
-/obj/effect/landmark/start{
- name = "Chief Medical Officer"
- },
+/obj/effect/landmark/start/chief_medical_officer,
/obj/structure/chair/office/light{
dir = 1
},
@@ -36205,9 +36028,7 @@
name = "\improper Toxins Lab"
})
"btD" = (
-/obj/effect/landmark{
- name = "revenantspawn"
- },
+/obj/effect/landmark/revenantspawn,
/mob/living/simple_animal/slime,
/turf/open/floor/engine,
/area/toxins/xenobiology)
@@ -36951,9 +36772,7 @@
/turf/open/floor/plasteel/white,
/area/medical/medbay)
"buW" = (
-/obj/effect/landmark/start{
- name = "Medical Doctor"
- },
+/obj/effect/landmark/start/medical_doctor,
/obj/machinery/atmospherics/components/unary/vent_pump{
dir = 4;
layer = 2.4;
@@ -37578,9 +37397,7 @@
/obj/machinery/atmospherics/components/unary/vent_pump{
on = 1
},
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/obj/item/weapon/melee/baton/cattleprod{
bcell = new /obj/item/weapon/stock_parts/cell/high()
},
@@ -37607,10 +37424,7 @@
scrub_N2O = 0;
scrub_Toxins = 0
},
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/xeno_spawn,
/turf/open/floor/plasteel/black,
/area/medical/exam_room)
"bwi" = (
@@ -37741,9 +37555,7 @@
/area/crew_quarters/hor)
"bwt" = (
/obj/structure/chair/office/light,
-/obj/effect/landmark/start{
- name = "Research Director"
- },
+/obj/effect/landmark/start/research_director,
/turf/open/floor/plasteel/white,
/area/crew_quarters/hor)
"bwu" = (
@@ -37853,9 +37665,7 @@
})
"bwG" = (
/obj/structure/chair/stool,
-/obj/effect/landmark/start{
- name = "Scientist"
- },
+/obj/effect/landmark/start/scientist,
/obj/machinery/atmospherics/components/unary/vent_pump{
dir = 1;
on = 1
@@ -38139,10 +37949,7 @@
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
},
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/xeno_spawn,
/turf/open/floor/plating,
/area/maintenance/asmaint2)
"bxb" = (
@@ -38193,10 +38000,7 @@
icon_state = "intact";
dir = 8
},
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/xeno_spawn,
/turf/open/floor/plasteel/freezer,
/area/medical/virology)
"bxh" = (
@@ -38287,9 +38091,7 @@
dir = 8
},
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
-/obj/effect/landmark{
- name = "revenantspawn"
- },
+/obj/effect/landmark/revenantspawn,
/turf/open/floor/plasteel/black,
/area/medical/exam_room)
"bxr" = (
@@ -38298,9 +38100,7 @@
/obj/effect/decal/cleanable/blood/drip,
/obj/item/weapon/restraints/handcuffs,
/obj/item/clothing/mask/muzzle,
-/obj/effect/landmark{
- name = "revenantspawn"
- },
+/obj/effect/landmark/revenantspawn,
/turf/open/floor/plasteel/black,
/area/medical/exam_room)
"bxs" = (
@@ -38682,9 +38482,7 @@
"byd" = (
/obj/structure/closet/masks,
/obj/item/trash/deadmouse,
-/obj/effect/landmark{
- name = "revenantspawn"
- },
+/obj/effect/landmark/revenantspawn,
/turf/open/floor/plating,
/area/maintenance/aft)
"bye" = (
@@ -38714,9 +38512,7 @@
/area/medical/virology)
"byi" = (
/obj/structure/window/reinforced,
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/turf/open/floor/plasteel/freezer,
/area/medical/virology)
"byj" = (
@@ -38779,9 +38575,7 @@
"byn" = (
/obj/item/weapon/bedsheet/medical,
/obj/structure/bed,
-/obj/effect/landmark{
- name = "revenantspawn"
- },
+/obj/effect/landmark/revenantspawn,
/obj/structure/mirror{
pixel_x = -28
},
@@ -39506,9 +39300,7 @@
/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
dir = 1
},
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/obj/item/chair/stool,
/turf/open/floor/plating,
/area/maintenance/maintcentral{
@@ -40353,9 +40145,7 @@
/area/medical/surgery)
"bBp" = (
/obj/structure/table/optable,
-/obj/effect/landmark{
- name = "revenantspawn"
- },
+/obj/effect/landmark/revenantspawn,
/turf/open/floor/plasteel/white,
/area/medical/surgery)
"bBq" = (
@@ -40625,9 +40415,7 @@
/turf/open/floor/engine,
/area/maintenance/aft)
"bBU" = (
-/obj/effect/landmark{
- name = "revenantspawn"
- },
+/obj/effect/landmark/revenantspawn,
/turf/open/floor/engine,
/area/maintenance/aft)
"bBV" = (
@@ -40654,9 +40442,7 @@
/obj/item/weapon/bedsheet/medical,
/obj/structure/bed,
/obj/effect/decal/cleanable/cobweb,
-/obj/effect/landmark{
- name = "revenantspawn"
- },
+/obj/effect/landmark/revenantspawn,
/turf/open/floor/plasteel/freezer,
/area/medical/virology)
"bCa" = (
@@ -40666,9 +40452,7 @@
"bCb" = (
/obj/structure/bed,
/obj/item/weapon/bedsheet/medical,
-/obj/effect/landmark{
- name = "revenantspawn"
- },
+/obj/effect/landmark/revenantspawn,
/turf/open/floor/plasteel/freezer,
/area/medical/virology)
"bCc" = (
@@ -40678,9 +40462,7 @@
/turf/open/floor/plasteel/white,
/area/medical/virology)
"bCd" = (
-/obj/effect/landmark/start{
- name = "Virologist"
- },
+/obj/effect/landmark/start/virologist,
/obj/structure/chair/office/light{
dir = 8
},
@@ -40783,9 +40565,7 @@
/turf/open/floor/plasteel/white,
/area/medical/surgery)
"bCo" = (
-/obj/effect/landmark/start{
- name = "Medical Doctor"
- },
+/obj/effect/landmark/start/medical_doctor,
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
},
@@ -41845,9 +41625,7 @@
/obj/structure/disposalpipe/segment{
dir = 4
},
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/turf/open/floor/plating,
/area/maintenance/aft)
"bEH" = (
@@ -42621,9 +42399,7 @@
/obj/structure/chair/office/dark{
dir = 8
},
-/obj/effect/landmark/start{
- name = "Atmospheric Technician"
- },
+/obj/effect/landmark/start/atmospheric_technician,
/turf/open/floor/plasteel,
/area/atmos)
"bGp" = (
@@ -42887,9 +42663,7 @@
/obj/structure/chair/office/dark{
dir = 8
},
-/obj/effect/landmark/start{
- name = "Atmospheric Technician"
- },
+/obj/effect/landmark/start/atmospheric_technician,
/turf/open/floor/plasteel,
/area/atmos)
"bGV" = (
@@ -43316,10 +43090,7 @@
/turf/open/floor/engine/plasma,
/area/atmos)
"bHL" = (
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/xeno_spawn,
/turf/open/floor/engine/plasma,
/area/atmos)
"bHM" = (
@@ -43366,9 +43137,7 @@
/area/maintenance/aft)
"bHR" = (
/obj/machinery/atmospherics/components/binary/valve,
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/turf/open/floor/plating,
/area/maintenance/aft)
"bHS" = (
@@ -44762,9 +44531,7 @@
/turf/open/floor/plasteel,
/area/engine/chiefs_office)
"bKL" = (
-/obj/effect/landmark/start{
- name = "Chief Engineer"
- },
+/obj/effect/landmark/start/chief_engineer,
/turf/open/floor/plasteel,
/area/engine/chiefs_office)
"bKM" = (
@@ -45173,7 +44940,7 @@
desc = "Used for watching the engine containment area.";
dir = 4;
name = "Engine Monitor";
- network = list("Singularity");
+ network = list("Engine");
pixel_x = -32;
pixel_y = 0
},
@@ -45219,9 +44986,7 @@
icon_state = "2-4";
tag = ""
},
-/obj/effect/landmark/start{
- name = "Station Engineer"
- },
+/obj/effect/landmark/start/station_engineer,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 10
},
@@ -45252,6 +45017,14 @@
/area/engine/engine_smes)
"bLA" = (
/obj/structure/filingcabinet,
+/obj/machinery/computer/security/telescreen{
+ desc = "Used for watching the engine containment area.";
+ dir = 4;
+ name = "Engine Monitor";
+ network = list("Engine");
+ pixel_x = -32;
+ pixel_y = 0
+ },
/turf/open/floor/plasteel/red/side{
dir = 10
},
@@ -45705,13 +45478,11 @@
},
/area/engine/engineering)
"bME" = (
-/obj/machinery/computer/monitor{
- name = "Engineering Power Monitoring Console"
- },
/obj/structure/cable{
icon_state = "0-2";
d2 = 2
},
+/obj/machinery/modular_computer/console/preset/engineering,
/turf/open/floor/plasteel/yellow/side{
dir = 1
},
@@ -46432,9 +46203,7 @@
/area/engine/engineering)
"bNW" = (
/obj/structure/chair/stool,
-/obj/effect/landmark/start{
- name = "Station Engineer"
- },
+/obj/effect/landmark/start/station_engineer,
/turf/open/floor/plasteel,
/area/engine/engineering)
"bNX" = (
@@ -46784,9 +46553,7 @@
/turf/open/floor/plasteel,
/area/engine/engineering)
"bOE" = (
-/obj/effect/landmark/start{
- name = "Station Engineer"
- },
+/obj/effect/landmark/start/station_engineer,
/obj/machinery/atmospherics/components/unary/vent_scrubber{
dir = 4;
on = 1;
@@ -46823,10 +46590,7 @@
/turf/open/floor/engine/o2,
/area/atmos)
"bOL" = (
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/xeno_spawn,
/turf/open/floor/engine/air,
/area/atmos)
"bOM" = (
@@ -46909,6 +46673,7 @@
/obj/machinery/camera{
c_tag = "Engineering Center";
dir = 2;
+ network = list("SS13","Engine");
pixel_x = 23
},
/obj/machinery/light{
@@ -47257,9 +47022,7 @@
/turf/open/floor/plating,
/area/engine/engineering)
"bPM" = (
-/obj/effect/landmark/start{
- name = "Station Engineer"
- },
+/obj/effect/landmark/start/station_engineer,
/turf/open/floor/plating,
/area/engine/engineering)
"bPN" = (
@@ -47433,10 +47196,7 @@
/turf/open/floor/plating,
/area/engine/engineering)
"bQf" = (
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/xeno_spawn,
/turf/open/floor/plating,
/area/maintenance/aft)
"bQg" = (
@@ -47779,7 +47539,7 @@
/obj/machinery/camera/emp_proof{
c_tag = "Engine Containment Port Fore";
dir = 2;
- network = list("Singularity")
+ network = list("Engine")
},
/turf/open/floor/plating/airless,
/area/engine/engineering)
@@ -47804,7 +47564,7 @@
/obj/machinery/camera/emp_proof{
c_tag = "Engine Containment Starboard Fore";
dir = 2;
- network = list("Singularity")
+ network = list("Engine")
},
/turf/open/floor/plating/airless,
/area/engine/engineering)
@@ -48226,9 +47986,7 @@
})
"bRU" = (
/obj/item/device/radio/beacon,
-/obj/effect/landmark{
- name = "revenantspawn"
- },
+/obj/effect/landmark/revenantspawn,
/turf/open/floor/plating/airless,
/area/mine/explored{
name = "Bomb Testing Asteroid"
@@ -48275,7 +48033,7 @@
/obj/machinery/camera/emp_proof{
c_tag = "Engine Containment Port Aft";
dir = 1;
- network = list("Singularity")
+ network = list("Engine")
},
/turf/open/floor/plating/airless,
/area/engine/engineering)
@@ -48332,7 +48090,7 @@
/obj/machinery/camera/emp_proof{
c_tag = "Engine Containment Starboard Aft";
dir = 1;
- network = list("Singularity")
+ network = list("Engine")
},
/turf/open/floor/plating/airless,
/area/engine/engineering)
@@ -49291,9 +49049,7 @@
},
/area/maintenance/fsmaint)
"bUw" = (
-/obj/effect/landmark/start{
- name = "Security Officer"
- },
+/obj/effect/landmark/start/security_officer,
/obj/machinery/atmospherics/components/unary/vent_scrubber{
dir = 4;
on = 1;
@@ -49303,9 +49059,7 @@
/turf/open/floor/plasteel,
/area/security/main)
"bUx" = (
-/obj/effect/landmark/start{
- name = "Security Officer"
- },
+/obj/effect/landmark/start/security_officer,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
},
@@ -50125,9 +49879,7 @@
/turf/open/floor/plasteel/neutral/corner,
/area/hallway/primary/central)
"bWj" = (
-/obj/effect/landmark/start{
- name = "Botanist"
- },
+/obj/effect/landmark/start/botanist,
/obj/machinery/holopad,
/turf/open/floor/plasteel,
/area/hydroponics)
@@ -50187,9 +49939,7 @@
},
/area/crew_quarters/bar)
"bWr" = (
-/obj/effect/landmark/start{
- name = "Assistant"
- },
+/obj/effect/landmark/start/assistant,
/obj/structure/chair/wood/normal{
icon_state = "wooden_chair";
dir = 1
@@ -50485,9 +50235,7 @@
/obj/structure/chair{
dir = 8
},
-/obj/effect/landmark{
- name = "JoinLate"
- },
+/obj/effect/landmark/latejoin,
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 9;
pixel_y = 0
@@ -52467,9 +52215,7 @@
name = "Monastery"
})
"cbU" = (
-/obj/effect/landmark/start{
- name = "Chaplain"
- },
+/obj/effect/landmark/start/chaplain,
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 6
},
@@ -55612,9 +55358,7 @@
d2 = 8;
icon_state = "4-8"
},
-/obj/effect/landmark{
- name = "Observer-Start"
- },
+/obj/effect/landmark/observer_start,
/turf/open/floor/plasteel,
/area/hallway/primary/central)
"cik" = (
diff --git a/_maps/map_files/PubbyStation/job_changes.dm b/_maps/map_files/PubbyStation/job_changes.dm
index 8693063def..8b26cd5b68 100644
--- a/_maps/map_files/PubbyStation/job_changes.dm
+++ b/_maps/map_files/PubbyStation/job_changes.dm
@@ -3,20 +3,20 @@
/datum/job/hos/New()
..()
MAP_JOB_CHECK
- access += access_crematorium
- minimal_access += access_crematorium
+ access += GLOB.access_crematorium
+ minimal_access += GLOB.access_crematorium
/datum/job/warden/New()
..()
MAP_JOB_CHECK
- access += access_crematorium
- minimal_access += access_crematorium
+ access += GLOB.access_crematorium
+ minimal_access += GLOB.access_crematorium
/datum/job/officer/New()
..()
MAP_JOB_CHECK
- access += access_crematorium
- minimal_access += access_crematorium
+ access += GLOB.access_crematorium
+ minimal_access += GLOB.access_crematorium
MAP_REMOVE_JOB(librarian)
MAP_REMOVE_JOB(lawyer)
\ No newline at end of file
diff --git a/_maps/map_files/TgStation/tgstation.2.1.3.dmm b/_maps/map_files/TgStation/tgstation.2.1.3.dmm
index caf6058064..21c28c6bd6 100644
--- a/_maps/map_files/TgStation/tgstation.2.1.3.dmm
+++ b/_maps/map_files/TgStation/tgstation.2.1.3.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
"aaa" = (
/turf/open/space/basic,
/area/space)
@@ -18,10 +18,13 @@
"aac" = (
/turf/closed/wall/mineral/plastitanium,
/area/shuttle/syndicate)
-"aae" = (
-/obj/effect/landmark{
- name = "carpspawn"
+"aad" = (
+/turf/closed/wall/shuttle{
+ icon_state = "wall3"
},
+/area/shuttle/syndicate)
+"aae" = (
+/obj/effect/landmark/carpspawn,
/turf/open/space,
/area/space)
"aaf" = (
@@ -430,7 +433,7 @@
/turf/closed/wall,
/area/security/main)
"abq" = (
-/turf/closed/wall,
+/turf/closed/wall/r_wall,
/area/security/hos)
"abr" = (
/obj/structure/grille,
@@ -810,9 +813,7 @@
/area/security/transfer)
"acc" = (
/obj/structure/bed,
-/obj/effect/landmark{
- name = "revenantspawn"
- },
+/obj/effect/landmark/revenantspawn,
/turf/open/floor/plasteel/black,
/area/security/transfer)
"acd" = (
@@ -925,9 +926,7 @@
/turf/open/floor/plasteel/showroomfloor,
/area/security/main)
"acq" = (
-/obj/effect/landmark{
- name = "secequipment"
- },
+/obj/effect/landmark/secequipment,
/turf/open/floor/plasteel/showroomfloor,
/area/security/main)
"acr" = (
@@ -2100,6 +2099,9 @@
"aeE" = (
/turf/closed/wall/mineral/titanium,
/area/shuttle/pod_3)
+"aeF" = (
+/turf/closed/wall/mineral/titanium/overspace,
+/area/shuttle/pod_3)
"aeG" = (
/obj/structure/cable,
/obj/machinery/power/solar{
@@ -2413,25 +2415,19 @@
/turf/open/floor/plasteel/showroomfloor,
/area/security/main)
"aff" = (
-/obj/effect/landmark/start{
- name = "Security Officer"
- },
+/obj/effect/landmark/start/security_officer,
/turf/open/floor/plasteel/red/side{
dir = 9
},
/area/security/main)
"afg" = (
-/obj/effect/landmark/start{
- name = "Security Officer"
- },
+/obj/effect/landmark/start/security_officer,
/turf/open/floor/plasteel/red/side{
dir = 1
},
/area/security/main)
"afh" = (
-/obj/effect/landmark/start{
- name = "Security Officer"
- },
+/obj/effect/landmark/start/security_officer,
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/turf/open/floor/plasteel/red/side{
dir = 1
@@ -2442,9 +2438,7 @@
dir = 4;
icon_state = "pipe-c"
},
-/obj/effect/landmark/start{
- name = "Security Officer"
- },
+/obj/effect/landmark/start/security_officer,
/turf/open/floor/plasteel/red/side{
dir = 1
},
@@ -2465,9 +2459,7 @@
dir = 8;
icon_state = "pipe-c"
},
-/obj/effect/landmark/start{
- name = "Security Officer"
- },
+/obj/effect/landmark/start/security_officer,
/turf/open/floor/plasteel/red/side{
dir = 1
},
@@ -2763,9 +2755,7 @@
/turf/open/floor/plasteel/showroomfloor,
/area/security/main)
"afT" = (
-/obj/effect/landmark/start{
- name = "Security Officer"
- },
+/obj/effect/landmark/start/security_officer,
/turf/open/floor/plasteel/red/side{
dir = 8
},
@@ -2790,16 +2780,12 @@
d2 = 2;
icon_state = "1-2"
},
-/obj/effect/landmark/start{
- name = "Head of Security"
- },
+/obj/effect/landmark/start/head_of_security,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/turf/open/floor/plasteel,
/area/security/main)
"afY" = (
-/obj/effect/landmark/start{
- name = "Security Officer"
- },
+/obj/effect/landmark/start/security_officer,
/obj/structure/chair{
dir = 8
},
@@ -2840,6 +2826,12 @@
/obj/machinery/atmospherics/pipe/manifold4w/general/visible,
/turf/open/floor/plasteel,
/area/atmos)
+"age" = (
+/obj/machinery/atmospherics/pipe/simple/general/visible{
+ dir = 9
+ },
+/turf/open/floor/plasteel,
+/area/atmos)
"agf" = (
/obj/structure/table,
/obj/item/stack/sheet/metal{
@@ -2995,6 +2987,12 @@
},
/turf/open/floor/plasteel/showroomfloor,
/area/security/warden)
+"agv" = (
+/obj/machinery/atmospherics/pipe/simple/general/visible{
+ dir = 6
+ },
+/turf/open/floor/plasteel,
+/area/atmos)
"agw" = (
/obj/structure/table,
/obj/machinery/syndicatebomb/training,
@@ -3018,9 +3016,7 @@
},
/area/security/main)
"agz" = (
-/obj/effect/landmark/start{
- name = "Security Officer"
- },
+/obj/effect/landmark/start/security_officer,
/turf/open/floor/plasteel/red/corner{
dir = 1
},
@@ -3262,9 +3258,7 @@
/turf/open/floor/plasteel,
/area/security/main)
"ahb" = (
-/obj/effect/landmark/start{
- name = "Security Officer"
- },
+/obj/effect/landmark/start/security_officer,
/turf/open/floor/plasteel,
/area/security/main)
"ahc" = (
@@ -3305,9 +3299,7 @@
/obj/structure/disposalpipe/segment{
dir = 4
},
-/obj/effect/landmark/start{
- name = "Security Officer"
- },
+/obj/effect/landmark/start/security_officer,
/obj/structure/chair{
dir = 8
},
@@ -3699,9 +3691,7 @@
},
/obj/structure/chair,
/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,
-/obj/effect/landmark/start{
- name = "Security Officer"
- },
+/obj/effect/landmark/start/security_officer,
/turf/open/floor/plasteel,
/area/security/main)
"ahL" = (
@@ -3771,9 +3761,7 @@
/area/security/warden)
"ahR" = (
/obj/structure/chair/office/dark,
-/obj/effect/landmark/start{
- name = "Warden"
- },
+/obj/effect/landmark/start/warden,
/obj/machinery/button/door{
id = "Prison Gate";
name = "Prison Wing Lockdown";
@@ -4133,6 +4121,11 @@
pixel_y = 0
},
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/machinery/airalarm{
+ dir = 4;
+ pixel_x = -23;
+ pixel_y = 0
+ },
/turf/open/floor/plasteel/red/corner{
dir = 1
},
@@ -4561,7 +4554,7 @@
"ajy" = (
/obj/machinery/power/apc{
dir = 1;
- name = "Labor Shuttle Dock APC";
+ name = "Brig APC";
pixel_y = 24
},
/obj/structure/cable{
@@ -4785,6 +4778,15 @@
/obj/structure/window/shuttle,
/turf/open/floor/plating,
/area/shuttle/labor)
+"ajY" = (
+/obj/machinery/atmospherics/pipe/simple/yellow/visible,
+/obj/machinery/atmospherics/components/binary/pump{
+ dir = 8;
+ name = "Unfiltered to Port";
+ on = 0
+ },
+/turf/open/floor/plasteel,
+/area/atmos)
"ajZ" = (
/obj/structure/grille,
/obj/structure/window/reinforced/fulltile,
@@ -6038,10 +6040,7 @@
/area/maintenance/fpmaint2)
"amE" = (
/obj/structure/bed,
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/xeno_spawn,
/obj/item/weapon/bedsheet,
/turf/open/floor/plating,
/area/maintenance/fpmaint2)
@@ -6092,7 +6091,7 @@
name = "KEEP CLEAR: DOCKING AREA";
pixel_y = 0
},
-/turf/closed/wall,
+/turf/closed/wall/r_wall,
/area/security/processing)
"amL" = (
/obj/structure/grille,
@@ -7118,10 +7117,7 @@
/area/maintenance/fpmaint2)
"aoU" = (
/obj/structure/bed,
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/xeno_spawn,
/turf/open/floor/plating,
/area/maintenance/fpmaint2)
"aoV" = (
@@ -7323,9 +7319,7 @@
name = "Air In";
on = 1
},
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/obj/effect/turf_decal/stripes/line{
dir = 8
},
@@ -7487,6 +7481,15 @@
},
/turf/open/floor/plating,
/area/security/processing)
+"apT" = (
+/obj/structure/chair/comfy/beige{
+ desc = "It looks comfy and extra tactical.\nAlt-click to rotate it clockwise. ";
+ dir = 1;
+ icon_state = "comfychair";
+ name = "tactical armchair"
+ },
+/turf/open/floor/mineral/plastitanium,
+/area/shuttle/syndicate)
"apU" = (
/turf/open/floor/plating,
/area/security/vacantoffice2)
@@ -7733,9 +7736,7 @@
/area/crew_quarters/fitness)
"aqt" = (
/obj/structure/grille,
-/obj/effect/landmark{
- name = "Syndicate Breach Area"
- },
+/obj/effect/landmark/syndicate_breach_area,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
},
@@ -7815,10 +7816,7 @@
/turf/open/floor/plating,
/area/maintenance/fsmaint2)
"aqE" = (
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/xeno_spawn,
/turf/open/floor/plating,
/area/maintenance/fsmaint2)
"aqF" = (
@@ -7931,6 +7929,16 @@
},
/turf/open/floor/plating,
/area/security/processing)
+"aqU" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/obj/structure/chair{
+ dir = 4
+ },
+/obj/effect/landmark/start/cargo_technician,
+/turf/open/floor/plasteel,
+/area/quartermaster/office)
"aqV" = (
/obj/structure/table/wood,
/obj/item/weapon/paper_bin{
@@ -8323,6 +8331,10 @@
dir = 4
},
/obj/structure/filingcabinet/employment,
+/obj/machinery/firealarm{
+ dir = 8;
+ pixel_x = -24
+ },
/turf/open/floor/wood,
/area/lawoffice)
"arW" = (
@@ -8353,9 +8365,7 @@
/obj/structure/chair/office/dark{
dir = 8
},
-/obj/effect/landmark/start{
- name = "Lawyer"
- },
+/obj/effect/landmark/start/lawyer,
/obj/machinery/atmospherics/components/unary/vent_pump{
dir = 8;
on = 1
@@ -8787,9 +8797,7 @@
/area/mining_construction)
"atc" = (
/obj/structure/chair/office/dark,
-/obj/effect/landmark/start{
- name = "Lawyer"
- },
+/obj/effect/landmark/start/lawyer,
/turf/open/floor/wood,
/area/lawoffice)
"atd" = (
@@ -8802,10 +8810,7 @@
},
/area/hallway/primary/fore)
"ate" = (
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/xeno_spawn,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
},
@@ -8974,6 +8979,10 @@
icon_state = "panelscorched"
},
/area/maintenance/fsmaint2)
+"atz" = (
+/mob/living/simple_animal/mouse,
+/turf/open/floor/plating,
+/area/maintenance/fsmaint2)
"atA" = (
/obj/structure/table,
/turf/open/floor/plating,
@@ -9082,9 +9091,7 @@
/turf/open/floor/wood,
/area/crew_quarters/sleep)
"atR" = (
-/obj/effect/landmark{
- name = "carpspawn"
- },
+/obj/effect/landmark/carpspawn,
/obj/structure/lattice,
/turf/open/space,
/area/space/nearstation)
@@ -9782,9 +9789,7 @@
/obj/structure/chair/stool{
pixel_y = 8
},
-/obj/effect/landmark/start{
- name = "Assistant"
- },
+/obj/effect/landmark/start/assistant,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
},
@@ -10103,9 +10108,7 @@
/turf/open/floor/plating,
/area/maintenance/fpmaint)
"awh" = (
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -10297,9 +10300,7 @@
/turf/open/floor/plasteel,
/area/crew_quarters/fitness)
"awB" = (
-/obj/effect/landmark/start{
- name = "Assistant"
- },
+/obj/effect/landmark/start/assistant,
/turf/open/floor/plasteel/green/side{
dir = 4
},
@@ -10574,6 +10575,10 @@
dir = 4
},
/area/mining_construction)
+"axd" = (
+/mob/living/simple_animal/mouse,
+/turf/open/floor/plating,
+/area/maintenance/fpmaint2)
"axe" = (
/obj/machinery/sleeper{
dir = 4;
@@ -10582,9 +10587,7 @@
/turf/open/floor/plating,
/area/maintenance/fpmaint2)
"axf" = (
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/turf/open/floor/plating,
/area/maintenance/fpmaint2)
"axg" = (
@@ -10894,9 +10897,7 @@
/obj/structure/chair/stool{
pixel_y = 8
},
-/obj/effect/landmark/start{
- name = "Assistant"
- },
+/obj/effect/landmark/start/assistant,
/turf/open/floor/plasteel,
/area/crew_quarters/sleep)
"axP" = (
@@ -12076,9 +12077,7 @@
/area/maintenance/fsmaint2)
"aAv" = (
/obj/structure/closet,
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/obj/effect/spawner/lootdrop/maintenance,
/obj/item/weapon/reagent_containers/food/drinks/bottle/vodka/badminka,
/turf/open/floor/plating,
@@ -12474,9 +12473,7 @@
/turf/open/floor/plating,
/area/security/checkpoint2)
"aBm" = (
-/obj/effect/landmark/start{
- name = "Assistant"
- },
+/obj/effect/landmark/start/assistant,
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 5
},
@@ -12630,9 +12627,7 @@
/obj/item/clothing/under/rank/mailman,
/obj/item/clothing/head/mailman,
/obj/structure/closet,
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/turf/open/floor/plating,
/area/maintenance/fsmaint2)
"aBF" = (
@@ -12684,9 +12679,7 @@
/turf/open/floor/plating,
/area/maintenance/fpmaint2)
"aBM" = (
-/obj/effect/landmark/start{
- name = "Assistant"
- },
+/obj/effect/landmark/start/assistant,
/turf/open/floor/plasteel,
/area/hallway/secondary/construction{
name = "\improper Garden"
@@ -12850,10 +12843,7 @@
/turf/open/floor/carpet,
/area/crew_quarters/sleep)
"aCe" = (
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/xeno_spawn,
/obj/item/weapon/bikehorn/rubberducky,
/obj/structure/cable{
d1 = 1;
@@ -13416,6 +13406,11 @@
},
/turf/open/floor/circuit,
/area/ai_monitored/nuke_storage)
+"aDu" = (
+/obj/structure/table,
+/obj/machinery/microwave,
+/turf/open/floor/mineral/plastitanium,
+/area/shuttle/syndicate)
"aDv" = (
/obj/machinery/atmospherics/components/unary/vent_pump{
dir = 8;
@@ -13552,6 +13547,14 @@
},
/turf/closed/wall/r_wall,
/area/ai_monitored/storage/eva)
+"aDJ" = (
+/obj/structure/table,
+/obj/item/device/flashlight/lamp{
+ pixel_x = 4;
+ pixel_y = 1
+ },
+/turf/open/floor/mineral/plastitanium,
+/area/shuttle/syndicate)
"aDK" = (
/obj/machinery/door/airlock{
id_tag = "Dorm1";
@@ -13692,9 +13695,7 @@
/area/maintenance/fsmaint2)
"aDY" = (
/obj/structure/chair/stool,
-/obj/effect/landmark/start{
- name = "Mime"
- },
+/obj/effect/landmark/start/mime,
/obj/machinery/atmospherics/components/unary/vent_scrubber{
dir = 4;
on = 1;
@@ -14594,9 +14595,7 @@
/turf/open/floor/plasteel,
/area/storage/primary)
"aFS" = (
-/obj/effect/landmark/start{
- name = "Assistant"
- },
+/obj/effect/landmark/start/assistant,
/turf/open/floor/plasteel,
/area/storage/primary)
"aFT" = (
@@ -14606,9 +14605,7 @@
/turf/open/floor/plasteel,
/area/storage/primary)
"aFU" = (
-/obj/effect/landmark/start{
- name = "Assistant"
- },
+/obj/effect/landmark/start/assistant,
/obj/machinery/atmospherics/components/unary/vent_scrubber{
dir = 4;
on = 1;
@@ -14763,9 +14760,7 @@
/obj/machinery/light/small{
dir = 8
},
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/turf/open/floor/plasteel/freezer,
/area/crew_quarters/toilet)
"aGo" = (
@@ -14810,9 +14805,7 @@
/area/ai_monitored/storage/eva)
"aGr" = (
/obj/structure/chair/stool,
-/obj/effect/landmark/start{
- name = "Clown"
- },
+/obj/effect/landmark/start/clown,
/obj/machinery/atmospherics/components/unary/vent_pump{
dir = 4;
on = 1
@@ -15363,9 +15356,7 @@
/turf/open/floor/plating,
/area/chapel/main)
"aHr" = (
-/obj/effect/landmark{
- name = "Marauder Entry"
- },
+/obj/effect/landmark/marauder_entry,
/turf/open/space,
/area/space)
"aHs" = (
@@ -15374,6 +15365,10 @@
},
/turf/open/floor/mineral/titanium/blue,
/area/shuttle/arrival)
+"aHt" = (
+/obj/effect/landmark/observer_start,
+/turf/open/floor/mineral/titanium/blue,
+/area/shuttle/arrival)
"aHu" = (
/obj/machinery/status_display{
density = 0;
@@ -15461,9 +15456,7 @@
/obj/structure/chair/stool{
pixel_y = 8
},
-/obj/effect/landmark/start{
- name = "Assistant"
- },
+/obj/effect/landmark/start/assistant,
/turf/open/floor/plasteel,
/area/storage/primary)
"aHE" = (
@@ -15616,9 +15609,7 @@
/obj/structure/mirror{
pixel_x = -28
},
-/obj/effect/landmark/start{
- name = "Assistant"
- },
+/obj/effect/landmark/start/assistant,
/turf/open/floor/plasteel/freezer,
/area/crew_quarters/toilet)
"aHV" = (
@@ -15885,9 +15876,7 @@
dir = 4;
icon_state = "pipe-c"
},
-/obj/effect/landmark/start{
- name = "Assistant"
- },
+/obj/effect/landmark/start/assistant,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
},
@@ -15924,16 +15913,12 @@
/area/chapel/office)
"aIB" = (
/obj/structure/bodycontainer/crematorium,
-/obj/effect/landmark{
- name = "revenantspawn"
- },
+/obj/effect/landmark/revenantspawn,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/turf/open/floor/plasteel/black,
/area/chapel/office)
"aIC" = (
-/obj/effect/landmark/start{
- name = "Chaplain"
- },
+/obj/effect/landmark/start/chaplain,
/obj/structure/chair,
/turf/open/floor/plasteel/grimy,
/area/chapel/office)
@@ -17142,6 +17127,28 @@
},
/turf/open/floor/plasteel/black,
/area/chapel/main)
+"aLs" = (
+/obj/machinery/door/airlock/titanium{
+ name = "Arrivals Shuttle Airlock"
+ },
+/obj/docking_port/mobile{
+ dwidth = 5;
+ height = 7;
+ id = "arrival";
+ name = "arrival shuttle";
+ port_angle = -90;
+ preferred_direction = 8;
+ width = 15
+ },
+/obj/docking_port/stationary{
+ dwidth = 5;
+ height = 7;
+ id = "arrival_home";
+ name = "port bay 1";
+ width = 15
+ },
+/turf/open/floor/plating,
+/area/shuttle/arrival)
"aLt" = (
/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
dir = 4
@@ -17179,9 +17186,7 @@
/area/hallway/primary/central)
"aLy" = (
/obj/structure/chair/comfy/beige,
-/obj/effect/landmark/start{
- name = "Assistant"
- },
+/obj/effect/landmark/start/assistant,
/turf/open/floor/plasteel/grimy,
/area/hallway/secondary/entry)
"aLz" = (
@@ -17442,10 +17447,7 @@
/area/hallway/primary/central)
"aMi" = (
/obj/structure/disposalpipe/segment,
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/xeno_spawn,
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/turf/open/floor/wood,
/area/crew_quarters/bar)
@@ -17737,9 +17739,7 @@
/area/hallway/primary/port)
"aMW" = (
/obj/structure/bodycontainer/morgue,
-/obj/effect/landmark{
- name = "revenantspawn"
- },
+/obj/effect/landmark/revenantspawn,
/turf/open/floor/plasteel/black,
/area/chapel/office)
"aMX" = (
@@ -17901,9 +17901,7 @@
},
/area/hallway/primary/central)
"aNx" = (
-/obj/effect/landmark{
- name = "Observer-Start"
- },
+/obj/effect/landmark/observer_start,
/turf/open/floor/plasteel{
icon_state = "L8"
},
@@ -18519,9 +18517,7 @@
},
/area/crew_quarters/bar)
"aOP" = (
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/obj/item/toy/beach_ball/holoball,
/turf/open/floor/plating,
/area/crew_quarters/bar)
@@ -18585,9 +18581,7 @@
dir = 1;
icon_state = "comfychair"
},
-/obj/effect/landmark/start{
- name = "Assistant"
- },
+/obj/effect/landmark/start/assistant,
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/turf/open/floor/plasteel/grimy,
/area/hallway/secondary/entry)
@@ -19024,9 +19018,7 @@
/area/crew_quarters/bar)
"aQd" = (
/obj/structure/chair,
-/obj/effect/landmark/start{
- name = "Assistant"
- },
+/obj/effect/landmark/start/assistant,
/turf/open/floor/plasteel/bar,
/area/crew_quarters/bar)
"aQe" = (
@@ -19128,9 +19120,7 @@
/turf/open/floor/engine/cult,
/area/library)
"aQt" = (
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/obj/structure/chair/comfy/brown{
dir = 1
},
@@ -19490,9 +19480,7 @@
/obj/structure/chair{
dir = 1
},
-/obj/effect/landmark/start{
- name = "Assistant"
- },
+/obj/effect/landmark/start/assistant,
/turf/open/floor/plasteel/bar,
/area/crew_quarters/bar)
"aRx" = (
@@ -19782,9 +19770,7 @@
/turf/open/floor/plasteel,
/area/crew_quarters/locker)
"aSj" = (
-/obj/effect/landmark{
- name = "lightsout"
- },
+/obj/effect/landmark/lightsout,
/turf/open/floor/plasteel,
/area/crew_quarters/locker)
"aSk" = (
@@ -19961,9 +19947,7 @@
/turf/open/floor/plasteel/bar,
/area/crew_quarters/kitchen)
"aSJ" = (
-/obj/effect/landmark/start{
- name = "Cook"
- },
+/obj/effect/landmark/start/cook,
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
},
@@ -20086,9 +20070,7 @@
/turf/open/floor/plasteel/bar,
/area/crew_quarters/bar)
"aSZ" = (
-/obj/effect/landmark/start{
- name = "Bartender"
- },
+/obj/effect/landmark/start/bartender,
/turf/open/floor/plasteel/bar,
/area/crew_quarters/bar)
"aTa" = (
@@ -20158,9 +20140,7 @@
"aTi" = (
/obj/structure/chair/stool,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
-/obj/effect/landmark/start{
- name = "Assistant"
- },
+/obj/effect/landmark/start/assistant,
/turf/open/floor/plasteel/chapel{
dir = 8
},
@@ -20214,6 +20194,9 @@
},
/turf/open/floor/plating,
/area/hallway/secondary/exit)
+"aTp" = (
+/turf/open/floor/mineral/plastitanium,
+/area/shuttle/syndicate)
"aTq" = (
/turf/closed/wall,
/area/security/vacantoffice{
@@ -20269,9 +20252,7 @@
/obj/structure/chair/stool{
pixel_y = 8
},
-/obj/effect/landmark/start{
- name = "Assistant"
- },
+/obj/effect/landmark/start/assistant,
/turf/open/floor/plasteel,
/area/crew_quarters/locker)
"aTy" = (
@@ -20576,9 +20557,7 @@
/obj/structure/chair/stool{
pixel_y = 8
},
-/obj/effect/landmark/start{
- name = "Assistant"
- },
+/obj/effect/landmark/start/assistant,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
},
@@ -20659,9 +20638,7 @@
/area/library)
"aUC" = (
/obj/structure/chair/comfy/black,
-/obj/effect/landmark/start{
- name = "Assistant"
- },
+/obj/effect/landmark/start/assistant,
/turf/open/floor/wood,
/area/library)
"aUD" = (
@@ -20677,9 +20654,7 @@
/turf/open/floor/wood,
/area/library)
"aUF" = (
-/obj/effect/landmark/start{
- name = "Librarian"
- },
+/obj/effect/landmark/start/librarian,
/obj/structure/chair/office/dark,
/turf/open/floor/wood,
/area/library)
@@ -20693,9 +20668,7 @@
/area/chapel/main)
"aUH" = (
/obj/structure/chair/stool,
-/obj/effect/landmark/start{
- name = "Assistant"
- },
+/obj/effect/landmark/start/assistant,
/turf/open/floor/plasteel/chapel{
dir = 4
},
@@ -21190,9 +21163,7 @@
/turf/open/floor/plasteel/black,
/area/hydroponics)
"aVK" = (
-/obj/effect/landmark/start{
- name = "Botanist"
- },
+/obj/effect/landmark/start/botanist,
/turf/open/floor/plasteel,
/area/hydroponics)
"aVL" = (
@@ -21985,9 +21956,7 @@
/turf/open/floor/plasteel/bar,
/area/crew_quarters/bar)
"aXm" = (
-/obj/effect/landmark/start{
- name = "Cook"
- },
+/obj/effect/landmark/start/cook,
/turf/open/floor/plasteel/cafeteria,
/area/crew_quarters/kitchen)
"aXn" = (
@@ -22130,6 +22099,15 @@
},
/turf/open/floor/plasteel,
/area/hallway/secondary/exit)
+"aXH" = (
+/obj/structure/table,
+/obj/machinery/button/door{
+ id = "syndieshutters";
+ name = "remote shutter control";
+ req_access_txt = "150"
+ },
+/turf/open/floor/mineral/plastitanium,
+/area/shuttle/syndicate)
"aXI" = (
/obj/machinery/door/airlock/external{
cyclelinkeddir = 4;
@@ -22337,10 +22315,7 @@
/turf/open/floor/plating,
/area/maintenance/port)
"aYg" = (
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/xeno_spawn,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
},
@@ -22587,9 +22562,7 @@
/area/crew_quarters/locker)
"aYI" = (
/obj/structure/chair/stool/bar,
-/obj/effect/landmark/start{
- name = "Assistant"
- },
+/obj/effect/landmark/start/assistant,
/turf/open/floor/plasteel/bar,
/area/crew_quarters/bar)
"aYJ" = (
@@ -22647,9 +22620,7 @@
/area/hydroponics)
"aYR" = (
/obj/structure/chair/stool,
-/obj/effect/landmark/start{
- name = "Botanist"
- },
+/obj/effect/landmark/start/botanist,
/turf/open/floor/plasteel,
/area/hydroponics)
"aYS" = (
@@ -23479,9 +23450,7 @@
/area/security/detectives_office)
"baX" = (
/obj/structure/chair/comfy/brown,
-/obj/effect/landmark/start{
- name = "Detective"
- },
+/obj/effect/landmark/start/detective,
/turf/open/floor/carpet,
/area/security/detectives_office)
"baY" = (
@@ -23549,9 +23518,7 @@
/turf/open/floor/plating,
/area/maintenance/port)
"bbg" = (
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/obj/structure/disposalpipe/segment{
dir = 2;
icon_state = "pipe-c"
@@ -24045,10 +24012,7 @@
/turf/open/floor/plasteel,
/area/hallway/primary/starboard)
"bct" = (
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/xeno_spawn,
/turf/open/floor/plasteel/freezer,
/area/crew_quarters/locker/locker_toilet)
"bcu" = (
@@ -24240,6 +24204,11 @@
},
/turf/closed/wall,
/area/quartermaster/storage)
+"bcU" = (
+/obj/structure/table/wood/poker,
+/obj/item/device/flashlight/lamp/green,
+/turf/open/floor/wood,
+/area/space/nearstation)
"bcV" = (
/obj/machinery/airalarm{
dir = 8;
@@ -24609,9 +24578,7 @@
/turf/open/floor/carpet,
/area/bridge/meeting_room)
"bdL" = (
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/obj/item/clothing/suit/ianshirt,
/obj/structure/closet,
/turf/open/floor/plating,
@@ -24686,6 +24653,11 @@
/obj/structure/closet/crate/medical,
/turf/open/floor/plasteel/floorgrime,
/area/quartermaster/storage)
+"bdV" = (
+/turf/open/floor/wood{
+ icon_state = "wood-broken6"
+ },
+/area/space/nearstation)
"bdW" = (
/obj/item/clothing/gloves/color/rainbow,
/obj/item/clothing/head/soft/rainbow,
@@ -25926,9 +25898,7 @@
/obj/structure/chair/comfy/brown{
dir = 4
},
-/obj/effect/landmark/start{
- name = "Captain"
- },
+/obj/effect/landmark/start/captain,
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/turf/open/floor/wood,
/area/crew_quarters/captain)
@@ -26329,6 +26299,18 @@
},
/turf/open/floor/plating,
/area/maintenance/disposal)
+"bhK" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/assembly/chargebay)
"bhL" = (
/obj/machinery/mineral/stacking_machine{
input_dir = 1;
@@ -26362,6 +26344,14 @@
},
/turf/open/floor/plating,
/area/maintenance/port)
+"bhP" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ dir = 8;
+ on = 1;
+ scrub_Toxins = 0
+ },
+/turf/open/floor/plasteel/white,
+/area/assembly/robotics)
"bhQ" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
@@ -26589,9 +26579,7 @@
/obj/structure/chair/office/light{
dir = 4
},
-/obj/effect/landmark/start{
- name = "Chemist"
- },
+/obj/effect/landmark/start/chemist,
/turf/open/floor/plasteel/whiteyellow/side{
dir = 4
},
@@ -26637,9 +26625,7 @@
/area/security/checkpoint/medical)
"biz" = (
/obj/structure/bodycontainer/morgue,
-/obj/effect/landmark{
- name = "revenantspawn"
- },
+/obj/effect/landmark/revenantspawn,
/turf/open/floor/plasteel/black,
/area/medical/morgue)
"biA" = (
@@ -26751,6 +26737,13 @@
"biL" = (
/turf/open/floor/plasteel/white,
/area/assembly/robotics)
+"biM" = (
+/obj/structure/chair/office/light{
+ dir = 1
+ },
+/obj/effect/landmark/start/roboticist,
+/turf/open/floor/plasteel/white,
+/area/assembly/robotics)
"biN" = (
/turf/open/floor/plasteel/whitered/side{
dir = 1
@@ -26837,9 +26830,7 @@
/area/toxins/lab)
"biV" = (
/obj/structure/chair/stool,
-/obj/effect/landmark/start{
- name = "Scientist"
- },
+/obj/effect/landmark/start/scientist,
/turf/open/floor/plasteel/whitepurple/side{
dir = 1
},
@@ -26876,6 +26867,10 @@
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/turf/open/floor/plating,
/area/maintenance/asmaint2)
+"biZ" = (
+/obj/machinery/computer/shuttle/syndicate,
+/turf/open/floor/mineral/plastitanium,
+/area/shuttle/syndicate)
"bja" = (
/obj/structure/grille,
/obj/structure/window/reinforced/fulltile,
@@ -27305,6 +27300,15 @@
dir = 2
},
/area/medical/medbay)
+"bjW" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel,
+/area/assembly/chargebay)
"bjX" = (
/obj/structure/table,
/obj/machinery/recharger{
@@ -27381,6 +27385,14 @@
/obj/structure/reagent_dispensers/watertank,
/turf/open/floor/plating,
/area/storage/emergency)
+"bkg" = (
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/turf/open/floor/circuit,
+/area/assembly/chargebay)
"bkh" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/turf/open/floor/circuit,
@@ -27425,6 +27437,23 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/plasteel/white,
/area/assembly/robotics)
+"bkl" = (
+/obj/machinery/door/firedoor,
+/obj/machinery/door/airlock/glass_research{
+ name = "Robotics Lab";
+ req_access_txt = "29"
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/white,
+/area/assembly/robotics)
"bkm" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 10
@@ -27811,9 +27840,7 @@
/turf/open/floor/plating,
/area/bridge/meeting_room)
"bkY" = (
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/obj/structure/cable{
d1 = 1;
d2 = 8;
@@ -28223,11 +28250,13 @@
/area/toxins/lab)
"blM" = (
/obj/effect/turf_decal/bot,
-/obj/effect/landmark/start{
- name = "Roboticist"
- },
+/obj/effect/landmark/start/roboticist,
/turf/open/floor/plasteel,
/area/assembly/robotics)
+"blN" = (
+/obj/machinery/holopad,
+/turf/open/floor/plasteel/white,
+/area/assembly/robotics)
"blO" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/turf/open/floor/plating,
@@ -28667,9 +28696,7 @@
pixel_x = -26;
req_access_txt = "5"
},
-/obj/effect/landmark/start{
- name = "Medical Doctor"
- },
+/obj/effect/landmark/start/medical_doctor,
/turf/open/floor/plasteel/white,
/area/medical/medbay)
"bmM" = (
@@ -28802,6 +28829,26 @@
},
/turf/closed/wall/r_wall,
/area/assembly/chargebay)
+"bnd" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel,
+/area/assembly/chargebay)
+"bne" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel,
+/area/assembly/chargebay)
"bnf" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 10
@@ -28998,9 +29045,7 @@
/turf/open/floor/plasteel,
/area/quartermaster/office)
"bnz" = (
-/obj/effect/landmark/start{
- name = "Cargo Technician"
- },
+/obj/effect/landmark/start/cargo_technician,
/obj/structure/chair/office/dark{
dir = 4
},
@@ -29130,13 +29175,11 @@
},
/area/hallway/primary/central)
"bnO" = (
-/obj/structure/table,
/obj/machinery/newscaster/security_unit{
pixel_x = 0;
pixel_y = 32
},
-/obj/item/weapon/hand_labeler,
-/obj/item/stack/packageWrap,
+/obj/structure/filingcabinet/chestdrawer,
/turf/open/floor/plasteel,
/area/crew_quarters/heads)
"bnP" = (
@@ -29422,6 +29465,14 @@
},
/turf/open/floor/plasteel/white,
/area/medical/medbay)
+"bop" = (
+/obj/machinery/mech_bay_recharge_port,
+/obj/structure/cable{
+ icon_state = "0-2";
+ d2 = 2
+ },
+/turf/open/floor/plating,
+/area/assembly/chargebay)
"boq" = (
/obj/structure/bed/roller,
/turf/open/floor/plasteel/whiteblue/side{
@@ -29446,6 +29497,14 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/plasteel/white,
/area/assembly/robotics)
+"bot" = (
+/obj/structure/grille,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/window/reinforced/fulltile,
+/turf/open/floor/plating,
+/area/assembly/robotics)
"bou" = (
/turf/open/floor/plasteel,
/area/assembly/robotics)
@@ -29871,9 +29930,7 @@
},
/obj/item/weapon/soap/deluxe,
/obj/item/weapon/bikehorn/rubberducky,
-/obj/effect/landmark{
- name = "revenantspawn"
- },
+/obj/effect/landmark/revenantspawn,
/obj/structure/curtain,
/turf/open/floor/plasteel/freezer,
/area/crew_quarters/captain)
@@ -30244,6 +30301,21 @@
},
/turf/open/floor/plasteel/black,
/area/assembly/robotics)
+"bqb" = (
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/assembly/chargebay)
"bqc" = (
/obj/machinery/atmospherics/pipe/manifold/supply/hidden,
/turf/open/floor/plasteel/white,
@@ -30696,9 +30768,7 @@
/obj/structure/chair/office/light{
dir = 4
},
-/obj/effect/landmark/start{
- name = "Geneticist"
- },
+/obj/effect/landmark/start/geneticist,
/turf/open/floor/plasteel/white,
/area/medical/genetics)
"brd" = (
@@ -30773,6 +30843,16 @@
},
/turf/open/floor/plasteel/white,
/area/medical/genetics)
+"brl" = (
+/obj/machinery/light_switch{
+ pixel_x = -23;
+ pixel_y = 0
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/turf/open/floor/plasteel/white,
+/area/assembly/robotics)
"brm" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -30928,7 +31008,7 @@
"bry" = (
/obj/machinery/door/airlock/maintenance{
name = "Experimentation Lab Maintenance";
- req_access_txt = "7"
+ req_access_txt = "47"
},
/obj/structure/disposalpipe/segment{
dir = 4
@@ -30996,7 +31076,8 @@
/area/toxins/explab)
"brE" = (
/obj/machinery/door/airlock/maintenance{
- req_access_txt = "12"
+ req_access_txt = "0";
+ req_one_access_txt = "8;12"
},
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/turf/open/floor/plating,
@@ -31183,7 +31264,7 @@
icon_state = "4-8";
pixel_x = 0
},
-/obj/structure/filingcabinet/chestdrawer,
+/obj/machinery/vending/cart,
/turf/open/floor/plasteel,
/area/crew_quarters/heads)
"brX" = (
@@ -31485,6 +31566,10 @@
/area/medical/research{
name = "Research Division"
})
+"bsB" = (
+/obj/structure/reagent_dispensers/fueltank,
+/turf/open/floor/mineral/plastitanium,
+/area/shuttle/syndicate)
"bsC" = (
/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,
/turf/open/floor/plasteel/white,
@@ -31513,7 +31598,7 @@
/obj/machinery/door/firedoor/heavy,
/obj/machinery/door/airlock/research{
name = "Experimentation Lab";
- req_access_txt = "7"
+ req_access_txt = "47"
},
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
@@ -31666,9 +31751,7 @@
/obj/structure/chair/office/dark{
dir = 4
},
-/obj/effect/landmark/start{
- name = "Head of Personnel"
- },
+/obj/effect/landmark/start/head_of_personnel,
/turf/open/floor/plasteel,
/area/crew_quarters/heads)
"bsZ" = (
@@ -32260,6 +32343,9 @@
},
/turf/open/floor/plasteel/white,
/area/medical/genetics)
+"buh" = (
+/turf/closed/wall/r_wall,
+/area/assembly/chargebay)
"bui" = (
/obj/machinery/airalarm{
dir = 1;
@@ -32459,6 +32545,10 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/plating,
/area/maintenance/asmaint2)
+"buA" = (
+/obj/structure/frame/computer,
+/turf/open/floor/mineral/plastitanium,
+/area/shuttle/syndicate)
"buB" = (
/obj/machinery/conveyor_switch/oneway{
convdir = -1;
@@ -32890,9 +32980,7 @@
/area/medical/genetics)
"bvq" = (
/obj/structure/chair,
-/obj/effect/landmark/start{
- name = "Geneticist"
- },
+/obj/effect/landmark/start/geneticist,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
},
@@ -33094,9 +33182,7 @@
/area/toxins/explab)
"bvN" = (
/obj/structure/chair/office/light,
-/obj/effect/landmark/start{
- name = "Scientist"
- },
+/obj/effect/landmark/start/scientist,
/turf/open/floor/plasteel/white,
/area/toxins/explab)
"bvO" = (
@@ -33307,7 +33393,11 @@
/area/crew_quarters/heads)
"bwk" = (
/obj/structure/table,
-/obj/item/weapon/book/manual/wiki/security_space_law,
+/obj/item/weapon/hand_labeler,
+/obj/item/stack/packageWrap{
+ pixel_x = -1;
+ pixel_y = -1
+ },
/turf/open/floor/plasteel,
/area/crew_quarters/heads)
"bwl" = (
@@ -33577,6 +33667,14 @@
/area/medical/research{
name = "Research Division"
})
+"bwP" = (
+/obj/structure/table,
+/obj/item/weapon/storage/box/donkpockets{
+ pixel_x = 3;
+ pixel_y = 3
+ },
+/turf/open/floor/mineral/plastitanium,
+/area/shuttle/syndicate)
"bwQ" = (
/obj/structure/grille,
/obj/structure/window/reinforced/fulltile,
@@ -33656,9 +33754,7 @@
/obj/structure/disposalpipe/segment{
dir = 4
},
-/obj/effect/landmark/start{
- name = "Shaft Miner"
- },
+/obj/effect/landmark/start/shaft_miner,
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
},
@@ -33802,6 +33898,41 @@
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/turf/open/floor/plating,
/area/maintenance/asmaint)
+"bxh" = (
+/obj/machinery/door/poddoor{
+ id = "smindicate";
+ name = "outer blast door"
+ },
+/obj/machinery/button/door{
+ id = "smindicate";
+ name = "external door control";
+ pixel_x = -26;
+ pixel_y = 0;
+ req_access_txt = "150"
+ },
+/obj/docking_port/mobile{
+ dheight = 9;
+ dir = 2;
+ dwidth = 5;
+ height = 24;
+ id = "syndicate";
+ name = "syndicate infiltrator";
+ port_angle = 0;
+ roundstart_move = "syndicate_away";
+ width = 18
+ },
+/obj/docking_port/stationary{
+ dheight = 9;
+ dir = 2;
+ dwidth = 5;
+ height = 24;
+ id = "syndicate_nw";
+ name = "northwest of station";
+ turf_type = /turf/open/space;
+ width = 18
+ },
+/turf/open/floor/plating,
+/area/shuttle/syndicate)
"bxi" = (
/obj/machinery/computer/aifixer,
/obj/machinery/requests_console{
@@ -33889,7 +34020,8 @@
id = "telelab";
name = "Test Chamber Blast Doors";
pixel_x = 25;
- pixel_y = 0
+ pixel_y = 0;
+ req_access_txt = "47"
},
/obj/effect/turf_decal/stripes/line{
dir = 2
@@ -34330,9 +34462,7 @@
/obj/structure/chair/office/light{
dir = 8
},
-/obj/effect/landmark/start{
- name = "Research Director"
- },
+/obj/effect/landmark/start/research_director,
/turf/open/floor/plasteel/cafeteria,
/area/crew_quarters/hor)
"byr" = (
@@ -35018,9 +35148,7 @@
/area/medical/sleeper)
"bzT" = (
/obj/structure/chair/office/dark,
-/obj/effect/landmark/start{
- name = "Quartermaster"
- },
+/obj/effect/landmark/start/quartermaster,
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -35082,9 +35210,7 @@
/obj/structure/chair/office/dark{
dir = 8
},
-/obj/effect/landmark/start{
- name = "Shaft Miner"
- },
+/obj/effect/landmark/start/shaft_miner,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/turf/open/floor/plasteel,
/area/quartermaster/miningdock)
@@ -35310,9 +35436,7 @@
/turf/open/floor/plating,
/area/maintenance/aft)
"bAy" = (
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/turf/open/floor/plasteel/black{
name = "Server Walkway";
initial_gas_mix = "n2=500;TEMP=80"
@@ -35488,13 +35612,8 @@
},
/area/hallway/primary/aft)
"bAQ" = (
-/obj/effect/landmark{
- name = "blobstart"
- },
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/blobstart,
+/obj/effect/landmark/xeno_spawn,
/turf/open/floor/engine,
/area/toxins/explab)
"bAR" = (
@@ -35577,9 +35696,7 @@
/turf/open/floor/plasteel,
/area/quartermaster/miningdock)
"bBb" = (
-/obj/effect/landmark/start{
- name = "Medical Doctor"
- },
+/obj/effect/landmark/start/medical_doctor,
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
@@ -35958,6 +36075,14 @@
},
/turf/open/floor/plasteel/white,
/area/medical/medbay)
+"bBM" = (
+/obj/structure/table,
+/obj/item/stack/sheet/glass{
+ amount = 10
+ },
+/obj/item/device/multitool,
+/turf/open/floor/mineral/plastitanium,
+/area/shuttle/syndicate)
"bBN" = (
/turf/closed/wall,
/area/medical/cmo)
@@ -36525,9 +36650,7 @@
/area/medical/cmo)
"bCZ" = (
/obj/structure/chair/office/light,
-/obj/effect/landmark/start{
- name = "Chief Medical Officer"
- },
+/obj/effect/landmark/start/chief_medical_officer,
/turf/open/floor/plasteel/barber,
/area/medical/cmo)
"bDa" = (
@@ -36924,9 +37047,7 @@
/turf/open/floor/plasteel/barber,
/area/medical/cmo)
"bDT" = (
-/obj/effect/landmark/start{
- name = "Medical Doctor"
- },
+/obj/effect/landmark/start/medical_doctor,
/turf/open/floor/plasteel/white,
/area/medical/sleeper)
"bDU" = (
@@ -36962,6 +37083,16 @@
},
/turf/open/floor/plasteel/white,
/area/medical/sleeper)
+"bDX" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_y = 0
+ },
+/mob/living/simple_animal/mouse,
+/turf/open/floor/plasteel/floorgrime,
+/area/toxins/storage)
"bDY" = (
/obj/structure/cable{
d1 = 4;
@@ -36969,10 +37100,7 @@
icon_state = "4-8";
pixel_y = 0
},
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/xeno_spawn,
/turf/open/floor/plasteel/floorgrime,
/area/toxins/storage)
"bDZ" = (
@@ -37391,9 +37519,7 @@
/turf/open/floor/plating,
/area/maintenance/aft)
"bEQ" = (
-/obj/effect/landmark/start{
- name = "Shaft Miner"
- },
+/obj/effect/landmark/start/shaft_miner,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/turf/open/floor/plasteel,
/area/quartermaster/miningdock)
@@ -37519,9 +37645,7 @@
icon_state = "4-8";
pixel_x = 0
},
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
},
@@ -37552,9 +37676,7 @@
/area/storage/tech)
"bFf" = (
/obj/structure/chair/stool,
-/obj/effect/landmark/start{
- name = "Janitor"
- },
+/obj/effect/landmark/start/janitor,
/turf/open/floor/plasteel,
/area/janitor)
"bFg" = (
@@ -37923,7 +38045,8 @@
/area/toxins/mixing)
"bFY" = (
/obj/machinery/door/airlock/maintenance{
- req_access_txt = "12"
+ req_access_txt = "0";
+ req_one_access_txt = "8;12"
},
/obj/structure/cable{
d1 = 1;
@@ -37997,9 +38120,7 @@
/area/quartermaster/miningdock)
"bGk" = (
/obj/structure/chair/stool,
-/obj/effect/landmark/start{
- name = "Scientist"
- },
+/obj/effect/landmark/start/scientist,
/turf/open/floor/plasteel/white,
/area/toxins/mixing)
"bGl" = (
@@ -38198,7 +38319,7 @@
/obj/machinery/door/firedoor/heavy,
/obj/machinery/door/airlock/research{
name = "Toxins Launch Room Access";
- req_access_txt = "8"
+ req_access_txt = "7"
},
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
@@ -38548,7 +38669,7 @@
/obj/machinery/door/firedoor/heavy,
/obj/machinery/door/airlock/research{
name = "Toxins Lab";
- req_access_txt = "8"
+ req_access_txt = "7"
},
/turf/open/floor/plasteel/white,
/area/toxins/mixing)
@@ -38681,10 +38802,16 @@
dir = 8
},
/area/quartermaster/miningdock)
-"bHC" = (
-/obj/effect/landmark{
- name = "blobstart"
+"bHB" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
},
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/mob/living/simple_animal/mouse,
+/turf/open/floor/plating,
+/area/maintenance/asmaint)
+"bHC" = (
+/obj/effect/landmark/blobstart,
/turf/open/floor/plating,
/area/maintenance/aft)
"bHD" = (
@@ -38755,10 +38882,7 @@
icon_state = "4-8";
pixel_x = 0
},
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/xeno_spawn,
/turf/open/floor/plating,
/area/storage/tech)
"bHK" = (
@@ -39438,7 +39562,7 @@
"bIS" = (
/obj/machinery/door/airlock/research{
name = "Toxins Launch Room";
- req_access_txt = "8"
+ req_access_txt = "7"
},
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
@@ -39795,9 +39919,7 @@
},
/area/hallway/primary/aft)
"bJA" = (
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
},
@@ -39937,6 +40059,10 @@
},
/turf/open/floor/plasteel,
/area/toxins/misc_lab)
+"bJP" = (
+/obj/machinery/vending/boozeomat,
+/turf/open/floor/plasteel/bar,
+/area/maintenance/aft)
"bJQ" = (
/obj/structure/grille,
/obj/structure/window/reinforced/fulltile,
@@ -40240,9 +40366,7 @@
/area/maintenance/asmaint)
"bKx" = (
/obj/structure/closet/crate,
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
},
@@ -40309,9 +40433,7 @@
/obj/structure/chair/office/dark{
dir = 4
},
-/obj/effect/landmark/start{
- name = "Cargo Technician"
- },
+/obj/effect/landmark/start/cargo_technician,
/turf/open/floor/plasteel,
/area/quartermaster/office)
"bKG" = (
@@ -42572,9 +42694,7 @@
/turf/open/floor/plasteel/white,
/area/toxins/xenobiology)
"bPy" = (
-/obj/effect/landmark/start{
- name = "Scientist"
- },
+/obj/effect/landmark/start/scientist,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
},
@@ -42750,6 +42870,16 @@
/obj/item/weapon/shard,
/turf/open/floor/plating,
/area/maintenance/aft)
+"bPV" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "Maint Bar Access";
+ req_access_txt = "12"
+ },
+/obj/structure/barricade/wooden{
+ name = "wooden barricade (CLOSED)"
+ },
+/turf/open/floor/plating,
+/area/maintenance/aft)
"bPW" = (
/obj/effect/decal/cleanable/oil,
/turf/open/floor/plating,
@@ -43047,9 +43177,7 @@
/turf/open/floor/plasteel,
/area/toxins/misc_lab)
"bQJ" = (
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/turf/open/floor/plasteel/white,
/area/medical/virology)
"bQK" = (
@@ -43199,6 +43327,32 @@
/obj/structure/rack,
/turf/open/floor/plating,
/area/maintenance/asmaint2)
+"bRc" = (
+/obj/structure/table/wood,
+/obj/item/weapon/soap/nanotrasen,
+/turf/open/floor/wood{
+ icon_state = "wood-broken7"
+ },
+/area/maintenance/aft)
+"bRd" = (
+/obj/structure/table,
+/obj/machinery/chem_dispenser/drinks/beer,
+/turf/open/floor/wood,
+/area/maintenance/aft)
+"bRe" = (
+/obj/structure/table/wood,
+/obj/effect/spawner/lootdrop/maintenance{
+ lootcount = 4;
+ name = "4maintenance loot spawner"
+ },
+/turf/open/floor/wood,
+/area/maintenance/aft)
+"bRf" = (
+/obj/structure/table/wood,
+/turf/open/floor/wood{
+ icon_state = "wood-broken5"
+ },
+/area/maintenance/aft)
"bRg" = (
/obj/structure/rack,
/obj/effect/spawner/lootdrop/maintenance{
@@ -43306,9 +43460,7 @@
/obj/structure/chair{
dir = 8
},
-/obj/effect/landmark/start{
- name = "Atmospheric Technician"
- },
+/obj/effect/landmark/start/atmospheric_technician,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/turf/open/floor/plasteel,
/area/atmos)
@@ -43345,9 +43497,7 @@
/obj/structure/chair/office/dark{
dir = 4
},
-/obj/effect/landmark/start{
- name = "Atmospheric Technician"
- },
+/obj/effect/landmark/start/atmospheric_technician,
/obj/machinery/atmospherics/components/unary/vent_pump{
dir = 1;
external_pressure_bound = 101.325;
@@ -43698,9 +43848,7 @@
/area/toxins/misc_lab)
"bSk" = (
/obj/machinery/magnetic_module,
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/obj/structure/target_stake,
/obj/effect/turf_decal/bot{
dir = 2
@@ -43741,6 +43889,10 @@
/obj/machinery/space_heater,
/turf/open/floor/wood,
/area/maintenance/aft)
+"bSo" = (
+/obj/structure/chair/stool,
+/turf/open/floor/wood,
+/area/maintenance/aft)
"bSp" = (
/obj/structure/grille/broken,
/turf/open/floor/plating,
@@ -43776,6 +43928,12 @@
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/turf/open/floor/plasteel,
/area/tcommsat/computer)
+"bSu" = (
+/obj/item/stack/cable_coil{
+ amount = 5
+ },
+/turf/open/floor/plating/airless,
+/area/space/nearstation)
"bSv" = (
/obj/machinery/camera{
c_tag = "Construction Area";
@@ -44087,9 +44245,7 @@
/turf/open/floor/plasteel/white,
/area/medical/virology)
"bSZ" = (
-/obj/effect/landmark{
- name = "revenantspawn"
- },
+/obj/effect/landmark/revenantspawn,
/turf/open/floor/engine,
/area/toxins/xenobiology)
"bTa" = (
@@ -44318,6 +44474,16 @@
},
/turf/open/floor/plating,
/area/maintenance/aft)
+"bTw" = (
+/obj/machinery/door/airlock/maintenance{
+ req_access_txt = "12"
+ },
+/obj/machinery/atmospherics/pipe/simple/general/hidden{
+ icon_state = "intact";
+ dir = 4
+ },
+/turf/open/floor/plating,
+/area/maintenance/aft)
"bTx" = (
/obj/machinery/atmospherics/components/unary/portables_connector/visible{
icon_state = "connector_map";
@@ -45552,9 +45718,7 @@
"bWk" = (
/obj/structure/bed,
/obj/item/weapon/bedsheet,
-/obj/effect/landmark{
- name = "revenantspawn"
- },
+/obj/effect/landmark/revenantspawn,
/turf/open/floor/plasteel/white,
/area/medical/virology)
"bWl" = (
@@ -45619,9 +45783,7 @@
/area/toxins/misc_lab)
"bWp" = (
/obj/structure/chair/office/light,
-/obj/effect/landmark/start{
- name = "Scientist"
- },
+/obj/effect/landmark/start/scientist,
/turf/open/floor/plasteel/floorgrime,
/area/toxins/misc_lab)
"bWq" = (
@@ -45937,9 +46099,7 @@
/obj/structure/chair/office/light{
dir = 4
},
-/obj/effect/landmark/start{
- name = "Virologist"
- },
+/obj/effect/landmark/start/virologist,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
},
@@ -45971,9 +46131,7 @@
/turf/open/floor/plasteel/white,
/area/medical/virology)
"bXe" = (
-/obj/effect/landmark{
- name = "revenantspawn"
- },
+/obj/effect/landmark/revenantspawn,
/mob/living/simple_animal/slime,
/turf/open/floor/engine,
/area/toxins/xenobiology)
@@ -46215,9 +46373,7 @@
/turf/open/floor/plasteel/floorgrime,
/area/maintenance/aft)
"bXx" = (
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/turf/open/floor/plasteel/floorgrime,
/area/maintenance/aft)
"bXy" = (
@@ -46440,10 +46596,7 @@
/turf/open/floor/engine/plasma,
/area/atmos)
"bXY" = (
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/xeno_spawn,
/turf/open/floor/engine/plasma,
/area/atmos)
"bXZ" = (
@@ -47425,6 +47578,14 @@
initial_gas_mix = "n2=100;TEMP=80"
},
/area/tcommsat/server)
+"cak" = (
+/obj/machinery/telecomms/hub/preset,
+/turf/open/floor/plasteel/vault{
+ dir = 8;
+ name = "Mainframe Floor";
+ initial_gas_mix = "n2=100;TEMP=80"
+ },
+/area/tcommsat/server)
"cal" = (
/obj/machinery/door/airlock/glass_engineering{
cyclelinkeddir = 4;
@@ -47492,6 +47653,12 @@
},
/turf/open/floor/plating,
/area/maintenance/aft)
+"car" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 5
+ },
+/turf/closed/wall,
+/area/maintenance/aft)
"cas" = (
/obj/machinery/door/airlock/maintenance{
req_access_txt = "12"
@@ -49021,9 +49188,7 @@
/turf/open/floor/plasteel,
/area/engine/engineering)
"cdp" = (
-/obj/effect/landmark{
- name = "lightsout"
- },
+/obj/effect/landmark/lightsout,
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/machinery/atmospherics/components/unary/vent_scrubber{
dir = 8;
@@ -49275,6 +49440,13 @@
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/turf/open/floor/plating,
/area/maintenance/asmaint2)
+"cdP" = (
+/obj/machinery/door/window{
+ name = "Ready Room";
+ req_access_txt = "150"
+ },
+/turf/open/floor/mineral/plastitanium,
+/area/shuttle/syndicate)
"cdQ" = (
/obj/structure/closet/emcloset,
/obj/effect/decal/cleanable/cobweb,
@@ -49705,9 +49877,7 @@
/turf/open/floor/plasteel,
/area/toxins/misc_lab)
"ceR" = (
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/turf/open/floor/plating,
/area/maintenance/asmaint2)
"ceS" = (
@@ -49830,6 +50000,12 @@
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/turf/open/floor/plating,
/area/maintenance/aft)
+"cff" = (
+/obj/machinery/vending/tool,
+/turf/open/floor/plasteel/yellow/corner{
+ dir = 1
+ },
+/area/engine/engineering)
"cfg" = (
/obj/structure/cable{
d1 = 1;
@@ -49983,12 +50159,37 @@
dir = 1
},
/area/engine/engineering)
+"cfA" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0
+ },
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 4;
+ on = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/turf/open/floor/plasteel,
+/area/engine/engineering)
"cfB" = (
/obj/structure/closet/secure_closet/engineering_personal,
/turf/open/floor/plasteel/yellow/side{
dir = 4
},
/area/engine/engineering)
+"cfC" = (
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/engine/engineering)
"cfD" = (
/obj/structure/disposalpipe/segment,
/obj/machinery/door/airlock/maintenance{
@@ -50225,10 +50426,7 @@
/turf/open/floor/plating,
/area/maintenance/incinerator)
"cgc" = (
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/xeno_spawn,
/turf/open/floor/plating{
icon_state = "platingdmg3"
},
@@ -50559,11 +50757,27 @@
dir = 2
},
/area/engine/chiefs_office)
+"cgN" = (
+/obj/structure/closet/radiation,
+/turf/open/floor/plasteel,
+/area/engine/engineering)
"cgO" = (
/turf/open/floor/plasteel/neutral{
dir = 2
},
/area/engine/chiefs_office)
+"cgP" = (
+/obj/structure/table,
+/obj/item/device/flashlight{
+ pixel_y = 5
+ },
+/obj/item/clothing/ears/earmuffs{
+ pixel_x = -5;
+ pixel_y = 6
+ },
+/obj/item/weapon/airlock_painter,
+/turf/open/floor/plasteel,
+/area/engine/engineering)
"cgQ" = (
/obj/machinery/camera{
c_tag = "Engineering East";
@@ -51120,6 +51334,15 @@
},
/turf/open/floor/plating,
/area/maintenance/aft)
+"chU" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/mob/living/simple_animal/mouse,
+/turf/open/floor/plating,
+/area/maintenance/aft)
"chV" = (
/obj/structure/cable/yellow{
d1 = 4;
@@ -51142,6 +51365,20 @@
},
/turf/open/floor/engine,
/area/engine/engineering)
+"chW" = (
+/obj/machinery/camera{
+ c_tag = "Engineering Center";
+ dir = 2;
+ pixel_x = 23
+ },
+/obj/machinery/light{
+ dir = 1
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/floor/plating,
+/area/engine/engineering)
"chX" = (
/obj/structure/cable/yellow{
d1 = 4;
@@ -51161,6 +51398,12 @@
/obj/machinery/shieldgen,
/turf/open/floor/plating,
/area/engine/engineering)
+"chZ" = (
+/obj/machinery/the_singularitygen{
+ anchored = 0
+ },
+/turf/open/floor/plating,
+/area/engine/engineering)
"cia" = (
/obj/machinery/light{
dir = 1
@@ -51313,13 +51556,20 @@
dir = 2
},
/area/engine/chiefs_office)
+"cil" = (
+/obj/structure/rack{
+ dir = 8;
+ layer = 2.9
+ },
+/obj/item/clothing/gloves/color/yellow,
+/obj/item/weapon/storage/belt/utility,
+/turf/open/floor/plasteel,
+/area/engine/engineering)
"cim" = (
/obj/structure/chair/office/light{
dir = 4
},
-/obj/effect/landmark/start{
- name = "Chief Engineer"
- },
+/obj/effect/landmark/start/chief_engineer,
/turf/open/floor/plasteel/neutral{
dir = 2
},
@@ -51579,10 +51829,19 @@
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/turf/open/floor/plating,
/area/maintenance/aft)
-"ciW" = (
-/obj/effect/landmark{
- name = "blobstart"
+"ciV" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
},
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/engine/engineering)
+"ciW" = (
+/obj/effect/landmark/blobstart,
/turf/open/floor/plating,
/area/engine/engineering)
"ciX" = (
@@ -51670,9 +51929,7 @@
/obj/structure/chair/office/dark{
dir = 1
},
-/obj/effect/landmark/start{
- name = "Station Engineer"
- },
+/obj/effect/landmark/start/station_engineer,
/turf/open/floor/plasteel,
/area/engine/engineering)
"cjg" = (
@@ -51755,6 +52012,9 @@
},
/turf/open/floor/plasteel,
/area/engine/engineering)
+"cjn" = (
+/turf/open/floor/wood,
+/area/space/nearstation)
"cjo" = (
/obj/structure/closet/toolcloset,
/turf/open/floor/plasteel,
@@ -52047,6 +52307,10 @@
dir = 2
},
/area/engine/chiefs_office)
+"cjZ" = (
+/obj/structure/sign/securearea,
+/turf/closed/wall/r_wall,
+/area/engine/engineering)
"cka" = (
/obj/machinery/door/poddoor/preopen{
id = "testlab";
@@ -52518,9 +52782,7 @@
/turf/open/floor/engine/air,
/area/atmos)
"cld" = (
-/obj/effect/landmark{
- name = "blobstart"
- },
+/obj/effect/landmark/blobstart,
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/machinery/atmospherics/components/binary/pump{
dir = 4;
@@ -52810,6 +53072,22 @@
/obj/structure/window/fulltile,
/turf/open/floor/plating,
/area/engine/engineering)
+"clK" = (
+/obj/item/device/radio/intercom{
+ desc = "Talk through this. Evilly";
+ freerange = 1;
+ frequency = 1213;
+ name = "Syndicate Intercom";
+ pixel_y = -32;
+ subspace_transmission = 1;
+ syndie = 1
+ },
+/turf/open/floor/mineral/plastitanium,
+/area/shuttle/syndicate)
+"clL" = (
+/obj/structure/closet/syndicate/personal,
+/turf/open/floor/mineral/plastitanium,
+/area/shuttle/syndicate)
"clM" = (
/obj/structure/table,
/obj/item/weapon/crowbar/large,
@@ -52881,15 +53159,19 @@
/turf/open/floor/plasteel/bar,
/area/crew_quarters/bar)
"clY" = (
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/xeno_spawn,
/turf/open/floor/engine/air,
/area/atmos)
"clZ" = (
/turf/open/floor/engine/air,
/area/atmos)
+"cma" = (
+/obj/machinery/door/window{
+ name = "Cockpit";
+ req_access_txt = "150"
+ },
+/turf/open/floor/mineral/plastitanium,
+/area/shuttle/syndicate)
"cmb" = (
/obj/structure/grille,
/obj/machinery/atmospherics/pipe/simple/scrubbers/visible,
@@ -52971,6 +53253,13 @@
},
/turf/open/floor/plasteel/showroomfloor,
/area/security/warden)
+"cmm" = (
+/obj/structure/chair{
+ dir = 8;
+ name = "tactical chair"
+ },
+/turf/open/floor/mineral/plastitanium,
+/area/shuttle/syndicate)
"cmn" = (
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
@@ -52989,10 +53278,7 @@
/turf/closed/wall/mineral/plastitanium,
/area/shuttle/syndicate)
"cmq" = (
-/obj/effect/landmark{
- name = "xeno_spawn";
- pixel_x = -1
- },
+/obj/effect/landmark/xeno_spawn,
/obj/structure/disposalpipe/segment,
/turf/open/floor/plating{
icon_state = "platingdmg3"
@@ -53153,6 +53439,26 @@
dir = 9
},
/area/engine/engineering)
+"cmH" = (
+/obj/structure/table,
+/obj/item/stack/cable_coil,
+/obj/item/weapon/crowbar/red,
+/turf/open/floor/mineral/plastitanium,
+/area/shuttle/syndicate)
+"cmI" = (
+/obj/machinery/vending/engivend,
+/turf/open/floor/plasteel/yellow/side{
+ dir = 1
+ },
+/area/engine/engineering)
+"cmJ" = (
+/obj/structure/table,
+/obj/item/weapon/storage/box/zipties{
+ pixel_x = 1;
+ pixel_y = 2
+ },
+/turf/open/floor/mineral/plastitanium,
+/area/shuttle/syndicate)
"cmK" = (
/obj/machinery/requests_console{
announcementConsole = 0;
@@ -53180,6 +53486,12 @@
dir = 1
},
/area/engine/engineering)
+"cmM" = (
+/obj/machinery/sleeper/syndie{
+ dir = 4
+ },
+/turf/open/floor/mineral/titanium,
+/area/shuttle/syndicate)
"cmN" = (
/obj/structure/sign/nosmoking_2{
pixel_y = 32
@@ -53194,6 +53506,13 @@
dir = 1
},
/area/engine/engineering)
+"cmO" = (
+/obj/machinery/portable_atmospherics/canister/oxygen,
+/turf/open/floor/mineral/titanium,
+/area/shuttle/syndicate)
+"cmP" = (
+/turf/open/floor/mineral/titanium,
+/area/shuttle/syndicate)
"cmQ" = (
/obj/structure/cable{
d1 = 4;
@@ -53203,6 +53522,34 @@
},
/turf/open/floor/plasteel,
/area/engine/engineering)
+"cmR" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_x = 0
+ },
+/turf/open/floor/plasteel,
+/area/engine/engineering)
+"cmS" = (
+/obj/structure/table,
+/obj/item/stack/medical/ointment,
+/obj/item/stack/medical/bruise_pack,
+/obj/structure/extinguisher_cabinet{
+ pixel_x = -5;
+ pixel_y = 30
+ },
+/turf/open/floor/mineral/titanium,
+/area/shuttle/syndicate)
+"cmT" = (
+/obj/machinery/suit_storage_unit/syndicate,
+/turf/open/floor/mineral/plastitanium,
+/area/shuttle/syndicate)
"cmU" = (
/obj/machinery/light/small,
/turf/open/floor/engine/n2,
@@ -53321,6 +53668,12 @@
/obj/item/weapon/clipboard,
/turf/open/floor/plating,
/area/maintenance/asmaint)
+"cnh" = (
+/obj/structure/chair/stool{
+ pixel_y = 8
+ },
+/turf/open/floor/mineral/plastitanium,
+/area/shuttle/syndicate)
"cni" = (
/obj/structure/sign/securearea{
desc = "A warning sign which reads 'EXTERNAL AIRLOCK'";
@@ -53448,6 +53801,10 @@
/obj/effect/turf_decal/delivery,
/turf/open/floor/plasteel,
/area/engine/engineering)
+"cns" = (
+/obj/structure/closet/syndicate/nuclear,
+/turf/open/floor/mineral/plastitanium,
+/area/shuttle/syndicate)
"cnt" = (
/obj/machinery/camera{
c_tag = "Engineering West";
@@ -53459,18 +53816,29 @@
d2 = 2;
icon_state = "1-2"
},
-/obj/effect/landmark/start{
- name = "Station Engineer"
- },
+/obj/effect/landmark/start/station_engineer,
/turf/open/floor/plasteel/yellow/corner{
dir = 1
},
/area/engine/engineering)
+"cnu" = (
+/obj/structure/table,
+/obj/item/device/aicard,
+/turf/open/floor/mineral/plastitanium,
+/area/shuttle/syndicate)
"cnv" = (
/obj/machinery/holopad,
/obj/effect/turf_decal/bot,
/turf/open/floor/plasteel,
/area/engine/engineering)
+"cnw" = (
+/obj/structure/cable/yellow{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/turf/open/floor/plasteel,
+/area/engine/engineering)
"cnx" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
@@ -53486,11 +53854,13 @@
/turf/open/floor/engine,
/area/engine/engineering)
"cny" = (
-/obj/effect/landmark/start{
- name = "Station Engineer"
- },
+/obj/effect/landmark/start/station_engineer,
/turf/open/floor/plasteel,
/area/engine/engineering)
+"cnz" = (
+/obj/structure/tank_dispenser/oxygen,
+/turf/open/floor/mineral/titanium,
+/area/shuttle/syndicate)
"cnA" = (
/obj/structure/cable{
d1 = 1;
@@ -53570,6 +53940,30 @@
},
/turf/open/floor/plating,
/area/maintenance/asmaint2)
+"cnI" = (
+/obj/structure/table,
+/obj/item/weapon/c4{
+ pixel_x = 2;
+ pixel_y = -5
+ },
+/obj/item/weapon/c4{
+ pixel_x = -3;
+ pixel_y = 3
+ },
+/obj/item/weapon/c4{
+ pixel_x = 2;
+ pixel_y = -3
+ },
+/obj/item/weapon/c4{
+ pixel_x = -2;
+ pixel_y = -1
+ },
+/obj/item/weapon/c4{
+ pixel_x = 3;
+ pixel_y = 3
+ },
+/turf/open/floor/mineral/plastitanium,
+/area/shuttle/syndicate)
"cnJ" = (
/obj/structure/disposalpipe/segment,
/obj/effect/spawner/lootdrop/maintenance,
@@ -53702,6 +54096,10 @@
},
/turf/open/floor/plasteel,
/area/engine/engine_smes)
+"cnT" = (
+/obj/structure/sign/bluecross_2,
+/turf/closed/wall/mineral/plastitanium,
+/area/shuttle/syndicate)
"cnU" = (
/obj/structure/cable{
d1 = 4;
@@ -53720,6 +54118,10 @@
},
/turf/open/floor/plasteel/loadingarea,
/area/engine/engineering)
+"cnV" = (
+/obj/structure/bed/roller,
+/turf/open/floor/mineral/titanium,
+/area/shuttle/syndicate)
"cnW" = (
/turf/open/space,
/turf/closed/wall/mineral/plastitanium{
@@ -53807,17 +54209,106 @@
},
/turf/open/floor/engine,
/area/engine/engineering)
+"cod" = (
+/obj/structure/table,
+/obj/item/weapon/storage/firstaid/regular{
+ pixel_x = 3;
+ pixel_y = 3
+ },
+/obj/item/weapon/storage/firstaid/fire,
+/obj/item/weapon/storage/firstaid/regular{
+ pixel_x = -3;
+ pixel_y = -3
+ },
+/turf/open/floor/mineral/titanium,
+/area/shuttle/syndicate)
+"coe" = (
+/obj/machinery/door/window{
+ dir = 4;
+ name = "EVA Storage";
+ req_access_txt = "150"
+ },
+/turf/open/floor/mineral/plastitanium,
+/area/shuttle/syndicate)
"cof" = (
/obj/machinery/door/airlock/external{
req_access_txt = "150"
},
/turf/open/floor/mineral/plastitanium,
/area/shuttle/syndicate)
+"cog" = (
+/obj/machinery/door/window{
+ base_state = "right";
+ dir = 4;
+ icon_state = "right";
+ name = "EVA Storage";
+ req_access_txt = "150"
+ },
+/turf/open/floor/mineral/plastitanium,
+/area/shuttle/syndicate)
"coh" = (
/obj/structure/grille,
/obj/structure/window/reinforced/fulltile,
/turf/open/floor/plating,
/area/shuttle/syndicate)
+"coi" = (
+/obj/structure/rack,
+/obj/item/clothing/suit/space/syndicate/black/red,
+/obj/item/clothing/head/helmet/space/syndicate/black/red,
+/turf/open/floor/mineral/plastitanium,
+/area/shuttle/syndicate)
+"coj" = (
+/obj/item/device/radio/intercom{
+ desc = "Talk through this. Evilly";
+ freerange = 1;
+ frequency = 1213;
+ name = "Syndicate Intercom";
+ pixel_x = -32;
+ subspace_transmission = 1;
+ syndie = 1
+ },
+/turf/open/floor/mineral/plastitanium,
+/area/shuttle/syndicate)
+"cok" = (
+/obj/machinery/recharge_station,
+/turf/open/floor/mineral/plastitanium,
+/area/shuttle/syndicate)
+"col" = (
+/obj/machinery/door/window{
+ dir = 4;
+ name = "Infirmary";
+ req_access_txt = "150"
+ },
+/turf/open/floor/mineral/titanium,
+/area/shuttle/syndicate)
+"com" = (
+/obj/machinery/door/window{
+ base_state = "right";
+ dir = 4;
+ icon_state = "right";
+ name = "Infirmary";
+ req_access_txt = "150"
+ },
+/turf/open/floor/mineral/titanium,
+/area/shuttle/syndicate)
+"con" = (
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/structure/table,
+/obj/item/bodypart/r_arm/robot,
+/obj/item/bodypart/l_arm/robot,
+/turf/open/floor/mineral/titanium,
+/area/shuttle/syndicate)
+"coo" = (
+/obj/structure/table,
+/obj/item/weapon/stock_parts/cell/high{
+ pixel_x = -3;
+ pixel_y = 3
+ },
+/obj/item/weapon/stock_parts/cell/high,
+/turf/open/floor/mineral/plastitanium,
+/area/shuttle/syndicate)
"cop" = (
/obj/machinery/atmospherics/components/unary/outlet_injector/on{
dir = 1;
@@ -53993,6 +54484,44 @@
},
/turf/open/floor/plasteel,
/area/engine/engine_smes)
+"coD" = (
+/obj/structure/table,
+/obj/item/weapon/wrench,
+/obj/item/device/assembly/infra,
+/turf/open/floor/mineral/plastitanium,
+/area/shuttle/syndicate)
+"coE" = (
+/obj/structure/table,
+/obj/item/weapon/screwdriver{
+ pixel_y = 9
+ },
+/obj/item/device/assembly/voice{
+ pixel_y = 3
+ },
+/turf/open/floor/mineral/plastitanium,
+/area/shuttle/syndicate)
+"coF" = (
+/obj/structure/table,
+/obj/item/weapon/weldingtool/largetank{
+ pixel_y = 3
+ },
+/obj/item/device/multitool,
+/turf/open/floor/mineral/plastitanium,
+/area/shuttle/syndicate)
+"coG" = (
+/obj/structure/table,
+/obj/item/device/assembly/signaler,
+/obj/item/device/assembly/signaler,
+/obj/item/device/assembly/prox_sensor{
+ pixel_x = -8;
+ pixel_y = 4
+ },
+/obj/item/device/assembly/prox_sensor{
+ pixel_x = -8;
+ pixel_y = 4
+ },
+/turf/open/floor/mineral/plastitanium,
+/area/shuttle/syndicate)
"coH" = (
/obj/structure/cable/yellow{
d1 = 4;
@@ -54004,6 +54533,12 @@
},
/turf/open/floor/plasteel,
/area/engine/engineering)
+"coI" = (
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/turf/open/floor/mineral/titanium,
+/area/shuttle/syndicate)
"coJ" = (
/obj/machinery/door/firedoor,
/obj/structure/cable/yellow{
@@ -54061,6 +54596,51 @@
},
/turf/open/floor/engine,
/area/engine/engineering)
+"coN" = (
+/obj/machinery/door/window/westright{
+ name = "Tool Storage";
+ req_access_txt = "150"
+ },
+/turf/open/floor/mineral/plastitanium,
+/area/shuttle/syndicate)
+"coO" = (
+/obj/structure/table,
+/obj/item/weapon/storage/toolbox/syndicate,
+/obj/item/weapon/crowbar/red,
+/turf/open/floor/mineral/plastitanium,
+/area/shuttle/syndicate)
+"coP" = (
+/obj/machinery/door/window{
+ dir = 1;
+ name = "Surgery";
+ req_access_txt = "150"
+ },
+/turf/open/floor/mineral/titanium,
+/area/shuttle/syndicate)
+"coQ" = (
+/obj/structure/table,
+/obj/structure/window/reinforced{
+ dir = 8
+ },
+/obj/item/weapon/storage/firstaid/regular{
+ pixel_x = 3;
+ pixel_y = 3
+ },
+/obj/item/weapon/storage/firstaid/brute,
+/obj/item/weapon/storage/firstaid/regular{
+ pixel_x = -3;
+ pixel_y = -3
+ },
+/turf/open/floor/mineral/titanium,
+/area/shuttle/syndicate)
+"coR" = (
+/obj/machinery/door/window{
+ dir = 8;
+ name = "Tool Storage";
+ req_access_txt = "150"
+ },
+/turf/open/floor/mineral/plastitanium,
+/area/shuttle/syndicate)
"coS" = (
/obj/structure/rack,
/obj/item/weapon/gun/energy/laser{
@@ -54088,6 +54668,52 @@
},
/turf/open/floor/engine,
/area/toxins/misc_lab)
+"coU" = (
+/obj/structure/table,
+/obj/item/weapon/surgicaldrill,
+/obj/item/weapon/circular_saw,
+/turf/open/floor/mineral/titanium,
+/area/shuttle/syndicate)
+"coV" = (
+/obj/structure/sink{
+ dir = 4;
+ icon_state = "sink";
+ pixel_x = 11;
+ pixel_y = 0
+ },
+/obj/structure/mirror{
+ pixel_x = 30
+ },
+/turf/open/floor/mineral/titanium,
+/area/shuttle/syndicate)
+"coW" = (
+/obj/structure/table,
+/obj/item/device/sbeacondrop/bomb{
+ pixel_y = 5
+ },
+/obj/item/device/sbeacondrop/bomb,
+/turf/open/floor/mineral/plastitanium,
+/area/shuttle/syndicate)
+"coX" = (
+/obj/structure/table,
+/obj/item/weapon/grenade/syndieminibomb{
+ pixel_x = 4;
+ pixel_y = 2
+ },
+/obj/item/weapon/grenade/syndieminibomb{
+ pixel_x = -1
+ },
+/turf/open/floor/mineral/plastitanium,
+/area/shuttle/syndicate)
+"coY" = (
+/obj/machinery/nuclearbomb/syndicate,
+/obj/machinery/door/window{
+ dir = 1;
+ name = "Secure Storage";
+ req_access_txt = "150"
+ },
+/turf/open/floor/mineral/plastitanium,
+/area/shuttle/syndicate)
"coZ" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 10
@@ -54130,6 +54756,12 @@
},
/turf/open/space,
/area/space)
+"cpf" = (
+/obj/machinery/telecomms/allinone{
+ intercept = 1
+ },
+/turf/open/floor/mineral/plastitanium,
+/area/shuttle/syndicate)
"cpg" = (
/obj/item/weapon/grenade/barrier{
pixel_x = 4
@@ -54242,6 +54874,12 @@
},
/turf/open/floor/plasteel,
/area/engine/engineering)
+"cpr" = (
+/obj/structure/table,
+/obj/item/weapon/cautery,
+/obj/item/weapon/scalpel,
+/turf/open/floor/mineral/titanium,
+/area/shuttle/syndicate)
"cps" = (
/obj/structure/table,
/obj/item/stack/sheet/glass{
@@ -54294,6 +54932,12 @@
},
/turf/open/floor/engine,
/area/engine/engineering)
+"cpw" = (
+/obj/structure/table,
+/obj/item/weapon/retractor,
+/obj/item/weapon/hemostat,
+/turf/open/floor/mineral/titanium,
+/area/shuttle/syndicate)
"cpx" = (
/obj/structure/cable{
d1 = 4;
@@ -54316,6 +54960,10 @@
},
/turf/open/floor/engine,
/area/engine/engineering)
+"cpz" = (
+/obj/structure/particle_accelerator/end_cap,
+/turf/open/floor/plating,
+/area/engine/engineering)
"cpA" = (
/obj/structure/cable{
d1 = 1;
@@ -54327,6 +54975,17 @@
},
/turf/open/floor/plasteel,
/area/ai_monitored/security/armory)
+"cpB" = (
+/obj/structure/cable/yellow{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 4
+ },
+/turf/open/floor/plating,
+/area/engine/engineering)
"cpC" = (
/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,
/obj/effect/landmark/event_spawn,
@@ -54350,11 +55009,23 @@
},
/turf/open/floor/plasteel,
/area/engine/engineering)
+"cpF" = (
+/obj/structure/table/optable,
+/obj/item/weapon/surgical_drapes,
+/turf/open/floor/mineral/titanium,
+/area/shuttle/syndicate)
"cpG" = (
/obj/structure/table/optable,
/obj/machinery/atmospherics/pipe/manifold/supply/hidden,
/turf/open/floor/plasteel/white,
/area/medical/sleeper)
+"cpH" = (
+/obj/structure/shuttle/engine/heater,
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/turf/open/floor/plating,
+/area/shuttle/syndicate)
"cpI" = (
/obj/machinery/door/airlock/external{
cyclelinkeddir = 4;
@@ -54841,6 +55512,16 @@
dir = 8
},
/area/ai_monitored/security/armory)
+"cqH" = (
+/obj/item/weapon/screwdriver,
+/turf/open/floor/plating,
+/area/engine/engineering)
+"cqI" = (
+/obj/structure/shuttle/engine/propulsion{
+ icon_state = "propulsion_l"
+ },
+/turf/open/floor/plating,
+/area/shuttle/syndicate)
"cqJ" = (
/obj/structure/cable,
/obj/structure/lattice/catwalk,
@@ -54931,6 +55612,35 @@
/obj/machinery/portable_atmospherics/canister,
/turf/open/floor/plasteel/black,
/area/engine/engineering)
+"cqV" = (
+/obj/structure/reagent_dispensers/fueltank,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/floor/plating,
+/area/engine/engineering)
+"cqW" = (
+/obj/machinery/power/rad_collector{
+ anchored = 1
+ },
+/obj/item/weapon/tank/internals/plasma,
+/obj/structure/cable/yellow,
+/obj/effect/turf_decal/stripes/line{
+ dir = 1
+ },
+/turf/open/floor/plating,
+/area/engine/engineering)
+"cqX" = (
+/obj/structure/cable/yellow{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/turf/open/floor/plating,
+/area/engine/engineering)
"cqY" = (
/obj/structure/grille,
/obj/structure/window/reinforced/fulltile,
@@ -54981,6 +55691,31 @@
},
/turf/open/floor/plasteel/black,
/area/engine/engineering)
+"cre" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/sign/securearea{
+ desc = "A warning sign which reads 'EXTERNAL AIRLOCK'";
+ icon_state = "space";
+ layer = 4;
+ name = "EXTERNAL AIRLOCK";
+ pixel_x = -32
+ },
+/turf/open/floor/plating,
+/area/engine/engineering)
+"crf" = (
+/obj/structure/shuttle/engine/propulsion{
+ icon_state = "propulsion_r"
+ },
+/turf/open/floor/plating,
+/area/shuttle/syndicate)
+"crg" = (
+/obj/structure/shuttle/engine/propulsion,
+/turf/open/floor/plating,
+/area/shuttle/syndicate)
"crh" = (
/obj/effect/turf_decal/stripes/line{
dir = 8
@@ -55050,10 +55785,6 @@
icon_state = "0-8"
},
/obj/structure/grille,
-/obj/machinery/door/poddoor/preopen{
- id = "Secure Gate";
- name = "brig shutters"
- },
/obj/structure/window/reinforced/fulltile,
/turf/open/floor/plating,
/area/engine/engineering)
@@ -55367,6 +56098,18 @@
},
/turf/open/floor/plasteel/black,
/area/engine/engineering)
+"csf" = (
+/obj/machinery/power/emitter{
+ anchored = 1;
+ dir = 8;
+ state = 2
+ },
+/obj/structure/cable{
+ icon_state = "0-4";
+ d2 = 4
+ },
+/turf/open/floor/plating/airless,
+/area/engine/engineering)
"csg" = (
/obj/machinery/door/airlock/external{
cyclelinkeddir = 1;
@@ -55376,6 +56119,12 @@
},
/turf/open/floor/plating,
/area/engine/engineering)
+"csh" = (
+/obj/structure/transit_tube{
+ icon_state = "D-SW"
+ },
+/turf/open/space,
+/area/space)
"csi" = (
/obj/structure/transit_tube/curved/flipped{
dir = 1
@@ -55414,6 +56163,12 @@
/obj/structure/transit_tube/crossing/horizontal,
/turf/open/space,
/area/space)
+"csp" = (
+/obj/structure/transit_tube{
+ icon_state = "E-W-Pass"
+ },
+/turf/open/space,
+/area/space)
"csq" = (
/obj/machinery/computer/security/telescreen{
desc = "Used for watching the turbine vent.";
@@ -55455,6 +56210,15 @@
/obj/machinery/atmospherics/pipe/heat_exchanging/simple,
/turf/open/space,
/area/space)
+"cst" = (
+/obj/structure/cable{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/obj/structure/grille,
+/turf/open/floor/plating/airless,
+/area/engine/engineering)
"csu" = (
/obj/structure/closet/firecloset,
/turf/open/floor/plasteel/black,
@@ -55486,9 +56250,7 @@
/turf/open/floor/plating,
/area/maintenance/asmaint2)
"csz" = (
-/obj/effect/landmark{
- name = "carpspawn"
- },
+/obj/effect/landmark/carpspawn,
/turf/open/space,
/area/space/nearstation)
"csA" = (
@@ -55507,6 +56269,11 @@
},
/turf/open/floor/plating,
/area/engine/supermatter)
+"csB" = (
+/obj/item/weapon/wirecutters,
+/obj/structure/lattice,
+/turf/open/space,
+/area/space/nearstation)
"csC" = (
/obj/effect/turf_decal/delivery,
/turf/open/floor/plasteel/black,
@@ -55524,6 +56291,28 @@
/obj/structure/lattice/catwalk,
/turf/open/space,
/area/solar/starboard)
+"csF" = (
+/obj/structure/sign/securearea{
+ desc = "A warning sign which reads 'RADIOACTIVE AREA'";
+ icon_state = "radiation";
+ name = "RADIOACTIVE AREA";
+ pixel_x = 0;
+ pixel_y = 0
+ },
+/turf/closed/wall/r_wall,
+/area/engine/engineering)
+"csG" = (
+/obj/machinery/light{
+ dir = 8
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/grille,
+/turf/open/floor/plating/airless,
+/area/engine/engineering)
"csH" = (
/obj/machinery/atmospherics/pipe/simple/general/visible,
/obj/effect/turf_decal/stripes/line{
@@ -55542,6 +56331,25 @@
/obj/machinery/atmospherics/pipe/simple/general/visible,
/turf/open/floor/engine,
/area/engine/engineering)
+"csK" = (
+/obj/machinery/light{
+ dir = 4;
+ icon_state = "tube1"
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/grille,
+/turf/open/floor/plating/airless,
+/area/engine/engineering)
+"csL" = (
+/obj/structure/transit_tube{
+ icon_state = "D-NE"
+ },
+/turf/open/space,
+/area/space)
"csM" = (
/obj/structure/lattice,
/obj/machinery/atmospherics/pipe/simple/yellow/visible,
@@ -55591,6 +56399,10 @@
},
/turf/open/floor/engine,
/area/engine/engineering)
+"csS" = (
+/obj/item/weapon/weldingtool,
+/turf/open/space,
+/area/space/nearstation)
"csT" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/obj/effect/landmark/xmastree,
@@ -55674,6 +56486,16 @@
/obj/machinery/atmospherics/pipe/simple/yellow/visible,
/turf/open/space,
/area/space)
+"cte" = (
+/obj/item/device/radio/off,
+/turf/open/floor/plating/airless,
+/area/engine/engineering)
+"ctf" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 2
+ },
+/turf/open/floor/plating/airless,
+/area/space/nearstation)
"ctg" = (
/obj/structure/closet/emcloset,
/turf/open/floor/plating,
@@ -55717,6 +56539,30 @@
},
/turf/closed/wall,
/area/ai_monitored/turret_protected/aisat_interior)
+"ctl" = (
+/obj/structure/grille,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/turf/open/floor/plating/airless,
+/area/engine/engineering)
+"ctm" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 10
+ },
+/turf/open/floor/plating/airless,
+/area/space/nearstation)
+"ctn" = (
+/obj/structure/grille,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/turf/open/floor/plating/airless,
+/area/engine/engineering)
"cto" = (
/obj/machinery/door/airlock/hatch{
name = "MiniSat Foyer";
@@ -55838,6 +56684,22 @@
/obj/machinery/power/tracker,
/turf/open/floor/plasteel/airless/solarpanel,
/area/solar/starboard)
+"ctC" = (
+/obj/machinery/camera/emp_proof{
+ c_tag = "Singularity West";
+ dir = 1;
+ network = list("Singularity")
+ },
+/turf/open/floor/plating/airless,
+/area/engine/engineering)
+"ctD" = (
+/obj/machinery/camera/emp_proof{
+ c_tag = "Singularity East";
+ dir = 1;
+ network = list("Singularity")
+ },
+/turf/open/floor/plating/airless,
+/area/engine/engineering)
"ctE" = (
/obj/machinery/teleport/hub,
/turf/open/floor/plating,
@@ -55897,9 +56759,7 @@
d2 = 8;
icon_state = "2-8"
},
-/obj/effect/landmark/start{
- name = "Cyborg"
- },
+/obj/effect/landmark/start/cyborg,
/turf/open/floor/plasteel/grimy,
/area/ai_monitored/turret_protected/aisat_interior)
"ctK" = (
@@ -56258,6 +57118,19 @@
dir = 4
},
/area/ai_monitored/turret_protected/aisat_interior)
+"cut" = (
+/obj/structure/table,
+/obj/item/stack/sheet/metal{
+ amount = 50
+ },
+/obj/item/stack/sheet/glass{
+ amount = 50
+ },
+/obj/item/stack/rods{
+ amount = 50
+ },
+/turf/open/floor/mineral/plastitanium,
+/area/shuttle/syndicate)
"cuu" = (
/obj/structure/cable{
d1 = 1;
@@ -56940,9 +57813,7 @@
name = "AI Satellite Hallway"
})
"cvx" = (
-/obj/effect/landmark{
- name = "tripai"
- },
+/obj/effect/landmark/tripai,
/obj/item/device/radio/intercom{
anyai = 1;
freerange = 1;
@@ -56990,9 +57861,7 @@
name = "AI Satellite Hallway"
})
"cvA" = (
-/obj/effect/landmark{
- name = "tripai"
- },
+/obj/effect/landmark/tripai,
/obj/item/device/radio/intercom{
anyai = 1;
freerange = 1;
@@ -57859,9 +58728,7 @@
/area/shuttle/escape)
"cxn" = (
/obj/structure/lattice,
-/obj/effect/landmark{
- name = "carpspawn"
- },
+/obj/effect/landmark/carpspawn,
/turf/open/space,
/area/space)
"cxo" = (
@@ -57915,6 +58782,11 @@
"cxu" = (
/turf/closed/wall/mineral/titanium,
/area/shuttle/transport)
+"cxv" = (
+/obj/structure/window/shuttle,
+/obj/structure/grille,
+/turf/open/floor/plating,
+/area/shuttle/transport)
"cxw" = (
/obj/structure/grille,
/obj/structure/window/shuttle,
@@ -57943,6 +58815,10 @@
/obj/structure/window/reinforced,
/turf/open/floor/plating,
/area/shuttle/transport)
+"cxz" = (
+/obj/machinery/computer/shuttle/ferry/request,
+/turf/open/floor/mineral/titanium/blue,
+/area/shuttle/transport)
"cxA" = (
/obj/effect/turf_decal/stripes/line{
dir = 8
@@ -58011,6 +58887,10 @@
},
/turf/open/floor/plating,
/area/security/main)
+"cxH" = (
+/obj/structure/closet/crate,
+/turf/open/floor/mineral/titanium/blue,
+/area/shuttle/transport)
"cxI" = (
/obj/structure/chair{
dir = 1
@@ -58636,6 +59516,9 @@
/obj/structure/light_construct,
/turf/open/floor/plasteel/shuttle/white,
/area/shuttle/abandoned)
+"czo" = (
+/turf/open/space,
+/area/shuttle/syndicate)
"czp" = (
/obj/structure/window/reinforced{
dir = 1
@@ -58643,6 +59526,12 @@
/obj/structure/shuttle/engine/heater,
/turf/open/floor/plating/airless,
/area/shuttle/supply)
+"czq" = (
+/obj/machinery/porta_turret/syndicate{
+ dir = 5
+ },
+/turf/closed/wall/mineral/plastitanium,
+/area/shuttle/syndicate)
"czr" = (
/obj/machinery/portable_atmospherics/scrubber,
/turf/open/floor/mineral/titanium,
@@ -58717,6 +59606,12 @@
/obj/structure/light_construct,
/turf/open/floor/mineral/titanium,
/area/shuttle/abandoned)
+"czD" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 6
+ },
+/turf/open/floor/plating/airless,
+/area/space/nearstation)
"czE" = (
/turf/open/floor/engine,
/area/engine/engineering)
@@ -59011,6 +59906,15 @@
},
/turf/closed/wall/r_wall,
/area/engine/engine_smes)
+"cAk" = (
+/obj/structure/cable/yellow{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4";
+
+ },
+/turf/open/floor/plating/airless,
+/area/space/nearstation)
"cAl" = (
/obj/effect/turf_decal/stripes/line{
dir = 4
@@ -59032,6 +59936,15 @@
/obj/machinery/power/supermatter_shard/crystal,
/turf/open/floor/engine,
/area/engine/supermatter)
+"cAn" = (
+/obj/structure/cable/yellow{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8";
+
+ },
+/turf/open/floor/plating/airless,
+/area/space/nearstation)
"cAo" = (
/obj/structure/cable{
d1 = 1;
@@ -59112,10 +60025,44 @@
anchored = 1;
dir = 4;
icon_state = "emitter";
- state = 2
+ state = 2;
+
},
/turf/open/floor/plating,
/area/engine/engineering)
+"cAv" = (
+/obj/structure/cable/yellow{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4";
+
+ },
+/turf/open/floor/plating/airless,
+/area/space/nearstation)
+"cAw" = (
+/obj/structure/cable/yellow{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_y = 0
+ },
+/obj/structure/cable/yellow{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8";
+
+ },
+/turf/open/floor/plating/airless,
+/area/space/nearstation)
+"cAx" = (
+/obj/structure/cable/yellow{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8";
+
+ },
+/turf/open/floor/plating/airless,
+/area/space/nearstation)
"cAy" = (
/obj/structure/closet/secure_closet/freezer/kitchen/maintenance,
/turf/open/floor/plating,
@@ -59245,6 +60192,19 @@
},
/turf/open/floor/plating,
/area/security/main)
+"cAO" = (
+/obj/structure/cable/yellow{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/cable/yellow{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/turf/open/floor/plating,
+/area/engine/engineering)
"cAP" = (
/obj/structure/sign/fire,
/turf/closed/wall/r_wall,
@@ -59267,9 +60227,7 @@
/turf/open/floor/circuit,
/area/ai_monitored/turret_protected/ai)
"cAS" = (
-/obj/effect/landmark/start{
- name = "AI"
- },
+/obj/effect/landmark/start/ai,
/obj/item/device/radio/intercom{
broadcasting = 0;
freerange = 1;
@@ -59517,6 +60475,13 @@
/obj/effect/turf_decal/bot,
/turf/open/floor/plasteel,
/area/hallway/primary/central)
+"cBs" = (
+/obj/structure/table/optable{
+ name = "Robotics Operating Table"
+ },
+/obj/effect/landmark/event_spawn,
+/turf/open/floor/plasteel/white,
+/area/assembly/robotics)
"cBt" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
@@ -59724,6 +60689,15 @@
/obj/effect/landmark/event_spawn,
/turf/open/floor/engine/air,
/area/atmos)
+"cBQ" = (
+/obj/structure/cable/yellow{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/obj/effect/landmark/event_spawn,
+/turf/open/floor/plating,
+/area/engine/engineering)
"cBR" = (
/obj/effect/turf_decal/stripes/line{
dir = 4
@@ -59819,6 +60793,12 @@
/obj/item/clothing/under/burial,
/turf/open/floor/plasteel/grimy,
/area/chapel/office)
+"cCa" = (
+/obj/structure/chair/stool,
+/turf/open/floor/wood{
+ icon_state = "wood-broken5"
+ },
+/area/space/nearstation)
"cCb" = (
/obj/structure/table,
/obj/item/stack/cable_coil{
@@ -59943,6 +60923,10 @@
/obj/machinery/deepfryer,
/turf/open/floor/plasteel/cafeteria,
/area/crew_quarters/kitchen)
+"cCr" = (
+/obj/machinery/deepfryer,
+/turf/open/floor/plasteel/cafeteria,
+/area/crew_quarters/kitchen)
"cCs" = (
/obj/structure/mining_shuttle_beacon{
dir = 4
@@ -59962,6 +60946,9 @@
/obj/machinery/door/airlock/external,
/turf/open/floor/pod/dark,
/area/shuttle/transport)
+"cCv" = (
+/turf/open/floor/pod/light,
+/area/space)
"cCw" = (
/obj/machinery/door/airlock/titanium,
/turf/open/floor/pod/light,
@@ -59985,6 +60972,9 @@
/obj/machinery/door/airlock/external,
/turf/open/floor/pod/light,
/area/shuttle/transport)
+"cCA" = (
+/turf/open/floor/pod/light,
+/area/space)
"cCB" = (
/obj/machinery/atmospherics/pipe/simple/general/visible{
dir = 10;
@@ -60052,6 +61042,37 @@
/obj/machinery/atmospherics/pipe/simple/orange/visible,
/turf/open/space,
/area/space/nearstation)
+"cCK" = (
+/obj/structure/lattice,
+/obj/machinery/atmospherics/pipe/simple/orange/visible,
+/turf/open/space,
+/area/space/nearstation)
+"cCL" = (
+/obj/structure/lattice,
+/obj/machinery/atmospherics/pipe/simple/yellow/visible{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/orange/visible,
+/turf/open/space,
+/area/space/nearstation)
+"cCM" = (
+/obj/structure/lattice,
+/obj/machinery/atmospherics/pipe/simple/orange/visible,
+/turf/open/space,
+/area/space/nearstation)
+"cCN" = (
+/obj/structure/lattice,
+/obj/machinery/atmospherics/pipe/simple/green/visible{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/orange/visible,
+/turf/open/space,
+/area/space/nearstation)
+"cCO" = (
+/obj/structure/lattice,
+/obj/machinery/atmospherics/pipe/simple/orange/visible,
+/turf/open/space,
+/area/space/nearstation)
"cCP" = (
/obj/structure/lattice,
/obj/machinery/atmospherics/pipe/simple/orange/visible{
@@ -60066,6 +61087,13 @@
},
/turf/open/space,
/area/space/nearstation)
+"cCR" = (
+/obj/structure/lattice,
+/obj/machinery/atmospherics/pipe/simple/orange/visible{
+ dir = 10
+ },
+/turf/open/space,
+/area/space/nearstation)
"cCS" = (
/obj/machinery/atmospherics/pipe/simple/orange/visible,
/obj/structure/lattice,
@@ -60080,10 +61108,25 @@
/obj/structure/closet/firecloset,
/turf/open/floor/plasteel,
/area/engine/engineering)
+"cCU" = (
+/obj/machinery/atmospherics/pipe/simple/orange/visible,
+/obj/structure/lattice,
+/turf/open/space,
+/area/space/nearstation)
+"cCV" = (
+/obj/structure/lattice,
+/obj/machinery/atmospherics/pipe/simple/orange/visible,
+/turf/open/space,
+/area/space/nearstation)
"cCW" = (
/obj/machinery/portable_atmospherics/canister/freon,
/turf/open/floor/plating,
/area/engine/engineering)
+"cCX" = (
+/obj/structure/lattice,
+/obj/machinery/atmospherics/pipe/simple/orange/visible,
+/turf/open/space,
+/area/space/nearstation)
"cCY" = (
/obj/structure/cable{
d1 = 1;
@@ -60091,16 +61134,44 @@
icon_state = "1-2"
},
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
-/obj/effect/landmark/start{
- name = "Station Engineer"
- },
+/obj/effect/landmark/start/station_engineer,
/turf/open/floor/plasteel,
/area/engine/engineering)
+"cCZ" = (
+/obj/structure/lattice,
+/obj/machinery/atmospherics/pipe/simple/orange/visible,
+/turf/open/space,
+/area/space/nearstation)
+"cDa" = (
+/obj/structure/lattice,
+/obj/machinery/atmospherics/pipe/simple/orange/visible,
+/turf/open/space,
+/area/space/nearstation)
+"cDb" = (
+/obj/structure/lattice,
+/obj/machinery/atmospherics/pipe/simple/orange/visible,
+/turf/open/space,
+/area/space/nearstation)
+"cDc" = (
+/obj/structure/lattice,
+/obj/machinery/atmospherics/pipe/simple/orange/visible,
+/turf/open/space,
+/area/space/nearstation)
+"cDd" = (
+/obj/structure/lattice,
+/obj/machinery/atmospherics/pipe/simple/orange/visible,
+/turf/open/space,
+/area/space/nearstation)
"cDe" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/obj/structure/closet/radiation,
/turf/open/floor/plasteel,
/area/engine/engineering)
+"cDf" = (
+/obj/structure/lattice,
+/obj/machinery/atmospherics/pipe/simple/orange/visible,
+/turf/open/space,
+/area/space/nearstation)
"cDg" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
@@ -60198,6 +61269,11 @@
/obj/machinery/vending/engivend,
/turf/open/floor/plasteel,
/area/engine/engineering)
+"cDn" = (
+/obj/structure/lattice,
+/obj/machinery/atmospherics/pipe/simple/orange/visible,
+/turf/open/space,
+/area/space/nearstation)
"cDo" = (
/obj/structure/cable{
d1 = 1;
@@ -60220,6 +61296,15 @@
},
/turf/open/floor/engine,
/area/engine/engineering)
+"cDq" = (
+/obj/structure/cable{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8";
+ pixel_y = 0
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
"cDr" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber{
dir = 4;
@@ -60262,6 +61347,11 @@
},
/turf/open/floor/engine,
/area/engine/engineering)
+"cDu" = (
+/obj/structure/lattice,
+/obj/machinery/atmospherics/pipe/simple/orange/visible,
+/turf/open/space,
+/area/space/nearstation)
"cDv" = (
/obj/effect/turf_decal/stripes/line,
/obj/machinery/atmospherics/components/trinary/filter/flipped{
@@ -60270,6 +61360,13 @@
},
/turf/open/floor/engine,
/area/engine/engineering)
+"cDw" = (
+/obj/effect/turf_decal/stripes/line,
+/obj/machinery/atmospherics/pipe/manifold/general/visible{
+ dir = 1
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
"cDx" = (
/obj/structure/cable{
d1 = 1;
@@ -60299,13 +61396,16 @@
},
/turf/open/floor/plasteel,
/area/engine/engineering)
+"cDA" = (
+/obj/structure/lattice,
+/obj/machinery/atmospherics/pipe/simple/orange/visible,
+/turf/open/space,
+/area/space/nearstation)
"cDB" = (
/obj/structure/disposalpipe/segment{
dir = 4
},
-/obj/effect/landmark/start{
- name = "Station Engineer"
- },
+/obj/effect/landmark/start/station_engineer,
/turf/open/floor/plasteel,
/area/engine/engineering)
"cDC" = (
@@ -60399,12 +61499,42 @@
},
/turf/closed/wall/r_wall,
/area/engine/engineering)
+"cDM" = (
+/obj/machinery/atmospherics/pipe/simple/orange/visible{
+ dir = 4
+ },
+/turf/closed/wall/r_wall,
+/area/engine/engineering)
"cDN" = (
/obj/machinery/atmospherics/pipe/simple/orange/visible{
dir = 4
},
/turf/closed/wall,
/area/engine/engineering)
+"cDO" = (
+/obj/machinery/atmospherics/pipe/simple/orange/visible{
+ dir = 4
+ },
+/turf/closed/wall,
+/area/engine/engineering)
+"cDP" = (
+/obj/machinery/atmospherics/pipe/simple/orange/visible{
+ dir = 4
+ },
+/turf/closed/wall,
+/area/engine/engineering)
+"cDQ" = (
+/obj/machinery/atmospherics/pipe/simple/orange/visible{
+ dir = 4
+ },
+/turf/closed/wall,
+/area/engine/engineering)
+"cDR" = (
+/obj/machinery/atmospherics/pipe/simple/orange/visible{
+ dir = 4
+ },
+/turf/closed/wall/r_wall,
+/area/engine/engineering)
"cDS" = (
/obj/structure/lattice,
/obj/machinery/atmospherics/pipe/simple/orange/visible{
@@ -60412,6 +61542,41 @@
},
/turf/open/space,
/area/space)
+"cDT" = (
+/obj/structure/lattice,
+/obj/machinery/atmospherics/pipe/simple/orange/visible{
+ dir = 4
+ },
+/turf/open/space,
+/area/space)
+"cDU" = (
+/obj/structure/lattice,
+/obj/machinery/atmospherics/pipe/simple/orange/visible{
+ dir = 4
+ },
+/turf/open/space,
+/area/space)
+"cDV" = (
+/obj/structure/lattice,
+/obj/machinery/atmospherics/pipe/simple/orange/visible{
+ dir = 4
+ },
+/turf/open/space,
+/area/space)
+"cDW" = (
+/obj/structure/lattice,
+/obj/machinery/atmospherics/pipe/simple/orange/visible{
+ dir = 4
+ },
+/turf/open/space,
+/area/space/nearstation)
+"cDX" = (
+/obj/structure/lattice,
+/obj/machinery/atmospherics/pipe/simple/orange/visible{
+ dir = 4
+ },
+/turf/open/space,
+/area/space/nearstation)
"cDY" = (
/obj/structure/lattice,
/obj/machinery/atmospherics/pipe/simple/orange/visible{
@@ -60436,6 +61601,26 @@
/obj/effect/turf_decal/bot,
/turf/open/floor/plasteel/black,
/area/engine/engineering)
+"cEb" = (
+/obj/machinery/atmospherics/components/unary/portables_connector/visible{
+ dir = 1
+ },
+/obj/machinery/portable_atmospherics/canister/nitrogen,
+/obj/effect/turf_decal/bot,
+/turf/open/floor/plasteel/black,
+/area/engine/engineering)
+"cEc" = (
+/obj/effect/turf_decal/stripes/line{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/general/visible,
+/obj/structure/cable/yellow{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
"cEd" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/obj/effect/turf_decal/stripes/line{
@@ -60501,6 +61686,9 @@
},
/turf/open/floor/engine,
/area/engine/engineering)
+"cEj" = (
+/turf/open/floor/plasteel/black,
+/area/engine/engineering)
"cEk" = (
/obj/machinery/firealarm{
dir = 4;
@@ -60515,6 +61703,40 @@
/obj/structure/lattice,
/turf/open/space,
/area/space)
+"cEm" = (
+/obj/structure/lattice,
+/obj/machinery/atmospherics/pipe/heat_exchanging/simple{
+ dir = 4
+ },
+/turf/open/space,
+/area/space)
+"cEn" = (
+/obj/machinery/atmospherics/pipe/heat_exchanging/simple{
+ dir = 4
+ },
+/obj/structure/lattice,
+/turf/open/space,
+/area/space)
+"cEo" = (
+/obj/structure/lattice,
+/obj/machinery/atmospherics/pipe/heat_exchanging/simple{
+ dir = 4
+ },
+/turf/open/space,
+/area/space)
+"cEp" = (
+/obj/machinery/atmospherics/pipe/heat_exchanging/simple{
+ dir = 4
+ },
+/turf/open/space,
+/area/space)
+"cEq" = (
+/obj/structure/lattice,
+/obj/machinery/atmospherics/pipe/heat_exchanging/simple{
+ dir = 4
+ },
+/turf/open/space,
+/area/space)
"cEr" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/obj/effect/turf_decal/stripes/line{
@@ -60674,6 +61896,41 @@
},
/turf/open/space,
/area/space)
+"cEF" = (
+/obj/structure/lattice/catwalk,
+/obj/machinery/atmospherics/pipe/heat_exchanging/simple{
+ dir = 4
+ },
+/turf/open/space,
+/area/space)
+"cEG" = (
+/obj/structure/lattice/catwalk,
+/obj/machinery/atmospherics/pipe/heat_exchanging/simple{
+ dir = 4
+ },
+/turf/open/space,
+/area/space)
+"cEH" = (
+/obj/structure/lattice/catwalk,
+/obj/machinery/atmospherics/pipe/heat_exchanging/simple{
+ dir = 4
+ },
+/turf/open/space,
+/area/space)
+"cEI" = (
+/obj/structure/lattice/catwalk,
+/obj/machinery/atmospherics/pipe/heat_exchanging/simple{
+ dir = 4
+ },
+/turf/open/space,
+/area/space)
+"cEJ" = (
+/obj/structure/lattice/catwalk,
+/obj/machinery/atmospherics/pipe/heat_exchanging/simple{
+ dir = 4
+ },
+/turf/open/space,
+/area/space)
"cEK" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 6
@@ -60712,6 +61969,58 @@
/obj/item/weapon/tank/internals/plasma,
/turf/open/floor/plating,
/area/engine/supermatter)
+"cEN" = (
+/obj/machinery/power/rad_collector{
+ anchored = 1
+ },
+/obj/structure/cable/yellow{
+ d2 = 8;
+ icon_state = "0-8"
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"cEO" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/atmospherics/pipe/manifold/general/visible{
+ dir = 8
+ },
+/turf/open/floor/plating,
+/area/engine/engineering)
+"cEP" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ dir = 8;
+ on = 1;
+ scrub_Toxins = 0
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"cEQ" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 4;
+ on = 1
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"cER" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/fulltile,
+/obj/machinery/atmospherics/pipe/manifold/general/visible{
+ icon_state = "manifold";
+ dir = 4
+ },
+/turf/open/floor/plating,
+/area/engine/engineering)
+"cES" = (
+/obj/machinery/power/rad_collector{
+ anchored = 1
+ },
+/obj/structure/cable/yellow{
+ d2 = 4;
+ icon_state = "0-4"
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
"cET" = (
/obj/machinery/door/poddoor/shutters/preopen{
id = "engsm";
@@ -60747,6 +62056,9 @@
/obj/machinery/atmospherics/pipe/simple/general/visible,
/turf/open/floor/engine,
/area/engine/engineering)
+"cEV" = (
+/turf/open/floor/plasteel/black,
+/area/engine/engineering)
"cEW" = (
/obj/machinery/atmospherics/components/unary/portables_connector/visible{
icon_state = "connector_map";
@@ -60758,6 +62070,30 @@
},
/turf/open/floor/plasteel/black,
/area/engine/engineering)
+"cEX" = (
+/turf/closed/wall/r_wall,
+/area/space)
+"cEY" = (
+/obj/machinery/atmospherics/pipe/heat_exchanging/simple{
+ dir = 6
+ },
+/obj/structure/lattice,
+/turf/open/space,
+/area/space)
+"cEZ" = (
+/obj/machinery/atmospherics/pipe/heat_exchanging/simple{
+ dir = 4
+ },
+/obj/structure/lattice,
+/turf/open/space,
+/area/space)
+"cFa" = (
+/obj/machinery/atmospherics/pipe/heat_exchanging/simple{
+ dir = 4
+ },
+/obj/structure/lattice,
+/turf/open/space,
+/area/space)
"cFb" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber{
dir = 1;
@@ -60783,6 +62119,16 @@
},
/turf/open/floor/engine,
/area/engine/engineering)
+"cFd" = (
+/obj/machinery/power/rad_collector{
+ anchored = 1
+ },
+/obj/structure/cable/yellow{
+ d2 = 8;
+ icon_state = "0-8"
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
"cFe" = (
/obj/structure/grille,
/obj/structure/window/reinforced/highpressure/fulltile,
@@ -60791,6 +62137,21 @@
},
/turf/open/floor/plating,
/area/engine/supermatter)
+"cFf" = (
+/obj/machinery/atmospherics/components/unary/vent_scrubber{
+ dir = 8;
+ on = 1;
+ scrub_Toxins = 0
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
+"cFg" = (
+/obj/machinery/atmospherics/components/unary/vent_pump{
+ dir = 4;
+ on = 1
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
"cFh" = (
/obj/structure/grille,
/obj/structure/window/reinforced/highpressure/fulltile,
@@ -60799,6 +62160,16 @@
},
/turf/open/floor/plating,
/area/engine/supermatter)
+"cFi" = (
+/obj/machinery/power/rad_collector{
+ anchored = 1
+ },
+/obj/structure/cable/yellow{
+ d2 = 4;
+ icon_state = "0-4"
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
"cFj" = (
/obj/machinery/door/poddoor/shutters/preopen{
id = "engsm";
@@ -60830,6 +62201,9 @@
},
/turf/open/floor/engine,
/area/engine/engineering)
+"cFl" = (
+/turf/closed/wall/r_wall,
+/area/space)
"cFm" = (
/obj/machinery/atmospherics/pipe/heat_exchanging/simple,
/obj/structure/lattice,
@@ -60849,6 +62223,41 @@
/obj/structure/lattice,
/turf/open/space,
/area/space)
+"cFp" = (
+/obj/structure/lattice,
+/obj/machinery/atmospherics/pipe/heat_exchanging/simple{
+ dir = 6
+ },
+/turf/open/space,
+/area/space)
+"cFq" = (
+/obj/machinery/atmospherics/pipe/heat_exchanging/simple{
+ dir = 10
+ },
+/obj/structure/lattice,
+/turf/open/space,
+/area/space)
+"cFr" = (
+/obj/structure/lattice,
+/obj/machinery/atmospherics/pipe/heat_exchanging/simple{
+ dir = 6
+ },
+/turf/open/space,
+/area/space)
+"cFs" = (
+/obj/machinery/atmospherics/pipe/heat_exchanging/simple{
+ dir = 10
+ },
+/obj/structure/lattice,
+/turf/open/space,
+/area/space)
+"cFt" = (
+/obj/structure/lattice,
+/obj/machinery/atmospherics/pipe/heat_exchanging/simple{
+ dir = 6
+ },
+/turf/open/space,
+/area/space)
"cFu" = (
/obj/effect/turf_decal/stripes/line{
dir = 8
@@ -60859,10 +62268,18 @@
/obj/machinery/meter,
/turf/open/floor/engine,
/area/engine/engineering)
+"cFv" = (
+/obj/machinery/status_display,
+/turf/closed/wall/r_wall,
+/area/engine/engineering)
"cFw" = (
/obj/structure/sign/electricshock,
/turf/closed/wall/r_wall,
/area/engine/supermatter)
+"cFx" = (
+/obj/machinery/ai_status_display,
+/turf/closed/wall/r_wall,
+/area/engine/engineering)
"cFy" = (
/obj/machinery/atmospherics/pipe/simple/general/visible{
dir = 4
@@ -60883,6 +62300,39 @@
/obj/machinery/atmospherics/pipe/manifold/general/visible,
/turf/open/floor/plasteel/black,
/area/engine/engineering)
+"cFB" = (
+/turf/closed/wall/r_wall,
+/area/space)
+"cFC" = (
+/obj/structure/lattice,
+/obj/machinery/atmospherics/pipe/heat_exchanging/simple,
+/turf/open/space,
+/area/space)
+"cFD" = (
+/obj/structure/lattice/catwalk,
+/obj/machinery/atmospherics/pipe/heat_exchanging/simple,
+/turf/open/space,
+/area/space)
+"cFE" = (
+/obj/structure/lattice/catwalk,
+/obj/machinery/atmospherics/pipe/heat_exchanging/simple,
+/turf/open/space,
+/area/space)
+"cFF" = (
+/obj/structure/lattice/catwalk,
+/obj/machinery/atmospherics/pipe/heat_exchanging/simple,
+/turf/open/space,
+/area/space)
+"cFG" = (
+/obj/structure/lattice/catwalk,
+/obj/machinery/atmospherics/pipe/heat_exchanging/simple,
+/turf/open/space,
+/area/space)
+"cFH" = (
+/obj/structure/lattice/catwalk,
+/obj/machinery/atmospherics/pipe/heat_exchanging/simple,
+/turf/open/space,
+/area/space)
"cFI" = (
/obj/effect/turf_decal/stripes/line{
dir = 8
@@ -61017,6 +62467,44 @@
},
/turf/open/floor/plasteel/black,
/area/engine/engineering)
+"cFV" = (
+/turf/closed/wall/r_wall,
+/area/space)
+"cFW" = (
+/obj/machinery/atmospherics/pipe/heat_exchanging/simple,
+/obj/structure/lattice,
+/turf/open/space,
+/area/space)
+"cFX" = (
+/obj/structure/lattice,
+/obj/machinery/atmospherics/pipe/heat_exchanging/simple,
+/turf/open/space,
+/area/space)
+"cFY" = (
+/obj/machinery/atmospherics/pipe/heat_exchanging/simple,
+/obj/structure/lattice,
+/turf/open/space,
+/area/space)
+"cFZ" = (
+/obj/structure/lattice,
+/obj/machinery/atmospherics/pipe/heat_exchanging/simple,
+/turf/open/space,
+/area/space)
+"cGa" = (
+/obj/machinery/atmospherics/pipe/heat_exchanging/simple,
+/obj/structure/lattice,
+/turf/open/space,
+/area/space)
+"cGb" = (
+/obj/structure/lattice,
+/obj/machinery/atmospherics/pipe/heat_exchanging/simple,
+/turf/open/space,
+/area/space)
+"cGc" = (
+/obj/machinery/atmospherics/pipe/heat_exchanging/simple,
+/obj/structure/lattice,
+/turf/open/space,
+/area/space)
"cGd" = (
/obj/structure/closet/crate/bin,
/obj/effect/turf_decal/stripes/line{
@@ -61032,6 +62520,10 @@
},
/turf/open/floor/engine,
/area/engine/engineering)
+"cGf" = (
+/obj/machinery/atmospherics/pipe/simple/general/visible,
+/turf/open/floor/engine,
+/area/engine/engineering)
"cGg" = (
/obj/structure/cable{
d1 = 2;
@@ -61069,6 +62561,29 @@
/obj/structure/closet/secure_closet/engineering_personal,
/turf/open/floor/plasteel/black,
/area/engine/engineering)
+"cGm" = (
+/turf/closed/wall/r_wall,
+/area/space)
+"cGn" = (
+/obj/machinery/atmospherics/pipe/heat_exchanging/simple,
+/obj/structure/lattice,
+/turf/open/space,
+/area/space)
+"cGo" = (
+/obj/machinery/atmospherics/pipe/heat_exchanging/simple,
+/obj/structure/lattice,
+/turf/open/space,
+/area/space)
+"cGp" = (
+/obj/machinery/atmospherics/pipe/heat_exchanging/simple,
+/obj/structure/lattice,
+/turf/open/space,
+/area/space)
+"cGq" = (
+/obj/machinery/atmospherics/pipe/heat_exchanging/simple,
+/obj/structure/lattice,
+/turf/open/space,
+/area/space)
"cGr" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 5
@@ -61115,6 +62630,13 @@
/obj/effect/turf_decal/stripes/line,
/turf/open/floor/engine,
/area/engine/engineering)
+"cGy" = (
+/obj/machinery/atmospherics/pipe/simple/general/visible{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/engine,
+/area/engine/engineering)
"cGz" = (
/obj/machinery/atmospherics/pipe/manifold/general/visible,
/obj/effect/turf_decal/stripes/line,
@@ -61132,6 +62654,13 @@
/obj/effect/turf_decal/stripes/line,
/turf/open/floor/engine,
/area/engine/engineering)
+"cGB" = (
+/obj/machinery/atmospherics/pipe/simple/general/visible{
+ dir = 4
+ },
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/engine,
+/area/engine/engineering)
"cGC" = (
/obj/machinery/atmospherics/pipe/simple/general/visible{
dir = 4
@@ -61159,6 +62688,15 @@
},
/turf/open/floor/plating,
/area/engine/engineering)
+"cGF" = (
+/turf/closed/wall/r_wall,
+/area/space)
+"cGG" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
+ dir = 5
+ },
+/turf/closed/wall/r_wall,
+/area/engine/engineering)
"cGH" = (
/obj/structure/grille,
/obj/structure/window/reinforced/highpressure/fulltile,
@@ -61180,6 +62718,19 @@
},
/turf/open/floor/engine,
/area/engine/engineering)
+"cGJ" = (
+/obj/machinery/door/firedoor,
+/obj/machinery/door/airlock/glass_engineering{
+ name = "Laser Room";
+ req_access_txt = "10"
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/engine,
+/area/engine/engineering)
"cGK" = (
/obj/structure/grille,
/obj/structure/window/reinforced/highpressure/fulltile,
@@ -61200,6 +62751,30 @@
/obj/machinery/atmospherics/pipe/simple/general/visible,
/turf/open/floor/plating/airless,
/area/engine/engineering)
+"cGN" = (
+/turf/closed/wall/r_wall,
+/area/space)
+"cGO" = (
+/obj/machinery/atmospherics/pipe/heat_exchanging/simple{
+ dir = 5
+ },
+/obj/structure/lattice,
+/turf/open/space,
+/area/space)
+"cGP" = (
+/obj/machinery/atmospherics/pipe/heat_exchanging/simple{
+ dir = 5
+ },
+/obj/structure/lattice,
+/turf/open/space,
+/area/space)
+"cGQ" = (
+/obj/machinery/atmospherics/pipe/heat_exchanging/simple{
+ dir = 5
+ },
+/obj/structure/lattice,
+/turf/open/space,
+/area/space)
"cGR" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber{
dir = 1;
@@ -61236,6 +62811,20 @@
},
/turf/open/floor/plasteel/black,
/area/engine/engineering)
+"cGW" = (
+/obj/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/plasteel/black,
+/area/engine/engineering)
+"cGX" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plating,
+/area/engine/engineering)
"cGY" = (
/obj/machinery/atmospherics/components/unary/vent_pump{
dir = 1;
@@ -61297,6 +62886,13 @@
},
/turf/open/floor/plating,
/area/engine/engineering)
+"cHf" = (
+/obj/machinery/firealarm{
+ dir = 4;
+ pixel_x = 24
+ },
+/turf/open/floor/plasteel/black,
+/area/engine/engineering)
"cHg" = (
/obj/structure/cable{
d1 = 1;
@@ -61310,6 +62906,26 @@
},
/turf/open/floor/plating,
/area/engine/engineering)
+"cHh" = (
+/obj/structure/cable{
+ d2 = 8;
+ icon_state = "0-8"
+ },
+/obj/machinery/power/emitter{
+ anchored = 1;
+ dir = 4;
+ icon_state = "emitter";
+ state = 2
+ },
+/turf/open/floor/plating,
+/area/engine/engineering)
+"cHi" = (
+/obj/structure/reflector/box{
+ anchored = 1;
+ dir = 1
+ },
+/turf/open/floor/plasteel/black,
+/area/engine/engineering)
"cHj" = (
/obj/structure/cable{
icon_state = "0-4";
@@ -61323,10 +62939,26 @@
},
/turf/open/floor/plating,
/area/engine/engineering)
+"cHk" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 8;
+ icon_state = "1-8"
+ },
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/turf/open/floor/plating,
+/area/engine/engineering)
"cHl" = (
/obj/effect/decal/cleanable/dirt,
/turf/closed/wall/r_wall,
/area/engine/engineering)
+"cHm" = (
+/turf/closed/wall/r_wall,
+/area/space)
"cHn" = (
/obj/structure/cable{
d1 = 1;
@@ -61352,6 +62984,13 @@
},
/turf/open/floor/plating,
/area/engine/engineering)
+"cHq" = (
+/obj/structure/cable{
+ icon_state = "0-4";
+ d2 = 4
+ },
+/turf/open/floor/plating,
+/area/engine/engineering)
"cHr" = (
/obj/structure/cable{
d1 = 1;
@@ -61365,6 +63004,41 @@
/obj/item/weapon/crowbar/large,
/turf/open/floor/plating,
/area/engine/engineering)
+"cHt" = (
+/turf/closed/wall/r_wall,
+/area/space)
+"cHu" = (
+/turf/closed/wall/r_wall,
+/area/space)
+"cHv" = (
+/turf/closed/wall/r_wall,
+/area/space)
+"cHw" = (
+/turf/closed/wall/r_wall,
+/area/space)
+"cHx" = (
+/turf/closed/wall/r_wall,
+/area/space)
+"cHy" = (
+/turf/closed/wall/r_wall,
+/area/space)
+"cHz" = (
+/turf/closed/wall/r_wall,
+/area/space)
+"cHA" = (
+/turf/closed/wall/r_wall,
+/area/space)
+"cHB" = (
+/turf/closed/wall/r_wall,
+/area/space)
+"cHC" = (
+/obj/structure/chair/stool{
+ desc = "Apply butt, tactically.";
+ name = "tactical stool";
+ pixel_y = 8
+ },
+/turf/open/floor/mineral/plastitanium,
+/area/shuttle/syndicate)
"cHD" = (
/obj/structure/cable{
d1 = 1;
@@ -61642,6 +63316,15 @@
},
/turf/open/floor/plasteel,
/area/assembly/robotics)
+"cHY" = (
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/supply/hidden{
+ dir = 4
+ },
+/turf/open/floor/plasteel/black,
+/area/assembly/robotics)
"cHZ" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
@@ -61670,9 +63353,7 @@
"cIc" = (
/obj/effect/turf_decal/stripes/line,
/obj/effect/turf_decal/bot,
-/obj/effect/landmark/start{
- name = "Roboticist"
- },
+/obj/effect/landmark/start/roboticist,
/turf/open/floor/plasteel,
/area/assembly/robotics)
"cId" = (
@@ -61714,6 +63395,27 @@
},
/turf/open/floor/plating,
/area/hallway/secondary/entry)
+"cIi" = (
+/obj/machinery/door/airlock/external{
+ cyclelinkeddir = 1;
+ name = "Port Docking Bay 1"
+ },
+/turf/open/floor/plating,
+/area/hallway/secondary/entry)
+"cIj" = (
+/obj/machinery/door/airlock/external{
+ cyclelinkeddir = 1;
+ name = "Port Docking Bay 1"
+ },
+/turf/open/floor/plating,
+/area/hallway/secondary/entry)
+"cIk" = (
+/obj/machinery/door/airlock/external{
+ cyclelinkeddir = 1;
+ name = "Port Docking Bay 1"
+ },
+/turf/open/floor/plating,
+/area/hallway/secondary/entry)
"cIl" = (
/obj/machinery/computer/med_data{
icon_keyboard = "syndi_key"
@@ -61804,6 +63506,9 @@
},
/turf/open/floor/plasteel/black,
/area/shuttle/syndicate)
+"cIw" = (
+/turf/open/floor/plasteel/black,
+/area/shuttle/syndicate)
"cIx" = (
/obj/structure/chair/office/dark{
dir = 4;
@@ -61827,6 +63532,24 @@
"cIz" = (
/turf/open/floor/plasteel/vault,
/area/shuttle/syndicate)
+"cIA" = (
+/turf/open/floor/plasteel/vault,
+/area/shuttle/syndicate)
+"cIB" = (
+/turf/open/floor/plasteel/vault,
+/area/shuttle/syndicate)
+"cIC" = (
+/turf/open/floor/plasteel/vault,
+/area/shuttle/syndicate)
+"cID" = (
+/turf/open/floor/plasteel/vault,
+/area/shuttle/syndicate)
+"cIE" = (
+/turf/open/floor/plasteel/vault,
+/area/shuttle/syndicate)
+"cIF" = (
+/turf/open/floor/plasteel/vault,
+/area/shuttle/syndicate)
"cIG" = (
/obj/machinery/status_display,
/turf/closed/wall/mineral/plastitanium,
@@ -61874,6 +63597,9 @@
dir = 5
},
/area/shuttle/syndicate)
+"cIM" = (
+/turf/open/floor/plasteel/black,
+/area/shuttle/syndicate)
"cIN" = (
/obj/structure/chair{
dir = 8;
@@ -61896,6 +63622,9 @@
dir = 5
},
/area/shuttle/syndicate)
+"cIP" = (
+/turf/open/floor/plasteel/black,
+/area/shuttle/syndicate)
"cIQ" = (
/obj/structure/chair{
dir = 8;
@@ -61914,12 +63643,43 @@
dir = 5
},
/area/shuttle/syndicate)
+"cIS" = (
+/turf/open/floor/plasteel/vault{
+ dir = 5
+ },
+/area/shuttle/syndicate)
+"cIT" = (
+/turf/open/floor/plasteel/vault{
+ dir = 5
+ },
+/area/shuttle/syndicate)
"cIU" = (
/obj/machinery/portable_atmospherics/canister/oxygen,
/turf/open/floor/plasteel/vault{
dir = 8
},
/area/shuttle/syndicate)
+"cIV" = (
+/obj/structure/chair{
+ dir = 4;
+ name = "tactical chair"
+ },
+/turf/open/floor/plasteel/vault{
+ dir = 5
+ },
+/area/shuttle/syndicate)
+"cIW" = (
+/turf/open/floor/plasteel/black,
+/area/shuttle/syndicate)
+"cIX" = (
+/obj/structure/chair{
+ dir = 8;
+ name = "tactical chair"
+ },
+/turf/open/floor/plasteel/vault{
+ dir = 5
+ },
+/area/shuttle/syndicate)
"cIY" = (
/obj/machinery/suit_storage_unit/syndicate,
/turf/open/floor/plasteel/podhatch{
@@ -61928,12 +63688,45 @@
dir = 4
},
/area/shuttle/syndicate)
+"cIZ" = (
+/turf/open/floor/plasteel/vault{
+ dir = 5
+ },
+/area/shuttle/syndicate)
+"cJa" = (
+/turf/open/floor/plasteel/vault{
+ dir = 5
+ },
+/area/shuttle/syndicate)
"cJb" = (
/obj/structure/tank_dispenser/oxygen,
/turf/open/floor/plasteel/vault{
dir = 8
},
/area/shuttle/syndicate)
+"cJc" = (
+/obj/structure/chair{
+ dir = 4;
+ name = "tactical chair"
+ },
+/turf/open/floor/plasteel/vault{
+ dir = 5
+ },
+/area/shuttle/syndicate)
+"cJd" = (
+/turf/open/floor/plasteel/vault{
+ dir = 5
+ },
+/area/shuttle/syndicate)
+"cJe" = (
+/obj/structure/chair{
+ dir = 8;
+ name = "tactical chair"
+ },
+/turf/open/floor/plasteel/vault{
+ dir = 5
+ },
+/area/shuttle/syndicate)
"cJf" = (
/obj/machinery/door/poddoor{
id = "smindicate";
@@ -61974,6 +63767,24 @@
dir = 1
},
/area/shuttle/syndicate)
+"cJg" = (
+/obj/machinery/suit_storage_unit/syndicate,
+/turf/open/floor/plasteel/podhatch{
+ tag = "icon-podhatch (EAST)";
+ icon_state = "podhatch";
+ dir = 4
+ },
+/area/shuttle/syndicate)
+"cJh" = (
+/turf/open/floor/plasteel/vault{
+ dir = 5
+ },
+/area/shuttle/syndicate)
+"cJi" = (
+/turf/open/floor/plasteel/vault{
+ dir = 5
+ },
+/area/shuttle/syndicate)
"cJj" = (
/obj/machinery/portable_atmospherics/canister/oxygen,
/obj/machinery/light{
@@ -62017,6 +63828,24 @@
dir = 6
},
/area/shuttle/syndicate)
+"cJo" = (
+/obj/machinery/suit_storage_unit/syndicate,
+/turf/open/floor/plasteel/podhatch{
+ tag = "icon-podhatch (EAST)";
+ icon_state = "podhatch";
+ dir = 4
+ },
+/area/shuttle/syndicate)
+"cJp" = (
+/turf/open/floor/plasteel/vault{
+ dir = 5
+ },
+/area/shuttle/syndicate)
+"cJq" = (
+/turf/open/floor/plasteel/vault{
+ dir = 5
+ },
+/area/shuttle/syndicate)
"cJr" = (
/turf/open/floor/plasteel/vault{
dir = 8
@@ -62031,6 +63860,36 @@
dir = 8
},
/area/shuttle/syndicate)
+"cJt" = (
+/turf/open/floor/plasteel/vault{
+ dir = 5
+ },
+/area/shuttle/syndicate)
+"cJu" = (
+/turf/open/floor/plasteel/vault{
+ dir = 5
+ },
+/area/shuttle/syndicate)
+"cJv" = (
+/turf/open/floor/plasteel/vault{
+ dir = 5
+ },
+/area/shuttle/syndicate)
+"cJw" = (
+/turf/open/floor/plasteel/vault{
+ dir = 5
+ },
+/area/shuttle/syndicate)
+"cJx" = (
+/turf/open/floor/plasteel/vault{
+ dir = 5
+ },
+/area/shuttle/syndicate)
+"cJy" = (
+/turf/open/floor/plasteel/vault{
+ dir = 5
+ },
+/area/shuttle/syndicate)
"cJz" = (
/obj/machinery/suit_storage_unit/syndicate,
/turf/open/floor/plasteel/podhatch{
@@ -62039,12 +63898,35 @@
dir = 6
},
/area/shuttle/syndicate)
+"cJA" = (
+/turf/open/floor/plasteel/vault{
+ dir = 5
+ },
+/area/shuttle/syndicate)
+"cJB" = (
+/turf/open/floor/plasteel/vault{
+ dir = 5
+ },
+/area/shuttle/syndicate)
"cJC" = (
/obj/structure/reagent_dispensers/fueltank,
/turf/open/floor/plasteel/vault{
dir = 8
},
/area/shuttle/syndicate)
+"cJD" = (
+/turf/open/floor/plasteel/vault{
+ dir = 5
+ },
+/area/shuttle/syndicate)
+"cJE" = (
+/turf/open/floor/plasteel/black,
+/area/shuttle/syndicate)
+"cJF" = (
+/turf/open/floor/plasteel/vault{
+ dir = 5
+ },
+/area/shuttle/syndicate)
"cJG" = (
/obj/structure/chair{
dir = 1;
@@ -62054,6 +63936,15 @@
dir = 8
},
/area/shuttle/syndicate)
+"cJH" = (
+/obj/structure/chair{
+ dir = 1;
+ name = "tactical chair"
+ },
+/turf/open/floor/plasteel/vault{
+ dir = 8
+ },
+/area/shuttle/syndicate)
"cJI" = (
/obj/structure/rack,
/obj/item/clothing/suit/space/syndicate/black/red,
@@ -62066,6 +63957,23 @@
/obj/machinery/ai_status_display,
/turf/closed/wall/mineral/plastitanium,
/area/shuttle/syndicate)
+"cJK" = (
+/turf/open/floor/plasteel/vault{
+ dir = 5
+ },
+/area/shuttle/syndicate)
+"cJL" = (
+/turf/open/floor/plasteel/black,
+/area/shuttle/syndicate)
+"cJM" = (
+/turf/open/floor/plasteel/vault{
+ dir = 5
+ },
+/area/shuttle/syndicate)
+"cJN" = (
+/obj/machinery/status_display,
+/turf/closed/wall/mineral/plastitanium,
+/area/shuttle/syndicate)
"cJO" = (
/obj/machinery/sleeper/syndie{
dir = 4
@@ -62074,6 +63982,11 @@
dir = 8
},
/area/shuttle/syndicate)
+"cJP" = (
+/turf/open/floor/plasteel/vault{
+ dir = 8
+ },
+/area/shuttle/syndicate)
"cJQ" = (
/obj/machinery/light{
dir = 1
@@ -62128,6 +64041,19 @@
dir = 8
},
/area/shuttle/syndicate)
+"cJT" = (
+/turf/open/floor/plasteel/vault{
+ dir = 5
+ },
+/area/shuttle/syndicate)
+"cJU" = (
+/turf/open/floor/plasteel/black,
+/area/shuttle/syndicate)
+"cJV" = (
+/turf/open/floor/plasteel/vault{
+ dir = 5
+ },
+/area/shuttle/syndicate)
"cJW" = (
/obj/item/weapon/stock_parts/cell/high{
pixel_x = -3;
@@ -62195,6 +64121,18 @@
dir = 8
},
/area/shuttle/syndicate)
+"cKc" = (
+/turf/open/floor/plasteel/vault,
+/area/shuttle/syndicate)
+"cKd" = (
+/turf/open/floor/plasteel/vault,
+/area/shuttle/syndicate)
+"cKe" = (
+/turf/open/floor/plasteel/vault,
+/area/shuttle/syndicate)
+"cKf" = (
+/turf/open/floor/plasteel/vault,
+/area/shuttle/syndicate)
"cKg" = (
/obj/machinery/light{
icon_state = "tube1";
@@ -62204,6 +64142,9 @@
dir = 5
},
/area/shuttle/syndicate)
+"cKh" = (
+/turf/open/floor/plasteel/black,
+/area/shuttle/syndicate)
"cKi" = (
/obj/machinery/light{
dir = 4
@@ -62212,6 +64153,34 @@
dir = 5
},
/area/shuttle/syndicate)
+"cKj" = (
+/turf/open/floor/plasteel/vault,
+/area/shuttle/syndicate)
+"cKk" = (
+/turf/open/floor/plasteel/vault,
+/area/shuttle/syndicate)
+"cKl" = (
+/turf/open/floor/plasteel/vault,
+/area/shuttle/syndicate)
+"cKm" = (
+/turf/open/floor/plasteel/vault,
+/area/shuttle/syndicate)
+"cKn" = (
+/turf/open/floor/plasteel/vault,
+/area/shuttle/syndicate)
+"cKo" = (
+/obj/machinery/sleeper/syndie{
+ dir = 4
+ },
+/turf/open/floor/plasteel/vault{
+ dir = 8
+ },
+/area/shuttle/syndicate)
+"cKp" = (
+/turf/open/floor/plasteel/vault{
+ dir = 5
+ },
+/area/shuttle/syndicate)
"cKq" = (
/turf/open/floor/plasteel/podhatch{
dir = 9
@@ -62224,6 +64193,13 @@
dir = 1
},
/area/shuttle/syndicate)
+"cKs" = (
+/turf/open/floor/plasteel/podhatch{
+ tag = "icon-podhatch (NORTH)";
+ icon_state = "podhatch";
+ dir = 1
+ },
+/area/shuttle/syndicate)
"cKt" = (
/obj/machinery/door/airlock/hatch{
req_access_txt = "150"
@@ -62232,11 +64208,59 @@
dir = 8
},
/area/shuttle/syndicate)
+"cKu" = (
+/turf/open/floor/plasteel/podhatch{
+ tag = "icon-podhatch (NORTH)";
+ icon_state = "podhatch";
+ dir = 1
+ },
+/area/shuttle/syndicate)
+"cKv" = (
+/turf/open/floor/plasteel/podhatch{
+ tag = "icon-podhatch (NORTH)";
+ icon_state = "podhatch";
+ dir = 1
+ },
+/area/shuttle/syndicate)
+"cKw" = (
+/turf/open/floor/plasteel/podhatch{
+ tag = "icon-podhatch (NORTH)";
+ icon_state = "podhatch";
+ dir = 1
+ },
+/area/shuttle/syndicate)
+"cKx" = (
+/obj/machinery/door/airlock/hatch{
+ req_access_txt = "150"
+ },
+/turf/open/floor/plasteel/vault{
+ dir = 8
+ },
+/area/shuttle/syndicate)
+"cKy" = (
+/turf/open/floor/plasteel/podhatch{
+ tag = "icon-podhatch (NORTH)";
+ icon_state = "podhatch";
+ dir = 1
+ },
+/area/shuttle/syndicate)
+"cKz" = (
+/turf/open/floor/plasteel/podhatch{
+ tag = "icon-podhatch (NORTH)";
+ icon_state = "podhatch";
+ dir = 1
+ },
+/area/shuttle/syndicate)
"cKA" = (
/turf/open/floor/plasteel/podhatch{
dir = 5
},
/area/shuttle/syndicate)
+"cKB" = (
+/turf/open/floor/plasteel/vault{
+ dir = 5
+ },
+/area/shuttle/syndicate)
"cKC" = (
/obj/structure/closet/syndicate/personal,
/turf/open/floor/plasteel/vault{
@@ -62252,11 +64276,37 @@
dir = 8
},
/area/shuttle/syndicate)
+"cKE" = (
+/turf/open/floor/plasteel/vault{
+ dir = 5
+ },
+/area/shuttle/syndicate)
"cKF" = (
/turf/open/floor/plasteel/podhatch{
dir = 10
},
/area/shuttle/syndicate)
+"cKG" = (
+/turf/open/floor/plasteel/podhatch,
+/area/shuttle/syndicate)
+"cKH" = (
+/turf/open/floor/plasteel/podhatch,
+/area/shuttle/syndicate)
+"cKI" = (
+/turf/open/floor/plasteel/podhatch,
+/area/shuttle/syndicate)
+"cKJ" = (
+/turf/open/floor/plasteel/podhatch,
+/area/shuttle/syndicate)
+"cKK" = (
+/turf/open/floor/plasteel/podhatch,
+/area/shuttle/syndicate)
+"cKL" = (
+/turf/open/floor/plasteel/podhatch,
+/area/shuttle/syndicate)
+"cKM" = (
+/turf/open/floor/plasteel/podhatch,
+/area/shuttle/syndicate)
"cKN" = (
/turf/open/floor/plasteel/podhatch{
tag = "icon-podhatch (SOUTHEAST)";
@@ -62264,6 +64314,11 @@
dir = 6
},
/area/shuttle/syndicate)
+"cKO" = (
+/turf/open/floor/plasteel/vault{
+ dir = 5
+ },
+/area/shuttle/syndicate)
"cKP" = (
/obj/structure/closet/syndicate/nuclear,
/turf/open/floor/plasteel/vault{
@@ -62322,6 +64377,15 @@
/obj/structure/table/reinforced,
/turf/open/floor/plasteel/vault,
/area/shuttle/syndicate)
+"cKV" = (
+/turf/open/floor/plasteel/vault,
+/area/shuttle/syndicate)
+"cKW" = (
+/turf/open/floor/plasteel/vault,
+/area/shuttle/syndicate)
+"cKX" = (
+/turf/open/floor/plasteel/vault,
+/area/shuttle/syndicate)
"cKY" = (
/obj/item/device/sbeacondrop/bomb{
pixel_y = 5
@@ -62353,6 +64417,12 @@
dir = 8
},
/area/shuttle/syndicate)
+"cLa" = (
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/turf/open/floor/plasteel/vault,
+/area/shuttle/syndicate)
"cLb" = (
/obj/machinery/door/window{
dir = 1;
@@ -62381,6 +64451,11 @@
dir = 8
},
/area/shuttle/syndicate)
+"cLe" = (
+/turf/open/floor/plasteel/vault{
+ dir = 5
+ },
+/area/shuttle/syndicate)
"cLf" = (
/obj/structure/sink{
dir = 4;
@@ -62404,6 +64479,24 @@
},
/turf/open/floor/circuit/red,
/area/shuttle/syndicate)
+"cLh" = (
+/turf/open/floor/plasteel/vault{
+ dir = 5
+ },
+/area/shuttle/syndicate)
+"cLi" = (
+/turf/open/floor/plasteel/vault{
+ dir = 5
+ },
+/area/shuttle/syndicate)
+"cLj" = (
+/obj/machinery/light{
+ dir = 4
+ },
+/turf/open/floor/plasteel/vault{
+ dir = 5
+ },
+/area/shuttle/syndicate)
"cLk" = (
/obj/item/weapon/cautery,
/obj/item/weapon/scalpel,
@@ -62435,6 +64528,22 @@
/obj/effect/turf_decal/stripes/line,
/turf/open/floor/plating/airless,
/area/shuttle/syndicate)
+"cLo" = (
+/obj/structure/shuttle/engine/heater,
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plating/airless,
+/area/shuttle/syndicate)
+"cLp" = (
+/obj/structure/shuttle/engine/heater,
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plating/airless,
+/area/shuttle/syndicate)
"cLq" = (
/obj/machinery/recharge_station,
/turf/open/floor/circuit/red,
@@ -62445,6 +64554,34 @@
},
/turf/open/floor/circuit/red,
/area/shuttle/syndicate)
+"cLs" = (
+/obj/machinery/recharge_station,
+/turf/open/floor/circuit/red,
+/area/shuttle/syndicate)
+"cLt" = (
+/obj/structure/shuttle/engine/heater,
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plating/airless,
+/area/shuttle/syndicate)
+"cLu" = (
+/obj/structure/shuttle/engine/heater,
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plating/airless,
+/area/shuttle/syndicate)
+"cLv" = (
+/obj/structure/shuttle/engine/heater,
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plating/airless,
+/area/shuttle/syndicate)
"cLw" = (
/obj/structure/shuttle/engine/propulsion{
icon_state = "propulsion_l"
@@ -62464,6 +64601,68 @@
/obj/effect/turf_decal/stripes/line,
/turf/open/floor/plating/airless,
/area/shuttle/syndicate)
+"cLz" = (
+/obj/structure/shuttle/engine/heater,
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plating/airless,
+/area/shuttle/syndicate)
+"cLA" = (
+/obj/structure/shuttle/engine/heater,
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plating/airless,
+/area/shuttle/syndicate)
+"cLB" = (
+/obj/structure/shuttle/engine/heater,
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plating/airless,
+/area/shuttle/syndicate)
+"cLC" = (
+/obj/structure/shuttle/engine/propulsion{
+ icon_state = "propulsion_l"
+ },
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plating/airless,
+/area/shuttle/syndicate)
+"cLD" = (
+/obj/structure/shuttle/engine/propulsion,
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plating/airless,
+/area/shuttle/syndicate)
+"cLE" = (
+/obj/structure/shuttle/engine/propulsion{
+ icon_state = "propulsion_r"
+ },
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plating/airless,
+/area/shuttle/syndicate)
+"cLF" = (
+/obj/structure/shuttle/engine/propulsion{
+ icon_state = "propulsion_l"
+ },
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plating/airless,
+/area/shuttle/syndicate)
+"cLG" = (
+/obj/structure/shuttle/engine/propulsion,
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plating/airless,
+/area/shuttle/syndicate)
+"cLH" = (
+/obj/structure/shuttle/engine/propulsion{
+ icon_state = "propulsion_r"
+ },
+/obj/effect/turf_decal/stripes/line,
+/turf/open/floor/plating/airless,
+/area/shuttle/syndicate)
"cLI" = (
/obj/machinery/light{
dir = 1
@@ -62606,12 +64805,26 @@
},
/turf/open/floor/mineral/titanium,
/area/shuttle/abandoned)
+"cMg" = (
+/obj/structure/light_construct,
+/turf/open/floor/mineral/titanium,
+/area/shuttle/abandoned)
"cMh" = (
/obj/structure/light_construct/small{
dir = 8
},
/turf/open/floor/mineral/titanium,
/area/shuttle/abandoned)
+"cMi" = (
+/obj/structure/light_construct,
+/turf/open/floor/mineral/titanium,
+/area/shuttle/abandoned)
+"cMj" = (
+/obj/structure/light_construct{
+ dir = 1
+ },
+/turf/open/floor/mineral/titanium,
+/area/shuttle/abandoned)
"cMk" = (
/obj/structure/light_construct/small{
dir = 1
@@ -62630,6 +64843,76 @@
/obj/structure/window/reinforced/highpressure/fulltile,
/turf/open/floor/plating,
/area/engine/engineering)
+"cMn" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/highpressure/fulltile,
+/turf/open/floor/plating,
+/area/engine/engineering)
+"cMo" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/highpressure/fulltile,
+/turf/open/floor/plating,
+/area/engine/engineering)
+"cMp" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/highpressure/fulltile,
+/turf/open/floor/plating,
+/area/engine/engineering)
+"cMq" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/highpressure/fulltile,
+/turf/open/floor/plating,
+/area/engine/engineering)
+"cMr" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/highpressure/fulltile,
+/turf/open/floor/plating,
+/area/engine/engineering)
+"cMs" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/highpressure/fulltile,
+/turf/open/floor/plating,
+/area/engine/engineering)
+"cMt" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/highpressure/fulltile,
+/turf/open/floor/plating,
+/area/engine/engineering)
+"cMu" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/highpressure/fulltile,
+/turf/open/floor/plating,
+/area/engine/engineering)
+"cMv" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/highpressure/fulltile,
+/turf/open/floor/plating,
+/area/engine/engineering)
+"cMw" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/highpressure/fulltile,
+/turf/open/floor/plating,
+/area/engine/engineering)
+"cMx" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/highpressure/fulltile,
+/turf/open/floor/plating,
+/area/engine/engineering)
+"cMy" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/highpressure/fulltile,
+/turf/open/floor/plating,
+/area/engine/engineering)
+"cMz" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/highpressure/fulltile,
+/turf/open/floor/plating,
+/area/engine/engineering)
+"cMA" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/highpressure/fulltile,
+/turf/open/floor/plating,
+/area/engine/engineering)
"cMB" = (
/obj/structure/window/shuttle,
/obj/structure/grille,
@@ -62638,14 +64921,38 @@
"cMC" = (
/turf/closed/wall/r_wall,
/area/engine/supermatter)
+"cMD" = (
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"cME" = (
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"cMF" = (
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
"cMG" = (
/turf/open/floor/engine,
/area/engine/supermatter)
+"cMH" = (
+/turf/open/floor/engine,
+/area/engine/supermatter)
+"cMI" = (
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"cMJ" = (
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
"cMK" = (
/obj/structure/grille,
/obj/structure/window/reinforced/highpressure/fulltile,
/turf/open/floor/plating,
/area/engine/supermatter)
+"cML" = (
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
+"cMM" = (
+/turf/closed/wall/r_wall,
+/area/engine/supermatter)
"cMN" = (
/obj/structure/cable{
d1 = 1;
@@ -62679,31 +64986,90 @@
},
/turf/open/floor/engine,
/area/engine/supermatter)
-"cRZ" = (
-/obj/machinery/telecomms/hub/preset,
-/obj/structure/cable{
- d1 = 1;
- d2 = 2;
- icon_state = "1-2";
- pixel_y = 0
+"cMP" = (
+/obj/machinery/camera/motion{
+ c_tag = "External Armory Camera";
+ dir = 1;
+ network = list("SS13")
},
-/turf/open/floor/plasteel/vault{
- dir = 8;
- name = "Mainframe Floor";
- initial_gas_mix = "n2=100;TEMP=80"
+/turf/open/space/basic,
+/area/space)
+"cMQ" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/tinted/fulltile,
+/turf/open/floor/plating,
+/area/maintenance/aft)
+"cMR" = (
+/obj/machinery/door/airlock/maintenance{
+ name = "Maintenance Bar";
+ req_access_txt = "12"
},
-/area/tcommsat/server)
-"dfH" = (
-/obj/structure/window/reinforced,
-/obj/machinery/computer/slot_machine,
+/turf/open/floor/plating,
+/area/maintenance/aft)
+"cMS" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/tinted/fulltile,
+/turf/open/floor/plating,
+/area/maintenance/aft)
+"cMT" = (
+/obj/structure/barricade/wooden{
+ name = "wooden barricade (CLOSED)"
+ },
+/obj/machinery/door/airlock/maintenance{
+ name = "Incinerator Access";
+ req_access_txt = "12"
+ },
+/turf/open/floor/plating,
+/area/maintenance/aft)
+"cMU" = (
+/obj/machinery/vending/cola/random,
+/obj/effect/decal/cleanable/cobweb,
/turf/open/floor/wood,
-/area/maintenance/bar)
-"dHs" = (
-/obj/structure/table/wood,
-/obj/effect/spawner/lootdrop/maintenance,
+/area/space/nearstation)
+"cMV" = (
+/obj/machinery/vending/snack/random,
/turf/open/floor/wood,
-/area/maintenance/bar)
-"eeC" = (
+/area/space/nearstation)
+"cMW" = (
+/turf/open/floor/wood,
+/area/space/nearstation)
+"cMX" = (
+/turf/open/floor/wood{
+ icon_state = "wood-broken"
+ },
+/area/space/nearstation)
+"cMY" = (
+/turf/open/floor/wood,
+/area/space/nearstation)
+"cMZ" = (
+/obj/machinery/vending/cigarette,
+/turf/open/floor/wood,
+/area/space/nearstation)
+"cNa" = (
+/obj/machinery/vending/kink,
+/turf/open/floor/wood,
+/area/space/nearstation)
+"cNb" = (
+/turf/open/floor/wood{
+ icon_state = "wood-broken5"
+ },
+/area/space/nearstation)
+"cNc" = (
+/turf/open/floor/wood,
+/area/space/nearstation)
+"cNd" = (
+/turf/open/floor/wood,
+/area/space/nearstation)
+"cNe" = (
+/obj/effect/decal/cleanable/oil,
+/turf/open/floor/wood,
+/area/space/nearstation)
+"cNf" = (
+/turf/open/floor/wood{
+ icon_state = "wood-broken6"
+ },
+/area/space/nearstation)
+"cNg" = (
/obj/structure/cable{
d1 = 2;
d2 = 4;
@@ -62712,42 +65078,8 @@
/turf/open/floor/wood{
icon_state = "wood-broken5"
},
-/area/maintenance/bar)
-"elp" = (
-/obj/machinery/vending/kink,
-/turf/open/floor/wood,
-/area/maintenance/bar)
-"eIp" = (
-/obj/structure/table/wood/poker,
-/obj/item/weapon/storage/pill_bottle/dice,
-/turf/open/floor/wood,
-/area/maintenance/bar)
-"gsu" = (
-/obj/structure/table/wood,
-/obj/item/device/flashlight/lamp/green,
-/turf/open/floor/wood,
-/area/maintenance/bar)
-"gAI" = (
-/obj/structure/rack,
-/obj/item/weapon/soap/nanotrasen,
-/turf/open/floor/wood{
- icon_state = "wood-broken7"
- },
-/area/maintenance/aft)
-"hho" = (
-/obj/machinery/door/airlock/maintenance{
- req_access_txt = "12"
- },
-/obj/machinery/atmospherics/pipe/simple/general/hidden{
- icon_state = "intact";
- dir = 4
- },
-/obj/structure/barricade/wooden{
- name = "wooden barricade (CLOSED)"
- },
-/turf/open/floor/plating,
-/area/maintenance/aft)
-"hjV" = (
+/area/space/nearstation)
+"cNh" = (
/obj/structure/window/reinforced,
/obj/structure/cable{
d1 = 4;
@@ -62756,49 +65088,8 @@
pixel_y = 0
},
/turf/open/floor/wood,
-/area/maintenance/bar)
-"hKu" = (
-/turf/open/floor/wood{
- icon_state = "wood-broken6"
- },
-/area/maintenance/bar)
-"idC" = (
-/obj/machinery/vending/cola/random,
-/obj/effect/decal/cleanable/cobweb,
-/turf/open/floor/wood,
-/area/maintenance/bar)
-"imJ" = (
-/obj/structure/rack,
-/obj/effect/spawner/lootdrop/maintenance,
-/turf/open/floor/wood,
-/area/maintenance/aft)
-"ipA" = (
-/obj/machinery/door/airlock/maintenance{
- name = "maintenance access";
- req_access_txt = "12"
- },
-/obj/structure/barricade/wooden{
- name = "wooden barricade (CLOSED)"
- },
-/turf/open/floor/plating,
-/area/maintenance/aft)
-"iCw" = (
-/obj/structure/table/wood,
-/turf/open/floor/wood,
-/area/maintenance/bar)
-"kiy" = (
-/obj/machinery/vending/snack/random,
-/turf/open/floor/wood,
-/area/maintenance/bar)
-"kqI" = (
-/obj/structure/cable{
- d1 = 1;
- d2 = 4;
- icon_state = "1-4"
- },
-/turf/open/floor/wood,
-/area/maintenance/bar)
-"twx" = (
+/area/space/nearstation)
+"cNi" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/obj/structure/cable{
d1 = 4;
@@ -62807,18 +65098,8 @@
pixel_y = 0
},
/turf/closed/wall,
-/area/maintenance/bar)
-"ulk" = (
-/obj/structure/chair/stool,
-/obj/structure/cable{
- d1 = 1;
- d2 = 2;
- icon_state = "1-2";
- pixel_y = 0
- },
-/turf/open/floor/wood,
-/area/maintenance/bar)
-"uvo" = (
+/area/maintenance/aft)
+"cNj" = (
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -62834,115 +65115,129 @@
},
/turf/open/floor/plating,
/area/maintenance/aft)
-"uCm" = (
-/obj/structure/chair/stool,
-/turf/open/floor/wood{
- icon_state = "wood-broken5"
- },
-/area/maintenance/bar)
-"wnx" = (
-/obj/structure/rack,
-/obj/effect/spawner/lootdrop/maintenance{
- lootcount = 4;
- name = "4maintenance loot spawner"
- },
+"cNk" = (
+/obj/effect/decal/cleanable/oil,
/turf/open/floor/wood,
/area/maintenance/aft)
-"wnE" = (
-/obj/structure/table/wood,
-/obj/machinery/chem_dispenser/drinks,
+"cNl" = (
+/obj/structure/chair/stool,
/turf/open/floor/wood,
-/area/maintenance/bar)
-"yug" = (
+/area/space/nearstation)
+"cNm" = (
+/obj/structure/chair/stool,
+/turf/open/floor/wood,
+/area/space/nearstation)
+"cNn" = (
+/obj/structure/chair/stool,
+/turf/open/floor/wood,
+/area/space/nearstation)
+"cNo" = (
+/turf/open/floor/wood,
+/area/space/nearstation)
+"cNp" = (
+/turf/open/floor/wood,
+/area/space/nearstation)
+"cNq" = (
+/obj/structure/chair/stool,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/turf/open/floor/wood,
+/area/space/nearstation)
+"cNr" = (
+/obj/structure/window/reinforced,
+/obj/machinery/computer/arcade,
+/turf/open/floor/wood,
+/area/space/nearstation)
+"cNs" = (
+/obj/structure/table/wood/poker,
+/obj/item/weapon/storage/pill_bottle/dice,
+/turf/open/floor/wood,
+/area/space/nearstation)
+"cNt" = (
+/obj/structure/table/wood/poker,
+/obj/item/toy/cards/deck,
+/turf/open/floor/wood,
+/area/space/nearstation)
+"cNu" = (
+/obj/structure/chair/stool,
+/turf/open/floor/wood,
+/area/space/nearstation)
+"cNv" = (
+/turf/open/floor/wood,
+/area/space/nearstation)
+"cNw" = (
+/obj/structure/chair/stool,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
+ },
+/turf/open/floor/wood,
+/area/space/nearstation)
+"cNx" = (
+/obj/structure/window/reinforced,
+/obj/machinery/computer/slot_machine,
+/turf/open/floor/wood,
+/area/space/nearstation)
+"cNy" = (
+/turf/open/floor/wood,
+/area/space/nearstation)
+"cNz" = (
+/turf/open/floor/wood,
+/area/space/nearstation)
+"cNA" = (
/obj/structure/chair/stool,
/turf/open/floor/wood{
icon_state = "wood-broken"
},
-/area/maintenance/bar)
-"yUg" = (
-/obj/structure/window/reinforced,
-/obj/machinery/computer/arcade,
-/turf/open/floor/wood,
-/area/maintenance/bar)
-"zXD" = (
-/obj/structure/closet{
- name = "Glasware Storage"
- },
-/obj/item/weapon/storage/box/beakers,
-/obj/item/weapon/storage/box/drinkingglasses,
-/turf/open/floor/wood,
-/area/maintenance/bar)
-"AMw" = (
-/obj/effect/decal/cleanable/oil,
-/turf/open/floor/wood,
-/area/maintenance/bar)
-"CuL" = (
-/obj/structure/table/wood/poker,
-/obj/item/device/flashlight/lamp/green,
-/turf/open/floor/wood,
-/area/maintenance/bar)
-"Dat" = (
+/area/space/nearstation)
+"cNB" = (
/obj/structure/chair/stool,
/turf/open/floor/wood,
-/area/maintenance/bar)
-"Fsp" = (
+/area/space/nearstation)
+"cNC" = (
+/obj/structure/chair/stool,
/turf/open/floor/wood,
-/area/maintenance/bar)
-"FJA" = (
-/obj/structure/grille,
-/obj/structure/window/reinforced/tinted/fulltile,
-/turf/open/floor/plating,
-/area/maintenance/bar)
-"Hio" = (
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
-/obj/structure/window/reinforced/tinted/fulltile,
-/obj/structure/grille,
-/turf/open/floor/plating,
-/area/maintenance/bar)
-"HWm" = (
-/obj/structure/window/reinforced/tinted/fulltile,
-/obj/structure/grille,
-/turf/open/floor/plating,
-/area/maintenance/bar)
-"JyR" = (
-/obj/structure/barricade/wooden{
- name = "wooden barricade (CLOSED)"
- },
-/obj/machinery/door/airlock/maintenance{
- name = "Incinerator Access";
- req_access_txt = "12"
+/area/space/nearstation)
+"cND" = (
+/obj/structure/chair/stool,
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2";
+ pixel_y = 0
},
+/turf/open/floor/wood,
+/area/space/nearstation)
+"cNE" = (
+/obj/structure/window/reinforced,
+/obj/machinery/computer/slot_machine,
+/turf/open/floor/wood,
+/area/space/nearstation)
+"cNF" = (
+/obj/structure/grille,
+/obj/structure/window/reinforced/tinted/fulltile,
/turf/open/floor/plating,
/area/maintenance/aft)
-"JEz" = (
-/obj/structure/table/wood/poker,
-/obj/item/toy/cards/deck,
-/turf/open/floor/wood,
-/area/maintenance/bar)
-"KUG" = (
-/obj/machinery/chem_dispenser/drinks/beer,
-/obj/structure/table/wood,
-/turf/open/floor/wood,
-/area/maintenance/bar)
-"MIM" = (
-/obj/machinery/vending/cigarette,
-/turf/open/floor/wood,
-/area/maintenance/bar)
-"Pfx" = (
-/turf/closed/wall,
-/area/maintenance/bar)
-"PPX" = (
-/obj/structure/chair/stool,
-/turf/open/floor/wood{
- icon_state = "wood-broken6"
- },
-/area/maintenance/bar)
-"Qmz" = (
+"cNG" = (
/turf/open/floor/wood{
icon_state = "wood-broken5"
},
-/area/maintenance/bar)
-"SgX" = (
+/area/space/nearstation)
+"cNH" = (
+/obj/structure/cable{
+ d1 = 1;
+ d2 = 4;
+ icon_state = "1-4"
+ },
+/turf/open/floor/wood,
+/area/space/nearstation)
+"cNI" = (
/obj/machinery/power/apc{
dir = 4;
name = "Maintenance Bar APC";
@@ -62956,37 +65251,141 @@
/turf/open/floor/wood{
icon_state = "wood-broken"
},
-/area/maintenance/bar)
-"Shp" = (
+/area/space/nearstation)
+"cNJ" = (
+/obj/structure/chair/stool,
+/turf/open/floor/wood,
+/area/space/nearstation)
+"cNK" = (
+/obj/structure/chair/stool,
+/turf/open/floor/wood{
+ icon_state = "wood-broken6"
+ },
+/area/space/nearstation)
+"cNL" = (
+/obj/structure/chair/stool,
+/turf/open/floor/wood,
+/area/space/nearstation)
+"cNM" = (
+/obj/structure/chair/stool,
+/turf/open/floor/wood,
+/area/space/nearstation)
+"cNN" = (
+/obj/structure/chair/stool,
+/turf/open/floor/wood,
+/area/space/nearstation)
+"cNO" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/window/reinforced/tinted/fulltile,
+/obj/structure/grille,
+/turf/open/floor/plating,
+/area/maintenance/aft)
+"cNP" = (
+/obj/structure/chair/stool,
+/turf/open/floor/wood,
+/area/space/nearstation)
+"cNQ" = (
+/obj/structure/table/wood,
+/obj/effect/spawner/lootdrop/maintenance,
+/turf/open/floor/wood,
+/area/space/nearstation)
+"cNR" = (
+/obj/structure/table/wood,
+/turf/open/floor/wood,
+/area/space/nearstation)
+"cNS" = (
+/obj/structure/table/wood,
+/turf/open/floor/wood,
+/area/space/nearstation)
+"cNT" = (
+/obj/structure/table/wood,
+/turf/open/floor/wood,
+/area/space/nearstation)
+"cNU" = (
+/obj/structure/table/wood,
+/obj/effect/spawner/lootdrop/maintenance,
+/turf/open/floor/wood,
+/area/space/nearstation)
+"cNV" = (
+/obj/structure/table/wood,
+/turf/open/floor/wood,
+/area/space/nearstation)
+"cNW" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/window/reinforced/tinted/fulltile,
+/obj/structure/grille,
+/turf/open/floor/plating,
+/area/maintenance/aft)
+"cNX" = (
/obj/effect/decal/cleanable/robot_debris/old,
/turf/open/floor/wood,
-/area/maintenance/bar)
-"Tjc" = (
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
- dir = 5
- },
-/turf/closed/wall,
-/area/maintenance/bar)
-"YTi" = (
-/obj/machinery/door/airlock/maintenance{
- name = "Maintenance Bar";
- req_access_txt = "12"
- },
-/turf/open/floor/plating,
-/area/maintenance/bar)
-"YZg" = (
-/obj/structure/rack,
+/area/space/nearstation)
+"cNY" = (
+/obj/structure/chair/stool,
/turf/open/floor/wood,
+/area/space/nearstation)
+"cNZ" = (
+/obj/structure/table/wood,
+/turf/open/floor/wood,
+/area/space/nearstation)
+"cOa" = (
+/obj/effect/decal/cleanable/oil,
+/turf/open/floor/wood,
+/area/space/nearstation)
+"cOb" = (
+/turf/open/floor/wood{
+ icon_state = "wood-broken5"
+ },
+/area/space/nearstation)
+"cOc" = (
+/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
+/obj/structure/window/reinforced/tinted/fulltile,
+/obj/structure/grille,
+/turf/open/floor/plating,
/area/maintenance/aft)
-"ZAX" = (
+"cOd" = (
/turf/open/floor/wood{
icon_state = "wood-broken"
},
-/area/maintenance/bar)
-"ZVf" = (
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
-/turf/closed/wall,
-/area/maintenance/bar)
+/area/space/nearstation)
+"cOe" = (
+/obj/structure/table/wood,
+/obj/item/device/flashlight/lamp/green,
+/turf/open/floor/wood,
+/area/space/nearstation)
+"cOf" = (
+/obj/structure/table/wood,
+/obj/machinery/chem_dispenser/drinks,
+/turf/open/floor/wood,
+/area/space/nearstation)
+"cOg" = (
+/obj/machinery/chem_dispenser/drinks/beer,
+/obj/structure/table/wood,
+/turf/open/floor/wood,
+/area/space/nearstation)
+"cOh" = (
+/obj/structure/closet{
+ name = "Glasware Storage"
+ },
+/obj/item/weapon/storage/box/beakers,
+/obj/item/weapon/storage/box/drinkingglasses,
+/turf/open/floor/wood,
+/area/space/nearstation)
+"cOi" = (
+/obj/structure/window/reinforced/tinted/fulltile,
+/obj/structure/grille,
+/turf/open/floor/plating,
+/area/maintenance/aft)
+"cOj" = (
+/obj/structure/window/reinforced/tinted/fulltile,
+/obj/structure/grille,
+/turf/open/floor/plating,
+/area/maintenance/aft)
+"cOk" = (
+/obj/structure/window/reinforced/tinted/fulltile,
+/obj/structure/grille,
+/turf/open/floor/plating,
+/area/maintenance/aft)
(1,1,1) = {"
aaa
@@ -81910,7 +84309,7 @@ bCq
bCq
bLv
bCq
-bCq
+aoV
cbj
aoV
bVw
@@ -82163,10 +84562,10 @@ aaa
aaa
aaa
bCq
-YZg
-imJ
+bJP
+bCq
bSn
-imJ
+bCq
bCq
cbj
bLv
@@ -82421,7 +84820,7 @@ akD
aaa
bCq
bPS
-bPS
+bRd
bPS
bPS
bCq
@@ -82678,8 +85077,8 @@ akD
aaa
bLv
bPR
-gAI
-imJ
+bRc
+bSo
bTs
bCq
bVy
@@ -82935,8 +85334,8 @@ bMF
aaa
bCq
bPS
-bTs
-bPS
+bRf
+bSo
bTu
bCq
bVB
@@ -83192,8 +85591,8 @@ akD
aaa
bLv
bPT
-wnx
-imJ
+bRe
+bSo
bTt
bCq
bVA
@@ -83448,10 +85847,10 @@ akD
akD
aaa
bCq
-ipA
+bPV
bCq
bCq
-hho
+bTw
bCq
bVD
bWy
@@ -84482,17 +86881,17 @@ bCq
bCq
bCq
bCq
-JyR
-Pfx
-Pfx
-Pfx
-Pfx
-FJA
-Pfx
-Pfx
-Pfx
-Pfx
-Pfx
+cMT
+bCq
+bCq
+bCq
+bCq
+cNF
+bCq
+bCq
+bCq
+bCq
+bCq
cgH
bLv
aaa
@@ -84740,16 +87139,16 @@ bCq
bHE
bVG
bHE
-Pfx
-AMw
-Fsp
-Fsp
-Qmz
-Fsp
-Fsp
-Shp
-Fsp
-Pfx
+bCq
+cNk
+bPS
+cNy
+cNG
+cjn
+cjn
+cNX
+cjn
+bCq
cgH
bLv
aaa
@@ -84995,22 +87394,22 @@ bHE
bHE
bCq
bHE
-Pfx
-Pfx
-Pfx
-Fsp
-Dat
-Fsp
-Fsp
-hKu
-Fsp
-Fsp
-ZAX
-Pfx
+bCq
+bCq
+bCq
+bPS
+bSo
+cNz
+cjn
+bdV
+cjn
+cjn
+cOd
+bCq
cgH
bLv
aaf
-cAj
+cjJ
cjJ
cjJ
cjJ
@@ -85252,18 +87651,18 @@ bHE
bHE
bTz
bHE
-Pfx
-idC
-Qmz
-Dat
-eIp
-yug
-Fsp
-Fsp
-Dat
-Dat
-Fsp
-Pfx
+bCq
+cMU
+cNb
+cNl
+cNs
+cNA
+cjn
+cjn
+cNP
+cNY
+cjn
+bCq
cgH
bLv
aaa
@@ -85509,18 +87908,18 @@ bHE
bSs
bCq
bHE
-Pfx
-kiy
-Fsp
-Dat
-CuL
-Dat
-Fsp
-uCm
-dHs
-iCw
-Fsp
-HWm
+bCq
+cMV
+cNc
+cNm
+bcU
+cNB
+cjn
+cCa
+cNQ
+cNZ
+cjn
+cOi
cgH
bLv
aaa
@@ -85766,18 +88165,18 @@ bRh
bSr
bCq
bHE
-FJA
-Fsp
-Fsp
-Dat
-JEz
-Dat
-hKu
-Dat
-iCw
-Fsp
-Fsp
-HWm
+cMQ
+cMW
+cNd
+cNn
+cNt
+cNC
+bdV
+cNJ
+cNR
+cjn
+cjn
+cOj
cgH
bLv
aaf
@@ -85937,11 +88336,11 @@ aaa
aaa
aaa
aaa
-abc
-abc
-abc
+afA
+afA
+afA
afu
-abc
+afA
aaa
aaa
aaa
@@ -86023,18 +88422,18 @@ bCq
bCq
bCq
bHE
-YTi
-ZAX
-AMw
-Fsp
-Dat
-Fsp
-Fsp
-PPX
-iCw
-AMw
-gsu
-HWm
+cMR
+cMX
+cNe
+cNo
+cNu
+cjn
+cjn
+cNK
+cNS
+cOa
+cOe
+cOk
cgH
bLv
aaa
@@ -86194,11 +88593,11 @@ aaa
aaa
aaa
aaa
-abc
+afA
aea
aeH
aft
-abc
+afA
aaa
aaa
aaa
@@ -86280,18 +88679,18 @@ bLv
aaa
bLv
bHE
-FJA
-Fsp
-hKu
-Fsp
-Fsp
-Fsp
-Fsp
-Dat
-iCw
-Qmz
-wnE
-Pfx
+cMS
+cMY
+cNf
+cNp
+cNv
+cjn
+cjn
+cNL
+cNT
+cOb
+cOf
+bCq
cgH
bLv
aaa
@@ -86450,13 +88849,13 @@ abc
abu
abu
abu
-abc
-abc
+afA
+afA
aec
aeJ
afw
-abc
-abc
+afA
+afA
aaf
aaa
aaf
@@ -86537,18 +88936,18 @@ bLv
aaf
bLv
bUt
-Pfx
-MIM
-eeC
-ulk
-ulk
-ulk
-kqI
-Dat
-dHs
-Fsp
-KUG
-Pfx
+bCq
+cMZ
+cNg
+cNq
+cNw
+cND
+cNH
+cNM
+cNU
+cjn
+cOg
+bCq
cgH
bLv
aaf
@@ -86576,7 +88975,7 @@ abY
abY
aaa
aaf
-ctv
+cEX
abY
abY
aaa
@@ -86713,12 +89112,12 @@ aeb
aeI
afv
agf
-abc
+afA
aaf
aaa
aaa
-aiT
-aiT
+aiV
+aiV
aiV
akG
cxJ
@@ -86794,18 +89193,18 @@ bCq
aaa
bLv
bUs
-Pfx
-elp
-hjV
-yUg
-dfH
-dfH
-SgX
-Dat
-iCw
-Fsp
-zXD
-Pfx
+bCq
+cNa
+cNh
+cNr
+cNx
+cNE
+cNI
+cNN
+cNV
+cjn
+cOh
+bCq
cgH
bCq
aaa
@@ -86823,18 +89222,18 @@ aaa
crn
aaf
abY
-ctv
-ctv
-ctv
-ctv
-ctv
-ctv
-ctv
+cEX
+cEX
+cEX
+cEX
+cEX
+cEX
+cEX
abY
aaa
aaf
-ctv
-ctv
+cEX
+cEX
abY
aaa
aaa
@@ -86970,17 +89369,17 @@ aee
aeL
afy
agh
-abc
+afA
aaf
aaa
aaf
-aiT
+aiV
ajs
akb
akI
akI
amc
-aiT
+aiV
ant
akI
aos
@@ -87051,18 +89450,18 @@ aaa
aaa
bTB
bUv
-ZVf
-ZVf
-twx
-ZVf
-ZVf
-ZVf
-ZVf
-Hio
-Hio
-Hio
-ZVf
-Tjc
+bES
+bES
+cNi
+bES
+bES
+bES
+bES
+cNO
+cNW
+cOc
+bES
+car
cgH
bCq
bCq
@@ -87227,7 +89626,7 @@ aed
aeK
afx
agg
-abc
+afA
aaf
aaa
aaa
@@ -87310,7 +89709,7 @@ bTA
bUu
bVH
bVH
-uvo
+cNj
bVH
bVH
bVH
@@ -87853,15 +90252,15 @@ cEl
cEE
cEl
cFm
-csx
+cFC
cFm
cFm
-csx
-csv
+cFC
+cGO
aaa
aaa
aaT
-ctv
+cEX
abY
aaa
aaa
@@ -88106,19 +90505,19 @@ ciN
cji
cDZ
crr
-crJ
-crT
-crJ
+cEm
+cEF
+cEm
cFn
-css
-csx
-csx
-css
+cFD
+cFC
+cFC
+cFD
csb
aaf
aaf
aaT
-ctv
+cEX
abY
aaa
aaa
@@ -88363,19 +90762,19 @@ cgR
cDB
cqP
crq
-crZ
-crT
-crZ
+cEn
+cEF
+cEn
cFo
-css
+cFD
cFm
cFm
-css
-csv
+cFD
+cGO
aaa
aaa
aaT
-ctv
+cEX
abY
aaa
aaa
@@ -88598,7 +90997,7 @@ bWF
bXC
bXC
bZp
-cRZ
+cak
bWB
bWB
bWB
@@ -88620,19 +91019,19 @@ cgR
cqx
cqR
crp
-crJ
-crT
-crJ
+cEm
+cEF
+cEm
cFn
-css
-csx
-csx
-css
+cFD
+cFC
+cFC
+cFD
csb
aaf
aaf
aaT
-ctv
+cEX
abY
aaa
aaa
@@ -88877,19 +91276,19 @@ cpX
cqz
cqQ
ccw
-crH
-crT
-crZ
+cEp
+cEF
+cEn
cFo
-css
+cFD
cFm
cFm
-css
-csv
+cFD
+cGO
aaa
aaa
aaT
-ctv
+cEX
abY
aaa
aaa
@@ -89134,19 +91533,19 @@ clJ
cig
cig
ccw
-crJ
-crT
-crJ
+cEm
+cEF
+cEm
cFn
-css
-csx
-csx
-css
+cFD
+cFC
+cFC
+cFD
csb
aaf
aaf
aaT
-ctv
+cEX
abY
aaa
aaa
@@ -89391,19 +91790,19 @@ cpZ
cig
cqS
ccw
-crH
-crT
-crZ
+cEp
+cEF
+cEn
cFo
-css
+cFD
cFm
cFm
-css
-csv
+cFD
+cGO
aaa
aaa
aaT
-ctv
+cEX
abY
aaa
aaf
@@ -89648,14 +92047,14 @@ cgR
cqA
cqT
czh
-crJ
+cEm
crU
csb
cFn
-css
-csx
-csx
-css
+cFD
+cFC
+cFC
+cFD
csb
aaf
aaf
@@ -90061,9 +92460,9 @@ aiF
agj
aja
ajG
-akQ
-agj
-agj
+amS
+aiX
+aiX
amS
anx
anz
@@ -90681,17 +93080,17 @@ cAl
cFc
cAq
cFJ
-cpx
+cDq
cGu
cGH
cGR
cHa
-csd
+cEj
ciZ
ccw
aaa
abY
-ctv
+cEX
abY
aaa
aaa
@@ -90928,7 +93327,7 @@ cfg
cgU
cgJ
chG
-cpx
+cDq
cqd
cDC
cqU
@@ -90948,7 +93347,7 @@ cHn
ccw
aaf
aaT
-ctv
+cEX
aaT
aaf
aaa
@@ -91089,9 +93488,9 @@ agn
ajc
ajI
ako
-akQ
-agj
-agj
+amS
+aiX
+aiX
amS
any
anz
@@ -91195,17 +93594,17 @@ cEu
cEu
cMC
cFL
-csJ
+cGf
cGw
cMm
ciZ
cHc
-cAu
-cAu
+cHh
+cHh
ccw
aaa
abY
-ctv
+cEX
abY
aaa
aaa
@@ -91442,7 +93841,7 @@ cmK
cBO
ccw
chV
-cpx
+cDq
cqf
cqD
cMC
@@ -91456,13 +93855,13 @@ czE
cGx
ccw
cGT
-csd
-csd
+cEj
+cEj
ciZ
ccw
aaf
aaT
-ctv
+cEX
abY
aaa
aaa
@@ -91699,7 +94098,7 @@ cmL
cgR
cgL
chX
-cpx
+cDq
cqh
cqF
cra
@@ -91713,13 +94112,13 @@ csH
csR
cMm
cGU
-csd
-csd
+cEj
+cEj
cHo
ccw
aaa
abY
-ctv
+cEX
abY
aaa
aaa
@@ -91956,7 +94355,7 @@ cmL
cnv
cMm
chX
-cpx
+cDq
cqg
cqE
cqZ
@@ -91970,13 +94369,13 @@ csC
csQ
cMm
cGV
-csd
+cEj
cGV
ccw
ccw
aaa
abY
-ctv
+cEX
abY
aaa
aaa
@@ -92117,9 +94516,9 @@ aiL
ajc
ajI
akq
-akQ
-agj
-agj
+amS
+aiX
+aiX
amS
anx
anz
@@ -92213,7 +94612,7 @@ cmN
cgR
cgL
chX
-cpx
+cDq
cqj
cqF
crb
@@ -92226,14 +94625,14 @@ cFP
csI
cAt
cMm
-csd
-csd
-csd
+cEj
+cEj
+cEj
cHp
ccw
aaf
abY
-ctv
+cEX
abY
aaa
aaa
@@ -92358,7 +94757,7 @@ aaa
aaf
aaf
aaT
-aaa
+cMP
aaZ
abI
ack
@@ -92470,7 +94869,7 @@ cfz
cgR
ccw
cii
-cpx
+cDq
cqi
cMC
cAP
@@ -92484,13 +94883,13 @@ czE
cGx
ccw
cGT
-csd
-csd
+cEj
+cEj
ciZ
ccw
aaf
aaS
-ctv
+cEX
abY
aaa
aaa
@@ -92728,7 +95127,7 @@ cgR
ccw
cDi
cDr
-cqk
+cDw
cDE
cEa
cMC
@@ -92737,7 +95136,7 @@ cEz
cEz
cMC
cFR
-csJ
+cGf
cGz
cMm
ciZ
@@ -92747,7 +95146,7 @@ cHd
ccw
aaa
abY
-ctv
+cEX
abY
aaa
aaa
@@ -92888,7 +95287,7 @@ aIF
ajc
ajI
akp
-akQ
+amS
alA
amm
amU
@@ -92985,7 +95384,7 @@ cgR
cMm
chX
cpD
-cqk
+cDw
cDF
cEa
cEg
@@ -93004,7 +95403,7 @@ cHr
ccw
aaf
aaT
-ctv
+cEX
aaT
aaf
aaa
@@ -93251,17 +95650,17 @@ cEU
cFk
cAs
cFT
-cpx
+cDq
cGx
cGK
cGY
cEk
-csd
+cEj
cHs
ccw
aaf
abY
-ctv
+cEX
abY
aaa
aaa
@@ -93642,7 +96041,7 @@ aaa
aaf
aaf
aaa
-abp
+adR
abP
aco
acO
@@ -93659,9 +96058,9 @@ adR
aiQ
ajI
akt
-akQ
-agj
-agj
+amS
+aiX
+aiX
aiX
anB
anz
@@ -94018,8 +96417,8 @@ cig
ccw
ccw
czF
-csd
-csd
+cEj
+cEj
cFz
cFU
cGj
@@ -94156,7 +96555,7 @@ aaa
aaa
aaf
aaa
-abp
+adR
abO
acq
acq
@@ -94273,12 +96672,12 @@ cjN
cDz
cDH
cMm
-csd
+cEj
crM
crV
crV
cFA
-csd
+cEj
cGk
ccw
aag
@@ -94543,7 +96942,7 @@ aaa
aaf
aaa
aaf
-ctv
+cEX
abY
aaa
aaf
@@ -94670,7 +97069,7 @@ aaa
aaa
aaa
aaf
-abp
+adR
abR
abP
abP
@@ -94800,7 +97199,7 @@ aaf
aaf
aaf
aaf
-ctv
+cEX
abY
aaa
aaf
@@ -94940,7 +97339,7 @@ agz
ahb
ahF
clI
-abp
+adR
ajh
ajM
akw
@@ -95055,9 +97454,9 @@ aaa
aaa
aaa
aaa
-ctv
-ctv
-ctv
+cEX
+cEX
+cEX
abY
aaa
aaa
@@ -95197,7 +97596,7 @@ agB
ahd
ahI
clS
-abp
+adR
ajj
ajP
aky
@@ -95454,7 +97853,7 @@ afU
ahc
ahH
aiq
-abp
+adR
aji
ajO
akw
@@ -95711,7 +98110,7 @@ agC
ahf
ahK
ait
-abp
+adR
ajl
ajR
akw
@@ -95968,7 +98367,7 @@ afW
ahe
ahJ
ais
-abp
+adR
ajk
ajQ
akw
@@ -96225,7 +98624,7 @@ agE
ahh
ahM
aiv
-abp
+adR
aiY
ajE
ajH
@@ -96482,7 +98881,7 @@ afY
ahg
ahL
aiu
-abp
+adR
ajm
ajS
ajn
@@ -96739,7 +99138,7 @@ agG
ahi
ahN
aix
-abp
+adR
ajp
ajU
ajn
@@ -96992,11 +99391,11 @@ abo
aeA
afl
aga
-abp
+adR
ahj
-abp
+adR
cAN
-abp
+adR
ajo
ajo
ajo
@@ -97243,12 +99642,12 @@ aaa
aaa
aaa
acw
-abp
-abp
adR
-abp
+adR
+adR
+adR
cxG
-abp
+adR
adR
ahl
ahO
@@ -97506,7 +99905,7 @@ acU
aeC
afn
agc
-abp
+adR
ahk
aoJ
aib
@@ -97757,13 +100156,13 @@ aag
aaa
aaa
aag
-abp
-abp
-abp
-abp
+adR
+adR
+adR
+adR
afo
abp
-abp
+adR
ahn
ahn
aiA
diff --git a/_maps/map_files/debug/runtimestation.dmm b/_maps/map_files/debug/runtimestation.dmm
index 1a6183603c..b3facda8d2 100644
--- a/_maps/map_files/debug/runtimestation.dmm
+++ b/_maps/map_files/debug/runtimestation.dmm
@@ -1,4 +1,4 @@
-"aa" = (/turf/open/space,/area/space)
+"aa" = (/turf/open/space/basic,/area/space)
"ab" = (/obj/structure/lattice,/turf/open/space,/area/space)
"ac" = (/turf/open/space,/area/space/nearstation)
"ad" = (/turf/closed/wall/r_wall,/area/maintenance/maintcentral)
@@ -139,7 +139,7 @@
"cI" = (/obj/structure/table,/obj/item/weapon/storage/fancy/donut_box,/turf/open/floor/plasteel/arrival{dir = 8},/area/hallway/secondary/entry)
"cJ" = (/obj/structure/table,/obj/item/weapon/storage/fancy/donut_box,/turf/open/floor/plasteel/arrival{dir = 10},/area/hallway/secondary/entry)
"cK" = (/obj/structure/table,/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/rods{amount = 50},/obj/machinery/light,/turf/open/floor/plasteel/arrival,/area/hallway/secondary/entry)
-"cL" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = -3;pixel_y = 7},/obj/item/weapon/pen,/turf/open/floor/plasteel/arrival,/area/hallway/secondary/entry)
+"cL" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = -3;pixel_y = 7},/turf/open/floor/plasteel/arrival,/area/hallway/secondary/entry)
"cM" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/regular,/obj/item/weapon/storage/firstaid/regular,/obj/item/device/healthanalyzer,/turf/open/floor/plasteel/arrival,/area/hallway/secondary/entry)
"cN" = (/turf/closed/wall/r_wall,/area/construction)
"cO" = (/obj/structure/cable{d1 = 1;d2 = 2;icon_state = "1-2"},/turf/closed/wall/r_wall,/area/construction)
diff --git a/_maps/map_files/generic/Centcomm.dmm b/_maps/map_files/generic/Centcomm.dmm
index a50e899515..7c9956e00c 100644
--- a/_maps/map_files/generic/Centcomm.dmm
+++ b/_maps/map_files/generic/Centcomm.dmm
@@ -1,6 +1,6 @@
//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
"aa" = (
-/turf/open/space,
+/turf/open/space/basic,
/area/space)
"ab" = (
/turf/closed/indestructible/riveted,
@@ -2297,7 +2297,7 @@
/turf/closed/indestructible/riveted,
/area/start)
"gd" = (
-/obj/effect/landmark/start,
+/obj/effect/landmark/start/new_player,
/turf/open/floor/plating,
/area/start)
"ge" = (
@@ -2992,9 +2992,7 @@
/turf/closed/indestructible/riveted,
/area/centcom/control)
"iv" = (
-/obj/effect/landmark{
- name = "prisonwarp"
- },
+/obj/effect/landmark/prisonwarp,
/turf/open/floor/plasteel/vault{
dir = 8
},
@@ -6494,9 +6492,7 @@
/area/syndicate_mothership/control)
"qp" = (
/obj/structure/chair/stool,
-/obj/effect/landmark{
- name = "Syndicate-Spawn"
- },
+/obj/effect/landmark/syndicate_spawn,
/turf/open/floor/plasteel/bar{
dir = 2
},
@@ -8111,9 +8107,7 @@
/turf/open/floor/wood,
/area/syndicate_mothership/control)
"tT" = (
-/obj/effect/landmark{
- name = "Syndicate-Spawn"
- },
+/obj/effect/landmark/syndicate_spawn,
/turf/open/floor/wood,
/area/syndicate_mothership/control)
"tU" = (
@@ -9049,16 +9043,12 @@
/area/centcom/ferry)
"wo" = (
/obj/structure/chair/office/dark,
-/obj/effect/landmark{
- name = "Emergencyresponseteam"
- },
+/obj/effect/landmark/ert_spawn,
/turf/open/floor/plasteel/black,
/area/centcom/ferry)
"wp" = (
/obj/structure/chair/office/dark,
-/obj/effect/landmark{
- name = "Emergencyresponseteam"
- },
+/obj/effect/landmark/ert_spawn,
/turf/open/floor/plasteel/vault{
dir = 5
},
@@ -9204,9 +9194,7 @@
/obj/structure/chair/office/dark{
dir = 8
},
-/obj/effect/landmark{
- name = "Emergencyresponseteam"
- },
+/obj/effect/landmark/ert_spawn,
/turf/open/floor/plasteel/black,
/area/centcom/ferry)
"wK" = (
@@ -9294,9 +9282,7 @@
},
/area/wizard_station)
"wY" = (
-/obj/effect/landmark/start{
- name = "wizard"
- },
+/obj/effect/landmark/start/wizard,
/turf/open/floor/engine/cult,
/area/wizard_station)
"wZ" = (
@@ -9357,9 +9343,7 @@
/obj/structure/chair/office/dark{
dir = 8
},
-/obj/effect/landmark{
- name = "Emergencyresponseteam"
- },
+/obj/effect/landmark/ert_spawn,
/turf/open/floor/plasteel/vault{
dir = 5
},
@@ -9697,18 +9681,14 @@
/obj/structure/chair/office/dark{
dir = 1
},
-/obj/effect/landmark{
- name = "Emergencyresponseteam"
- },
+/obj/effect/landmark/ert_spawn,
/turf/open/floor/plasteel/black,
/area/centcom/ferry)
"xV" = (
/obj/structure/chair/office/dark{
dir = 1
},
-/obj/effect/landmark{
- name = "Emergencyresponseteam"
- },
+/obj/effect/landmark/ert_spawn,
/turf/open/floor/plasteel/vault{
dir = 5
},
@@ -10328,9 +10308,7 @@
/area/wizard_station)
"zj" = (
/obj/structure/table/wood,
-/obj/effect/landmark{
- name = "Teleport-Scroll"
- },
+/obj/effect/landmark/teleport_scroll,
/obj/item/weapon/dice/d20,
/obj/item/weapon/dice,
/turf/open/floor/carpet,
@@ -11791,9 +11769,7 @@
/turf/open/space,
/area/space)
"CV" = (
-/obj/effect/landmark{
- name = "Holding Facility"
- },
+/obj/effect/landmark/holding_facility,
/turf/open/floor/engine,
/area/centcom/holding)
"CW" = (
@@ -11837,9 +11813,7 @@
/area/tdome/tdomeobserve)
"Da" = (
/obj/structure/chair,
-/obj/effect/landmark{
- name = "tdomeobserve"
- },
+/obj/effect/landmark/thunderdome/observe,
/obj/structure/sign/barsign{
pixel_y = 32
},
@@ -11849,9 +11823,7 @@
/area/tdome/tdomeobserve)
"Db" = (
/obj/structure/chair,
-/obj/effect/landmark{
- name = "tdomeobserve"
- },
+/obj/effect/landmark/thunderdome/observe,
/turf/open/floor/plasteel/vault{
dir = 8
},
@@ -12189,27 +12161,21 @@
},
/area/tdome/arena)
"DO" = (
-/obj/effect/landmark{
- name = "tdome2"
- },
+/obj/effect/landmark/thunderdome/two,
/obj/effect/turf_decal/stripes/line{
dir = 9
},
/turf/open/floor/plasteel,
/area/tdome/arena)
"DP" = (
-/obj/effect/landmark{
- name = "tdome2"
- },
+/obj/effect/landmark/thunderdome/two,
/obj/effect/turf_decal/stripes/line{
dir = 1
},
/turf/open/floor/plasteel,
/area/tdome/arena)
"DQ" = (
-/obj/effect/landmark{
- name = "tdome2"
- },
+/obj/effect/landmark/thunderdome/two,
/obj/effect/turf_decal/stripes/line{
dir = 5
},
@@ -12262,27 +12228,21 @@
},
/area/tdome/arena)
"DZ" = (
-/obj/effect/landmark{
- name = "tdome1"
- },
+/obj/effect/landmark/thunderdome/one,
/obj/effect/turf_decal/stripes/line{
dir = 9
},
/turf/open/floor/plasteel,
/area/tdome/arena)
"Ea" = (
-/obj/effect/landmark{
- name = "tdome1"
- },
+/obj/effect/landmark/thunderdome/one,
/obj/effect/turf_decal/stripes/line{
dir = 1
},
/turf/open/floor/plasteel,
/area/tdome/arena)
"Eb" = (
-/obj/effect/landmark{
- name = "tdome1"
- },
+/obj/effect/landmark/thunderdome/one,
/obj/effect/turf_decal/stripes/line{
dir = 5
},
@@ -12336,9 +12296,7 @@
},
/area/tdome/tdomeadmin)
"Eh" = (
-/obj/effect/landmark{
- name = "tdome2"
- },
+/obj/effect/landmark/thunderdome/two,
/obj/effect/turf_decal/stripes/line{
dir = 8
},
@@ -12348,22 +12306,16 @@
/obj/machinery/recharger{
pixel_y = 4
},
-/obj/effect/landmark{
- name = "tdome2"
- },
+/obj/effect/landmark/thunderdome/two,
/obj/effect/turf_decal/delivery,
/turf/open/floor/plasteel,
/area/tdome/arena)
"Ej" = (
-/obj/effect/landmark{
- name = "tdome2"
- },
+/obj/effect/landmark/thunderdome/two,
/turf/open/floor/plasteel/neutral,
/area/tdome/arena)
"Ek" = (
-/obj/effect/landmark{
- name = "tdome2"
- },
+/obj/effect/landmark/thunderdome/two,
/obj/effect/turf_decal/stripes/line{
dir = 4
},
@@ -12380,9 +12332,7 @@
},
/area/tdome/arena)
"En" = (
-/obj/effect/landmark{
- name = "tdome1"
- },
+/obj/effect/landmark/thunderdome/one,
/obj/effect/turf_decal/stripes/line{
dir = 8
},
@@ -12392,22 +12342,16 @@
/obj/machinery/recharger{
pixel_y = 4
},
-/obj/effect/landmark{
- name = "tdome1"
- },
+/obj/effect/landmark/thunderdome/one,
/obj/effect/turf_decal/delivery,
/turf/open/floor/plasteel,
/area/tdome/arena)
"Ep" = (
-/obj/effect/landmark{
- name = "tdome1"
- },
+/obj/effect/landmark/thunderdome/one,
/turf/open/floor/plasteel/neutral,
/area/tdome/arena)
"Eq" = (
-/obj/effect/landmark{
- name = "tdome1"
- },
+/obj/effect/landmark/thunderdome/one,
/obj/effect/turf_decal/stripes/line{
dir = 4
},
@@ -12441,9 +12385,7 @@
network = list("thunder");
c_tag = "Red Team"
},
-/obj/effect/landmark{
- name = "tdome2"
- },
+/obj/effect/landmark/thunderdome/two,
/turf/open/floor/plasteel/neutral,
/area/tdome/arena)
"Ev" = (
@@ -12474,9 +12416,7 @@
network = list("thunder");
c_tag = "Green Team"
},
-/obj/effect/landmark{
- name = "tdome1"
- },
+/obj/effect/landmark/thunderdome/one,
/turf/open/floor/plasteel/neutral,
/area/tdome/arena)
"EA" = (
@@ -12516,50 +12456,38 @@
/turf/open/floor/plasteel/green/corner,
/area/tdome/arena)
"EG" = (
-/obj/effect/landmark{
- name = "tdome2"
- },
+/obj/effect/landmark/thunderdome/two,
/obj/effect/turf_decal/stripes/line{
dir = 10
},
/turf/open/floor/plasteel,
/area/tdome/arena)
"EH" = (
-/obj/effect/landmark{
- name = "tdome2"
- },
+/obj/effect/landmark/thunderdome/two,
/obj/effect/turf_decal/stripes/line,
/turf/open/floor/plasteel,
/area/tdome/arena)
"EI" = (
-/obj/effect/landmark{
- name = "tdome2"
- },
+/obj/effect/landmark/thunderdome/two,
/obj/effect/turf_decal/stripes/line{
dir = 6
},
/turf/open/floor/plasteel,
/area/tdome/arena)
"EJ" = (
-/obj/effect/landmark{
- name = "tdome1"
- },
+/obj/effect/landmark/thunderdome/one,
/obj/effect/turf_decal/stripes/line{
dir = 10
},
/turf/open/floor/plasteel,
/area/tdome/arena)
"EK" = (
-/obj/effect/landmark{
- name = "tdome1"
- },
+/obj/effect/landmark/thunderdome/one,
/obj/effect/turf_decal/stripes/line,
/turf/open/floor/plasteel,
/area/tdome/arena)
"EL" = (
-/obj/effect/landmark{
- name = "tdome1"
- },
+/obj/effect/landmark/thunderdome/one,
/obj/effect/turf_decal/stripes/line{
dir = 6
},
@@ -12644,9 +12572,7 @@
},
/area/tdome/tdomeadmin)
"EV" = (
-/obj/effect/landmark{
- name = "tdomeadmin"
- },
+/obj/effect/landmark/thunderdome/admin,
/obj/structure/chair/comfy/black{
dir = 1
},
@@ -14446,7 +14372,7 @@
/area/wizard_station)
"KN" = (
/obj/machinery/light/small{
- dir = 8
+ dir = 4
},
/turf/open/floor/engine/cult,
/area/wizard_station)
@@ -14964,6 +14890,10 @@
name = "Centcom"
},
/area/centcom/evac)
+"Md" = (
+/obj/machinery/computer/emergency_shuttle,
+/turf/open/floor/mineral/titanium,
+/area/shuttle/escape)
(1,1,1) = {"
aa
@@ -62947,7 +62877,7 @@ tH
qk
Ks
ql
-Ma
+LY
Mb
yS
Lc
@@ -65807,7 +65737,7 @@ aa
aa
aa
Fa
-Fh
+Md
Fp
FC
Fh
diff --git a/_maps/map_files/generic/Space.dmm b/_maps/map_files/generic/Space.dmm
index c71d2e76ad..3da5b62f4d 100644
--- a/_maps/map_files/generic/Space.dmm
+++ b/_maps/map_files/generic/Space.dmm
@@ -1,4 +1,4 @@
-"a" = (/turf/open/space,/area/space)
+"a" = (/turf/open/space/basic,/area/space)
(1,1,1) = {"
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
diff --git a/_maps/map_files/generic/SpaceDock.dmm b/_maps/map_files/generic/SpaceDock.dmm
index 7c3b1d0e4b..336c7dd724 100644
--- a/_maps/map_files/generic/SpaceDock.dmm
+++ b/_maps/map_files/generic/SpaceDock.dmm
@@ -1,4 +1,4 @@
-"a" = (/turf/open/space,/area/space)
+"a" = (/turf/open/space/basic,/area/space)
"b" = (/obj/docking_port/stationary{dheight = 0;dir = 2;dwidth = 11;height = 22;id = "whiteship_away";name = "Deep Space";width = 35},/turf/open/space,/area/space)
(1,1,1) = {"
diff --git a/_maps/shuttles/emergency_bar.dmm b/_maps/shuttles/emergency_bar.dmm
index eb696067e2..c15d5cea75 100644
--- a/_maps/shuttles/emergency_bar.dmm
+++ b/_maps/shuttles/emergency_bar.dmm
@@ -250,7 +250,7 @@
"aN" = (
/obj/structure/chair/stool/bar{
can_buckle = 1;
- name = "buckable bar stool"
+ name = "buckleable bar stool"
},
/turf/open/floor/plasteel/bar,
/area/shuttle/escape)
diff --git a/code/__DATASTRUCTURES/globals.dm b/code/__DATASTRUCTURES/globals.dm
new file mode 100644
index 0000000000..f9b5281212
--- /dev/null
+++ b/code/__DATASTRUCTURES/globals.dm
@@ -0,0 +1,37 @@
+//See controllers/globals.dm
+#define GLOBAL_MANAGED(X, InitValue)\
+/datum/controller/global_vars/proc/InitGlobal##X(){\
+ ##X = ##InitValue;\
+ gvars_datum_init_order += #X;\
+}
+#define GLOBAL_UNMANAGED(X, InitValue) /datum/controller/global_vars/proc/InitGlobal##X()
+
+#ifndef TESTING
+#define GLOBAL_PROTECT(X)\
+/datum/controller/global_vars/InitGlobal##X(){\
+ ..();\
+ gvars_datum_protected_varlist += #X;\
+}
+#else
+#define GLOBAL_PROTECT(X)
+#endif
+
+#define GLOBAL_REAL(X, Typepath) var/global##Typepath/##X
+
+#define GLOBAL_RAW(X) /datum/controller/global_vars/var/global##X
+
+#define GLOBAL_VAR_INIT(X, InitValue) GLOBAL_RAW(/##X); GLOBAL_MANAGED(X, InitValue)
+
+#define GLOBAL_VAR_CONST(X, InitValue) GLOBAL_RAW(/const/##X) = InitValue; GLOBAL_UNMANAGED(X, InitValue)
+
+#define GLOBAL_LIST_INIT(X, InitValue) GLOBAL_RAW(/list/##X); GLOBAL_MANAGED(X, InitValue)
+
+#define GLOBAL_LIST_EMPTY(X) GLOBAL_LIST_INIT(X, list())
+
+#define GLOBAL_DATUM_INIT(X, Typepath, InitValue) GLOBAL_RAW(Typepath/##X); GLOBAL_MANAGED(X, InitValue)
+
+#define GLOBAL_VAR(X) GLOBAL_RAW(/##X); GLOBAL_MANAGED(X, null)
+
+#define GLOBAL_LIST(X) GLOBAL_RAW(/list/##X); GLOBAL_MANAGED(X, null)
+
+#define GLOBAL_DATUM(X, Typepath) GLOBAL_RAW(Typepath/##X); GLOBAL_MANAGED(X, null)
\ No newline at end of file
diff --git a/code/__DEFINES/MC.dm b/code/__DEFINES/MC.dm
index 86c43d1590..130e3dd671 100644
--- a/code/__DEFINES/MC.dm
+++ b/code/__DEFINES/MC.dm
@@ -1,4 +1,4 @@
-#define MC_TICK_CHECK ( ( world.tick_usage > CURRENT_TICKLIMIT || src.state != SS_RUNNING ) ? pause() : 0 )
+#define MC_TICK_CHECK ( ( world.tick_usage > GLOB.CURRENT_TICKLIMIT || src.state != SS_RUNNING ) ? pause() : 0 )
// Used to smooth out costs to try and avoid oscillation.
#define MC_AVERAGE_FAST(average, current) (0.7 * (average) + 0.3 * (current))
#define MC_AVERAGE(average, current) (0.8 * (average) + 0.2 * (current))
@@ -52,18 +52,16 @@
#define SS_SLEEPING 4 //fire() slept.
#define SS_PAUSING 5 //in the middle of pausing
+#define SUBSYSTEM_DEF(X) GLOBAL_REAL(SS##X, /datum/controller/subsystem/##X);\
+/datum/controller/subsystem/##X/New(){\
+ NEW_SS_GLOBAL(SS##X);\
+ PreInit();\
+}\
+/datum/controller/subsystem/##X
-//Timing subsystem
-//Don't run if there is an identical unique timer active
-#define TIMER_UNIQUE 0x1
-//For unique timers: Replace the old timer rather then not start this one
-#define TIMER_OVERRIDE 0x2
-//Timing should be based on how timing progresses on clients, not the sever.
-// tracking this is more expensive,
-// should only be used in conjuction with things that have to progress client side, such as animate() or sound()
-#define TIMER_CLIENT_TIME 0x4
-//Timer can be stopped using deltimer()
-#define TIMER_STOPPABLE 0x8
-//To be used with TIMER_UNIQUE
-//prevents distinguishing identical timers with the wait variable
-#define TIMER_NO_HASH_WAIT 0x10
\ No newline at end of file
+#define PROCESSING_SUBSYSTEM_DEF(X) GLOBAL_REAL(SS##X, /datum/controller/subsystem/processing/##X);\
+/datum/controller/subsystem/processing/##X/New(){\
+ NEW_SS_GLOBAL(SS##X);\
+ PreInit();\
+}\
+/datum/controller/subsystem/processing/##X
diff --git a/code/__DEFINES/admin.dm b/code/__DEFINES/admin.dm
index 9e393c1598..c5ef02c455 100644
--- a/code/__DEFINES/admin.dm
+++ b/code/__DEFINES/admin.dm
@@ -43,7 +43,6 @@
#define ADMIN_VV(atom) "(VV )"
#define ADMIN_SM(user) "(SM )"
#define ADMIN_TP(user) "(TP )"
-#define ADMIN_BSA(user) "(BSA )"
#define ADMIN_KICK(user) "(KICK )"
#define ADMIN_CENTCOM_REPLY(user) "(RPLY )"
#define ADMIN_SYNDICATE_REPLY(user) "(RPLY )"
@@ -52,11 +51,14 @@
#define ADMIN_LOOKUP(user) "[key_name_admin(user)][ADMIN_QUE(user)]"
#define ADMIN_LOOKUPFLW(user) "[key_name_admin(user)][ADMIN_QUE(user)] [ADMIN_FLW(user)]"
#define ADMIN_SET_SD_CODE "(SETCODE )"
-#define ADMIN_FULLMONTY(user) "[key_name_admin(user)] [ADMIN_QUE(user)] [ADMIN_PP(user)] [ADMIN_VV(user)] [ADMIN_SM(user)] [ADMIN_FLW(user)] [ADMIN_TP(user)]"
+#define ADMIN_FULLMONTY_NONAME(user) "[ADMIN_QUE(user)] [ADMIN_PP(user)] [ADMIN_VV(user)] [ADMIN_SM(user)] [ADMIN_FLW(user)] [ADMIN_TP(user)] [ADMIN_INDIVIDUALLOG(user)]"
+#define ADMIN_FULLMONTY(user) "[key_name_admin(user)] [ADMIN_FULLMONTY_NONAME(user)]"
#define ADMIN_JMP(src) "(JMP )"
#define COORD(src) "[src ? "([src.x],[src.y],[src.z])" : "nonexistent location"]"
#define ADMIN_COORDJMP(src) "[src ? "[COORD(src)] [ADMIN_JMP(src)]" : "nonexistent location"]"
+#define ADMIN_INDIVIDUALLOG(user) "(LOGS )"
#define ADMIN_PUNISHMENT_LIGHTNING "Lightning bolt"
#define ADMIN_PUNISHMENT_BRAINDAMAGE "Brain damage"
-#define ADMIN_PUNISHMENT_GIB "Gib"
\ No newline at end of file
+#define ADMIN_PUNISHMENT_GIB "Gib"
+#define ADMIN_PUNISHMENT_BSA "Bluespace Artillery Device"
\ No newline at end of file
diff --git a/code/__DEFINES/citadel_defines.dm b/code/__DEFINES/citadel_defines.dm
index 7e8f2d4add..51ba9d4c59 100644
--- a/code/__DEFINES/citadel_defines.dm
+++ b/code/__DEFINES/citadel_defines.dm
@@ -65,18 +65,6 @@
#define MILK_RATE_MULT 1
#define MILK_EFFICIENCY 1
-
-// Admin ticket things
-#define TICKET_RESOLVED "Yes"
-#define TICKET_UNRESOLVED "No"
-#define TICKET_UNASSIGNED "N/A"
-
-#define TICKET_REPLIED "Yes"
-#define TICKET_UNREPLIED "No"
-
-#define TICKET_INACTIVE "No"
-#define TICKET_ACTIVE "Yes"
-
//Individual logging define
#define INDIVIDUAL_LOOC_LOG "LOOC log"
diff --git a/code/__DEFINES/clockcult.dm b/code/__DEFINES/clockcult.dm
index 768ee708ec..9c86e031ab 100644
--- a/code/__DEFINES/clockcult.dm
+++ b/code/__DEFINES/clockcult.dm
@@ -5,17 +5,17 @@
#define REPLICANT_ALLOY "replicant_alloy"
#define HIEROPHANT_ANSIBLE "hierophant_ansible"
-var/global/clockwork_construction_value = 0 //The total value of all structures built by the clockwork cult
-var/global/clockwork_caches = 0 //How many clockwork caches exist in the world (not each individual)
-var/global/clockwork_daemons = 0 //How many daemons exist in the world
-var/global/list/clockwork_generals_invoked = list("nezbere" = FALSE, "sevtug" = FALSE, "nzcrentr" = FALSE, "inath-neq" = FALSE) //How many generals have been recently invoked
-var/global/list/all_clockwork_objects = list() //All clockwork items, structures, and effects in existence
-var/global/list/all_clockwork_mobs = list() //All clockwork SERVANTS (not creatures) in existence
-var/global/list/clockwork_component_cache = list(BELLIGERENT_EYE = 0, VANGUARD_COGWHEEL = 0, GEIS_CAPACITOR = 0, REPLICANT_ALLOY = 0, HIEROPHANT_ANSIBLE = 0) //The pool of components that caches draw from
-var/global/ratvar_awakens = 0 //If Ratvar has been summoned; not a boolean, for proper handling of multiple Ratvars
-var/global/nezbere_invoked = 0 //If Nezbere has been invoked; not a boolean, for proper handling of multiple Nezberes
-var/global/clockwork_gateway_activated = FALSE //if a gateway to the celestial derelict has ever been successfully activated
-var/global/list/all_scripture = list() //a list containing scripture instances; not used to track existing scripture
+GLOBAL_VAR_INIT(clockwork_construction_value, 0) //The total value of all structures built by the clockwork cult
+GLOBAL_VAR_INIT(clockwork_caches, 0) //How many clockwork caches exist in the world (not each individual)
+GLOBAL_VAR_INIT(clockwork_daemons, 0) //How many daemons exist in the world
+GLOBAL_LIST_INIT(clockwork_generals_invoked, list("nezbere" = FALSE, "sevtug" = FALSE, "nzcrentr" = FALSE, "inath-neq" = FALSE)) //How many generals have been recently invoked
+GLOBAL_LIST_EMPTY(all_clockwork_objects) //All clockwork items, structures, and effects in existence
+GLOBAL_LIST_EMPTY(all_clockwork_mobs) //All clockwork SERVANTS (not creatures) in existence
+GLOBAL_LIST_INIT(clockwork_component_cache, list(BELLIGERENT_EYE = 0, VANGUARD_COGWHEEL = 0, GEIS_CAPACITOR = 0, REPLICANT_ALLOY = 0, HIEROPHANT_ANSIBLE = 0)) //The pool of components that caches draw from
+GLOBAL_VAR_INIT(ratvar_awakens, 0) //If Ratvar has been summoned; not a boolean, for proper handling of multiple Ratvars
+GLOBAL_VAR_INIT(nezbere_invoked, 0) //If Nezbere has been invoked; not a boolean, for proper handling of multiple Nezberes
+GLOBAL_VAR_INIT(clockwork_gateway_activated, FALSE) //if a gateway to the celestial derelict has ever been successfully activated
+GLOBAL_LIST_EMPTY(all_scripture) //a list containing scripture instances; not used to track existing scripture
//Scripture tiers and requirements; peripherals should never be used
#define SCRIPTURE_PERIPHERAL "Peripheral"
@@ -43,7 +43,9 @@ var/global/list/all_scripture = list() //a list containing scripture instances;
#define SLAB_SLOWDOWN_MAXIMUM 2700 //maximum slowdown from additional servants; defaults to 4 minutes 30 seconds
-#define CACHE_PRODUCTION_TIME 900 //how long(deciseconds) caches require to produce a component; defaults to 1 minute 30 seconds
+#define CACHE_PRODUCTION_TIME 600 //how long(deciseconds) caches require to produce a component; defaults to 1 minute
+
+#define ACTIVE_CACHE_SLOWDOWN 100 //how many additional deciseconds caches take to produce a component for each linked cache; defaults to 10 seconds
#define LOWER_PROB_PER_COMPONENT 10 //how much each component in the cache reduces the weight of getting another of that component type
@@ -85,10 +87,12 @@ var/global/list/all_scripture = list() //a list containing scripture instances;
#define GATEWAY_RATVAR_ARRIVAL 300 //when progress is at or above this, game over ratvar's here everybody go home
-//Objective defines
-#define CLOCKCULT_GATEWAY "summon ratvar"
+#define ARK_SUMMON_COST 3 //how many of each component an Ark costs to summon
-#define CLOCKCULT_ESCAPE "proselytize the station"
+#define ARK_CONSUME_COST 7 //how many of each component an Ark needs to consume to activate
+
+//Objective text define
+#define CLOCKCULT_OBJECTIVE "Construct the Ark of the Clockwork Justicar and free Ratvar."
//misc clockcult stuff
#define MARAUDER_EMERGE_THRESHOLD 65 //marauders cannot emerge unless host is at this% or less health
diff --git a/code/__DEFINES/construction.dm b/code/__DEFINES/construction.dm
index 79d78dfbae..d4b536ec2f 100644
--- a/code/__DEFINES/construction.dm
+++ b/code/__DEFINES/construction.dm
@@ -60,6 +60,12 @@
#define GEAR_SECURE 1
#define GEAR_LOOSE 2
+//floodlights because apparently we use defines now
+#define FLOODLIGHT_NEEDS_WIRES 0
+#define FLOODLIGHT_NEEDS_LIGHTS 1
+#define FLOODLIGHT_NEEDS_SECURING 2
+#define FLOODLIGHT_NEEDS_WRENCHING 3
+
//other construction-related things
//windows affected by nar-sie turn this color.
diff --git a/code/__DEFINES/flags.dm b/code/__DEFINES/flags.dm
index 0c07b50147..05466e1458 100644
--- a/code/__DEFINES/flags.dm
+++ b/code/__DEFINES/flags.dm
@@ -19,10 +19,11 @@
#define ON_BORDER 512 // item has priority to check when entering or leaving
#define NOSLIP 1024 //prevents from slipping on wet floors, in space etc
+#define CLEAN_ON_MOVE 2048
// BLOCK_GAS_SMOKE_EFFECT only used in masks at the moment.
-#define BLOCK_GAS_SMOKE_EFFECT 8192 // blocks the effect that chemical clouds would have on a mob --glasses, mask and helmets ONLY! (NOTE: flag shared with THICKMATERIAL)
-#define THICKMATERIAL 8192 //prevents syringes, parapens and hypos if the external suit or helmet (if targeting head) has this flag. Example: space suits, biosuit, bombsuits, thick suits that cover your body. (NOTE: flag shared with BLOCK_GAS_SMOKE_EFFECT)
+#define BLOCK_GAS_SMOKE_EFFECT 4096 // blocks the effect that chemical clouds would have on a mob --glasses, mask and helmets ONLY!
+#define THICKMATERIAL 8192 //prevents syringes, parapens and hypos if the external suit or helmet (if targeting head) has this flag. Example: space suits, biosuit, bombsuits, thick suits that cover your body.
#define DROPDEL 16384 // When dropped, it calls qdel on itself
/* Secondary atom flags, access using the SECONDARY_FLAG macros */
@@ -35,6 +36,12 @@
#define INFORM_ADMINS_ON_RELOCATE "inform_admins_on_relocate"
#define BANG_PROTECT "bang_protect"
+// A mob with OMNITONGUE has no restriction in the ability to speak
+// languages that they know. So even if they wouldn't normally be able to
+// through mob or tongue restrictions, this flag allows them to ignore
+// those restrictions.
+#define OMNITONGUE "omnitongue"
+
//turf-only flags
#define NOJAUNT 1
#define UNUSED_TRANSIT_TURF 2
@@ -59,20 +66,6 @@
#define GROUND 1
#define FLYING 2
-
-/*
- These defines are used specifically with the atom/movable/languages bitmask.
- They are used in atom/movable/Hear() and atom/movable/say() to determine whether hearers can understand a message.
-*/
-#define HUMAN 1
-#define MONKEY 2
-#define ALIEN 4
-#define ROBOT 8
-#define SLIME 16
-#define DRONE 32
-#define SWARMER 64
-#define RATVAR 128
-
// Flags for reagents
#define REAGENT_NOREACT 1
@@ -84,3 +77,5 @@
#define UNACIDABLE 16 //acid can't even appear on it, let alone melt it.
#define ACID_PROOF 32 //acid stuck on it doesn't melt it.
#define INDESTRUCTIBLE 64 //doesn't take damage
+
+// language secondary flags for atoms
diff --git a/code/__DEFINES/is_helpers.dm b/code/__DEFINES/is_helpers.dm
index e9a3b21bbb..097538c590 100644
--- a/code/__DEFINES/is_helpers.dm
+++ b/code/__DEFINES/is_helpers.dm
@@ -19,6 +19,8 @@
#define ismineralturf(A) (istype(A, /turf/closed/mineral))
+#define islava(A) (istype(A, /turf/open/floor/plating/lava))
+
//Mobs
#define isliving(A) (istype(A, /mob/living))
@@ -120,13 +122,13 @@
#define isorgan(A) (istype(A, /obj/item/organ))
-var/list/static/global/pointed_types = typecacheof(list(
+GLOBAL_LIST_INIT(pointed_types, typecacheof(list(
/obj/item/weapon/pen,
/obj/item/weapon/screwdriver,
/obj/item/weapon/reagent_containers/syringe,
- /obj/item/weapon/kitchen/fork))
+ /obj/item/weapon/kitchen/fork)))
-#define is_pointed(W) (is_type_in_typecache(W, pointed_types))
+#define is_pointed(W) (is_type_in_typecache(W, GLOB.pointed_types))
#define isbodypart(A) (istype(A, /obj/item/bodypart))
diff --git a/code/__DEFINES/jobs.dm b/code/__DEFINES/jobs.dm
new file mode 100644
index 0000000000..6d5310364f
--- /dev/null
+++ b/code/__DEFINES/jobs.dm
@@ -0,0 +1,43 @@
+
+#define ENGSEC (1<<0)
+
+#define CAPTAIN (1<<0)
+#define HOS (1<<1)
+#define WARDEN (1<<2)
+#define DETECTIVE (1<<3)
+#define OFFICER (1<<4)
+#define CHIEF (1<<5)
+#define ENGINEER (1<<6)
+#define ATMOSTECH (1<<7)
+#define ROBOTICIST (1<<8)
+#define AI_JF (1<<9)
+#define CYBORG (1<<10)
+
+
+#define MEDSCI (1<<1)
+
+#define RD_JF (1<<0)
+#define SCIENTIST (1<<1)
+#define CHEMIST (1<<2)
+#define CMO_JF (1<<3)
+#define DOCTOR (1<<4)
+#define GENETICIST (1<<5)
+#define VIROLOGIST (1<<6)
+
+
+#define CIVILIAN (1<<2)
+
+#define HOP (1<<0)
+#define BARTENDER (1<<1)
+#define BOTANIST (1<<2)
+#define COOK (1<<3)
+#define JANITOR (1<<4)
+#define LIBRARIAN (1<<5)
+#define QUARTERMASTER (1<<6)
+#define CARGOTECH (1<<7)
+#define MINER (1<<8)
+#define LAWYER (1<<9)
+#define CHAPLAIN (1<<10)
+#define CLOWN (1<<11)
+#define MIME (1<<12)
+#define ASSISTANT (1<<13)
\ No newline at end of file
diff --git a/code/__DEFINES/language.dm b/code/__DEFINES/language.dm
new file mode 100644
index 0000000000..3f09f46817
--- /dev/null
+++ b/code/__DEFINES/language.dm
@@ -0,0 +1,2 @@
+#define NO_STUTTER 1
+#define TONGUELESS_SPEECH 2
diff --git a/code/__DEFINES/lighting.dm b/code/__DEFINES/lighting.dm
index 78395458ae..32b4e6059f 100644
--- a/code/__DEFINES/lighting.dm
+++ b/code/__DEFINES/lighting.dm
@@ -4,9 +4,9 @@
#define LIGHTING_FALLOFF 1 // type of falloff to use for lighting; 1 for circular, 2 for square
#define LIGHTING_LAMBERTIAN 0 // use lambertian shading for light sources
#define LIGHTING_HEIGHT 1 // height off the ground of light sources on the pseudo-z-axis, you should probably leave this alone
-#define LIGHTING_ROUND_VALUE 1 / 128 //Value used to round lumcounts, values smaller than 1/255 don't matter (if they do, thanks sinking points), greater values will make lighting less precise, but in turn increase performance, VERY SLIGHTLY.
+#define LIGHTING_ROUND_VALUE 1 / 64 //Value used to round lumcounts, values smaller than 1/129 don't matter (if they do, thanks sinking points), greater values will make lighting less precise, but in turn increase performance, VERY SLIGHTLY.
-#define LIGHTING_ICON 'icons/effects/lighting_object.png' // icon used for lighting shading effects
+#define LIGHTING_ICON 'icons/effects/lighting_object.dmi' // icon used for lighting shading effects
// If the max of the lighting lumcounts of each spectrum drops below this, disable luminosity on the lighting objects.
// Set to zero to disable soft lighting. Luminosity changes then work if it's lit at all.
@@ -67,3 +67,8 @@
#define LIGHT_COLOR_SLIME_LAMP "#AFC84B" //Weird color, between yellow and green, very slimy. rgb(175, 200, 75)
#define LIGHT_COLOR_TUNGSTEN "#FAE1AF" //Extremely diluted yellow, close to skin color (for some reason). rgb(250, 225, 175)
#define LIGHT_COLOR_HALOGEN "#F0FAFA" //Barely visible cyan-ish hue, as the doctor prescribed. rgb(240, 250, 250)
+
+#define LIGHTING_PLANE_ALPHA_VISIBLE 255
+#define LIGHTING_PLANE_ALPHA_MOSTLY_VISIBLE 192
+#define LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE 128 //For lighting alpha, small amounts lead to big changes. even at 128 its hard to figure out what is dark and what is light, at 64 you almost can't even tell.
+#define LIGHTING_PLANE_ALPHA_INVISIBLE 0
\ No newline at end of file
diff --git a/code/__DEFINES/machines.dm b/code/__DEFINES/machines.dm
index 8f9f1cb5e7..004ea378da 100644
--- a/code/__DEFINES/machines.dm
+++ b/code/__DEFINES/machines.dm
@@ -63,3 +63,6 @@
#define PROGRAM_STATE_KILLED 0
#define PROGRAM_STATE_BACKGROUND 1
#define PROGRAM_STATE_ACTIVE 2
+
+#define FIREDOOR_OPEN 1
+#define FIREDOOR_CLOSED 2
\ No newline at end of file
diff --git a/code/__DEFINES/maps.dm b/code/__DEFINES/maps.dm
index 6212c2a4c7..21aaaaaf07 100644
--- a/code/__DEFINES/maps.dm
+++ b/code/__DEFINES/maps.dm
@@ -41,4 +41,6 @@ Last space-z level = empty
#define ZLEVEL_EMPTY_SPACE 11
#define ZLEVEL_SPACEMIN 3
-#define ZLEVEL_SPACEMAX 11
\ No newline at end of file
+#define ZLEVEL_SPACEMAX 11
+
+#define SPACERUIN_MAP_EDGE_PAD 15
\ No newline at end of file
diff --git a/code/__DEFINES/math.dm b/code/__DEFINES/math.dm
index 76dae9e21e..3e781da6cd 100644
--- a/code/__DEFINES/math.dm
+++ b/code/__DEFINES/math.dm
@@ -22,4 +22,4 @@
//time of day but automatically adjusts to the server going into the next day within the same round.
//for when you need a reliable time number that doesn't depend on byond time.
#define REALTIMEOFDAY (world.timeofday + (MIDNIGHT_ROLLOVER * MIDNIGHT_ROLLOVER_CHECK))
-#define MIDNIGHT_ROLLOVER_CHECK ( rollovercheck_last_timeofday != world.timeofday ? update_midnight_rollover() : midnight_rollovers )
+#define MIDNIGHT_ROLLOVER_CHECK ( GLOB.rollovercheck_last_timeofday != world.timeofday ? update_midnight_rollover() : GLOB.midnight_rollovers )
diff --git a/code/__DEFINES/misc.dm b/code/__DEFINES/misc.dm
index 8e98e80d78..b71af8236e 100644
--- a/code/__DEFINES/misc.dm
+++ b/code/__DEFINES/misc.dm
@@ -149,7 +149,7 @@
#define STAGE_FIVE 9
#define STAGE_SIX 11 //From supermatter shard
-//ticker.current_state values
+//SSticker.current_state values
#define GAME_STATE_STARTUP 0
#define GAME_STATE_PREGAME 1
#define GAME_STATE_SETTING_UP 2
@@ -188,7 +188,7 @@
//Key:
//"entered-[blood_state]-[dir_of_image]"
//or: "exited-[blood_state]-[dir_of_image]"
-var/list/bloody_footprints_cache = list()
+GLOBAL_LIST_EMPTY(bloody_footprints_cache)
//Bloody shoes/footprints
#define MAX_SHOE_BLOODINESS 100
@@ -253,7 +253,7 @@ var/list/bloody_footprints_cache = list()
#define GHOST_ACCS_DEFAULT_OPTION GHOST_ACCS_FULL
-var/global/list/ghost_accs_options = list(GHOST_ACCS_NONE, GHOST_ACCS_DIR, GHOST_ACCS_FULL) //So save files can be sanitized properly.
+GLOBAL_LIST_INIT(ghost_accs_options, list(GHOST_ACCS_NONE, GHOST_ACCS_DIR, GHOST_ACCS_FULL)) //So save files can be sanitized properly.
#define GHOST_OTHERS_SIMPLE 1
#define GHOST_OTHERS_DEFAULT_SPRITE 50
@@ -269,7 +269,7 @@ var/global/list/ghost_accs_options = list(GHOST_ACCS_NONE, GHOST_ACCS_DIR, GHOST
#define GHOST_MAX_VIEW_RANGE_MEMBER 14
-var/global/list/ghost_others_options = list(GHOST_OTHERS_SIMPLE, GHOST_OTHERS_DEFAULT_SPRITE, GHOST_OTHERS_THEIR_SETTING) //Same as ghost_accs_options.
+GLOBAL_LIST_INIT(ghost_others_options, list(GHOST_OTHERS_SIMPLE, GHOST_OTHERS_DEFAULT_SPRITE, GHOST_OTHERS_THEIR_SETTING)) //Same as ghost_accs_options.
//Color Defines
#define OOC_COLOR "#002eb8"
@@ -332,9 +332,9 @@ var/global/list/ghost_others_options = list(GHOST_OTHERS_SIMPLE, GHOST_OTHERS_DE
#define SHELTER_DEPLOY_ANCHORED_OBJECTS "anchored objects"
//debug printing macros
-#define debug_world(msg) if (Debug2) to_chat(world, "DEBUG: [msg]")
-#define debug_admins(msg) if (Debug2) to_chat(admins, "DEBUG: [msg]")
-#define debug_world_log(msg) if (Debug2) log_world("DEBUG: [msg]")
+#define debug_world(msg) if (GLOB.Debug2) to_chat(world, "DEBUG: [msg]")
+#define debug_admins(msg) if (GLOB.Debug2) to_chat(GLOB.admins, "DEBUG: [msg]")
+#define debug_world_log(msg) if (GLOB.Debug2) log_world("DEBUG: [msg]")
#define COORD(A) "([A.x],[A.y],[A.z])"
#define INCREMENT_TALLY(L, stat) if(L[stat]){L[stat]++}else{L[stat] = 1}
diff --git a/code/__DEFINES/mobs.dm b/code/__DEFINES/mobs.dm
index 2d847f39b5..28e4a262fd 100644
--- a/code/__DEFINES/mobs.dm
+++ b/code/__DEFINES/mobs.dm
@@ -107,4 +107,13 @@
#define INDIVIDUAL_SAY_LOG "Say log"
#define INDIVIDUAL_EMOTE_LOG "Emote log"
#define INDIVIDUAL_OOC_LOG "OOC log"
-#define INDIVIDUAL_SHOW_ALL_LOG "All logs"
\ No newline at end of file
+#define INDIVIDUAL_SHOW_ALL_LOG "All logs"
+
+#define TK_MAXRANGE 15
+
+#define NO_SLIP_WHEN_WALKING 1
+#define SLIDE 2
+#define GALOSHES_DONT_HELP 4
+#define SLIDE_ICE 8
+
+#define MAX_CHICKENS 50
\ No newline at end of file
diff --git a/code/__DEFINES/reagents.dm b/code/__DEFINES/reagents.dm
index 2cd950b92d..6df0514b0a 100644
--- a/code/__DEFINES/reagents.dm
+++ b/code/__DEFINES/reagents.dm
@@ -3,4 +3,10 @@
#define GAS 3
#define OPENCONTAINER 4096 // is an open container for chemistry purposes
-#define TRANSPARENT 8192 //Used for non-open containers which you still want to be able to see the reagents off.
\ No newline at end of file
+#define TRANSPARENT 8192 //Used for non-open containers which you still want to be able to see the reagents off.
+
+#define TOUCH 1 //splashing
+#define INGEST 2 //ingestion
+#define VAPOR 3 //foam, spray, blob attack
+#define PATCH 4 //patches
+#define INJECT 5 //injection
\ No newline at end of file
diff --git a/code/__DEFINES/robots.dm b/code/__DEFINES/robots.dm
index 921589d033..9b450765db 100644
--- a/code/__DEFINES/robots.dm
+++ b/code/__DEFINES/robots.dm
@@ -34,3 +34,9 @@
#define FLOOR_BOT 4 // Floorbots
#define CLEAN_BOT 8 // Cleanbots
#define MED_BOT 16 // Medibots
+
+//AI notification defines
+#define NEW_BORG 1
+#define NEW_MODULE 2
+#define RENAME 3
+#define AI_SHELL 4
\ No newline at end of file
diff --git a/code/__DEFINES/role_preferences.dm b/code/__DEFINES/role_preferences.dm
index 94995eeb23..dc9fbe6fe3 100644
--- a/code/__DEFINES/role_preferences.dm
+++ b/code/__DEFINES/role_preferences.dm
@@ -28,7 +28,7 @@
//Missing assignment means it's not a gamemode specific role, IT'S NOT A BUG OR ERROR.
//The gamemode specific ones are just so the gamemodes can query whether a player is old enough
//(in game days played) to play that role
-var/global/list/special_roles = list(
+GLOBAL_LIST_INIT(special_roles, list(
ROLE_TRAITOR = /datum/game_mode/traitor,
ROLE_OPERATIVE = /datum/game_mode/nuclear,
ROLE_CHANGELING = /datum/game_mode/changeling,
@@ -47,7 +47,7 @@ var/global/list/special_roles = list(
ROLE_DEVIL = /datum/game_mode/devil,
ROLE_SERVANT_OF_RATVAR = /datum/game_mode/clockwork_cult,
ROLE_BORER,
-)
+))
//Job defines for what happens when you fail to qualify for any job during job selection
#define BEASSISTANT 1
diff --git a/code/__DEFINES/say.dm b/code/__DEFINES/say.dm
index 2d460f2d8b..4f3a03dc95 100644
--- a/code/__DEFINES/say.dm
+++ b/code/__DEFINES/say.dm
@@ -11,6 +11,7 @@
#define MODE_INTERCOM "intercom"
#define MODE_BINARY "binary"
#define MODE_WHISPER "whisper"
+#define MODE_WHISPER_CRIT "whispercrit"
#define MODE_DEPARTMENT "department"
#define MODE_ALIEN "alientalk"
#define MODE_HOLOPAD "holopad"
@@ -32,6 +33,9 @@
#define REDUCE_RANGE 2
#define NOPASS 4
+//Eavesdropping
+#define EAVESDROP_EXTRA_RANGE 1 //how much past the specified message_range does the message get starred, whispering only
+
// A link given to ghost alice to follow bob
#define FOLLOW_LINK(alice, bob) "(F) "
#define TURF_LINK(alice, turfy) "(T) "
diff --git a/code/__DEFINES/shuttles.dm b/code/__DEFINES/shuttles.dm
index ea52fb21ae..a133816f2d 100644
--- a/code/__DEFINES/shuttles.dm
+++ b/code/__DEFINES/shuttles.dm
@@ -43,4 +43,6 @@
#define HYPERSPACE_WARMUP 1
#define HYPERSPACE_LAUNCH 2
-#define HYPERSPACE_END 3
\ No newline at end of file
+#define HYPERSPACE_END 3
+
+#define CALL_SHUTTLE_REASON_LENGTH 12
\ No newline at end of file
diff --git a/code/__DEFINES/sight.dm b/code/__DEFINES/sight.dm
index 6482d541f0..d756cbaf1b 100644
--- a/code/__DEFINES/sight.dm
+++ b/code/__DEFINES/sight.dm
@@ -1,8 +1,5 @@
-
#define SEE_INVISIBLE_MINIMUM 5
-#define SEE_INVISIBLE_NOLIGHTING 15 //to not see the lighting objects. Used for nightvision and observer with darkness toggled.
-
#define INVISIBILITY_LIGHTING 20
#define SEE_INVISIBLE_LIVING 25
diff --git a/code/__DEFINES/sound.dm b/code/__DEFINES/sound.dm
new file mode 100644
index 0000000000..94ed5dc7b9
--- /dev/null
+++ b/code/__DEFINES/sound.dm
@@ -0,0 +1,8 @@
+//max channel is 1024. Only go lower from here, because byond tends to pick the first availiable channel to play sounds on
+#define CHANNEL_LOBBYMUSIC 1024
+#define CHANNEL_ADMIN 1023
+#define CHANNEL_VOX 1022
+
+//THIS SHOULD ALWAYS BE THE LOWEST ONE!
+//KEEP IT UPDATED
+#define CHANNEL_HIGHEST_AVAILABLE 1021
diff --git a/code/__DEFINES/status_effects.dm b/code/__DEFINES/status_effects.dm
index 3bdd86ae39..bc5816dbb9 100644
--- a/code/__DEFINES/status_effects.dm
+++ b/code/__DEFINES/status_effects.dm
@@ -1,6 +1,12 @@
//These are all the different status effects. Use the paths for each effect in the defines.
+#define STATUS_EFFECT_MULTIPLE 0 //if it allows multiple instances of the effect
+
+#define STATUS_EFFECT_UNIQUE 1 //if it allows only one, preventing new instances
+
+#define STATUS_EFFECT_REPLACE 2 //if it allows only one, but new instances replace
+
#define BASIC_STATUS_EFFECT /datum/status_effect //Has no effect.
///////////
diff --git a/code/__DEFINES/subsystems.dm b/code/__DEFINES/subsystems.dm
new file mode 100644
index 0000000000..20b3f88745
--- /dev/null
+++ b/code/__DEFINES/subsystems.dm
@@ -0,0 +1,21 @@
+
+//Timing subsystem
+//Don't run if there is an identical unique timer active
+#define TIMER_UNIQUE 0x1
+//For unique timers: Replace the old timer rather then not start this one
+#define TIMER_OVERRIDE 0x2
+//Timing should be based on how timing progresses on clients, not the sever.
+// tracking this is more expensive,
+// should only be used in conjuction with things that have to progress client side, such as animate() or sound()
+#define TIMER_CLIENT_TIME 0x4
+//Timer can be stopped using deltimer()
+#define TIMER_STOPPABLE 0x8
+//To be used with TIMER_UNIQUE
+//prevents distinguishing identical timers with the wait variable
+#define TIMER_NO_HASH_WAIT 0x10
+
+#define TIMER_NO_INVOKE_WARNING 600 //number of byond ticks that are allowed to pass before the timer subsystem thinks it hung on something
+
+//For servers that can't do with any additional lag, set this to none in flightpacks.dm in subsystem/processing.
+#define FLIGHTSUIT_PROCESSING_NONE 0
+#define FLIGHTSUIT_PROCESSING_FULL 1
diff --git a/code/__DEFINES/tick.dm b/code/__DEFINES/tick.dm
index 393ad99eda..0c8c17da6f 100644
--- a/code/__DEFINES/tick.dm
+++ b/code/__DEFINES/tick.dm
@@ -3,5 +3,5 @@
#define TICK_LIMIT_MC 70
#define TICK_LIMIT_MC_INIT_DEFAULT 98
-#define TICK_CHECK ( world.tick_usage > CURRENT_TICKLIMIT )
-#define CHECK_TICK if (world.tick_usage > CURRENT_TICKLIMIT) stoplag()
+#define TICK_CHECK ( world.tick_usage > GLOB.CURRENT_TICKLIMIT )
+#define CHECK_TICK if TICK_CHECK stoplag()
diff --git a/code/__DEFINES/voreconstants.dm b/code/__DEFINES/voreconstants.dm
deleted file mode 100644
index 6a07a60f4b..0000000000
--- a/code/__DEFINES/voreconstants.dm
+++ /dev/null
@@ -1,66 +0,0 @@
-// Overhauled vore system
-#define DM_HOLD "Hold"
-#define DM_DIGEST "Digest"
-#define DM_HEAL "Heal"
-#define DM_DIGESTF "Fast Digest"
-
-#define VORE_STRUGGLE_EMOTE_CHANCE 40
-
-// Stance for hostile mobs to be in while devouring someone.
-#define HOSTILE_STANCE_EATING 99
-
-/*
-var/global/list/player_sizes_list = list("Macro" = SIZESCALE_HUGE, "Big" = SIZESCALE_BIG, "Normal" = SIZESCALE_NORMAL, "Small" = SIZESCALE_SMALL, "Tiny" = SIZESCALE_TINY)
- // moved to sound.dm
-
-var/global/list/digestion_sounds = list(
- 'sound/vore/digest1.ogg',
- 'sound/vore/digest2.ogg',
- 'sound/vore/digest3.ogg',
- 'sound/vore/digest4.ogg',
- 'sound/vore/digest5.ogg',
- 'sound/vore/digest6.ogg',
- 'sound/vore/digest7.ogg',
- 'sound/vore/digest8.ogg',
- 'sound/vore/digest9.ogg',
- 'sound/vore/digest10.ogg',
- 'sound/vore/digest11.ogg',
- 'sound/vore/digest12.ogg')
-
-var/global/list/death_sounds = list(
- 'sound/vore/death1.ogg',
- 'sound/vore/death2.ogg',
- 'sound/vore/death3.ogg',
- 'sound/vore/death4.ogg',
- 'sound/vore/death5.ogg',
- 'sound/vore/death6.ogg',
- 'sound/vore/death7.ogg',
- 'sound/vore/death8.ogg',
- 'sound/vore/death9.ogg',
- 'sound/vore/death10.ogg') */
-
-var/global/list/vore_sounds = list(
- "Gulp" = 'sound/vore/gulp.ogg',
- "Insert" = 'sound/vore/insert.ogg',
- "Insertion1" = 'sound/vore/insertion1.ogg',
- "Insertion2" = 'sound/vore/insertion2.ogg',
- "Insertion3" = 'sound/vore/insertion3.ogg',
- "Schlorp" = 'sound/vore/schlorp.ogg',
- "Squish1" = 'sound/vore/squish1.ogg',
- "Squish2" = 'sound/vore/squish2.ogg',
- "Squish3" = 'sound/vore/squish3.ogg',
- "Squish4" = 'sound/vore/squish4.ogg')
-/* also moved to sound.dmi
-var/global/list/struggle_sounds = list(
- "Squish1" = 'sound/vore/squish1.ogg',
- "Squish2" = 'sound/vore/squish2.ogg',
- "Squish3" = 'sound/vore/squish3.ogg',
- "Squish4" = 'sound/vore/squish4.ogg')
-
-/proc/log_debug(text)
- if (config.log_debug)
- diary << "\[[time_stamp()]]DEBUG: [text][log_end]"
-
- for(var/client/C in admins)
- if(C.prefs.toggles & CHAT_DEBUGLOGS)
- C << "DEBUG: [text]" */
diff --git a/code/__HELPERS/_lists.dm b/code/__HELPERS/_lists.dm
index de22c139ae..db07a99d03 100644
--- a/code/__HELPERS/_lists.dm
+++ b/code/__HELPERS/_lists.dm
@@ -65,7 +65,10 @@
if(!L || !L.len || !A)
return 0
- return L[A.type]
+ if(ispath(A))
+ . = L[A]
+ else
+ . = L[A.type]
//Checks for a string in a list
/proc/is_string_in_list(string, list/L)
@@ -278,7 +281,7 @@
//Specifically for record datums in a list.
/proc/sortRecord(list/L, field = "name", order = 1)
- cmp_field = field
+ GLOB.cmp_field = field
return sortTim(L, order >= 0 ? /proc/cmp_records_asc : /proc/cmp_records_dsc)
//any value in a list
diff --git a/code/__HELPERS/_logging.dm b/code/__HELPERS/_logging.dm
index cceea91f64..2785ba896f 100644
--- a/code/__HELPERS/_logging.dm
+++ b/code/__HELPERS/_logging.dm
@@ -18,15 +18,15 @@
#endif
/proc/log_admin(text)
- admin_log.Add(text)
+ GLOB.admin_log.Add(text)
if (config.log_admin)
- diary << "\[[time_stamp()]]ADMIN: [text]"
+ GLOB.diary << "\[[time_stamp()]]ADMIN: [text]"
//Items using this proc are stripped from public logs - use with caution
/proc/log_admin_private(text)
- admin_log.Add(text)
+ GLOB.admin_log.Add(text)
if (config.log_admin)
- diary << "\[[time_stamp()]]ADMINPRIVATE: [text]"
+ GLOB.diary << "\[[time_stamp()]]ADMINPRIVATE: [text]"
/proc/log_adminsay(text)
if (config.log_adminchat)
@@ -38,65 +38,65 @@
/proc/log_game(text)
if (config.log_game)
- diary << "\[[time_stamp()]]GAME: [text]"
+ GLOB.diary << "\[[time_stamp()]]GAME: [text]"
/proc/log_vote(text)
if (config.log_vote)
- diary << "\[[time_stamp()]]VOTE: [text]"
+ GLOB.diary << "\[[time_stamp()]]VOTE: [text]"
/proc/log_access(text)
if (config.log_access)
- diary << "\[[time_stamp()]]ACCESS: [text]"
+ GLOB.diary << "\[[time_stamp()]]ACCESS: [text]"
/proc/log_say(text)
if (config.log_say)
- diary << "\[[time_stamp()]]SAY: [text]"
+ GLOB.diary << "\[[time_stamp()]]SAY: [text]"
/proc/log_prayer(text)
if (config.log_prayer)
- diary << "\[[time_stamp()]]PRAY: [text]"
+ GLOB.diary << "\[[time_stamp()]]PRAY: [text]"
/proc/log_law(text)
if (config.log_law)
- diary << "\[[time_stamp()]]LAW: [text]"
+ GLOB.diary << "\[[time_stamp()]]LAW: [text]"
/proc/log_ooc(text)
if (config.log_ooc)
- diary << "\[[time_stamp()]]OOC: [text]"
+ GLOB.diary << "\[[time_stamp()]]OOC: [text]"
/proc/log_whisper(text)
if (config.log_whisper)
- diary << "\[[time_stamp()]]WHISPER: [text]"
+ GLOB.diary << "\[[time_stamp()]]WHISPER: [text]"
/proc/log_emote(text)
if (config.log_emote)
- diary << "\[[time_stamp()]]EMOTE: [text]"
+ GLOB.diary << "\[[time_stamp()]]EMOTE: [text]"
/proc/log_attack(text)
if (config.log_attack)
- diaryofmeanpeople << "\[[time_stamp()]]ATTACK: [text]"
+ GLOB.diaryofmeanpeople << "\[[time_stamp()]]ATTACK: [text]"
/proc/log_pda(text)
if (config.log_pda)
- diary << "\[[time_stamp()]]PDA: [text]"
+ GLOB.diary << "\[[time_stamp()]]PDA: [text]"
/proc/log_comment(text)
if (config.log_pda)
//reusing the PDA option because I really don't think news comments are worth a config option
- diary << "\[[time_stamp()]]COMMENT: [text]"
+ GLOB.diary << "\[[time_stamp()]]COMMENT: [text]"
/proc/log_chat(text)
if (config.log_pda)
- diary << "\[[time_stamp()]]CHAT: [text]"
+ GLOB.diary << "\[[time_stamp()]]CHAT: [text]"
/proc/log_sql(text)
if(config.sql_enabled)
- diary << "\[[time_stamp()]]SQL: [text]"
+ GLOB.diary << "\[[time_stamp()]]SQL: [text]"
//This replaces world.log so it displays both in DD and the file
/proc/log_world(text)
if(config && config.log_runtimes)
- world.log = runtime_diary
+ world.log = GLOB.runtime_diary
world.log << text
world.log = null
world.log << text
diff --git a/code/__HELPERS/_string_lists.dm b/code/__HELPERS/_string_lists.dm
index b101efa2a9..7d694c1844 100644
--- a/code/__HELPERS/_string_lists.dm
+++ b/code/__HELPERS/_string_lists.dm
@@ -2,15 +2,15 @@
#define pick_list_replacements(FILE, KEY) (strings_replacement(FILE, KEY))
#define json_load(FILE) (json_decode(file2text(FILE)))
-var/global/list/string_cache
-var/global/string_filename_current_key
+GLOBAL_LIST(string_cache)
+GLOBAL_VAR(string_filename_current_key)
/proc/strings_replacement(filename, key)
load_strings_file(filename)
- if((filename in string_cache) && (key in string_cache[filename]))
- var/response = pick(string_cache[filename][key])
+ if((filename in GLOB.string_cache) && (key in GLOB.string_cache[filename]))
+ var/response = pick(GLOB.string_cache[filename][key])
var/regex/r = regex("@pick\\((\\D+?)\\)", "g")
response = r.Replace(response, /proc/strings_subkey_lookup)
return response
@@ -19,23 +19,23 @@ var/global/string_filename_current_key
/proc/strings(filename as text, key as text)
load_strings_file(filename)
- if((filename in string_cache) && (key in string_cache[filename]))
- return string_cache[filename][key]
+ if((filename in GLOB.string_cache) && (key in GLOB.string_cache[filename]))
+ return GLOB.string_cache[filename][key]
else
CRASH("strings list not found: strings/[filename], index=[key]")
/proc/strings_subkey_lookup(match, group1)
- return pick_list(string_filename_current_key, group1)
+ return pick_list(GLOB.string_filename_current_key, group1)
/proc/load_strings_file(filename)
- string_filename_current_key = filename
- if(filename in string_cache)
+ GLOB.string_filename_current_key = filename
+ if(filename in GLOB.string_cache)
return //no work to do
- if(!string_cache)
- string_cache = new
+ if(!GLOB.string_cache)
+ GLOB.string_cache = new
if(fexists("strings/[filename]"))
- string_cache[filename] = json_load("strings/[filename]")
+ GLOB.string_cache[filename] = json_load("strings/[filename]")
else
CRASH("file not found: strings/[filename]")
diff --git a/code/__HELPERS/bandetect.dm b/code/__HELPERS/bandetect.dm
index 9a43f30372..9da3c38632 100644
--- a/code/__HELPERS/bandetect.dm
+++ b/code/__HELPERS/bandetect.dm
@@ -2,7 +2,7 @@
/client/proc/join_date_check(y,m,d)
- var/DBQuery/query_datediff = dbcon.NewQuery("SELECT DATEDIFF(Now(),'[y]-[m]-[d]')")
+ var/DBQuery/query_datediff = GLOB.dbcon.NewQuery("SELECT DATEDIFF(Now(),'[y]-[m]-[d]')")
if(!query_datediff.Execute())
return FALSE
diff --git a/code/__HELPERS/cmp.dm b/code/__HELPERS/cmp.dm
index a84bec4d4e..be070ae806 100644
--- a/code/__HELPERS/cmp.dm
+++ b/code/__HELPERS/cmp.dm
@@ -16,12 +16,12 @@
/proc/cmp_name_dsc(atom/a, atom/b)
return sorttext(a.name, b.name)
-var/cmp_field = "name"
+GLOBAL_VAR_INIT(cmp_field, "name")
/proc/cmp_records_asc(datum/data/record/a, datum/data/record/b)
- return sorttext(b.fields[cmp_field], a.fields[cmp_field])
+ return sorttext(b.fields[GLOB.cmp_field], a.fields[GLOB.cmp_field])
/proc/cmp_records_dsc(datum/data/record/a, datum/data/record/b)
- return sorttext(a.fields[cmp_field], b.fields[cmp_field])
+ return sorttext(a.fields[GLOB.cmp_field], b.fields[GLOB.cmp_field])
/proc/cmp_ckey_asc(client/a, client/b)
return sorttext(b.ckey, a.ckey)
diff --git a/code/__HELPERS/files.dm b/code/__HELPERS/files.dm
index 0b501c377a..2a0640a6e1 100644
--- a/code/__HELPERS/files.dm
+++ b/code/__HELPERS/files.dm
@@ -51,11 +51,11 @@
PLEASE USE RESPONSIBLY, Some log files can reach sizes of 4MB! */
/client/proc/file_spam_check()
- var/time_to_wait = fileaccess_timer - world.time
+ var/time_to_wait = GLOB.fileaccess_timer - world.time
if(time_to_wait > 0)
to_chat(src, "Error: file_spam_check(): Spam. Please wait [round(time_to_wait/10)] seconds. ")
return 1
- fileaccess_timer = world.time + FTPDELAY
+ GLOB.fileaccess_timer = world.time + FTPDELAY
return 0
#undef FTPDELAY
diff --git a/code/__HELPERS/flags.dm b/code/__HELPERS/flags.dm
index 8ff099ef27..5a6c1f3ab4 100644
--- a/code/__HELPERS/flags.dm
+++ b/code/__HELPERS/flags.dm
@@ -1,3 +1,4 @@
#define HAS_SECONDARY_FLAG(atom, sflag) (atom.secondary_flags ? atom.secondary_flags[sflag] : FALSE)
#define SET_SECONDARY_FLAG(atom, sflag) if(!atom.secondary_flags) { atom.secondary_flags = list(); } atom.secondary_flags[sflag] = TRUE;
#define CLEAR_SECONDARY_FLAG(atom, sflag) if(atom.secondary_flags) atom.secondary_flags[sflag] = null
+#define TOGGLE_SECONDARY_FLAG(atom, sflag) if(HAS_SECONDARY_FLAG(atom, sflag)) { CLEAR_SECONDARY_FLAG(atom, sflag); } else {SET_SECONDARY_FLAG(atom, sflag) ; }
diff --git a/code/__HELPERS/game.dm b/code/__HELPERS/game.dm
index 7ce7dc3705..a727d85dff 100644
--- a/code/__HELPERS/game.dm
+++ b/code/__HELPERS/game.dm
@@ -76,7 +76,7 @@
/proc/alone_in_area(area/the_area, mob/must_be_alone, check_type = /mob/living/carbon)
var/area/our_area = get_area(the_area)
- for(var/C in living_mob_list)
+ for(var/C in GLOB.living_mob_list)
if(!istype(C, check_type))
continue
if(C == must_be_alone)
@@ -301,12 +301,12 @@
/proc/try_move_adjacent(atom/movable/AM)
var/turf/T = get_turf(AM)
- for(var/direction in cardinal)
+ for(var/direction in GLOB.cardinal)
if(AM.Move(get_step(T, direction)))
break
/proc/get_mob_by_key(key)
- for(var/mob/M in mob_list)
+ for(var/mob/M in GLOB.mob_list)
if(M.ckey == lowertext(key))
return M
return null
@@ -317,7 +317,7 @@
var/list/candidates = list()
// Keep looping until we find a non-afk candidate within the time bracket (we limit the bracket to 10 minutes (6000))
while(!candidates.len && afk_bracket < 6000)
- for(var/mob/dead/observer/G in player_list)
+ for(var/mob/dead/observer/G in GLOB.player_list)
if(G.client != null)
if(!(G.mind && G.mind.current && G.mind.current.stat != DEAD))
if(!G.client.is_afk(afk_bracket) && (be_special_type in G.client.prefs.be_special))
@@ -358,8 +358,8 @@
/proc/get_active_player_count(var/alive_check = 0, var/afk_check = 0, var/human_check = 0)
// Get active players who are playing in the round
var/active_players = 0
- for(var/i = 1; i <= player_list.len; i++)
- var/mob/M = player_list[i]
+ for(var/i = 1; i <= GLOB.player_list.len; i++)
+ var/mob/M = GLOB.player_list[i]
if(M && M.client)
if(alive_check && M.stat)
continue
@@ -431,10 +431,10 @@
if(2)
to_chat(G, "Choice registered: No. ")
if(3)
- var/list/L = poll_ignore[ignore_category]
+ var/list/L = GLOB.poll_ignore[ignore_category]
if(!L)
- poll_ignore[ignore_category] = list()
- poll_ignore[ignore_category] += G.ckey
+ GLOB.poll_ignore[ignore_category] = list()
+ GLOB.poll_ignore[ignore_category] += G.ckey
to_chat(G, "Choice registered: Never for this round. ")
/proc/pollCandidates(var/Question, var/jobbanType, var/datum/game_mode/gametypeCheck, var/be_special_flag = 0, var/poll_time = 300, var/ignore_category = null, flashwindow = TRUE)
@@ -443,8 +443,8 @@
if (!Question)
Question = "Would you like to be a special role?"
- for(var/mob/dead/observer/G in player_list)
- if(!G.key || !G.client || (ignore_category && poll_ignore[ignore_category] && G.ckey in poll_ignore[ignore_category]))
+ for(var/mob/dead/observer/G in GLOB.player_list)
+ if(!G.key || !G.client || (ignore_category && GLOB.poll_ignore[ignore_category] && G.ckey in GLOB.poll_ignore[ignore_category]))
continue
if(be_special_flag)
if(!(G.client.prefs) || !(be_special_flag in G.client.prefs.be_special))
@@ -490,7 +490,7 @@
return
//First we spawn a dude.
- var/mob/living/carbon/human/new_character = new(pick(latejoin))//The mob being spawned.
+ var/mob/living/carbon/human/new_character = new(pick(GLOB.latejoin))//The mob being spawned.
G_found.client.prefs.copy_to(new_character)
new_character.dna.update_dna_identity()
@@ -499,7 +499,7 @@
return new_character
/proc/send_to_playing_players(thing) //sends a whatever to all playing players; use instead of to_chat(world, where needed)
- for(var/M in player_list)
+ for(var/M in GLOB.player_list)
if(M && !isnewplayer(M))
to_chat(M, thing)
@@ -513,19 +513,19 @@
winset(C, "mainwindow", "flash=5")
/proc/AnnounceArrival(var/mob/living/carbon/human/character, var/rank)
- if(ticker.current_state != GAME_STATE_PLAYING || !character)
+ if(SSticker.current_state != GAME_STATE_PLAYING || !character)
return
var/area/A = get_area(character)
var/message = "\
[character.real_name] ([rank]) has arrived at the station at \
[A.name] . "
deadchat_broadcast(message, follow_target = character, message_type=DEADCHAT_ARRIVALRATTLE)
- if((!announcement_systems.len) || (!character.mind))
+ if((!GLOB.announcement_systems.len) || (!character.mind))
return
if((character.mind.assigned_role == "Cyborg") || (character.mind.assigned_role == character.mind.special_role))
return
- var/obj/machinery/announcement_system/announcer = pick(announcement_systems)
+ var/obj/machinery/announcement_system/announcer = pick(GLOB.announcement_systems)
announcer.announce("ARRIVAL", character.real_name, rank, list()) //make the list empty to make it announce it in common
/proc/GetRedPart(const/hexa)
@@ -535,4 +535,4 @@
return hex2num(copytext(hexa, 4, 6))
/proc/GetBluePart(const/hexa)
- return hex2num(copytext(hexa, 6, 8))
\ No newline at end of file
+ return hex2num(copytext(hexa, 6, 8))
diff --git a/code/__HELPERS/global_lists.dm b/code/__HELPERS/global_lists.dm
index 81881f76b5..a010d3a0a4 100644
--- a/code/__HELPERS/global_lists.dm
+++ b/code/__HELPERS/global_lists.dm
@@ -4,86 +4,79 @@
/proc/make_datum_references_lists()
//hair
- init_sprite_accessory_subtypes(/datum/sprite_accessory/hair, hair_styles_list, hair_styles_male_list, hair_styles_female_list)
+ init_sprite_accessory_subtypes(/datum/sprite_accessory/hair, GLOB.hair_styles_list, GLOB.hair_styles_male_list, GLOB.hair_styles_female_list)
//facial hair
- init_sprite_accessory_subtypes(/datum/sprite_accessory/facial_hair, facial_hair_styles_list, facial_hair_styles_male_list, facial_hair_styles_female_list)
+ init_sprite_accessory_subtypes(/datum/sprite_accessory/facial_hair, GLOB.facial_hair_styles_list, GLOB.facial_hair_styles_male_list, GLOB.facial_hair_styles_female_list)
//underwear
- init_sprite_accessory_subtypes(/datum/sprite_accessory/underwear, underwear_list, underwear_m, underwear_f)
+ init_sprite_accessory_subtypes(/datum/sprite_accessory/underwear, GLOB.underwear_list, GLOB.underwear_m, GLOB.underwear_f)
//undershirt
- init_sprite_accessory_subtypes(/datum/sprite_accessory/undershirt, undershirt_list, undershirt_m, undershirt_f)
+ init_sprite_accessory_subtypes(/datum/sprite_accessory/undershirt, GLOB.undershirt_list, GLOB.undershirt_m, GLOB.undershirt_f)
//socks
- init_sprite_accessory_subtypes(/datum/sprite_accessory/socks, socks_list)
+ init_sprite_accessory_subtypes(/datum/sprite_accessory/socks, GLOB.socks_list)
//lizard bodyparts (blizzard intensifies)
- init_sprite_accessory_subtypes(/datum/sprite_accessory/body_markings, body_markings_list)
- init_sprite_accessory_subtypes(/datum/sprite_accessory/tails/lizard, tails_list_lizard)
- init_sprite_accessory_subtypes(/datum/sprite_accessory/tails_animated/lizard, animated_tails_list_lizard)
- init_sprite_accessory_subtypes(/datum/sprite_accessory/tails/human, tails_list_human)
- init_sprite_accessory_subtypes(/datum/sprite_accessory/tails_animated/human, animated_tails_list_human)
- init_sprite_accessory_subtypes(/datum/sprite_accessory/snouts, snouts_list)
- init_sprite_accessory_subtypes(/datum/sprite_accessory/horns, horns_list)
- init_sprite_accessory_subtypes(/datum/sprite_accessory/ears, ears_list)
- init_sprite_accessory_subtypes(/datum/sprite_accessory/wings, wings_list)
- init_sprite_accessory_subtypes(/datum/sprite_accessory/wings_open, wings_open_list)
- init_sprite_accessory_subtypes(/datum/sprite_accessory/frills, frills_list)
- init_sprite_accessory_subtypes(/datum/sprite_accessory/spines, spines_list)
- init_sprite_accessory_subtypes(/datum/sprite_accessory/spines_animated, animated_spines_list)
- init_sprite_accessory_subtypes(/datum/sprite_accessory/legs, legs_list)
- init_sprite_accessory_subtypes(/datum/sprite_accessory/wings, r_wings_list,roundstart = TRUE)
-
- //human mutant bodyparts
- init_sprite_accessory_subtypes(/datum/sprite_accessory/tails/human, tails_list_human)
- init_sprite_accessory_subtypes(/datum/sprite_accessory/tails_animated/human, animated_tails_list_human)
- init_sprite_accessory_subtypes(/datum/sprite_accessory/ears, ears_list)
- init_sprite_accessory_subtypes(/datum/sprite_accessory/wings, wings_list)
- init_sprite_accessory_subtypes(/datum/sprite_accessory/wings_open, wings_open_list)
+ init_sprite_accessory_subtypes(/datum/sprite_accessory/body_markings, GLOB.body_markings_list)
+ init_sprite_accessory_subtypes(/datum/sprite_accessory/tails/lizard, GLOB.tails_list_lizard)
+ init_sprite_accessory_subtypes(/datum/sprite_accessory/tails_animated/lizard, GLOB.animated_tails_list_lizard)
+ init_sprite_accessory_subtypes(/datum/sprite_accessory/tails/human, GLOB.tails_list_human)
+ init_sprite_accessory_subtypes(/datum/sprite_accessory/tails_animated/human, GLOB.animated_tails_list_human)
+ init_sprite_accessory_subtypes(/datum/sprite_accessory/snouts, GLOB.snouts_list)
+ init_sprite_accessory_subtypes(/datum/sprite_accessory/horns,GLOB.horns_list)
+ init_sprite_accessory_subtypes(/datum/sprite_accessory/ears, GLOB.ears_list)
+ init_sprite_accessory_subtypes(/datum/sprite_accessory/wings, GLOB.wings_list)
+ init_sprite_accessory_subtypes(/datum/sprite_accessory/wings_open, GLOB.wings_open_list)
+ init_sprite_accessory_subtypes(/datum/sprite_accessory/frills, GLOB.frills_list)
+ init_sprite_accessory_subtypes(/datum/sprite_accessory/spines, GLOB.spines_list)
+ init_sprite_accessory_subtypes(/datum/sprite_accessory/spines_animated, GLOB.animated_spines_list)
+ init_sprite_accessory_subtypes(/datum/sprite_accessory/legs, GLOB.legs_list)
+ init_sprite_accessory_subtypes(/datum/sprite_accessory/wings, GLOB.r_wings_list,roundstart = TRUE)
//citadel code
//mammal bodyparts (fucking furries)
- init_sprite_accessory_subtypes(/datum/sprite_accessory/mam_body_markings, mam_body_markings_list)
- init_sprite_accessory_subtypes(/datum/sprite_accessory/mam_tails, mam_tails_list)
- init_sprite_accessory_subtypes(/datum/sprite_accessory/mam_ears, mam_ears_list)
- init_sprite_accessory_subtypes(/datum/sprite_accessory/mam_tails_animated, mam_tails_animated_list)
- init_sprite_accessory_subtypes(/datum/sprite_accessory/taur, taur_list)
+ init_sprite_accessory_subtypes(/datum/sprite_accessory/mam_body_markings, GLOB.mam_body_markings_list)
+ init_sprite_accessory_subtypes(/datum/sprite_accessory/mam_tails, GLOB.mam_tails_list)
+ init_sprite_accessory_subtypes(/datum/sprite_accessory/mam_ears, GLOB.mam_ears_list)
+ init_sprite_accessory_subtypes(/datum/sprite_accessory/mam_tails_animated, GLOB.mam_tails_animated_list)
+ init_sprite_accessory_subtypes(/datum/sprite_accessory/taur, GLOB.taur_list)
//avian bodyparts (i swear this isn't starbound)
-// init_sprite_accessory_subtypes(/datum/sprite_accessory/beaks/avian, avian_beaks_list)
-// init_sprite_accessory_subtypes(/datum/sprite_accessory/tails/avian, avian_tails_list)
-// init_sprite_accessory_subtypes(/datum/sprite_accessory/avian_wings, avian_wings_list)
-// init_sprite_accessory_subtypes(/datum/sprite_accessory/avian_open_wings, avian_open_wings_list)
+// init_sprite_accessory_subtypes(/datum/sprite_accessory/beaks/avian, GLOB.avian_beaks_list)
+// init_sprite_accessory_subtypes(/datum/sprite_accessory/tails/avian, GLOB.avian_tails_list)
+// init_sprite_accessory_subtypes(/datum/sprite_accessory/avian_wings, GLOB.avian_wings_list)
+// init_sprite_accessory_subtypes(/datum/sprite_accessory/avian_open_wings, GLOB.avian_open_wings_list)
//xeno parts (hiss?)
- init_sprite_accessory_subtypes(/datum/sprite_accessory/xeno_head, xeno_head_list)
- init_sprite_accessory_subtypes(/datum/sprite_accessory/xeno_tail, xeno_tail_list)
- init_sprite_accessory_subtypes(/datum/sprite_accessory/xeno_dorsal, xeno_dorsal_list)
+ init_sprite_accessory_subtypes(/datum/sprite_accessory/xeno_head, GLOB.xeno_head_list)
+ init_sprite_accessory_subtypes(/datum/sprite_accessory/xeno_tail, GLOB.xeno_tail_list)
+ init_sprite_accessory_subtypes(/datum/sprite_accessory/xeno_dorsal, GLOB.xeno_dorsal_list)
//genitals
- init_sprite_accessory_subtypes(/datum/sprite_accessory/penis, cock_shapes_list)
- init_sprite_accessory_subtypes(/datum/sprite_accessory/breasts, breasts_size_list)
+ init_sprite_accessory_subtypes(/datum/sprite_accessory/penis, GLOB.cock_shapes_list)
+ init_sprite_accessory_subtypes(/datum/sprite_accessory/breasts, GLOB.breasts_size_list)
//Species
for(var/spath in subtypesof(/datum/species))
var/datum/species/S = new spath()
if(S.roundstart)
- roundstart_species[S.id] = S.type
- species_list[S.id] = S.type
+ GLOB.roundstart_species[S.id] = S.type
+ GLOB.species_list[S.id] = S.type
//Surgeries
for(var/path in subtypesof(/datum/surgery))
- surgeries_list += new path()
+ GLOB.surgeries_list += new path()
//Materials
for(var/path in subtypesof(/datum/material))
var/datum/material/D = new path()
- materials_list[D.id] = D
+ GLOB.materials_list[D.id] = D
//Techs
for(var/path in subtypesof(/datum/tech))
var/datum/tech/D = new path()
- tech_list[D.id] = D
+ GLOB.tech_list[D.id] = D
//Emotes
for(var/path in subtypesof(/datum/emote))
var/datum/emote/E = new path()
- emote_list[E.key] = E
+ E.emote_list[E.key] = E
- init_subtypes(/datum/crafting_recipe, crafting_recipes)
+ init_subtypes(/datum/crafting_recipe, GLOB.crafting_recipes)
/* // Uncomment to debug chemical reaction list.
/client/verb/debug_chemical_list()
diff --git a/code/__HELPERS/icon_smoothing.dm b/code/__HELPERS/icon_smoothing.dm
index 108c2f1c54..d890788c91 100644
--- a/code/__HELPERS/icon_smoothing.dm
+++ b/code/__HELPERS/icon_smoothing.dm
@@ -67,7 +67,7 @@
if(AM.can_be_unanchored && !AM.anchored)
return 0
- for(var/direction in cardinal)
+ for(var/direction in GLOB.cardinal)
AM = find_type_in_direction(A, direction)
if(AM == NULLTURF_BORDER)
if((A.smooth & SMOOTH_BORDER))
@@ -259,7 +259,7 @@
A.cut_overlay(A.bottom_left_corner)
A.bottom_left_corner = se
LAZYADD(New, se)
-
+
if(New)
A.add_overlay(New)
diff --git a/code/__HELPERS/icons.dm b/code/__HELPERS/icons.dm
index 08569a8ee1..f49c030737 100644
--- a/code/__HELPERS/icons.dm
+++ b/code/__HELPERS/icons.dm
@@ -15,7 +15,7 @@ CHANGING ICONS
Several new procs have been added to the /icon datum to simplify working with icons. To use them,
remember you first need to setup an /icon var like so:
-var/icon/my_icon = new('iconfile.dmi')
+GLOBAL_DATUM_INIT(my_icon, /icon, new('iconfile.dmi'))
icon/ChangeOpacity(amount = 1)
A very common operation in DM is to try to make an icon more or less transparent. Making an icon more
@@ -872,18 +872,18 @@ The _flatIcons list is a cache for generated icon files.
qdel(atom_icon)
return text_image
-var/global/list/friendly_animal_types = list()
+GLOBAL_LIST_EMPTY(friendly_animal_types)
// Pick a random animal instead of the icon, and use that instead
/proc/getRandomAnimalImage(atom/A)
- if(!friendly_animal_types.len)
+ if(!GLOB.friendly_animal_types.len)
for(var/T in typesof(/mob/living/simple_animal))
var/mob/living/simple_animal/SA = T
if(initial(SA.gold_core_spawnable) == 2)
- friendly_animal_types += SA
+ GLOB.friendly_animal_types += SA
- var/mob/living/simple_animal/SA = pick(friendly_animal_types)
+ var/mob/living/simple_animal/SA = pick(GLOB.friendly_animal_types)
var/icon = initial(SA.icon)
var/icon_state = initial(SA.icon_state)
@@ -943,16 +943,16 @@ var/global/list/friendly_animal_types = list()
return J
return 0
-var/global/list/humanoid_icon_cache = list()
//For creating consistent icons for human looking simple animals
-/proc/get_flat_human_icon(var/icon_id,var/outfit,var/datum/preferences/prefs)
+/proc/get_flat_human_icon(icon_id, datum/job/J, datum/preferences/prefs)
+ var/static/list/humanoid_icon_cache = list()
if(!icon_id || !humanoid_icon_cache[icon_id])
var/mob/living/carbon/human/dummy/body = new()
if(prefs)
prefs.copy_to(body)
- if(outfit)
- body.equipOutfit(outfit, TRUE)
+ if(J)
+ J.equip(body, TRUE, FALSE)
SSoverlays.Flush()
@@ -988,13 +988,12 @@ var/global/list/humanoid_icon_cache = list()
/image/proc/setDir(newdir)
dir = newdir
-// Used to make the frozen item visuals for Freon.
-var/list/freeze_item_icons = list()
-
/atom/proc/freeze_icon_index()
return "\ref[initial(icon)]-[initial(icon_state)]"
/obj/proc/make_frozen_visual()
+ // Used to make the frozen item visuals for Freon.
+ var/static/list/freeze_item_icons = list()
if(!HAS_SECONDARY_FLAG(src, FROZEN) && (initial(icon) && initial(icon_state)))
var/index = freeze_icon_index()
var/icon/IC
diff --git a/code/__HELPERS/maths.dm b/code/__HELPERS/maths.dm
index f4bcfcca76..7e892e8dd4 100644
--- a/code/__HELPERS/maths.dm
+++ b/code/__HELPERS/maths.dm
@@ -1,13 +1,13 @@
// Credits to Nickr5 for the useful procs I've taken from his library resource.
-var/const/E = 2.71828183
-var/const/Sqrt2 = 1.41421356
+GLOBAL_VAR_INIT(E, 2.71828183)
+GLOBAL_VAR_INIT(Sqrt2, 1.41421356)
// List of square roots for the numbers 1-100.
-var/list/sqrtTable = list(1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5,
+GLOBAL_LIST_INIT(sqrtTable, list(1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5,
5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 10)
+ 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 10))
/proc/sign(x)
return x!=0?x/abs(x):0
@@ -150,9 +150,9 @@ var/list/sqrtTable = list(1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4,
//68% chance that the number is within 1stddev
//95% chance that the number is within 2stddev
//98% chance that the number is within 3stddev...etc
-var/gaussian_next
#define ACCURACY 10000
/proc/gaussian(mean, stddev)
+ var/static/gaussian_next
var/R1;var/R2;var/working
if(gaussian_next != null)
R1 = gaussian_next
diff --git a/code/__HELPERS/mobs.dm b/code/__HELPERS/mobs.dm
index 61e7f9364a..5c3e6da561 100644
--- a/code/__HELPERS/mobs.dm
+++ b/code/__HELPERS/mobs.dm
@@ -21,58 +21,59 @@
return "000"
/proc/random_underwear(gender)
- if(!underwear_list.len)
- init_sprite_accessory_subtypes(/datum/sprite_accessory/underwear, underwear_list, underwear_m, underwear_f)
+ if(!GLOB.underwear_list.len)
+ init_sprite_accessory_subtypes(/datum/sprite_accessory/underwear, GLOB.underwear_list, GLOB.underwear_m, GLOB.underwear_f)
switch(gender)
if(MALE)
- return pick(underwear_m)
+ return pick(GLOB.underwear_m)
if(FEMALE)
- return pick(underwear_f)
+ return pick(GLOB.underwear_f)
else
- return pick(underwear_list)
+ return pick(GLOB.underwear_list)
/proc/random_undershirt(gender)
- if(!undershirt_list.len)
- init_sprite_accessory_subtypes(/datum/sprite_accessory/undershirt, undershirt_list, undershirt_m, undershirt_f)
+ if(!GLOB.undershirt_list.len)
+ init_sprite_accessory_subtypes(/datum/sprite_accessory/undershirt, GLOB.undershirt_list, GLOB.undershirt_m, GLOB.undershirt_f)
switch(gender)
if(MALE)
- return pick(undershirt_m)
+ return pick(GLOB.undershirt_m)
if(FEMALE)
- return pick(undershirt_f)
+ return pick(GLOB.undershirt_f)
else
- return pick(undershirt_list)
+ return pick(GLOB.undershirt_list)
/proc/random_socks()
- if(!socks_list.len)
- init_sprite_accessory_subtypes(/datum/sprite_accessory/socks, socks_list)
- return pick(socks_list)
+ if(!GLOB.socks_list.len)
+ init_sprite_accessory_subtypes(/datum/sprite_accessory/socks, GLOB.socks_list)
+ return pick(GLOB.socks_list)
-/proc/random_features(penis=0,balls=0,vagina=0,womb=0,breasts=0)
- if(!tails_list_human.len)
- init_sprite_accessory_subtypes(/datum/sprite_accessory/tails/human, tails_list_human)
- if(!tails_list_lizard.len)
- init_sprite_accessory_subtypes(/datum/sprite_accessory/tails/lizard, tails_list_lizard)
- if(!snouts_list.len)
- init_sprite_accessory_subtypes(/datum/sprite_accessory/snouts, snouts_list)
- if(!horns_list.len)
- init_sprite_accessory_subtypes(/datum/sprite_accessory/horns, horns_list)
- if(!ears_list.len)
- init_sprite_accessory_subtypes(/datum/sprite_accessory/ears, horns_list)
- if(!frills_list.len)
- init_sprite_accessory_subtypes(/datum/sprite_accessory/frills, frills_list)
- if(!spines_list.len)
- init_sprite_accessory_subtypes(/datum/sprite_accessory/spines, spines_list)
- if(!legs_list.len)
- init_sprite_accessory_subtypes(/datum/sprite_accessory/legs, legs_list)
- if(!body_markings_list.len)
- init_sprite_accessory_subtypes(/datum/sprite_accessory/body_markings, body_markings_list)
- if(!wings_list.len)
- init_sprite_accessory_subtypes(/datum/sprite_accessory/wings, wings_list)
- if(!cock_shapes_list.len)
- init_sprite_accessory_subtypes(/datum/sprite_accessory/penis, cock_shapes_list)
- if(ishuman(src))
- var/mob/living/carbon/human/H = src
- if(H.gender == MALE)
+/proc/random_features()
+ if(!GLOB.tails_list_human.len)
+ init_sprite_accessory_subtypes(/datum/sprite_accessory/tails/human, GLOB.tails_list_human)
+ if(!GLOB.tails_list_lizard.len)
+ init_sprite_accessory_subtypes(/datum/sprite_accessory/tails/lizard, GLOB.tails_list_lizard)
+ if(!GLOB.snouts_list.len)
+ init_sprite_accessory_subtypes(/datum/sprite_accessory/snouts, GLOB.snouts_list)
+ if(!GLOB.horns_list.len)
+ init_sprite_accessory_subtypes(/datum/sprite_accessory/horns, GLOB.horns_list)
+ if(!GLOB.ears_list.len)
+ init_sprite_accessory_subtypes(/datum/sprite_accessory/ears, GLOB.horns_list)
+ if(!GLOB.frills_list.len)
+ init_sprite_accessory_subtypes(/datum/sprite_accessory/frills, GLOB.frills_list)
+ if(!GLOB.spines_list.len)
+ init_sprite_accessory_subtypes(/datum/sprite_accessory/spines, GLOB.spines_list)
+ if(!GLOB.legs_list.len)
+ init_sprite_accessory_subtypes(/datum/sprite_accessory/legs, GLOB.legs_list)
+ if(!GLOB.body_markings_list.len)
+ init_sprite_accessory_subtypes(/datum/sprite_accessory/body_markings, GLOB.body_markings_list)
+ if(!GLOB.wings_list.len)
+ init_sprite_accessory_subtypes(/datum/sprite_accessory/wings, GLOB.wings_list)
+
+ if(!GLOB.cock_shapes_list.len)
+ init_sprite_accessory_subtypes(/datum/sprite_accessory/penis, GLOB.cock_shapes_list)
+// if(ishuman(src))
+ // var/mob/living/carbon/human/H = src
+ /* if(H.gender == MALE) Fuck if I know how to fix this.
penis = 1
balls = 1
vagina = 0
@@ -83,21 +84,21 @@
balls = 0
vagina = 1
womb = 1
- breasts = 1
+ breasts = 1 */
return(list(
"mcolor" = pick("FFFFFF","7F7F7F", "7FFF7F", "7F7FFF", "FF7F7F", "7FFFFF", "FF7FFF", "FFFF7F"),
"mcolor2" = pick("FFFFFF","7F7F7F", "7FFF7F", "7F7FFF", "FF7F7F", "7FFFFF", "FF7FFF", "FFFF7F"),
"mcolor3" = pick("FFFFFF","7F7F7F", "7FFF7F", "7F7FFF", "FF7F7F", "7FFFFF", "FF7FFF", "FFFF7F"),
- "tail_lizard" = pick(tails_list_lizard),
+ "tail_lizard" = pick(GLOB.tails_list_lizard),
"tail_human" = "None",
"wings" = "None",
- "snout" = pick(snouts_list),
- "horns" = pick(horns_list),
+ "snout" = pick(GLOB.snouts_list),
+ "horns" = pick(GLOB.horns_list),
"ears" = "None",
- "frills" = pick(frills_list),
- "spines" = pick(spines_list),
- "body_markings" = pick(body_markings_list),
+ "frills" = pick(GLOB.frills_list),
+ "spines" = pick(GLOB.spines_list),
+ "body_markings" = pick(GLOB.body_markings_list),
"legs" = "Normal Legs",
"taur" = "None",
"mam_body_markings" = "None",
@@ -137,7 +138,7 @@
"eggsack_egg_size" = EGG_GIRTH_DEF,
"has_breasts" = FALSE,
"breasts_color" = pick("FFFFFF","7F7F7F", "7FFF7F", "7F7FFF", "FF7F7F", "7FFFFF", "FF7FFF", "FFFF7F"),
- "breasts_size" = pick(breasts_size_list),
+ "breasts_size" = pick(GLOB.breasts_size_list),
"breasts_fluid" = "milk",
"has_vag" = FALSE,
"vag_color" = pick("FFFFFF","7F7F7F", "7FFF7F", "7F7FFF", "FF7F7F", "7FFFFF", "FF7FFF", "FFFF7F"),
@@ -153,27 +154,27 @@
/proc/random_hair_style(gender)
switch(gender)
if(MALE)
- return pick(hair_styles_male_list)
+ return pick(GLOB.hair_styles_male_list)
if(FEMALE)
- return pick(hair_styles_female_list)
+ return pick(GLOB.hair_styles_female_list)
else
- return pick(hair_styles_list)
+ return pick(GLOB.hair_styles_list)
/proc/random_facial_hair_style(gender)
switch(gender)
if(MALE)
- return pick(facial_hair_styles_male_list)
+ return pick(GLOB.facial_hair_styles_male_list)
if(FEMALE)
- return pick(facial_hair_styles_female_list)
+ return pick(GLOB.facial_hair_styles_female_list)
else
- return pick(facial_hair_styles_list)
+ return pick(GLOB.facial_hair_styles_list)
/proc/random_unique_name(gender, attempts_to_find_unique_name=10)
for(var/i=1, i<=attempts_to_find_unique_name, i++)
if(gender==FEMALE)
- . = capitalize(pick(first_names_female)) + " " + capitalize(pick(last_names))
+ . = capitalize(pick(GLOB.first_names_female)) + " " + capitalize(pick(GLOB.last_names))
else
- . = capitalize(pick(first_names_male)) + " " + capitalize(pick(last_names))
+ . = capitalize(pick(GLOB.first_names_male)) + " " + capitalize(pick(GLOB.last_names))
if(i != attempts_to_find_unique_name && !findname(.))
break
@@ -193,9 +194,9 @@
break
/proc/random_skin_tone()
- return pick(skin_tones)
+ return pick(GLOB.skin_tones)
-var/list/skin_tones = list(
+GLOBAL_LIST_INIT(skin_tones, list(
"albino",
"caucasian1",
"caucasian2",
@@ -208,10 +209,10 @@ var/list/skin_tones = list(
"indian",
"african1",
"african2"
- )
+ ))
-var/global/list/species_list[0]
-var/global/list/roundstart_species[0]
+GLOBAL_LIST_EMPTY(species_list)
+GLOBAL_LIST_EMPTY(roundstart_species)
/proc/age2agedescription(age)
switch(age)
@@ -241,32 +242,56 @@ Proc for attack log creation, because really why not
1 argument is the actor
2 argument is the target of action
3 is the description of action(like punched, throwed, or any other verb)
-4 should it make adminlog note or not
-5 is the tool with which the action was made(usually item) 5 and 6 are very similar(5 have "by " before it, that it) and are separated just to keep things in a bit more in order
-6 is additional information, anything that needs to be added
+4 is the tool with which the action was made(usually item) 4 and 5 are very similar(5 have "by " before it, that it) and are separated just to keep things in a bit more in order
+5 is additional information, anything that needs to be added
*/
/proc/add_logs(mob/user, mob/target, what_done, object=null, addition=null)
var/turf/attack_location = get_turf(target)
- var/is_mob_user = user && typecache_mob[user.type]
- var/is_mob_target = target && typecache_mob[target.type]
+ var/is_mob_user = user && GLOB.typecache_mob[user.type]
+ var/is_mob_target = target && GLOB.typecache_mob[target.type]
var/mob/living/living_target
-
if(target && isliving(target))
living_target = target
+ var/hp =" "
+ if(living_target)
+ hp = "(NEWHP: [living_target.health])"
+
+ var/starget = "NON-EXISTENT SUBJECT"
+ if(target)
+ if(is_mob_target && target.ckey)
+ starget = "[target.name]([target.ckey])"
+ else
+ starget = "[target.name]"
+
+ var/ssource = "NON-EXISTENT USER" //How!?
+ if(user)
+ if(is_mob_user && user.ckey)
+ ssource = "[user.name]([user.ckey])"
+ else
+ ssource = "[user.name]"
+
+ var/sobject = ""
+ if(object)
+ sobject = "[object]"
+
+ var/sattackloc = ""
+ if(attack_location)
+ sattackloc = "([attack_location.x],[attack_location.y],[attack_location.z])"
+
if(is_mob_user)
- var/message = "has [what_done] [target ? "[target.name][(is_mob_target && target.ckey) ? "([target.ckey])" : ""]" : "NON-EXISTANT SUBJECT"][object ? " with [object]" : " "][addition][(living_target) ? " (NEWHP: [living_target.health])" : ""][(attack_location) ? "([attack_location.x],[attack_location.y],[attack_location.z])" : ""] "
+ var/message = "has [what_done] [starget] with [sobject][addition] [hp] [sattackloc] "
user.log_message(message, INDIVIDUAL_ATTACK_LOG)
if(is_mob_target)
- var/message = "has been [what_done] by [user ? "[user.name][(is_mob_user && user.ckey) ? "([user.ckey])" : ""]" : "NON-EXISTANT SUBJECT"][object ? " with [object]" : " "][addition][(living_target) ? " (NEWHP: [living_target.health])" : ""][(attack_location) ? "([attack_location.x],[attack_location.y],[attack_location.z])" : ""] "
+ var/message = "has been [what_done] by [ssource] with [sobject][addition] [hp] [sattackloc] "
target.log_message(message, INDIVIDUAL_ATTACK_LOG)
- log_attack("[user ? "[user.name][(is_mob_user && user.ckey) ? "([user.ckey])" : ""]" : "NON-EXISTANT SUBJECT"] [what_done] [target ? "[target.name][(is_mob_target && target.ckey)? "([target.ckey])" : ""]" : "NON-EXISTANT SUBJECT"][object ? " with [object]" : " "][addition][(living_target) ? " (NEWHP: [living_target.health])" : ""][(attack_location) ? "([attack_location.x],[attack_location.y],[attack_location.z])" : ""]")
+ log_attack("[ssource] [what_done] [starget] with [sobject][addition] [hp] [sattackloc]")
/proc/do_mob(mob/user , mob/target, time = 30, uninterruptible = 0, progress = 1, datum/callback/extra_checks = null)
@@ -292,7 +317,7 @@ Proc for attack log creation, because really why not
stoplag()
if (progress)
progbar.update(world.time - starttime)
- if(!user || !target)
+ if(QDELETED(user) || QDELETED(target))
. = 0
break
if(uninterruptible)
@@ -344,11 +369,11 @@ Proc for attack log creation, because really why not
drifting = 0
Uloc = user.loc
- if(!user || user.stat || user.weakened || user.stunned || (!drifting && user.loc != Uloc) || (extra_checks && !extra_checks.Invoke()))
+ if(QDELETED(user) || user.stat || user.weakened || user.stunned || (!drifting && user.loc != Uloc) || (extra_checks && !extra_checks.Invoke()))
. = 0
break
- if(Tloc && (!target || Tloc != target.loc))
+ if(!QDELETED(Tloc) && (QDELETED(target) || Tloc != target.loc))
if((Uloc != Tloc || Tloc != user) && !drifting)
. = 0
break
@@ -394,7 +419,7 @@ Proc for attack log creation, because really why not
sleep(1)
if(progress)
progbar.update(world.time - starttime)
- if(!user || !targets)
+ if(QDELETED(user) || !targets)
. = 0
break
if(uninterruptible)
@@ -405,7 +430,7 @@ Proc for attack log creation, because really why not
user_loc = user.loc
for(var/atom/target in targets)
- if((!drifting && user_loc != user.loc) || originalloc[target] != target.loc || user.get_active_held_item() != holding || user.incapacitated() || user.lying || (extra_checks && !extra_checks.Invoke()))
+ if((!drifting && user_loc != user.loc) || QDELETED(target) || originalloc[target] != target.loc || user.get_active_held_item() != holding || user.incapacitated() || user.lying || (extra_checks && !extra_checks.Invoke()))
. = 0
break mainloop
if(progbar)
@@ -447,7 +472,7 @@ Proc for attack log creation, because really why not
step(X, pick(NORTH, SOUTH, EAST, WEST))
/proc/deadchat_broadcast(message, mob/follow_target=null, turf/turf_target=null, speaker_key=null, message_type=DEADCHAT_REGULAR)
- for(var/mob/M in player_list)
+ for(var/mob/M in GLOB.player_list)
var/datum/preferences/prefs
if(M.client && M.client.prefs)
prefs = M.client.prefs
diff --git a/code/__HELPERS/names.dm b/code/__HELPERS/names.dm
index eeee27ab99..0e62ad1130 100644
--- a/code/__HELPERS/names.dm
+++ b/code/__HELPERS/names.dm
@@ -2,15 +2,15 @@
/proc/lizard_name(gender)
if(gender == MALE)
- return "[pick(lizard_names_male)]-[pick(lizard_names_male)]"
+ return "[pick(GLOB.lizard_names_male)]-[pick(GLOB.lizard_names_male)]"
else
- return "[pick(lizard_names_female)]-[pick(lizard_names_female)]"
+ return "[pick(GLOB.lizard_names_female)]-[pick(GLOB.lizard_names_female)]"
/proc/plasmaman_name()
- return "[pick(plasmaman_names)] \Roman[rand(1,99)]"
+ return "[pick(GLOB.plasmaman_names)] \Roman[rand(1,99)]"
-var/church_name = null
/proc/church_name()
+ var/static/church_name
if (church_name)
return church_name
@@ -26,24 +26,24 @@ var/church_name = null
return name
-var/command_name = null
+GLOBAL_VAR(command_name)
/proc/command_name()
- if (command_name)
- return command_name
+ if (GLOB.command_name)
+ return GLOB.command_name
var/name = "Central Command"
- command_name = name
+ GLOB.command_name = name
return name
/proc/change_command_name(name)
- command_name = name
+ GLOB.command_name = name
return name
-var/religion_name = null
/proc/religion_name()
+ var/static/religion_name
if (religion_name)
return religion_name
@@ -55,20 +55,20 @@ var/religion_name = null
return capitalize(name)
/proc/station_name()
- if(station_name)
- return station_name
+ if(GLOB.station_name)
+ return GLOB.station_name
if(config && config.station_name)
- station_name = config.station_name
+ GLOB.station_name = config.station_name
else
- station_name = new_station_name()
+ GLOB.station_name = new_station_name()
if(config && config.server_name)
- world.name = "[config.server_name][config.server_name==station_name ? "" : ": [station_name]"]"
+ world.name = "[config.server_name][config.server_name==GLOB.station_name ? "" : ": [GLOB.station_name]"]"
else
- world.name = station_name
+ world.name = GLOB.station_name
- return station_name
+ return GLOB.station_name
/proc/new_station_name()
var/random = rand(1,5)
@@ -77,24 +77,24 @@ var/religion_name = null
//Rare: Pre-Prefix
if (prob(10))
- name = pick(station_prefixes)
+ name = pick(GLOB.station_prefixes)
new_station_name = name + " "
name = ""
// Prefix
- for(var/holiday_name in SSevent.holidays)
+ for(var/holiday_name in SSevents.holidays)
if(holiday_name == "Friday the 13th")
random = 13
- var/datum/holiday/holiday = SSevent.holidays[holiday_name]
+ var/datum/holiday/holiday = SSevents.holidays[holiday_name]
name = holiday.getStationPrefix()
//get normal name
if(!name)
- name = pick(station_names)
+ name = pick(GLOB.station_names)
if(name)
new_station_name += name + " "
// Suffix
- name = pick(station_suffixes)
+ name = pick(GLOB.station_suffixes)
new_station_name += name + " "
// ID Number
@@ -102,19 +102,19 @@ var/religion_name = null
if(1)
new_station_name += "[rand(1, 99)]"
if(2)
- new_station_name += pick(greek_letters)
+ new_station_name += pick(GLOB.greek_letters)
if(3)
new_station_name += "\Roman[rand(1,99)]"
if(4)
- new_station_name += pick(phonetic_alphabet)
+ new_station_name += pick(GLOB.phonetic_alphabet)
if(5)
- new_station_name += pick(numbers_as_words)
+ new_station_name += pick(GLOB.numbers_as_words)
if(13)
new_station_name += pick("13","XIII","Thirteen")
return new_station_name
-var/syndicate_name = null
/proc/syndicate_name()
+ var/static/syndicate_name
if (syndicate_name)
return syndicate_name
@@ -145,8 +145,8 @@ var/syndicate_name = null
//Traitors and traitor silicons will get these. Revs will not.
-var/syndicate_code_phrase//Code phrase for traitors.
-var/syndicate_code_response//Code response for traitors.
+GLOBAL_VAR(syndicate_code_phrase) //Code phrase for traitors.
+GLOBAL_VAR(syndicate_code_response) //Code response for traitors.
/*
Should be expanded.
@@ -179,10 +179,10 @@ var/syndicate_code_response//Code response for traitors.
var/threats = strings(ION_FILE, "ionthreats")
var/foods = strings(ION_FILE, "ionfood")
var/drinks = strings(ION_FILE, "iondrinks")
- var/list/locations = teleportlocs.len ? teleportlocs : drinks //if null, defaults to drinks instead.
+ var/list/locations = GLOB.teleportlocs.len ? GLOB.teleportlocs : drinks //if null, defaults to drinks instead.
var/list/names = list()
- for(var/datum/data/record/t in data_core.general)//Picks from crew manifest.
+ for(var/datum/data/record/t in GLOB.data_core.general)//Picks from crew manifest.
names += t.fields["name"]
var/maxwords = words//Extra var to check for duplicates.
@@ -204,9 +204,9 @@ var/syndicate_code_response//Code response for traitors.
if(prob(10))
code_phrase += pick(lizard_name(MALE),lizard_name(FEMALE))
else
- code_phrase += pick(pick(first_names_male,first_names_female))
+ code_phrase += pick(pick(GLOB.first_names_male,GLOB.first_names_female))
code_phrase += " "
- code_phrase += pick(last_names)
+ code_phrase += pick(GLOB.last_names)
if(2)
code_phrase += pick(get_all_jobs())//Returns a job.
safety -= 1
@@ -217,7 +217,7 @@ var/syndicate_code_response//Code response for traitors.
if(2)
code_phrase += lowertext(pick(foods))
if(3)
- code_phrase += pick(locations)
+ code_phrase += lowertext(pick(locations))
safety -= 2
if(3)
switch(rand(1,4))//Abstract nouns, objects, adjectives, threats. Can be selected more than once.
@@ -241,4 +241,4 @@ var/syndicate_code_response//Code response for traitors.
world.name = "[config.server_name]: [designation]"
else
world.name = designation
- station_name = designation
+ GLOB.station_name = designation
diff --git a/code/__HELPERS/sorts/InsertSort.dm b/code/__HELPERS/sorts/InsertSort.dm
index 5ffaa4ce02..23e0dc8876 100644
--- a/code/__HELPERS/sorts/InsertSort.dm
+++ b/code/__HELPERS/sorts/InsertSort.dm
@@ -8,9 +8,9 @@
if(toIndex <= 0)
toIndex += L.len + 1
- sortInstance.L = L
- sortInstance.cmp = cmp
- sortInstance.associative = associative
+ GLOB.sortInstance.L = L
+ GLOB.sortInstance.cmp = cmp
+ GLOB.sortInstance.associative = associative
- sortInstance.binarySort(fromIndex, toIndex, fromIndex)
+ GLOB.sortInstance.binarySort(fromIndex, toIndex, fromIndex)
return L
\ No newline at end of file
diff --git a/code/__HELPERS/sorts/MergeSort.dm b/code/__HELPERS/sorts/MergeSort.dm
index 228a08efb9..cc47123b3c 100644
--- a/code/__HELPERS/sorts/MergeSort.dm
+++ b/code/__HELPERS/sorts/MergeSort.dm
@@ -8,9 +8,9 @@
if(toIndex <= 0)
toIndex += L.len + 1
- sortInstance.L = L
- sortInstance.cmp = cmp
- sortInstance.associative = associative
- sortInstance.mergeSort(fromIndex, toIndex)
+ GLOB.sortInstance.L = L
+ GLOB.sortInstance.cmp = cmp
+ GLOB.sortInstance.associative = associative
+ GLOB.sortInstance.mergeSort(fromIndex, toIndex)
return L
\ No newline at end of file
diff --git a/code/__HELPERS/sorts/TimSort.dm b/code/__HELPERS/sorts/TimSort.dm
index 4aa5126365..8cfb792672 100644
--- a/code/__HELPERS/sorts/TimSort.dm
+++ b/code/__HELPERS/sorts/TimSort.dm
@@ -8,10 +8,10 @@
if(toIndex <= 0)
toIndex += L.len + 1
- sortInstance.L = L
- sortInstance.cmp = cmp
- sortInstance.associative = associative
+ GLOB.sortInstance.L = L
+ GLOB.sortInstance.cmp = cmp
+ GLOB.sortInstance.associative = associative
- sortInstance.timSort(fromIndex, toIndex)
+ GLOB.sortInstance.timSort(fromIndex, toIndex)
return L
\ No newline at end of file
diff --git a/code/__HELPERS/sorts/__main.dm b/code/__HELPERS/sorts/__main.dm
index e2c008389e..c26126c0a6 100644
--- a/code/__HELPERS/sorts/__main.dm
+++ b/code/__HELPERS/sorts/__main.dm
@@ -9,7 +9,7 @@
#define MIN_GALLOP 7
//This is a global instance to allow much of this code to be reused. The interfaces are kept seperately
-var/datum/sortInstance/sortInstance = new()
+GLOBAL_DATUM_INIT(sortInstance, /datum/sortInstance, new())
/datum/sortInstance
//The array being sorted.
var/list/L
diff --git a/code/__HELPERS/text.dm b/code/__HELPERS/text.dm
index 9af9de3ed0..853ff4fb6a 100644
--- a/code/__HELPERS/text.dm
+++ b/code/__HELPERS/text.dm
@@ -15,11 +15,11 @@
// Run all strings to be used in an SQL query through this proc first to properly escape out injection attempts.
/proc/sanitizeSQL(t)
- var/sqltext = dbcon.Quote("[t]");
+ var/sqltext = GLOB.dbcon.Quote("[t]");
return copytext(sqltext, 2, lentext(sqltext));//Quote() adds quotes around input, we already do that
/proc/format_table_name(table as text)
- return sqlfdbktableprefix + table
+ return GLOB.sqlfdbktableprefix + table
/*
* Text sanitization
@@ -334,10 +334,10 @@
new_text += copytext(text, i, i+1)
return new_text
-var/list/zero_character_only = list("0")
-var/list/hex_characters = list("0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f")
-var/list/alphabet = list("a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z")
-var/list/binary = list("0","1")
+GLOBAL_LIST_INIT(zero_character_only, list("0"))
+GLOBAL_LIST_INIT(hex_characters, list("0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"))
+GLOBAL_LIST_INIT(alphabet, list("a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"))
+GLOBAL_LIST_INIT(binary, list("0","1"))
/proc/random_string(length, list/characters)
. = ""
for(var/i=1, i<=length, i++)
@@ -349,10 +349,10 @@ var/list/binary = list("0","1")
. += string
/proc/random_short_color()
- return random_string(3, hex_characters)
+ return random_string(3, GLOB.hex_characters)
/proc/random_color()
- return random_string(6, hex_characters)
+ return random_string(6, GLOB.hex_characters)
/proc/add_zero2(t, u)
var/temp1
diff --git a/code/__HELPERS/text_vr.dm b/code/__HELPERS/text_vr.dm
index b9db3915d0..06aadb6708 100644
--- a/code/__HELPERS/text_vr.dm
+++ b/code/__HELPERS/text_vr.dm
@@ -17,9 +17,11 @@ proc/TextPreview(var/string,var/len=40)
else
return "[copytext(string, 1, 37)]..."
-var/list/mentor_log = list ( )
-//var/list/admintickets = list()
-var/global/list/whitelisted_species_list[0]
+GLOBAL_LIST_EMPTY(mentor_log)
+GLOBAL_PROTECT(mentor_log)
+
+GLOBAL_LIST_EMPTY(whitelisted_species_list)
+
/proc/log_mentor(text)
- mentor_log.Add(text)
- diary << "\[[time_stamp()]]MENTOR: [text]"
\ No newline at end of file
+ GLOB.mentor_log.Add(text)
+ GLOB.diary << "\[[time_stamp()]]MENTOR: [text]"
\ No newline at end of file
diff --git a/code/__HELPERS/time.dm b/code/__HELPERS/time.dm
index 3770fedf6f..b042eb3736 100644
--- a/code/__HELPERS/time.dm
+++ b/code/__HELPERS/time.dm
@@ -1,13 +1,15 @@
//Returns the world time in english
/proc/worldtime2text()
- return gameTimestamp("hh:mm:ss")
+ return gameTimestamp("hh:mm:ss", world.time)
/proc/time_stamp(format = "hh:mm:ss", show_ds)
var/time_string = time2text(world.timeofday, format)
return show_ds ? "[time_string]:[world.timeofday % 10]" : time_string
-/proc/gameTimestamp(format = "hh:mm:ss") // Get the game time in text
- return time2text(world.time - timezoneOffset + 432000 - round_start_time, format)
+/proc/gameTimestamp(format = "hh:mm:ss", wtime=null)
+ if(!wtime)
+ wtime = world.time
+ return time2text(wtime - GLOB.timezoneOffset + SSticker.gametime_offset - SSticker.round_start_time, format)
/* Returns 1 if it is the selected month and day */
/proc/isDay(month, day)
@@ -28,10 +30,10 @@
return time2text(timevar, "YYYY-MM-DD hh:mm:ss")
-/var/midnight_rollovers = 0
-/var/rollovercheck_last_timeofday = 0
+GLOBAL_VAR_INIT(midnight_rollovers, 0)
+GLOBAL_VAR_INIT(rollovercheck_last_timeofday, 0)
/proc/update_midnight_rollover()
- if (world.timeofday < rollovercheck_last_timeofday) //TIME IS GOING BACKWARDS!
- return midnight_rollovers++
- return midnight_rollovers
+ if (world.timeofday < GLOB.rollovercheck_last_timeofday) //TIME IS GOING BACKWARDS!
+ return GLOB.midnight_rollovers++
+ return GLOB.midnight_rollovers
diff --git a/code/__HELPERS/type2type.dm b/code/__HELPERS/type2type.dm
index ff518e5bb0..b030494ed0 100644
--- a/code/__HELPERS/type2type.dm
+++ b/code/__HELPERS/type2type.dm
@@ -337,15 +337,6 @@
return "[year][seperator][((month < 10) ? "0[month]" : month)][seperator][((day < 10) ? "0[day]" : day)]"
-/*
-var/list/test_times = list("December" = 1323522004, "August" = 1123522004, "January" = 1011522004,
- "Jan Leap" = 946684800, "Jan Normal" = 978307200, "New Years Eve" = 1009670400,
- "New Years" = 1009836000, "New Years 2" = 1041372000, "New Years 3" = 1104530400,
- "July Month End" = 744161003, "July Month End 12" = 1343777003, "End July" = 1091311200)
-for(var/t in test_times)
- world.log << "TEST: [t] is [unix2date(test_times[t])]"
-*/
-
/proc/isLeap(y)
return ((y) % 4 == 0 && ((y) % 100 != 0 || (y) % 400 == 0))
diff --git a/code/__HELPERS/unsorted.dm b/code/__HELPERS/unsorted.dm
index 9b98e7c1c1..e1c34dc0c9 100644
--- a/code/__HELPERS/unsorted.dm
+++ b/code/__HELPERS/unsorted.dm
@@ -200,17 +200,17 @@ Turf and target are seperate in case you want to teleport some distance from a t
else
switch(role)
if("clown")
- newname = pick(clown_names)
+ newname = pick(GLOB.clown_names)
if("mime")
- newname = pick(mime_names)
+ newname = pick(GLOB.mime_names)
if("ai")
- newname = pick(ai_names)
+ newname = pick(GLOB.ai_names)
if("deity")
- newname = pick(clown_names|ai_names|mime_names) //pick any old name
+ newname = pick(GLOB.clown_names|GLOB.ai_names|GLOB.mime_names) //pick any old name
else
return
- for(var/mob/living/M in player_list)
+ for(var/mob/living/M in GLOB.player_list)
if(M == src)
continue
if(!newname || M.real_name == newname)
@@ -231,8 +231,8 @@ Turf and target are seperate in case you want to teleport some distance from a t
//Returns a list of unslaved cyborgs
/proc/active_free_borgs()
. = list()
- for(var/mob/living/silicon/robot/R in living_mob_list)
- if(R.connected_ai)
+ for(var/mob/living/silicon/robot/R in GLOB.living_mob_list)
+ if(R.connected_ai || R.shell)
continue
if(R.stat == DEAD)
continue
@@ -243,7 +243,7 @@ Turf and target are seperate in case you want to teleport some distance from a t
//Returns a list of AI's
/proc/active_ais(check_mind=0)
. = list()
- for(var/mob/living/silicon/ai/A in living_mob_list)
+ for(var/mob/living/silicon/ai/A in GLOB.living_mob_list)
if(A.stat == DEAD)
continue
if(A.control_disabled == 1)
@@ -305,7 +305,7 @@ Turf and target are seperate in case you want to teleport some distance from a t
pois[name] = M
if(!mobs_only)
- for(var/atom/A in poi_list)
+ for(var/atom/A in GLOB.poi_list)
if(!A || !A.loc)
continue
pois[avoid_assoc_duplicate_keys(A.name, namecounts)] = A
@@ -314,7 +314,7 @@ Turf and target are seperate in case you want to teleport some distance from a t
//Orders mobs by type then by name
/proc/sortmobs()
var/list/moblist = list()
- var/list/sortmob = sortNames(mob_list)
+ var/list/sortmob = sortNames(GLOB.mob_list)
for(var/mob/living/silicon/ai/M in sortmob)
moblist.Add(M)
for(var/mob/camera/M in sortmob)
@@ -378,7 +378,7 @@ Turf and target are seperate in case you want to teleport some distance from a t
else if(istext(whom))
key = whom
ckey = ckey(whom)
- C = directory[ckey]
+ C = GLOB.directory[ckey]
if(C)
M = C.mob
else
@@ -583,16 +583,16 @@ Turf and target are seperate in case you want to teleport some distance from a t
//Repopulates sortedAreas list
/proc/SortAreas()
- sortedAreas = list()
+ GLOB.sortedAreas = list()
for(var/area/A in world)
- sortedAreas.Add(A)
+ GLOB.sortedAreas.Add(A)
- sortTim(sortedAreas, /proc/cmp_name_asc)
+ sortTim(GLOB.sortedAreas, /proc/cmp_name_asc)
/area/proc/addSorted()
- sortedAreas.Add(src)
- sortTim(sortedAreas, /proc/cmp_name_asc)
+ GLOB.sortedAreas.Add(src)
+ sortTim(GLOB.sortedAreas, /proc/cmp_name_asc)
//Takes: Area type as text string or as typepath OR an instance of the area.
//Returns: A list of all areas of that type in the world.
@@ -608,12 +608,12 @@ Turf and target are seperate in case you want to teleport some distance from a t
var/list/areas = list()
if(subtypes)
var/list/cache = typecacheof(areatype)
- for(var/V in sortedAreas)
+ for(var/V in GLOB.sortedAreas)
var/area/A = V
if(cache[A.type])
areas += V
else
- for(var/V in sortedAreas)
+ for(var/V in GLOB.sortedAreas)
var/area/A = V
if(A.type == areatype)
areas += V
@@ -633,7 +633,7 @@ Turf and target are seperate in case you want to teleport some distance from a t
var/list/turfs = list()
if(subtypes)
var/list/cache = typecacheof(areatype)
- for(var/V in sortedAreas)
+ for(var/V in GLOB.sortedAreas)
var/area/A = V
if(!cache[A.type])
continue
@@ -641,7 +641,7 @@ Turf and target are seperate in case you want to teleport some distance from a t
if(target_z == 0 || target_z == T.z)
turfs += T
else
- for(var/V in sortedAreas)
+ for(var/V in GLOB.sortedAreas)
var/area/A = V
if(A.type != areatype)
continue
@@ -763,9 +763,9 @@ Turf and target are seperate in case you want to teleport some distance from a t
//For objects that should embed, but make no sense being is_sharp or is_pointed()
//e.g: rods
-var/list/can_embed_types = typecacheof(list(
+GLOBAL_LIST_INIT(can_embed_types, typecacheof(list(
/obj/item/stack/rods,
- /obj/item/pipe))
+ /obj/item/pipe)))
/proc/can_embed(obj/item/W)
if(W.is_sharp())
@@ -773,14 +773,14 @@ var/list/can_embed_types = typecacheof(list(
if(is_pointed(W))
return 1
- if(is_type_in_typecache(W, can_embed_types))
+ if(is_type_in_typecache(W, GLOB.can_embed_types))
return 1
/*
Checks if that loc and dir has a item on the wall
*/
-var/list/WALLITEMS = typecacheof(list(
+GLOBAL_LIST_INIT(WALLITEMS, typecacheof(list(
/obj/machinery/power/apc, /obj/machinery/airalarm, /obj/item/device/radio/intercom,
/obj/structure/extinguisher_cabinet, /obj/structure/reagent_dispensers/peppertank,
/obj/machinery/status_display, /obj/machinery/requests_console, /obj/machinery/light_switch, /obj/structure/sign,
@@ -788,22 +788,22 @@ var/list/WALLITEMS = typecacheof(list(
/obj/machinery/computer/security/telescreen, /obj/machinery/embedded_controller/radio/simple_vent_controller,
/obj/item/weapon/storage/secure/safe, /obj/machinery/door_timer, /obj/machinery/flasher, /obj/machinery/keycard_auth,
/obj/structure/mirror, /obj/structure/fireaxecabinet, /obj/machinery/computer/security/telescreen/entertainment
- ))
+ )))
-var/list/WALLITEMS_EXTERNAL = typecacheof(list(
+GLOBAL_LIST_INIT(WALLITEMS_EXTERNAL, typecacheof(list(
/obj/machinery/camera, /obj/structure/camera_assembly,
- /obj/structure/light_construct, /obj/machinery/light))
+ /obj/structure/light_construct, /obj/machinery/light)))
-var/list/WALLITEMS_INVERSE = typecacheof(list(
- /obj/structure/light_construct, /obj/machinery/light))
+GLOBAL_LIST_INIT(WALLITEMS_INVERSE, typecacheof(list(
+ /obj/structure/light_construct, /obj/machinery/light)))
/proc/gotwallitem(loc, dir, var/check_external = 0)
var/locdir = get_step(loc, dir)
for(var/obj/O in loc)
- if(is_type_in_typecache(O, WALLITEMS) && check_external != 2)
+ if(is_type_in_typecache(O, GLOB.WALLITEMS) && check_external != 2)
//Direction works sometimes
- if(is_type_in_typecache(O, WALLITEMS_INVERSE))
+ if(is_type_in_typecache(O, GLOB.WALLITEMS_INVERSE))
if(O.dir == turn(dir, 180))
return 1
else if(O.dir == dir)
@@ -814,8 +814,8 @@ var/list/WALLITEMS_INVERSE = typecacheof(list(
if(get_turf_pixel(O) == locdir)
return 1
- if(is_type_in_typecache(O, WALLITEMS_EXTERNAL) && check_external)
- if(is_type_in_typecache(O, WALLITEMS_INVERSE))
+ if(is_type_in_typecache(O, GLOB.WALLITEMS_EXTERNAL) && check_external)
+ if(is_type_in_typecache(O, GLOB.WALLITEMS_INVERSE))
if(O.dir == turn(dir, 180))
return 1
else if(O.dir == dir)
@@ -823,7 +823,7 @@ var/list/WALLITEMS_INVERSE = typecacheof(list(
//Some stuff is placed directly on the wallturf (signs)
for(var/obj/O in locdir)
- if(is_type_in_typecache(O, WALLITEMS) && check_external != 2)
+ if(is_type_in_typecache(O, GLOB.WALLITEMS) && check_external != 2)
if(O.pixel_x == 0 && O.pixel_y == 0)
return 1
return 0
@@ -845,7 +845,7 @@ var/list/WALLITEMS_INVERSE = typecacheof(list(
for(var/id in cached_gases)
var/gas_concentration = cached_gases[id][MOLES]/total_moles
- if(id in hardcoded_gases || gas_concentration > 0.001) //ensures the four primary gases are always shown.
+ if((id in GLOB.hardcoded_gases) || gas_concentration > 0.001) //ensures the four primary gases are always shown.
to_chat(user, "[cached_gases[id][GAS_META][META_GAS_NAME]]: [round(gas_concentration*100, 0.01)] % ")
to_chat(user, "Temperature: [round(air_contents.temperature-T0C)] °C ")
@@ -871,14 +871,14 @@ var/list/WALLITEMS_INVERSE = typecacheof(list(
var/initial_chance = chance
while(steps > 0)
if(prob(chance))
- step(AM, pick(alldirs))
+ step(AM, pick(GLOB.alldirs))
chance = max(chance - (initial_chance / steps), 0)
steps--
/proc/living_player_count()
var/living_player_count = 0
- for(var/mob in player_list)
- if(mob in living_mob_list)
+ for(var/mob in GLOB.player_list)
+ if(mob in GLOB.living_mob_list)
living_player_count += 1
return living_player_count
@@ -1188,7 +1188,7 @@ B --><-- A
/proc/get_areas_in_z(zlevel)
. = list()
var/validarea = FALSE
- for(var/V in sortedAreas)
+ for(var/V in GLOB.sortedAreas)
var/area/A = V
validarea = TRUE
for(var/turf/T in A)
@@ -1254,7 +1254,7 @@ proc/pick_closest_path(value, list/matches = get_fancy_list_of_atom_types())
. += round(i*DELTA_CALC)
sleep(i*world.tick_lag*DELTA_CALC)
i *= 2
- while (world.tick_usage > min(TICK_LIMIT_TO_RUN, CURRENT_TICKLIMIT))
+ while (world.tick_usage > min(TICK_LIMIT_TO_RUN, GLOB.CURRENT_TICKLIMIT))
#undef DELTA_CALC
@@ -1313,41 +1313,44 @@ proc/pick_closest_path(value, list/matches = get_fancy_list_of_atom_types())
else
. = ""
-/var/mob/dview/dview_mob = new
+GLOBAL_DATUM_INIT(dview_mob, /mob/dview, new)
//Version of view() which ignores darkness, because BYOND doesn't have it (I actually suggested it but it was tagged redundant, BUT HEARERS IS A T- /rant).
/proc/dview(var/range = world.view, var/center, var/invis_flags = 0)
if(!center)
return
- dview_mob.loc = center
+ GLOB.dview_mob.loc = center
- dview_mob.see_invisible = invis_flags
+ GLOB.dview_mob.see_invisible = invis_flags
- . = view(range, dview_mob)
- dview_mob.loc = null
+ . = view(range, GLOB.dview_mob)
+ GLOB.dview_mob.loc = null
/mob/dview
+ name = "INTERNAL DVIEW MOB"
invisibility = 101
- density = 0
+ density = FALSE
see_in_dark = 1e6
- anchored = 1
+ anchored = TRUE
+ var/ready_to_die = FALSE
-/mob/dview/Destroy(force=0)
- stack_trace("ALRIGHT WHICH FUCKER TRIED TO DELETE *MY* DVIEW?")
+/mob/dview/Destroy(force = FALSE)
+ if(!ready_to_die)
+ stack_trace("ALRIGHT WHICH FUCKER TRIED TO DELETE *MY* DVIEW?")
- if (!force)
- return QDEL_HINT_LETMELIVE
+ if (!force)
+ return QDEL_HINT_LETMELIVE
- world.log << "EVACUATE THE SHITCODE IS TRYING TO STEAL MUH JOBS"
- global.dview_mob = new
- return QDEL_HINT_QUEUE
+ log_world("EVACUATE THE SHITCODE IS TRYING TO STEAL MUH JOBS")
+ GLOB.dview_mob = new
+ return ..()
#define FOR_DVIEW(type, range, center, invis_flags) \
- dview_mob.loc = center; \
- dview_mob.see_invisible = invis_flags; \
- for(type in view(range, dview_mob))
+ GLOB.dview_mob.loc = center; \
+ GLOB.dview_mob.see_invisible = invis_flags; \
+ for(type in view(range, GLOB.dview_mob))
//can a window be here, or is there a window blocking it?
/proc/valid_window_location(turf/T, dir_to_check)
@@ -1372,17 +1375,17 @@ proc/pick_closest_path(value, list/matches = get_fancy_list_of_atom_types())
//Set this to TRUE before calling
//This prevents RCEs from badmins
//kevinz000 if you touch this I will hunt you down
-var/valid_HTTPSGet = FALSE
+GLOBAL_VAR_INIT(valid_HTTPSGet, FALSE)
/proc/HTTPSGet(url)
if(findtext(url, "\""))
- valid_HTTPSGet = FALSE
+ GLOB.valid_HTTPSGet = FALSE
- if(!valid_HTTPSGet)
+ if(!GLOB.valid_HTTPSGet)
if(usr)
CRASH("[usr.ckey]([usr]) just attempted an invalid HTTPSGet on: [url]!")
else
CRASH("Invalid HTTPSGet call on: [url]")
- valid_HTTPSGet = FALSE
+ GLOB.valid_HTTPSGet = FALSE
//"This has got to be the ugliest hack I have ever done"
//warning, here be dragons
@@ -1407,15 +1410,15 @@ var/valid_HTTPSGet = FALSE
else
CRASH("Invalid world.system_type ([world.system_type])? Yell at Lummox.")
- world.log << "HTTPSGet: [url]"
+ log_world("HTTPSGet: [url]")
var/result = shell(command)
if(result != 0)
- world.log << "Download failed: shell exited with code: [result]"
+ log_world("Download failed: shell exited with code: [result]")
return
var/f = file(temp_file)
if(!f)
- world.log << "Download failed: Temp file not found"
+ log_world("Download failed: Temp file not found")
return
. = file2text(f)
@@ -1426,3 +1429,6 @@ var/valid_HTTPSGet = FALSE
/proc/to_chat(target, message)
target << message
+
+/proc/pass()
+ return
diff --git a/code/__PATH_COMPATIBILITY/path_compatibility.dm b/code/__PATH_COMPATIBILITY/path_compatibility.dm
deleted file mode 100644
index 2d50b3ec3a..0000000000
--- a/code/__PATH_COMPATIBILITY/path_compatibility.dm
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
-
- This is a smart+stupid method of maintaining paths during refactors.
- At this point in time we have more maps than ever, and our tools just aren't that great.
- So instead of repathing all the maps...
-
- Keep the old path defined, just as an empty type with that path, and then define it's
- parent_type as the new path, effectively maintaining the object/mob w/e without having
- to touch all the maps, avoiding all those nasty conflicts!
-
- Ideally the old paths would be cleaned out as mappers go about their usual routine of
- updating old maps.
-
- tl;dr TYPEFUCKERY, because fuck updating all these maps
-
- Example:
-
- /obj/structure/bed/chair/janicart/secway
- parent_type = /obj/vehicle/secway
-
-*/
diff --git a/code/_compile_options.dm b/code/_compile_options.dm
index 55808fd3ac..ec06a6221c 100644
--- a/code/_compile_options.dm
+++ b/code/_compile_options.dm
@@ -7,6 +7,8 @@
//#define GC_FAILURE_HARD_LOOKUP //makes paths that fail to GC call find_references before del'ing.
//Also allows for recursive reference searching of datums.
//Sets world.loop_checks to false and prevents find references from sleeping
+
+//#define VISUALIZE_ACTIVE_TURFS //Highlights atmos active turfs in green
#endif
#define PRELOAD_RSC 1 /*set to:
diff --git a/code/_globalvars/configuration.dm b/code/_globalvars/configuration.dm
index a83a1bd80d..e8833f77aa 100644
--- a/code/_globalvars/configuration.dm
+++ b/code/_globalvars/configuration.dm
@@ -1,40 +1,47 @@
-var/datum/configuration/config = null
+GLOBAL_REAL(config, /datum/configuration)
-var/host = null
-var/join_motd = null
-var/station_name = null
-var/game_version = "/tg/ Station 13"
-var/changelog_hash = ""
+GLOBAL_DATUM_INIT(revdata, /datum/getrev, new)
-var/ooc_allowed = 1 // used with admin verbs to disable ooc - not a config option apparently
-var/dooc_allowed = 1
-var/abandon_allowed = 1
-var/enter_allowed = 1
-var/guests_allowed = 1
-var/shuttle_frozen = 0
-var/shuttle_left = 0
-var/tinted_weldhelh = 1
+GLOBAL_VAR(host)
+GLOBAL_VAR(join_motd)
+GLOBAL_VAR(station_name)
+GLOBAL_VAR_INIT(game_version, "/tg/ Station 13")
+GLOBAL_VAR_INIT(changelog_hash, "")
+
+GLOBAL_VAR_INIT(ooc_allowed, TRUE) // used with admin verbs to disable ooc - not a config option apparently
+GLOBAL_VAR_INIT(dooc_allowed, TRUE)
+GLOBAL_VAR_INIT(abandon_allowed, TRUE)
+GLOBAL_VAR_INIT(enter_allowed, TRUE)
+GLOBAL_VAR_INIT(guests_allowed, TRUE)
+GLOBAL_VAR_INIT(shuttle_frozen, FALSE)
+GLOBAL_VAR_INIT(shuttle_left, FALSE)
+GLOBAL_VAR_INIT(tinted_weldhelh, TRUE)
// Debug is used exactly once (in living.dm) but is commented out in a lot of places. It is not set anywhere and only checked.
// Debug2 is used in conjunction with a lot of admin verbs and therefore is actually legit.
-var/Debug = 0 // global debug switch
-var/Debug2 = 0
+GLOBAL_VAR_INIT(Debug, FALSE) // global debug switch
+GLOBAL_VAR_INIT(Debug2, FALSE)
//Server API key
-var/global/comms_key = "default_pwd"
-var/global/comms_allowed = 0 //By default, the server does not allow messages to be sent to it, unless the key is strong enough (this is to prevent misconfigured servers from becoming vulnerable)
+GLOBAL_VAR_INIT(comms_key, "default_pwd")
+GLOBAL_PROTECT(comms_key)
+GLOBAL_VAR_INIT(comms_allowed, FALSE) //By default, the server does not allow messages to be sent to it, unless the key is strong enough (this is to prevent misconfigured servers from becoming vulnerable)
+GLOBAL_PROTECT(comms_allowed)
-var/global/medal_hub = null
-var/global/medal_pass = " "
-var/global/medals_enabled = TRUE //will be auto set to false if the game fails contacting the medal hub to prevent unneeded calls.
+GLOBAL_VAR(medal_hub)
+GLOBAL_PROTECT(medal_hub)
+GLOBAL_VAR_INIT(medal_pass, " ")
+GLOBAL_PROTECT(medal_pass)
+GLOBAL_VAR_INIT(medals_enabled, TRUE) //will be auto set to false if the game fails contacting the medal hub to prevent unneeded calls.
+GLOBAL_PROTECT(medals_enabled)
//This was a define, but I changed it to a variable so it can be changed in-game.(kept the all-caps definition because... code...) -Errorage
-var/MAX_EX_DEVESTATION_RANGE = 3
-var/MAX_EX_HEAVY_RANGE = 7
-var/MAX_EX_LIGHT_RANGE = 14
-var/MAX_EX_FLASH_RANGE = 14
-var/MAX_EX_FLAME_RANGE = 14
-var/DYN_EX_SCALE = 0.5
+GLOBAL_VAR_INIT(MAX_EX_DEVESTATION_RANGE, 3)
+GLOBAL_VAR_INIT(MAX_EX_HEAVY_RANGE, 7)
+GLOBAL_VAR_INIT(MAX_EX_LIGHT_RANGE, 14)
+GLOBAL_VAR_INIT(MAX_EX_FLASH_RANGE, 14)
+GLOBAL_VAR_INIT(MAX_EX_FLAME_RANGE, 14)
+GLOBAL_VAR_INIT(DYN_EX_SCALE, 0.5)
diff --git a/code/_globalvars/database.dm b/code/_globalvars/database.dm
index c07251dc66..8ba72517ce 100644
--- a/code/_globalvars/database.dm
+++ b/code/_globalvars/database.dm
@@ -1,12 +1,19 @@
// MySQL configuration
-var/sqladdress = "localhost"
-var/sqlport = "3306"
-var/sqlfdbkdb = "test"
-var/sqlfdbklogin = "root"
-var/sqlfdbkpass = ""
-var/sqlfdbktableprefix = "erro_" //backwords compatibility with downstream server hosts
+GLOBAL_VAR_INIT(sqladdress, "localhost")
+GLOBAL_PROTECT(sqladdress)
+GLOBAL_VAR_INIT(sqlport, "3306")
+GLOBAL_PROTECT(sqlport)
+GLOBAL_VAR_INIT(sqlfdbkdb, "test")
+GLOBAL_PROTECT(sqlfdbkdb)
+GLOBAL_VAR_INIT(sqlfdbklogin, "root")
+GLOBAL_PROTECT(sqlfdbklogin)
+GLOBAL_VAR_INIT(sqlfdbkpass, "")
+GLOBAL_PROTECT(sqlfdbkpass)
+GLOBAL_VAR_INIT(sqlfdbktableprefix, "erro_") //backwords compatibility with downstream server hosts
+GLOBAL_PROTECT(sqlfdbktableprefix)
//Database connections
//A connection is established on world creation. Ideally, the connection dies when the server restarts (After feedback logging.).
-var/DBConnection/dbcon = new() //Feedback database (New database)
+GLOBAL_DATUM_INIT(dbcon, /DBConnection, new) //Feedback database (New database)
+GLOBAL_PROTECT(dbcon)
diff --git a/code/_globalvars/game_modes.dm b/code/_globalvars/game_modes.dm
index a8597af725..153ebbf089 100644
--- a/code/_globalvars/game_modes.dm
+++ b/code/_globalvars/game_modes.dm
@@ -1,5 +1,5 @@
-var/master_mode = "traitor"//"extended"
-var/secret_force_mode = "secret" // if this is anything but "secret", the secret rotation will forceably choose this mode
+GLOBAL_VAR_INIT(master_mode, "traitor") //"extended"
+GLOBAL_VAR_INIT(secret_force_mode, "secret") // if this is anything but "secret", the secret rotation will forceably choose this mode
-var/wavesecret = 0 // meteor mode, delays wave progression, terrible name
-var/datum/station_state/start_state = null // Used in round-end report
+GLOBAL_VAR_INIT(wavesecret, 0) // meteor mode, delays wave progression, terrible name
+GLOBAL_DATUM(start_state, /datum/station_state) // Used in round-end report
diff --git a/code/_globalvars/genetics.dm b/code/_globalvars/genetics.dm
index 80c66db5e5..7016415d48 100644
--- a/code/_globalvars/genetics.dm
+++ b/code/_globalvars/genetics.dm
@@ -1,28 +1,28 @@
//////////////
-var/NEARSIGHTBLOCK = 0
-var/EPILEPSYBLOCK = 0
-var/COUGHBLOCK = 0
-var/TOURETTESBLOCK = 0
-var/NERVOUSBLOCK = 0
-var/BLINDBLOCK = 0
-var/DEAFBLOCK = 0
-var/HULKBLOCK = 0
-var/TELEBLOCK = 0
-var/FIREBLOCK = 0
-var/XRAYBLOCK = 0
-var/CLUMSYBLOCK = 0
-var/STRANGEBLOCK = 0
-var/RACEBLOCK = 0
+GLOBAL_VAR_INIT(NEARSIGHTBLOCK, 0)
+GLOBAL_VAR_INIT(EPILEPSYBLOCK, 0)
+GLOBAL_VAR_INIT(COUGHBLOCK, 0)
+GLOBAL_VAR_INIT(TOURETTESBLOCK, 0)
+GLOBAL_VAR_INIT(NERVOUSBLOCK, 0)
+GLOBAL_VAR_INIT(BLINDBLOCK, 0)
+GLOBAL_VAR_INIT(DEAFBLOCK, 0)
+GLOBAL_VAR_INIT(HULKBLOCK, 0)
+GLOBAL_VAR_INIT(TELEBLOCK, 0)
+GLOBAL_VAR_INIT(FIREBLOCK, 0)
+GLOBAL_VAR_INIT(XRAYBLOCK, 0)
+GLOBAL_VAR_INIT(CLUMSYBLOCK, 0)
+GLOBAL_VAR_INIT(STRANGEBLOCK, 0)
+GLOBAL_VAR_INIT(RACEBLOCK, 0)
-var/list/bad_se_blocks
-var/list/good_se_blocks
-var/list/op_se_blocks
+GLOBAL_LIST(bad_se_blocks)
+GLOBAL_LIST(good_se_blocks)
+GLOBAL_LIST(op_se_blocks)
-var/NULLED_SE
-var/NULLED_UI
+GLOBAL_VAR(NULLED_SE)
+GLOBAL_VAR(NULLED_UI)
-var/list/global_mutations = list() // list of hidden mutation things
+GLOBAL_LIST_EMPTY(global_mutations) // list of hidden mutation things
-var/list/bad_mutations = list()
-var/list/good_mutations = list()
-var/list/not_good_mutations = list()
\ No newline at end of file
+GLOBAL_LIST_EMPTY(bad_mutations)
+GLOBAL_LIST_EMPTY(good_mutations)
+GLOBAL_LIST_EMPTY(not_good_mutations)
\ No newline at end of file
diff --git a/code/_globalvars/lists/flavor_misc.dm b/code/_globalvars/lists/flavor_misc.dm
index dc9a0a76de..1241708b5c 100644
--- a/code/_globalvars/lists/flavor_misc.dm
+++ b/code/_globalvars/lists/flavor_misc.dm
@@ -1,44 +1,44 @@
//Preferences stuff
//Hairstyles
-var/global/list/hair_styles_list = list() //stores /datum/sprite_accessory/hair indexed by name
-var/global/list/hair_styles_male_list = list() //stores only hair names
-var/global/list/hair_styles_female_list = list() //stores only hair names
-var/global/list/facial_hair_styles_list = list() //stores /datum/sprite_accessory/facial_hair indexed by name
-var/global/list/facial_hair_styles_male_list = list() //stores only hair names
-var/global/list/facial_hair_styles_female_list = list() //stores only hair names
+GLOBAL_LIST_EMPTY(hair_styles_list) //stores /datum/sprite_accessory/hair indexed by name
+GLOBAL_LIST_EMPTY(hair_styles_male_list) //stores only hair names
+GLOBAL_LIST_EMPTY(hair_styles_female_list) //stores only hair names
+GLOBAL_LIST_EMPTY(facial_hair_styles_list) //stores /datum/sprite_accessory/facial_hair indexed by name
+GLOBAL_LIST_EMPTY(facial_hair_styles_male_list) //stores only hair names
+GLOBAL_LIST_EMPTY(facial_hair_styles_female_list) //stores only hair names
//Underwear
-var/global/list/underwear_list = list() //stores /datum/sprite_accessory/underwear indexed by name
-var/global/list/underwear_m = list() //stores only underwear name
-var/global/list/underwear_f = list() //stores only underwear name
+GLOBAL_LIST_EMPTY(underwear_list) //stores /datum/sprite_accessory/underwear indexed by name
+GLOBAL_LIST_EMPTY(underwear_m) //stores only underwear name
+GLOBAL_LIST_EMPTY(underwear_f) //stores only underwear name
//Undershirts
-var/global/list/undershirt_list = list() //stores /datum/sprite_accessory/undershirt indexed by name
-var/global/list/undershirt_m = list() //stores only undershirt name
-var/global/list/undershirt_f = list() //stores only undershirt name
+GLOBAL_LIST_EMPTY(undershirt_list) //stores /datum/sprite_accessory/undershirt indexed by name
+GLOBAL_LIST_EMPTY(undershirt_m) //stores only undershirt name
+GLOBAL_LIST_EMPTY(undershirt_f) //stores only undershirt name
//Socks
-var/global/list/socks_list = list() //stores /datum/sprite_accessory/socks indexed by name
+GLOBAL_LIST_EMPTY(socks_list) //stores /datum/sprite_accessory/socks indexed by name
//Lizard Bits (all datum lists indexed by name)
-var/global/list/body_markings_list = list()
-var/global/list/tails_list_lizard = list()
-var/global/list/animated_tails_list_lizard = list()
-var/global/list/snouts_list = list()
-var/global/list/horns_list = list()
-var/global/list/frills_list = list()
-var/global/list/spines_list = list()
-var/global/list/legs_list = list()
-var/global/list/animated_spines_list = list()
+GLOBAL_LIST_EMPTY(body_markings_list)
+GLOBAL_LIST_EMPTY(tails_list_lizard)
+GLOBAL_LIST_EMPTY(animated_tails_list_lizard)
+GLOBAL_LIST_EMPTY(snouts_list)
+GLOBAL_LIST_EMPTY(horns_list)
+GLOBAL_LIST_EMPTY(frills_list)
+GLOBAL_LIST_EMPTY(spines_list)
+GLOBAL_LIST_EMPTY(legs_list)
+GLOBAL_LIST_EMPTY(animated_spines_list)
//Mutant Human bits
-var/global/list/tails_list_human = list()
-var/global/list/animated_tails_list_human = list()
-var/global/list/ears_list = list()
-var/global/list/wings_list = list()
-var/global/list/wings_open_list = list()
-var/global/list/r_wings_list = list()
+GLOBAL_LIST_EMPTY(tails_list_human)
+GLOBAL_LIST_EMPTY(animated_tails_list_human)
+GLOBAL_LIST_EMPTY(ears_list)
+GLOBAL_LIST_EMPTY(wings_list)
+GLOBAL_LIST_EMPTY(wings_open_list)
+GLOBAL_LIST_EMPTY(r_wings_list)
-var/global/list/ghost_forms_with_directions_list = list("ghost") //stores the ghost forms that support directional sprites
-var/global/list/ghost_forms_with_accessories_list = list("ghost") //stores the ghost forms that support hair and other such things
+GLOBAL_LIST_INIT(ghost_forms_with_directions_list, list("ghost")) //stores the ghost forms that support directional sprites
+GLOBAL_LIST_INIT(ghost_forms_with_accessories_list, list("ghost")) //stores the ghost forms that support hair and other such things
-var/global/list/security_depts_prefs = list(SEC_DEPT_RANDOM, SEC_DEPT_NONE, SEC_DEPT_ENGINEERING, SEC_DEPT_MEDICAL, SEC_DEPT_SCIENCE, SEC_DEPT_SUPPLY)
+GLOBAL_LIST_INIT(security_depts_prefs, list(SEC_DEPT_RANDOM, SEC_DEPT_NONE, SEC_DEPT_ENGINEERING, SEC_DEPT_MEDICAL, SEC_DEPT_SCIENCE, SEC_DEPT_SUPPLY))
//Backpacks
#define GBACKPACK "Grey Backpack"
@@ -48,21 +48,21 @@ var/global/list/security_depts_prefs = list(SEC_DEPT_RANDOM, SEC_DEPT_NONE, SEC_
#define DBACKPACK "Department Backpack"
#define DSATCHEL "Department Satchel"
#define DDUFFLEBAG "Department Dufflebag"
-var/global/list/backbaglist = list(DBACKPACK, DSATCHEL, DDUFFLEBAG, GBACKPACK, GSATCHEL, GDUFFLEBAG, LSATCHEL)
+GLOBAL_LIST_INIT(backbaglist, list(DBACKPACK, DSATCHEL, DDUFFLEBAG, GBACKPACK, GSATCHEL, GDUFFLEBAG, LSATCHEL))
//Uplink spawn loc
#define UPLINK_PDA "PDA"
#define UPLINK_RADIO "Radio"
#define UPLINK_PEN "Pen" //like a real spy!
-var/global/list/uplink_spawn_loc_list = list(UPLINK_PDA, UPLINK_RADIO, UPLINK_PEN)
+GLOBAL_LIST_INIT(uplink_spawn_loc_list, list(UPLINK_PDA, UPLINK_RADIO, UPLINK_PEN))
//Female Uniforms
-var/global/list/female_clothing_icons = list()
+GLOBAL_LIST_EMPTY(female_clothing_icons)
//radical shit
-var/list/hit_appends = list("-OOF", "-ACK", "-UGH", "-HRNK", "-HURGH", "-GLORF")
+GLOBAL_LIST_INIT(hit_appends, list("-OOF", "-ACK", "-UGH", "-HRNK", "-HURGH", "-GLORF"))
-var/list/scarySounds = list('sound/weapons/thudswoosh.ogg','sound/weapons/Taser.ogg','sound/weapons/armbomb.ogg','sound/voice/hiss1.ogg','sound/voice/hiss2.ogg','sound/voice/hiss3.ogg','sound/voice/hiss4.ogg','sound/voice/hiss5.ogg','sound/voice/hiss6.ogg','sound/effects/Glassbr1.ogg','sound/effects/Glassbr2.ogg','sound/effects/Glassbr3.ogg','sound/items/Welder.ogg','sound/items/Welder2.ogg','sound/machines/airlock.ogg','sound/effects/clownstep1.ogg','sound/effects/clownstep2.ogg')
+GLOBAL_LIST_INIT(scarySounds, list('sound/weapons/thudswoosh.ogg','sound/weapons/Taser.ogg','sound/weapons/armbomb.ogg','sound/voice/hiss1.ogg','sound/voice/hiss2.ogg','sound/voice/hiss3.ogg','sound/voice/hiss4.ogg','sound/voice/hiss5.ogg','sound/voice/hiss6.ogg','sound/effects/Glassbr1.ogg','sound/effects/Glassbr2.ogg','sound/effects/Glassbr3.ogg','sound/items/Welder.ogg','sound/items/Welder2.ogg','sound/machines/airlock.ogg','sound/effects/clownstep1.ogg','sound/effects/clownstep2.ogg'))
// Reference list for disposal sort junctions. Set the sortType variable on disposal sort junctions to
@@ -96,23 +96,23 @@ var/list/scarySounds = list('sound/weapons/thudswoosh.ogg','sound/weapons/Taser.
23 Genetics
*/
-var/list/TAGGERLOCATIONS = list("Disposals",
+GLOBAL_LIST_INIT(TAGGERLOCATIONS, list("Disposals",
"Cargo Bay", "QM Office", "Engineering", "CE Office",
"Atmospherics", "Security", "HoS Office", "Medbay",
"CMO Office", "Chemistry", "Research", "RD Office",
"Robotics", "HoP Office", "Library", "Chapel", "Theatre",
- "Bar", "Kitchen", "Hydroponics", "Janitor Closet","Genetics")
+ "Bar", "Kitchen", "Hydroponics", "Janitor Closet","Genetics"))
-var/global/list/guitar_notes = flist("sound/guitar/")
+GLOBAL_LIST_INIT(guitar_notes, flist("sound/guitar/"))
-var/global/list/station_prefixes = list("", "Imperium", "Heretical", "Cuban",
+GLOBAL_LIST_INIT(station_prefixes, list("", "Imperium", "Heretical", "Cuban",
"Psychic", "Elegant", "Common", "Uncommon", "Rare", "Unique",
"Houseruled", "Religious", "Atheist", "Traditional", "Houseruled",
"Mad", "Super", "Ultra", "Secret", "Top Secret", "Deep", "Death",
"Zybourne", "Central", "Main", "Government", "Uoi", "Fat",
- "Automated", "Experimental", "Augmented")
+ "Automated", "Experimental", "Augmented"))
-var/global/list/station_names = list("", "Stanford", "Dorf", "Alium",
+GLOBAL_LIST_INIT(station_names, list("", "Stanford", "Dorf", "Alium",
"Prefix", "Clowning", "Aegis", "Ishimura", "Scaredy", "Death-World",
"Mime", "Honk", "Rogue", "MacRagge", "Ultrameens", "Safety", "Paranoia",
"Explosive", "Neckbear", "Donk", "Muppet", "North", "West", "East",
@@ -124,9 +124,9 @@ var/global/list/station_names = list("", "Stanford", "Dorf", "Alium",
"System", "Mining", "Neckbeard", "Research", "Supply", "Military",
"Orbital", "Battle", "Science", "Asteroid", "Home", "Production",
"Transport", "Delivery", "Extraplanetary", "Orbital", "Correctional",
- "Robot", "Hats", "Pizza")
+ "Robot", "Hats", "Pizza"))
-var/global/list/station_suffixes = list("Station", "Frontier",
+GLOBAL_LIST_INIT(station_suffixes, list("Station", "Frontier",
"Suffix", "Death-trap", "Space-hulk", "Lab", "Hazard","Spess Junk",
"Fishery", "No-Moon", "Tomb", "Crypt", "Hut", "Monkey", "Bomb",
"Trade Post", "Fortress", "Village", "Town", "City", "Edition", "Hive",
@@ -135,23 +135,23 @@ var/global/list/station_suffixes = list("Station", "Frontier",
"Construct", "Hangar", "Prison", "Center", "Port", "Waystation",
"Factory", "Waypoint", "Stopover", "Hub", "HQ", "Office", "Object",
"Fortification", "Colony", "Planet-Cracker", "Roost", "Fat Camp",
- "Airstrip")
+ "Airstrip"))
-var/global/list/greek_letters = list("Alpha", "Beta", "Gamma", "Delta",
+GLOBAL_LIST_INIT(greek_letters, list("Alpha", "Beta", "Gamma", "Delta",
"Epsilon", "Zeta", "Eta", "Theta", "Iota", "Kappa", "Lambda", "Mu",
"Nu", "Xi", "Omicron", "Pi", "Rho", "Sigma", "Tau", "Upsilon", "Phi",
- "Chi", "Psi", "Omega")
+ "Chi", "Psi", "Omega"))
-var/global/list/phonetic_alphabet = list("Alpha", "Bravo", "Charlie",
+GLOBAL_LIST_INIT(phonetic_alphabet, list("Alpha", "Bravo", "Charlie",
"Delta", "Echo", "Foxtrot", "Golf", "Hotel", "India", "Juliet",
"Kilo", "Lima", "Mike", "November", "Oscar", "Papa", "Quebec",
"Romeo", "Sierra", "Tango", "Uniform", "Victor", "Whiskey", "X-ray",
- "Yankee", "Zulu")
+ "Yankee", "Zulu"))
-var/global/list/numbers_as_words = list("One", "Two", "Three", "Four",
+GLOBAL_LIST_INIT(numbers_as_words, list("One", "Two", "Three", "Four",
"Five", "Six", "Seven", "Eight", "Nine", "Ten", "Eleven", "Twelve",
"Thirteen", "Fourteen", "Fifteen", "Sixteen", "Seventeen",
- "Eighteen", "Nineteen")
+ "Eighteen", "Nineteen"))
/proc/generate_number_strings()
var/list/L
@@ -160,4 +160,4 @@ var/global/list/numbers_as_words = list("One", "Two", "Three", "Four",
L += "\Roman[i]"
return L
-var/global/list/station_numerals = greek_letters + phonetic_alphabet + numbers_as_words + generate_number_strings()
+GLOBAL_LIST_INIT(station_numerals, greek_letters + phonetic_alphabet + numbers_as_words + generate_number_strings())
diff --git a/code/_globalvars/lists/mapping.dm b/code/_globalvars/lists/mapping.dm
index 61f2e16c04..090000fded 100644
--- a/code/_globalvars/lists/mapping.dm
+++ b/code/_globalvars/lists/mapping.dm
@@ -3,18 +3,18 @@
#define Z_SOUTH 3
#define Z_WEST 4
-var/list/cardinal = list( NORTH, SOUTH, EAST, WEST )
-var/list/alldirs = list(NORTH, SOUTH, EAST, WEST, NORTHEAST, NORTHWEST, SOUTHEAST, SOUTHWEST)
-var/list/diagonals = list(NORTHEAST, NORTHWEST, SOUTHEAST, SOUTHWEST)
+GLOBAL_LIST_INIT(cardinal, list( NORTH, SOUTH, EAST, WEST ))
+GLOBAL_LIST_INIT(alldirs, list(NORTH, SOUTH, EAST, WEST, NORTHEAST, NORTHWEST, SOUTHEAST, SOUTHWEST))
+GLOBAL_LIST_INIT(diagonals, list(NORTHEAST, NORTHWEST, SOUTHEAST, SOUTHWEST))
//This list contains the z-level numbers which can be accessed via space travel and the percentile chances to get there.
//(Exceptions: extended, sandbox and nuke) -Errorage
//Was list("3" = 30, "4" = 70).
//Spacing should be a reliable method of getting rid of a body -- Urist.
//Go away Urist, I'm restoring this to the longer list. ~Errorage
-var/list/accessable_z_levels = list(1,3,4,5,6,7) //Keep this to six maps, repeating z-levels is ok if needed
+GLOBAL_LIST_INIT(accessable_z_levels, list(1,3,4,5,6,7)) //Keep this to six maps, repeating z-levels is ok if needed
-var/global/list/global_map = null
+GLOBAL_LIST(global_map)
//list/global_map = list(list(1,5),list(4,3))//an array of map Z levels.
//Resulting sector map looks like
//|_1_|_4_|
@@ -25,34 +25,32 @@ var/global/list/global_map = null
//3 - AI satellite
//5 - empty space
-var/list/landmarks_list = list() //list of all landmarks created
-var/list/start_landmarks_list = list() //list of all spawn points created
-var/list/department_security_spawns = list() //list of all department security spawns
-var/list/generic_event_spawns = list() //list of all spawns for events
+GLOBAL_LIST_EMPTY(landmarks_list) //list of all landmarks created
+GLOBAL_LIST_EMPTY(start_landmarks_list) //list of all spawn points created
+GLOBAL_LIST_EMPTY(department_security_spawns) //list of all department security spawns
+GLOBAL_LIST_EMPTY(generic_event_spawns) //list of all spawns for events
-var/list/monkeystart = list()
-var/list/wizardstart = list()
-var/list/newplayer_start = list()
-var/list/latejoin = list()
-var/list/prisonwarp = list() //prisoners go to these
-var/list/holdingfacility = list() //captured people go here
-var/list/xeno_spawn = list()//Aliens spawn at these.
-var/list/tdome1 = list()
-var/list/tdome2 = list()
-var/list/tdomeobserve = list()
-var/list/tdomeadmin = list()
-var/list/prisonsecuritywarp = list() //prison security goes to these
-var/list/prisonwarped = list() //list of players already warped
-var/list/blobstart = list()
-var/list/secequipment = list()
-var/list/deathsquadspawn = list()
-var/list/emergencyresponseteamspawn = list()
-var/list/ruin_landmarks = list()
+GLOBAL_LIST_EMPTY(wizardstart)
+GLOBAL_LIST_EMPTY(newplayer_start)
+GLOBAL_LIST_EMPTY(latejoin)
+GLOBAL_LIST_EMPTY(prisonwarp) //prisoners go to these
+GLOBAL_LIST_EMPTY(holdingfacility) //captured people go here
+GLOBAL_LIST_EMPTY(xeno_spawn)//Aliens spawn at these.
+GLOBAL_LIST_EMPTY(tdome1)
+GLOBAL_LIST_EMPTY(tdome2)
+GLOBAL_LIST_EMPTY(tdomeobserve)
+GLOBAL_LIST_EMPTY(tdomeadmin)
+GLOBAL_LIST_EMPTY(prisonwarped) //list of players already warped
+GLOBAL_LIST_EMPTY(blobstart)
+GLOBAL_LIST_EMPTY(secequipment)
+GLOBAL_LIST_EMPTY(deathsquadspawn)
+GLOBAL_LIST_EMPTY(emergencyresponseteamspawn)
+GLOBAL_LIST_EMPTY(ruin_landmarks)
//away missions
-var/list/awaydestinations = list() //a list of landmarks that the warpgate can take you to
+GLOBAL_LIST_EMPTY(awaydestinations) //a list of landmarks that the warpgate can take you to
//used by jump-to-area etc. Updated by area/updateName()
-var/list/sortedAreas = list()
+GLOBAL_LIST_EMPTY(sortedAreas)
-var/list/transit_markers = list()
+GLOBAL_LIST_EMPTY(transit_markers)
diff --git a/code/_globalvars/lists/mobs.dm b/code/_globalvars/lists/mobs.dm
index 876a11a7a8..dab5da659e 100644
--- a/code/_globalvars/lists/mobs.dm
+++ b/code/_globalvars/lists/mobs.dm
@@ -1,16 +1,21 @@
-var/list/clients = list() //all clients
-var/list/admins = list() //all clients whom are admins
-var/list/deadmins = list() //all clients who have used the de-admin verb.
-var/list/directory = list() //all ckeys with associated client
-var/list/stealthminID = list() //reference list with IDs that store ckeys, for stealthmins
+GLOBAL_LIST_EMPTY(clients) //all clients
+GLOBAL_LIST_EMPTY(admins) //all clients whom are admins
+GLOBAL_PROTECT(admins)
+GLOBAL_LIST_EMPTY(deadmins) //all clients who have used the de-admin verb.
+GLOBAL_PROTECT(deadmins)
+GLOBAL_LIST_EMPTY(directory) //all ckeys with associated client
+GLOBAL_LIST_EMPTY(stealthminID) //reference list with IDs that store ckeys, for stealthmins
//Since it didn't really belong in any other category, I'm putting this here
//This is for procs to replace all the goddamn 'in world's that are chilling around the code
-var/global/list/player_list = list() //all mobs **with clients attached**. Excludes /mob/dead/new_player
-var/global/list/mob_list = list() //all mobs, including clientless
-var/global/list/living_mob_list = list() //all alive mobs, including clientless. Excludes /mob/dead/new_player
-var/global/list/dead_mob_list = list() //all dead mobs, including clientless. Excludes /mob/dead/new_player
-var/global/list/joined_player_list = list() //all clients that have joined the game at round-start or as a latejoin.
-var/global/list/silicon_mobs = list() //all silicon mobs
-var/global/list/pai_list = list()
\ No newline at end of file
+GLOBAL_LIST_EMPTY(player_list) //all mobs **with clients attached**. Excludes /mob/dead/new_player
+GLOBAL_LIST_EMPTY(mob_list) //all mobs, including clientless
+GLOBAL_LIST_EMPTY(living_mob_list) //all alive mobs, including clientless. Excludes /mob/dead/new_player
+GLOBAL_LIST_EMPTY(dead_mob_list) //all dead mobs, including clientless. Excludes /mob/dead/new_player
+GLOBAL_LIST_EMPTY(joined_player_list) //all clients that have joined the game at round-start or as a latejoin.
+GLOBAL_LIST_EMPTY(silicon_mobs) //all silicon mobs
+GLOBAL_LIST_EMPTY(ai_list)
+GLOBAL_LIST_EMPTY(pai_list)
+GLOBAL_LIST_EMPTY(available_ai_shells)
+GLOBAL_LIST_EMPTY(language_datums)
\ No newline at end of file
diff --git a/code/_globalvars/lists/names.dm b/code/_globalvars/lists/names.dm
index 736419e4a0..5f189b8f94 100644
--- a/code/_globalvars/lists/names.dm
+++ b/code/_globalvars/lists/names.dm
@@ -1,22 +1,23 @@
-var/list/ai_names = file2list("config/names/ai.txt")
-var/list/wizard_first = file2list("config/names/wizardfirst.txt")
-var/list/wizard_second = file2list("config/names/wizardsecond.txt")
-var/list/ninja_titles = file2list("config/names/ninjatitle.txt")
-var/list/ninja_names = file2list("config/names/ninjaname.txt")
-var/list/commando_names = file2list("config/names/death_commando.txt")
-var/list/first_names_male = file2list("config/names/first_male.txt")
-var/list/first_names_female = file2list("config/names/first_female.txt")
-var/list/last_names = file2list("config/names/last.txt")
-var/list/lizard_names_male = file2list("config/names/lizard_male.txt")
-var/list/lizard_names_female = file2list("config/names/lizard_female.txt")
-var/list/clown_names = file2list("config/names/clown.txt")
-var/list/mime_names = file2list("config/names/mime.txt")
-var/list/carp_names = file2list("config/names/carp.txt")
-var/list/golem_names = file2list("config/names/golem.txt")
-var/list/plasmaman_names = file2list("config/names/plasmaman.txt")
+GLOBAL_LIST_INIT(ai_names, file2list("config/names/ai.txt"))
+GLOBAL_LIST_INIT(wizard_first, file2list("config/names/wizardfirst.txt"))
+GLOBAL_LIST_INIT(wizard_second, file2list("config/names/wizardsecond.txt"))
+GLOBAL_LIST_INIT(ninja_titles, file2list("config/names/ninjatitle.txt"))
+GLOBAL_LIST_INIT(ninja_names, file2list("config/names/ninjaname.txt"))
+GLOBAL_LIST_INIT(commando_names, file2list("config/names/death_commando.txt"))
+GLOBAL_LIST_INIT(first_names_male, file2list("config/names/first_male.txt"))
+GLOBAL_LIST_INIT(first_names_female, file2list("config/names/first_female.txt"))
+GLOBAL_LIST_INIT(last_names, file2list("config/names/last.txt"))
+GLOBAL_LIST_INIT(lizard_names_male, file2list("config/names/lizard_male.txt"))
+GLOBAL_LIST_INIT(lizard_names_female, file2list("config/names/lizard_female.txt"))
+GLOBAL_LIST_INIT(clown_names, file2list("config/names/clown.txt"))
+GLOBAL_LIST_INIT(mime_names, file2list("config/names/mime.txt"))
+GLOBAL_LIST_INIT(carp_names, file2list("config/names/carp.txt"))
+GLOBAL_LIST_INIT(golem_names, file2list("config/names/golem.txt"))
+GLOBAL_LIST_INIT(plasmaman_names, file2list("config/names/plasmaman.txt"))
+GLOBAL_LIST_INIT(posibrain_names, list("PBU","HIU","SINA","ARMA","OSI","HBL","MSO","RR","CHRI","CDB","HG","XSI","ORNG","GUN","KOR","MET","FRE","XIS","SLI","PKP","HOG","RZH","GOOF","MRPR","JJR","FIRC","INC","PHL","BGB","ANTR","MIW","WJ","JRD","CHOC","ANCL","JLLO","JNLG","KOS","TKRG","XAL","STLP","CBOS","DUNC","FXMC","DRSD","COI"))
-var/list/verbs = file2list("config/names/verbs.txt")
-var/list/adjectives = file2list("config/names/adjectives.txt")
+GLOBAL_LIST_INIT(verbs, file2list("config/names/verbs.txt"))
+GLOBAL_LIST_INIT(adjectives, file2list("config/names/adjectives.txt"))
//loaded on startup because of "
//would include in rsc if ' was used
diff --git a/code/_globalvars/lists/objects.dm b/code/_globalvars/lists/objects.dm
index d16ada4f05..be771e0676 100644
--- a/code/_globalvars/lists/objects.dm
+++ b/code/_globalvars/lists/objects.dm
@@ -1,30 +1,34 @@
-var/global/list/cable_list = list() //Index for all cables, so that powernets don't have to look through the entire world all the time
-var/global/list/portals = list() //list of all /obj/effect/portal
-var/global/list/airlocks = list() //list of all airlocks
-var/global/list/mechas_list = list() //list of all mechs. Used by hostile mobs target tracking.
-var/global/list/shuttle_caller_list = list() //list of all communication consoles and AIs, for automatic shuttle calls when there are none.
-var/global/list/machines = list() //NOTE: this is a list of ALL machines now. The processing machines list is SSmachine.processing !
-var/global/list/syndicate_shuttle_boards = list() //important to keep track of for managing nukeops war declarations.
-var/global/list/navbeacons = list() //list of all bot nagivation beacons, used for patrolling.
-var/global/list/teleportbeacons = list() //list of all tracking beacons used by teleporters
-var/global/list/deliverybeacons = list() //list of all MULEbot delivery beacons.
-var/global/list/deliverybeacontags = list() //list of all tags associated with delivery beacons.
-var/global/list/nuke_list = list()
-var/global/list/alarmdisplay = list() //list of all machines or programs that can display station alerts
-var/global/list/singularities = list() //list of all singularities on the station (actually technically all engines)
+GLOBAL_LIST_EMPTY(cable_list) //Index for all cables, so that powernets don't have to look through the entire world all the time
+GLOBAL_LIST_EMPTY(portals) //list of all /obj/effect/portal
+GLOBAL_LIST_EMPTY(airlocks) //list of all airlocks
+GLOBAL_LIST_EMPTY(mechas_list) //list of all mechs. Used by hostile mobs target tracking.
+GLOBAL_LIST_EMPTY(shuttle_caller_list) //list of all communication consoles and AIs, for automatic shuttle calls when there are none.
+GLOBAL_LIST_EMPTY(machines) //NOTE: this is a list of ALL machines now. The processing machines list is SSmachine.processing !
+GLOBAL_LIST_EMPTY(syndicate_shuttle_boards) //important to keep track of for managing nukeops war declarations.
+GLOBAL_LIST_EMPTY(navbeacons) //list of all bot nagivation beacons, used for patrolling.
+GLOBAL_LIST_EMPTY(teleportbeacons) //list of all tracking beacons used by teleporters
+GLOBAL_LIST_EMPTY(deliverybeacons) //list of all MULEbot delivery beacons.
+GLOBAL_LIST_EMPTY(deliverybeacontags) //list of all tags associated with delivery beacons.
+GLOBAL_LIST_EMPTY(nuke_list)
+GLOBAL_LIST_EMPTY(alarmdisplay) //list of all machines or programs that can display station alerts
+GLOBAL_LIST_EMPTY(singularities) //list of all singularities on the station (actually technically all engines)
-var/global/list/chemical_reactions_list //list of all /datum/chemical_reaction datums. Used during chemical reactions
-var/global/list/chemical_reagents_list //list of all /datum/reagent datums indexed by reagent id. Used by chemistry stuff
-var/global/list/materials_list = list() //list of all /datum/material datums indexed by material id.
-var/global/list/tech_list = list() //list of all /datum/tech datums indexed by id.
-var/global/list/surgeries_list = list() //list of all surgeries by name, associated with their path.
-var/global/list/crafting_recipes = list() //list of all table craft recipes
-var/global/list/rcd_list = list() //list of Rapid Construction Devices.
-var/global/list/apcs_list = list() //list of all Area Power Controller machines, seperate from machines for powernet speeeeeeed.
-var/global/list/tracked_implants = list() //list of all current implants that are tracked to work out what sort of trek everyone is on. Sadly not on lavaworld not implemented...
-var/global/list/tracked_chem_implants = list() //list of implants the prisoner console can track and send inject commands too
-var/global/list/poi_list = list() //list of points of interest for observe/follow
-var/global/list/pinpointer_list = list() //list of all pinpointers. Used to change stuff they are pointing to all at once.
-var/global/list/zombie_infection_list = list() // A list of all zombie_infection organs, for any mass "animation"
-var/global/list/meteor_list = list() // List of all meteors.
-var/global/list/active_jammers = list() // List of active radio jammers
+GLOBAL_LIST(chemical_reactions_list) //list of all /datum/chemical_reaction datums. Used during chemical reactions
+GLOBAL_LIST(chemical_reagents_list) //list of all /datum/reagent datums indexed by reagent id. Used by chemistry stuff
+GLOBAL_LIST_EMPTY(materials_list) //list of all /datum/material datums indexed by material id.
+GLOBAL_LIST_EMPTY(tech_list) //list of all /datum/tech datums indexed by id.
+GLOBAL_LIST_EMPTY(surgeries_list) //list of all surgeries by name, associated with their path.
+GLOBAL_LIST_EMPTY(crafting_recipes) //list of all table craft recipes
+GLOBAL_LIST_EMPTY(rcd_list) //list of Rapid Construction Devices.
+GLOBAL_LIST_EMPTY(apcs_list) //list of all Area Power Controller machines, seperate from machines for powernet speeeeeeed.
+GLOBAL_LIST_EMPTY(tracked_implants) //list of all current implants that are tracked to work out what sort of trek everyone is on. Sadly not on lavaworld not implemented...
+GLOBAL_LIST_EMPTY(tracked_chem_implants) //list of implants the prisoner console can track and send inject commands too
+GLOBAL_LIST_EMPTY(poi_list) //list of points of interest for observe/follow
+GLOBAL_LIST_EMPTY(pinpointer_list) //list of all pinpointers. Used to change stuff they are pointing to all at once.
+GLOBAL_LIST_EMPTY(zombie_infection_list) // A list of all zombie_infection organs, for any mass "animation"
+GLOBAL_LIST_EMPTY(meteor_list) // List of all meteors.
+GLOBAL_LIST_EMPTY(active_jammers) // List of active radio jammers
+GLOBAL_LIST_EMPTY(ladders)
+
+GLOBAL_LIST_EMPTY(wire_color_directory)
+GLOBAL_LIST_EMPTY(wire_name_directory)
\ No newline at end of file
diff --git a/code/_globalvars/lists/poll_ignore.dm b/code/_globalvars/lists/poll_ignore.dm
index 23db4f6ae6..ff6a4edd40 100644
--- a/code/_globalvars/lists/poll_ignore.dm
+++ b/code/_globalvars/lists/poll_ignore.dm
@@ -4,5 +4,6 @@
#define POLL_IGNORE_SENTIENCE_POTION "sentience_potion"
#define POLL_IGNORE_POSSESSED_BLADE "possessed_blade"
#define POLL_IGNORE_ALIEN_LARVA "alien_larva"
+#define POLL_IGNORE_CLOCKWORK_MARAUDER "clockwork_marauder"
-var/list/poll_ignore = list()
+GLOBAL_LIST_EMPTY(poll_ignore)
diff --git a/code/_globalvars/lists/typecache.dm b/code/_globalvars/lists/typecache.dm
index 5d2565c7f2..d83c708131 100644
--- a/code/_globalvars/lists/typecache.dm
+++ b/code/_globalvars/lists/typecache.dm
@@ -3,7 +3,7 @@
//Note: typecache can only replace istype if you know for sure the thing is at least a datum.
-var/list/typecache_mob = typecacheof(list(/mob))
+GLOBAL_LIST_INIT(typecache_mob, typecacheof(list(/mob)))
diff --git a/code/_globalvars/logging.dm b/code/_globalvars/logging.dm
index a673611d84..35adcef36c 100644
--- a/code/_globalvars/logging.dm
+++ b/code/_globalvars/logging.dm
@@ -1,17 +1,28 @@
-var/diary = null
-var/runtime_diary = null
-var/diaryofmeanpeople = null
-var/href_logfile = null
+GLOBAL_VAR(diary)
+GLOBAL_PROTECT(diary)
+GLOBAL_VAR(runtime_diary)
+GLOBAL_PROTECT(runtime_diary)
+GLOBAL_VAR(diaryofmeanpeople)
+GLOBAL_PROTECT(diaryofmeanpeople)
+GLOBAL_VAR(href_logfile)
+GLOBAL_PROTECT(href_logfile)
-var/list/bombers = list( )
-var/list/admin_log = list ( )
-var/list/lastsignalers = list( ) //keeps last 100 signals here in format: "[src] used \ref[src] @ location [src.loc]: [freq]/[code]"
-var/list/lawchanges = list( ) //Stores who uploaded laws to which silicon-based lifeform, and what the law was
+GLOBAL_LIST_EMPTY(bombers)
+GLOBAL_PROTECT(bombers)
+GLOBAL_LIST_EMPTY(admin_log)
+GLOBAL_PROTECT(admin_log)
+GLOBAL_LIST_EMPTY(lastsignalers) //keeps last 100 signals here in format: "[src] used \ref[src] @ location [src.loc]: [freq]/[code]"
+GLOBAL_PROTECT(lastsignalers)
+GLOBAL_LIST_EMPTY(lawchanges) //Stores who uploaded laws to which silicon-based lifeform, and what the law was
+GLOBAL_PROTECT(lawchanges)
-var/list/combatlog = list()
-var/list/IClog = list()
-var/list/OOClog = list()
-var/list/adminlog = list()
-var/list/mentorlog = list ()
+GLOBAL_LIST_EMPTY(combatlog)
+GLOBAL_PROTECT(combatlog)
+GLOBAL_LIST_EMPTY(IClog)
+GLOBAL_PROTECT(IClog)
+GLOBAL_LIST_EMPTY(OOClog)
+GLOBAL_PROTECT(OOClog)
+GLOBAL_LIST_EMPTY(adminlog)
+GLOBAL_PROTECT(adminlog)
-var/list/active_turfs_startlist = list()
+GLOBAL_LIST_EMPTY(active_turfs_startlist)
\ No newline at end of file
diff --git a/code/_globalvars/misc.dm b/code/_globalvars/misc.dm
index 734f673588..ea89f3e4e7 100644
--- a/code/_globalvars/misc.dm
+++ b/code/_globalvars/misc.dm
@@ -1,9 +1,9 @@
-var/admin_notice = "" // Admin notice that all clients see when joining the server
+GLOBAL_VAR_INIT(admin_notice, "") // Admin notice that all clients see when joining the server
-var/timezoneOffset = 0 // The difference betwen midnight (of the host computer) and 0 world.ticks.
+GLOBAL_VAR_INIT(timezoneOffset, 0) // The difference betwen midnight (of the host computer) and 0 world.ticks.
// For FTP requests. (i.e. downloading runtime logs.)
// However it'd be ok to use for accessing attack logs and such too, which are even laggier.
-var/fileaccess_timer = 0
+GLOBAL_VAR_INIT(fileaccess_timer, 0)
-var/TAB = " "
\ No newline at end of file
+GLOBAL_VAR_INIT(TAB, " ")
\ No newline at end of file
diff --git a/code/_globalvars/station.dm b/code/_globalvars/station.dm
index ba0055b58d..7af03b7ce3 100644
--- a/code/_globalvars/station.dm
+++ b/code/_globalvars/station.dm
@@ -1,8 +1,6 @@
-var/global/datum/datacore/data_core = null
-//var/global/defer_powernet_rebuild = 0 // true if net rebuild will be called manually after an event
-//Noble idea, but doing this made GC fail. The gains from waiting on deffering are lost by using del()
+GLOBAL_DATUM(data_core, /datum/datacore)
-var/CELLRATE = 0.002 // multiplier for watts per tick <> cell storage (eg: .002 means if there is a load of 1000 watts, 20 units will be taken from a cell per second)
-var/CHARGELEVEL = 0.001 // Cap for how fast cells charge, as a percentage-per-tick (.001 means cellcharge is capped to 1% per second)
+GLOBAL_VAR_INIT(CELLRATE, 0.002) // multiplier for watts per tick <> cell storage (eg: .002 means if there is a load of 1000 watts, 20 units will be taken from a cell per second)
+GLOBAL_VAR_INIT(CHARGELEVEL, 0.001) // Cap for how fast cells charge, as a percentage-per-tick (.001 means cellcharge is capped to 1% per second)
-var/list/powernets = list()
\ No newline at end of file
+GLOBAL_LIST_EMPTY(powernets)
\ No newline at end of file
diff --git a/code/js/byjax.dm b/code/_js/byjax.dm
similarity index 98%
rename from code/js/byjax.dm
rename to code/_js/byjax.dm
index 18b8180214..895cfc91d9 100644
--- a/code/js/byjax.dm
+++ b/code/_js/byjax.dm
@@ -1,5 +1,5 @@
//this function places received data into element with specified id.
-var/const/js_byjax = {"
+#define js_byjax {"
function replaceContent() {
var args = Array.prototype.slice.call(arguments);
diff --git a/code/js/menus.dm b/code/_js/menus.dm
similarity index 97%
rename from code/js/menus.dm
rename to code/_js/menus.dm
index 01137ce963..9b2fc40e68 100644
--- a/code/js/menus.dm
+++ b/code/_js/menus.dm
@@ -1,4 +1,4 @@
-var/const/js_dropdowns = {"
+#define js_dropdowns {"
function dropdowns() {
var divs = document.getElementsByTagName('div');
var headers = new Array();
diff --git a/code/_onclick/ai.dm b/code/_onclick/ai.dm
index 232fe649e6..6b4d9aad1c 100644
--- a/code/_onclick/ai.dm
+++ b/code/_onclick/ai.dm
@@ -37,7 +37,7 @@
var/turf/pixel_turf = get_turf_pixel(A)
var/turf_visible
if(pixel_turf)
- turf_visible = cameranet.checkTurfVis(pixel_turf)
+ turf_visible = GLOB.cameranet.checkTurfVis(pixel_turf)
if(!turf_visible)
if(istype(loc, /obj/item/device/aicard) && (pixel_turf in view(client.view, loc)))
turf_visible = TRUE
@@ -45,7 +45,9 @@
if (pixel_turf.obscured)
log_admin("[key_name_admin(src)] might be running a modified client! (failed checkTurfVis on AI click of [A]([COORD(pixel_turf)])")
message_admins("[key_name_admin(src)] might be running a modified client! (failed checkTurfVis on AI click of [A]([ADMIN_COORDJMP(pixel_turf)]))")
- send2irc_adminless_only("NOCHEAT", "[key_name(src)] might be running a modified client! (failed checkTurfVis on AI click of [A]([COORD(pixel_turf)]))")
+ if(REALTIMEOFDAY >= chnotify + 9000)
+ chnotify = REALTIMEOFDAY
+ send2irc_adminless_only("NOCHEAT", "[key_name(src)] might be running a modified client! (failed checkTurfVis on AI click of [A]([COORD(pixel_turf)]))")
return
var/list/modifiers = params2list(params)
@@ -188,4 +190,4 @@
//
/mob/living/silicon/ai/TurfAdjacent(var/turf/T)
- return (cameranet && cameranet.checkTurfVis(T))
+ return (GLOB.cameranet && GLOB.cameranet.checkTurfVis(T))
diff --git a/code/_onclick/click.dm b/code/_onclick/click.dm
index 0f17f1775a..0fe37a9286 100644
--- a/code/_onclick/click.dm
+++ b/code/_onclick/click.dm
@@ -31,13 +31,16 @@
Note that this proc can be overridden, and is in the case of screen objects.
*/
/atom/Click(location,control,params)
- usr.ClickOn(src, params)
+ if(initialized)
+ usr.ClickOn(src, params)
/atom/DblClick(location,control,params)
- usr.DblClickOn(src,params)
+ if(initialized)
+ usr.DblClickOn(src,params)
/atom/MouseWheel(delta_x,delta_y,location,control,params)
- usr.MouseWheelOn(src, delta_x, delta_y, params)
+ if(initialized)
+ usr.MouseWheelOn(src, delta_x, delta_y, params)
/*
Standard mob ClickOn()
@@ -114,10 +117,7 @@
if(A.ClickAccessible(src, depth=INVENTORY_DEPTH))
// No adjacency needed
if(W)
- if(W.pre_attackby(A,src,params))
- var/resolved = A.attackby(W,src)
- if(!resolved && A && W)
- W.afterattack(A,src,1,params) // 1 indicates adjacency
+ melee_item_attack_chain(src, W, A, params)
else
if(ismob(A))
changeNext_move(CLICK_CD_MELEE)
@@ -131,11 +131,7 @@
if(isturf(A) || isturf(A.loc) || (A.loc && isturf(A.loc.loc)))
if(Adjacent(A) || (W && CheckReach(src, A, W.reach))) //Adjacent or reaching attacks
if(W)
- if(W.pre_attackby(A,src,params))
- // Return 1 in attackby() to prevent afterattack() effects (when safely moving items for example)
- var/resolved = A.attackby(W,src,params)
- if(!resolved && A && W)
- W.afterattack(A,src,1,params) // 1: clicking something Adjacent
+ melee_item_attack_chain(src, W, A, params)
else
if(ismob(A))
changeNext_move(CLICK_CD_MELEE)
@@ -163,7 +159,7 @@
if(dummy.loc == there.loc)
qdel(dummy)
return 1
- if(there.density && dummy in range(1, there)) //For windows and
+ if(there.density && dummy in range(1, there)) //For windows and suchlike
qdel(dummy)
return 1
if(!dummy.Move(T)) //we're blocked!
diff --git a/code/_onclick/cyborg.dm b/code/_onclick/cyborg.dm
index fdb98af512..578e6cd378 100644
--- a/code/_onclick/cyborg.dm
+++ b/code/_onclick/cyborg.dm
@@ -68,11 +68,7 @@
// cyborgs are prohibited from using storage items so we can I think safely remove (A.loc in contents)
if(A == loc || (A in loc) || (A in contents))
- // No adjacency checks
- if(W.pre_attackby(A,src,params))
- var/resolved = A.attackby(W,src, params)
- if(!resolved && A && W)
- W.afterattack(A,src,1,params)
+ melee_item_attack_chain(src, W, A, params)
return
if(!isturf(loc))
@@ -81,10 +77,7 @@
// cyborgs are prohibited from using storage items so we can I think safely remove (A.loc && isturf(A.loc.loc))
if(isturf(A) || isturf(A.loc))
if(A.Adjacent(src)) // see adjacent.dm
- if(W.pre_attackby(A,src,params))
- var/resolved = A.attackby(W, src, params)
- if(!resolved && A && W)
- W.afterattack(A, src, 1, params)
+ melee_item_attack_chain(src, W, A, params)
return
else
W.afterattack(A, src, 0, params)
diff --git a/code/_onclick/hud/_defines.dm b/code/_onclick/hud/_defines.dm
index c621458533..90c953a110 100644
--- a/code/_onclick/hud/_defines.dm
+++ b/code/_onclick/hud/_defines.dm
@@ -25,6 +25,7 @@
#define ui_lingstingdisplay "WEST:6,CENTER-3:11"
#define ui_crafting "12:-10,1:5"
#define ui_building "12:-10,1:21"
+#define ui_language_menu "11:6,2:-11"
#define ui_devilsouldisplay "WEST:6,CENTER-1:15"
@@ -61,16 +62,16 @@
#define ui_borg_store "CENTER+2:16,SOUTH:5" //borgs
#define ui_borg_camera "CENTER+3:21,SOUTH:5" //borgs
#define ui_borg_album "CENTER+4:21,SOUTH:5" //borgs
-#define ui_borg_talk_wheel "CENTER+4:21,SOUTH+1:5" //borgs
+#define ui_borg_language_menu "CENTER+4:21,SOUTH+1:5" //borgs
-#define ui_monkey_head "CENTER-4:13,SOUTH:5" //monkey
-#define ui_monkey_mask "CENTER-3:14,SOUTH:5" //monkey
-#define ui_monkey_neck "CENTER-2:15,SOUTH:5" //monkey
-#define ui_monkey_back "CENTER-1:16,SOUTH:5" //monkey
+#define ui_monkey_head "CENTER-5:13,SOUTH:5" //monkey
+#define ui_monkey_mask "CENTER-4:14,SOUTH:5" //monkey
+#define ui_monkey_neck "CENTER-3:15,SOUTH:5" //monkey
+#define ui_monkey_back "CENTER-2:16,SOUTH:5" //monkey
#define ui_alien_storage_l "CENTER-2:14,SOUTH:5"//alien
#define ui_alien_storage_r "CENTER+1:18,SOUTH:5"//alien
-#define ui_alien_talk_wheel "EAST-3:26,SOUTH:5" //alien
+#define ui_alien_language_menu "EAST-3:26,SOUTH:5" //alien
#define ui_drone_drop "CENTER+1:18,SOUTH:5" //maintenance drones
#define ui_drone_pull "CENTER+2:2,SOUTH:5" //maintenance drones
diff --git a/code/_onclick/hud/ai.dm b/code/_onclick/hud/ai.dm
index c26e54eae9..a5bc86dabe 100644
--- a/code/_onclick/hud/ai.dm
+++ b/code/_onclick/hud/ai.dm
@@ -53,7 +53,7 @@
if(..())
return
var/mob/living/silicon/ai/AI = usr
- crewmonitor.show(AI)
+ GLOB.crewmonitor.show(AI)
/obj/screen/ai/crew_manifest
name = "Crew Manifest"
@@ -167,6 +167,11 @@
..()
var/obj/screen/using
+// Language menu
+ using = new /obj/screen/language_menu
+ using.screen_loc = ui_borg_language_menu
+ static_inventory += using
+
//AI core
using = new /obj/screen/ai/aicore()
using.screen_loc = ui_ai_core
diff --git a/code/_onclick/hud/alert.dm b/code/_onclick/hud/alert.dm
index 636675c8ac..e83cfadedf 100644
--- a/code/_onclick/hud/alert.dm
+++ b/code/_onclick/hud/alert.dm
@@ -276,7 +276,7 @@ or shoot a gun to move around via Newton's 3rd Law of Motion."
return ..()
/obj/screen/alert/clockwork/scripture_reqs/process()
- if(clockwork_gateway_activated)
+ if(GLOB.clockwork_gateway_activated)
qdel(src)
return
var/current_state
@@ -288,7 +288,7 @@ or shoot a gun to move around via Newton's 3rd Law of Motion."
icon_state = "no"
if(!current_state)
name = "Current Objective"
- for(var/obj/structure/destructible/clockwork/massive/celestial_gateway/G in all_clockwork_objects)
+ for(var/obj/structure/destructible/clockwork/massive/celestial_gateway/G in GLOB.all_clockwork_objects)
var/area/gate_area = get_area(G)
desc = "Protect the Ark at [gate_area.map_name]! "
return
@@ -298,7 +298,7 @@ or shoot a gun to move around via Newton's 3rd Law of Motion."
name = "Next Tier Requirements"
var/validservants = 0
var/unconverted_ais_exist = get_unconverted_ais()
- for(var/mob/living/L in living_mob_list)
+ for(var/mob/living/L in GLOB.living_mob_list)
if(is_servant_of_ratvar(L) && (ishuman(L) || issilicon(L)))
validservants++
var/req_servants = 0
@@ -328,14 +328,14 @@ or shoot a gun to move around via Newton's 3rd Law of Motion."
icon_state += "-servants" //in this manner, generate an icon key based on what we're missing
else
textlist += ": \[CHECK\] "
- textlist += "[clockwork_caches]/[req_caches] Tinkerer's Caches"
- if(clockwork_caches < req_caches)
+ textlist += "[GLOB.clockwork_caches]/[req_caches] Tinkerer's Caches"
+ if(GLOB.clockwork_caches < req_caches)
icon_state += "-caches"
else
textlist += ": \[CHECK\] "
if(req_cv) //cv only shows up if the tier requires it
- textlist += "[clockwork_construction_value]/[req_cv] Construction Value"
- if(clockwork_construction_value < req_cv)
+ textlist += "[GLOB.clockwork_construction_value]/[req_cv] Construction Value"
+ if(GLOB.clockwork_construction_value < req_cv)
icon_state += "-cv"
else
textlist += ": \[CHECK\] "
@@ -356,7 +356,7 @@ or shoot a gun to move around via Newton's 3rd Law of Motion."
icon_state = "clockinfo"
/obj/screen/alert/clockwork/infodump/MouseEntered(location,control,params)
- if(ratvar_awakens)
+ if(GLOB.ratvar_awakens)
desc = "CHETR NYY HAGEHUGF-NAQ-UBABE RATVAR. "
else
var/servants = 0
@@ -364,7 +364,7 @@ or shoot a gun to move around via Newton's 3rd Law of Motion."
var/unconverted_ais_exist = get_unconverted_ais()
var/list/scripture_states = scripture_unlock_check()
var/list/textlist
- for(var/mob/living/L in living_mob_list)
+ for(var/mob/living/L in GLOB.living_mob_list)
if(is_servant_of_ratvar(L))
servants++
if(ishuman(L) || issilicon(L))
@@ -376,13 +376,13 @@ or shoot a gun to move around via Newton's 3rd Law of Motion."
textlist = list("[servants] Servants, [validservants ? "[validservants] of which counts":"none of which count"] towards scripture. ")
else
textlist = list("[servants] Servant, who [validservants ? "counts":"does not count"] towards scripture. ")
- textlist += "[clockwork_caches ? "[clockwork_caches] Tinkerer's Caches.":"No Tinkerer's Caches, construct one!"] \
- [clockwork_construction_value] Construction Value. "
- if(clockwork_daemons)
- textlist += "[clockwork_daemons] Tinkerer's Daemons: [servants * 0.2 < clockwork_daemons ? "DISABLED":"ACTIVE"] "
+ textlist += "[GLOB.clockwork_caches ? "[GLOB.clockwork_caches] Tinkerer's Caches.":"No Tinkerer's Caches, construct one!"] \
+ [GLOB.clockwork_construction_value] Construction Value. "
+ if(GLOB.clockwork_daemons)
+ textlist += "[GLOB.clockwork_daemons] Tinkerer's Daemons: [servants * 0.2 < GLOB.clockwork_daemons ? "DISABLED":"ACTIVE"] "
else
textlist += "No Tinkerer's Daemons. "
- for(var/obj/structure/destructible/clockwork/massive/celestial_gateway/G in all_clockwork_objects)
+ for(var/obj/structure/destructible/clockwork/massive/celestial_gateway/G in GLOB.all_clockwork_objects)
var/area/gate_area = get_area(G)
textlist += "Ark Location: [uppertext(gate_area.map_name)] "
if(G.still_needs_components())
@@ -392,20 +392,17 @@ or shoot a gun to move around via Newton's 3rd Law of Motion."
textlist += "[G.required_components[i]] "
textlist += " "
else
- if(G.ratvar_portal)
- textlist += "Seconds until Ratvar's arrival: [G.get_arrival_text(TRUE)] "
- else
- textlist += "Seconds until Proselytization: [G.get_arrival_text(TRUE)] "
+ textlist += "Seconds until Ratvar's arrival: [G.get_arrival_text(TRUE)] "
if(unconverted_ais_exist)
if(unconverted_ais_exist > 1)
textlist += "[unconverted_ais_exist] unconverted AIs exist! "
else
textlist += "An unconverted AI exists! "
if(scripture_states[SCRIPTURE_REVENANT])
- var/inathneq_available = clockwork_generals_invoked["inath-neq"] <= world.time
- var/sevtug_available = clockwork_generals_invoked["sevtug"] <= world.time
- var/nezbere_available = clockwork_generals_invoked["nezbere"] <= world.time
- var/nezcrentr_available = clockwork_generals_invoked["nzcrentr"] <= world.time
+ var/inathneq_available = GLOB.clockwork_generals_invoked["inath-neq"] <= world.time
+ var/sevtug_available = GLOB.clockwork_generals_invoked["sevtug"] <= world.time
+ var/nezbere_available = GLOB.clockwork_generals_invoked["nezbere"] <= world.time
+ var/nezcrentr_available = GLOB.clockwork_generals_invoked["nzcrentr"] <= world.time
if(inathneq_available || sevtug_available || nezbere_available || nezcrentr_available)
textlist += "Generals available:[inathneq_available ? "INATH-NEQ ":""][sevtug_available ? "SEVTUG ":""]\
[nezbere_available ? "NEZBERE ":""][nezcrentr_available ? "NZCRENTR ":""] "
diff --git a/code/_onclick/hud/alien.dm b/code/_onclick/hud/alien.dm
index 0c5ca7782c..56f97a3f28 100644
--- a/code/_onclick/hud/alien.dm
+++ b/code/_onclick/hud/alien.dm
@@ -63,9 +63,8 @@
H.leap_icon.screen_loc = ui_alien_storage_r
static_inventory += H.leap_icon
- using = new/obj/screen/wheel/talk
- using.screen_loc = ui_alien_talk_wheel
- wheels += using
+ using = new/obj/screen/language_menu
+ using.screen_loc = ui_alien_language_menu
static_inventory += using
using = new /obj/screen/drop()
diff --git a/code/_onclick/hud/alien_larva.dm b/code/_onclick/hud/alien_larva.dm
index 34d64b1bc7..0f044a2bc7 100644
--- a/code/_onclick/hud/alien_larva.dm
+++ b/code/_onclick/hud/alien_larva.dm
@@ -18,9 +18,8 @@
pull_icon.screen_loc = ui_pull_resist
hotkeybuttons += pull_icon
- using = new/obj/screen/wheel/talk
- using.screen_loc = ui_alien_talk_wheel
- wheels += using
+ using = new/obj/screen/language_menu
+ using.screen_loc = ui_alien_language_menu
static_inventory += using
zone_select = new /obj/screen/zone_sel/alien()
diff --git a/code/_onclick/hud/hud.dm b/code/_onclick/hud/hud.dm
index 8e02b2cbf7..b1b4a1cbb3 100644
--- a/code/_onclick/hud/hud.dm
+++ b/code/_onclick/hud/hud.dm
@@ -33,8 +33,6 @@
var/obj/screen/throw_icon
var/obj/screen/module_store_icon
- var/list/wheels = list() //list of the wheel screen objects
-
var/list/static_inventory = list() //the screen objects which are static
var/list/toggleable_inventory = list() //the screen objects which can be hidden
var/list/obj/screen/hotkeybuttons = list() //the buttons that can be used via hotkeys
@@ -78,8 +76,6 @@
qdel(module_store_icon)
module_store_icon = null
- wheels = null //all wheels are also in static_inventory
-
if(static_inventory.len)
for(var/thing in static_inventory)
qdel(thing)
@@ -136,15 +132,15 @@
/mob/proc/create_mob_hud()
if(client && !hud_used)
hud_used = new /datum/hud(src)
+ update_sight()
//Version denotes which style should be displayed. blank or 0 means "next version"
/datum/hud/proc/show_hud(version = 0,mob/viewmob)
if(!ismob(mymob))
return 0
- if(!mymob.client)
- return 0
-
var/mob/screenmob = viewmob || mymob
+ if(!screenmob.client)
+ return 0
screenmob.client.screen = list()
@@ -166,7 +162,7 @@
if(infodisplay.len)
screenmob.client.screen += infodisplay
- mymob.client.screen += hide_actions_toggle
+ screenmob.client.screen += hide_actions_toggle
if(action_intent)
action_intent.screen_loc = initial(action_intent.screen_loc) //Restore intent selection to the original position
@@ -210,7 +206,7 @@
mymob.update_action_buttons(1)
reorganize_alerts()
mymob.reload_fullscreen()
- create_parallax()
+ update_parallax_pref(screenmob)
/datum/hud/human/show_hud(version = 0,mob/viewmob)
@@ -227,16 +223,6 @@
/datum/hud/proc/persistent_inventory_update(mob/viewer)
if(!mymob)
return
- var/mob/living/L = mymob
-
- var/mob/screenmob = viewer || L
-
- for(var/X in wheels)
- var/obj/screen/wheel/W = X
- if(W.toggled)
- screenmob.client.screen |= W.buttons_list
- else
- screenmob.client.screen -= W.buttons_list
//Triggered when F12 is pressed (Unless someone changed something in the DMF)
/mob/verb/button_pressed_F12()
diff --git a/code/_onclick/hud/human.dm b/code/_onclick/hud/human.dm
index 2654e9308e..f35579c16b 100644
--- a/code/_onclick/hud/human.dm
+++ b/code/_onclick/hud/human.dm
@@ -96,9 +96,8 @@
using.icon = ui_style
static_inventory += using
- using = new/obj/screen/wheel/talk
+ using = new/obj/screen/language_menu
using.icon = ui_style
- wheels += using
static_inventory += using
using = new /obj/screen/area_creator
diff --git a/code/_onclick/hud/monkey.dm b/code/_onclick/hud/monkey.dm
index 281ca46544..06dbf15cd7 100644
--- a/code/_onclick/hud/monkey.dm
+++ b/code/_onclick/hud/monkey.dm
@@ -15,9 +15,8 @@
using.screen_loc = ui_movi
static_inventory += using
- using = new/obj/screen/wheel/talk
+ using = new/obj/screen/language_menu
using.icon = ui_style
- wheels += using
static_inventory += using
using = new /obj/screen/drop()
@@ -70,8 +69,7 @@
inv_box.name = "back"
inv_box.icon = ui_style
inv_box.icon_state = "back"
- inv_box.icon_full = "template_small"
- inv_box.screen_loc = ui_back
+ inv_box.screen_loc = ui_monkey_back
inv_box.slot_id = slot_back
static_inventory += inv_box
@@ -124,7 +122,7 @@
if(hud_shown)
if(M.back)
- M.back.screen_loc = ui_back
+ M.back.screen_loc = ui_monkey_back
M.client.screen += M.back
if(M.wear_mask)
M.wear_mask.screen_loc = ui_monkey_mask
diff --git a/code/_onclick/hud/parallax.dm b/code/_onclick/hud/parallax.dm
index 37266be949..df0894403c 100644
--- a/code/_onclick/hud/parallax.dm
+++ b/code/_onclick/hud/parallax.dm
@@ -11,9 +11,10 @@
var/parallax_layers_max = 3
var/parallax_animate_timer
-/datum/hud/proc/create_parallax()
- var/client/C = mymob.client
- if (!apply_parallax_pref())
+/datum/hud/proc/create_parallax(mob/viewmob)
+ var/mob/screenmob = viewmob || mymob
+ var/client/C = screenmob.client
+ if (!apply_parallax_pref(viewmob)) //don't want shit computers to crash when specing someone with insane parallax, so use the viewer's pref
return
if(!length(C.parallax_layers_cached))
@@ -27,7 +28,10 @@
C.parallax_layers.len = C.parallax_layers_max
C.screen |= (C.parallax_layers)
- var/obj/screen/plane_master/PM = plane_masters["[PLANE_SPACE]"]
+ var/obj/screen/plane_master/PM = screenmob.hud_used.plane_masters["[PLANE_SPACE]"]
+ if(screenmob != mymob)
+ C.screen -= locate(/obj/screen/plane_master/parallax_white) in C.screen
+ C.screen += PM
PM.color = list(
0, 0, 0, 0,
0, 0, 0, 0,
@@ -37,15 +41,20 @@
)
-/datum/hud/proc/remove_parallax()
- var/client/C = mymob.client
+/datum/hud/proc/remove_parallax(mob/viewmob)
+ var/mob/screenmob = viewmob || mymob
+ var/client/C = screenmob.client
C.screen -= (C.parallax_layers_cached)
- var/obj/screen/plane_master/PM = plane_masters["[PLANE_SPACE]"]
+ var/obj/screen/plane_master/PM = screenmob.hud_used.plane_masters["[PLANE_SPACE]"]
+ if(screenmob != mymob)
+ C.screen -= locate(/obj/screen/plane_master/parallax_white) in C.screen
+ C.screen += PM
PM.color = initial(PM.color)
C.parallax_layers = null
-/datum/hud/proc/apply_parallax_pref()
- var/client/C = mymob.client
+/datum/hud/proc/apply_parallax_pref(mob/viewmob)
+ var/mob/screenmob = viewmob || mymob
+ var/client/C = screenmob.client
if(C.prefs)
var/pref = C.prefs.parallax
if (isnull(pref))
@@ -75,9 +84,9 @@
C.parallax_layers_max = 3
return TRUE
-/datum/hud/proc/update_parallax_pref()
- remove_parallax()
- create_parallax()
+/datum/hud/proc/update_parallax_pref(mob/viewmob)
+ remove_parallax(viewmob)
+ create_parallax(viewmob)
// This sets which way the current shuttle is moving (returns true if the shuttle has stopped moving so the caller can append their animation)
/datum/hud/proc/set_parallax_movedir(new_parallax_movedir, skip_windups)
diff --git a/code/_onclick/hud/plane_master.dm b/code/_onclick/hud/plane_master.dm
index 1a7450eb17..3db20f2099 100644
--- a/code/_onclick/hud/plane_master.dm
+++ b/code/_onclick/hud/plane_master.dm
@@ -3,6 +3,14 @@
icon_state = "blank"
appearance_flags = PLANE_MASTER|NO_CLIENT_COLOR
blend_mode = BLEND_OVERLAY
+ var/show_alpha = 255
+ var/hide_alpha = 0
+
+/obj/screen/plane_master/proc/Show(override)
+ alpha = override || show_alpha
+
+/obj/screen/plane_master/proc/Hide(override)
+ alpha = override || hide_alpha
//Why do plane masters need a backdrop sometimes? Read http://www.byond.com/forum/?post=2141928
//Trust me, you need one. Period. If you don't think you do, you're doing something extremely wrong.
@@ -19,11 +27,6 @@
blend_mode = BLEND_MULTIPLY
mouse_opacity = 0
-/obj/screen/plane_master/lighting/proc/params2color(params)
- color = params2list(params)
-/obj/screen/plane_master/lighting/proc/basecolor()
- color = LIGHTING_BASE_MATRIX
-
/obj/screen/plane_master/parallax
name = "parallax plane master"
plane = PLANE_SPACE_PARALLAX
diff --git a/code/_onclick/hud/robot.dm b/code/_onclick/hud/robot.dm
index 8ac02fbe23..60df60b380 100644
--- a/code/_onclick/hud/robot.dm
+++ b/code/_onclick/hud/robot.dm
@@ -96,9 +96,8 @@
var/mob/living/silicon/robot/mymobR = mymob
var/obj/screen/using
- using = new/obj/screen/wheel/talk
- using.screen_loc = ui_borg_talk_wheel
- wheels += using
+ using = new/obj/screen/language_menu
+ using.screen_loc = ui_borg_language_menu
static_inventory += using
//Radio
diff --git a/code/_onclick/hud/screen_objects.dm b/code/_onclick/hud/screen_objects.dm
index 4c5b0705ef..b9c791a168 100644
--- a/code/_onclick/hud/screen_objects.dm
+++ b/code/_onclick/hud/screen_objects.dm
@@ -84,6 +84,18 @@
return 1
create_area(usr)
+/obj/screen/language_menu
+ name = "language menu"
+ icon = 'icons/mob/screen_midnight.dmi'
+ icon_state = "talk_wheel"
+ screen_loc = ui_language_menu
+
+/obj/screen/language_menu/Click()
+ var/mob/living/L = usr
+ if(!istype(L))
+ return
+ L.open_language_menu(usr)
+
/obj/screen/inventory
var/slot_id // The indentifier for the slot. It has nothing to do with ID cards.
var/icon_empty // Icon when empty. For now used only by humans.
@@ -529,145 +541,8 @@
name = "health doll"
screen_loc = ui_healthdoll
-
-
-/obj/screen/wheel
- name = "wheel"
- layer = HUD_LAYER
- plane = HUD_PLANE
- icon_state = ""
- screen_loc = null //if you make a new wheel, remember to give it a screen_loc
- var/list/buttons_names = list() //list of the names for each button, its length is the amount of buttons.
- var/toggled = 0 //wheel is hidden/shown
- var/wheel_buttons_type //the type of buttons used with this wheel.
- var/list/buttons_list = list()
-
-/obj/screen/wheel/New()
- ..()
- build_options()
-
-
-//we create the buttons for the wheel and place them in a square spiral fashion.
-/obj/screen/wheel/proc/build_options()
- var/obj/screen/wheel_button/close_wheel/CW = new ()
- buttons_list += CW //the close option
- CW.wheel = src
-
- var/list/offset_x_list = list()
- var/list/offset_y_list = list()
- var/num = 1
- var/N = 1
- var/M = 0
- var/sign = -1
- my_loop:
- while(offset_y_list.len < buttons_names.len)
- for(var/i=1, i<=num, i++)
- offset_y_list += N
- offset_x_list += M
- if(offset_y_list.len == buttons_names.len)
- break my_loop
- if(N != 0)
- N = 0
- M = -sign
- else
- N = sign
- M = 0
- sign = -sign
- num++
-
- var/screenx = 8
- var/screeny = 8
- for(var/i = 1, i <= buttons_names.len, i++)
- var/obj/screen/wheel_button/WB = new wheel_buttons_type()
- WB.wheel = src
- buttons_list += WB
- screenx += offset_x_list[i]
- screeny += offset_y_list[i]
- WB.screen_loc = "[screenx], [screeny]"
- set_button(WB, i)
-
-/obj/screen/wheel/proc/set_button(obj/screen/wheel_button/WB, button_number)
- WB.name = buttons_names[button_number]
- return
-
-/obj/screen/wheel/Destroy()
- for(var/obj/screen/S in buttons_list)
- qdel(S)
- return ..()
-
-/obj/screen/wheel/Click()
- if(world.time <= usr.next_move)
- return
- if(usr.stat)
- return
- if(isliving(usr))
- var/mob/living/L = usr
- if(toggled)
- L.client.screen -= buttons_list
- else
- L.client.screen |= buttons_list
- toggled = !toggled
-
-
-/obj/screen/wheel/talk
- name = "talk wheel"
- icon_state = "talk_wheel"
- screen_loc = "11:6,2:-11"
- wheel_buttons_type = /obj/screen/wheel_button/talk
- buttons_names = list("help","hello","bye","stop","thanks","come","out", "yes", "no")
- var/list/word_messages = list(list("Help!","Help me!"), list("Hello.", "Hi."), list("Bye.", "Goodbye."),\
- list("Stop!", "Halt!"), list("Thanks.", "Thanks!", "Thank you."), \
- list("Come.", "Follow me."), list("Out!", "Go away!", "Get out!"), \
- list("Yes.", "Affirmative."), list("No.", "Negative"))
-
-/obj/screen/wheel/talk/set_button(obj/screen/wheel_button/WB, button_number)
- ..()
- var/obj/screen/wheel_button/talk/T = WB //we already know what type the button is exactly.
- T.icon_state = "talk_[T.name]"
- T.word_messages = word_messages[button_number]
-
-
-/obj/screen/wheel_button
- name = "default wheel button"
- screen_loc = "8,8"
- layer = HUD_LAYER
- plane = HUD_PLANE
- mouse_opacity = 2
- var/obj/screen/wheel/wheel
-
-/obj/screen/wheel_button/Destroy()
- wheel = null
- return ..()
-
-/obj/screen/wheel_button/close_wheel
- name = "close wheel"
- icon_state = "x3"
-
-/obj/screen/wheel_button/close_wheel/Click()
- if(isliving(usr))
- var/mob/living/L = usr
- L.client.screen -= wheel.buttons_list
- wheel.toggled = !wheel.toggled
-
-
-/obj/screen/wheel_button/talk
- name = "talk option"
- icon_state = "talk_help"
- var/talk_cooldown = 0
- var/list/word_messages = list()
-
-/obj/screen/wheel_button/talk/Click(location, control,params)
- if(isliving(usr))
- var/mob/living/L = usr
- if(L.stat)
- return
-
- if(word_messages.len && talk_cooldown < world.time)
- talk_cooldown = world.time + 10
- L.say(pick(word_messages))
-
/obj/screen/splash
- icon = 'config/title_screens/images/title1.dmi'
+ icon = 'config/title_screens/images/blank.png'
icon_state = ""
screen_loc = "1,1"
layer = SPLASHSCREEN_LAYER
@@ -679,16 +554,23 @@
if(!visible)
alpha = 0
- if(SStitle.title_screen)
- icon = SStitle.title_screen.icon
+
+ if(!use_previous_title)
+ if(SStitle.icon)
+ icon = SStitle.icon
+ else
+ if(!SStitle.previous_icon)
+ qdel(src)
+ return
+ icon = SStitle.previous_icon
holder.screen += src
- if(use_previous_title && !SSmapping.previous_map_config.defaulted)
- holder.screen -= src //Yell at Cyberboss to finish this
..()
/obj/screen/splash/proc/Fade(out, qdel_after = TRUE)
+ if(QDELETED(src))
+ return
if(out)
animate(src, alpha = 0, time = 30)
else
@@ -701,4 +583,4 @@
if(holder)
holder.screen -= src
holder = null
- return ..()
\ No newline at end of file
+ return ..()
diff --git a/code/_onclick/item_attack.dm b/code/_onclick/item_attack.dm
index da72609cb0..9754901d96 100644
--- a/code/_onclick/item_attack.dm
+++ b/code/_onclick/item_attack.dm
@@ -1,4 +1,12 @@
+/proc/melee_item_attack_chain(mob/user, obj/item/I, atom/target, params)
+ if(I.pre_attackby(target, user, params))
+ // Return 1 in attackby() to prevent afterattack() effects (when safely moving items for example)
+ var/resolved = target.attackby(I,user,params)
+ if(!resolved && target && I)
+ I.afterattack(target, user, 1, params) // 1: clicking something Adjacent
+
+
// Called when the item is in the active hand, and clicked; alternately, there is an 'activate held object' verb or you can hit pagedown.
/obj/item/proc/attack_self(mob/user)
return
diff --git a/code/_onclick/observer.dm b/code/_onclick/observer.dm
index a0e4dff6bf..f9b0038918 100644
--- a/code/_onclick/observer.dm
+++ b/code/_onclick/observer.dm
@@ -26,6 +26,9 @@
if(modifiers["shift"] && modifiers["middle"])
ShiftMiddleClickOn(A)
return
+ if(modifiers["shift"] && modifiers["ctrl"])
+ CtrlShiftClickOn(A)
+ return
if(modifiers["middle"])
MiddleClickOn(A)
return
diff --git a/code/_onclick/other_mobs.dm b/code/_onclick/other_mobs.dm
index 21ebcdbded..b9df144ace 100644
--- a/code/_onclick/other_mobs.dm
+++ b/code/_onclick/other_mobs.dm
@@ -87,22 +87,23 @@
if(is_muzzled())
return
var/mob/living/carbon/ML = A
- var/dam_zone = pick("chest", "l_hand", "r_hand", "l_leg", "r_leg")
- var/obj/item/bodypart/affecting = null
- if(ishuman(ML))
- var/mob/living/carbon/human/H = ML
- affecting = H.get_bodypart(ran_zone(dam_zone))
- var/armor = ML.run_armor_check(affecting, "melee")
- if(prob(75))
- ML.apply_damage(rand(1,3), BRUTE, affecting, armor)
- ML.visible_message("[name] bites [ML]! ", \
- "[name] bites [ML]! ")
- if(armor >= 2)
- return
- for(var/datum/disease/D in viruses)
- ML.ForceContractDisease(D)
- else
- ML.visible_message("[src] has attempted to bite [ML]! ")
+ if(istype(ML))
+ var/dam_zone = pick("chest", "l_hand", "r_hand", "l_leg", "r_leg")
+ var/obj/item/bodypart/affecting = null
+ if(ishuman(ML))
+ var/mob/living/carbon/human/H = ML
+ affecting = H.get_bodypart(ran_zone(dam_zone))
+ var/armor = ML.run_armor_check(affecting, "melee")
+ if(prob(75))
+ ML.apply_damage(rand(1,3), BRUTE, affecting, armor)
+ ML.visible_message("[name] bites [ML]! ", \
+ "[name] bites [ML]! ")
+ if(armor >= 2)
+ return
+ for(var/datum/disease/D in viruses)
+ ML.ForceContractDisease(D)
+ else
+ ML.visible_message("[src] has attempted to bite [ML]! ")
/*
Aliens
diff --git a/code/_onclick/telekinesis.dm b/code/_onclick/telekinesis.dm
index e2b4ab398a..90b3983d82 100644
--- a/code/_onclick/telekinesis.dm
+++ b/code/_onclick/telekinesis.dm
@@ -3,19 +3,35 @@
This needs more thinking out, but I might as well.
*/
-var/const/tk_maxrange = 15
/*
Telekinetic attack:
By default, emulate the user's unarmed attack
*/
+
/atom/proc/attack_tk(mob/user)
if(user.stat)
return
+ new /obj/effect/overlay/temp/telekinesis(loc)
user.UnarmedAttack(src,0) // attack_hand, attack_paw, etc
return
+/obj/attack_tk(mob/user)
+ if(user.stat)
+ return
+
+ var/obj/item/tk_grab/O = new(src)
+ O.tk_user = user
+ if(O.focus_object(src))
+ user.put_in_active_hand(O)
+ else
+ qdel(O)
+ ..()
+
+/mob/attack_tk(mob/user)
+ return
+
/*
This is similar to item attack_self, but applies to anything
that you can grab with a telekinetic grab.
@@ -23,37 +39,13 @@ var/const/tk_maxrange = 15
It is used for manipulating things at range, for example, opening and closing closets.
There are not a lot of defaults at this time, add more where appropriate.
*/
+
/atom/proc/attack_self_tk(mob/user)
return
/obj/item/attack_self_tk(mob/user)
attack_self(user)
-/obj/attack_tk(mob/user)
- if(user.stat)
- return
- if(anchored)
- ..()
- return
-
- var/obj/item/tk_grab/O = new(src)
- user.put_in_active_hand(O)
- O.host = user
- O.focus_object(src)
- return
-
-/obj/item/attack_tk(mob/user)
- if(user.stat)
- return
- var/obj/item/tk_grab/O = new(src)
- user.put_in_active_hand(O)
- O.host = user
- O.focus_object(src)
- return
-
-
-/mob/attack_tk(mob/user)
- return // needs more thinking about
/*
TK Grab Item (the workhorse of old TK)
@@ -74,10 +66,20 @@ var/const/tk_maxrange = 15
layer = ABOVE_HUD_LAYER
plane = ABOVE_HUD_PLANE
- var/last_throw = 0
var/atom/movable/focus = null
- var/mob/living/host = null
+ var/mob/living/carbon/tk_user = null
+/obj/item/tk_grab/Initialize()
+ ..()
+ START_PROCESSING(SSfastprocess, src)
+
+/obj/item/tk_grab/Destroy()
+ STOP_PROCESSING(SSfastprocess, src)
+ return ..()
+
+/obj/item/tk_grab/process()
+ if(check_if_focusable(focus)) //if somebody grabs your thing, no waiting for them to put it down and hitting them again.
+ update_icon()
/obj/item/tk_grab/dropped(mob/user)
if(focus && user && loc != user && loc != user.loc) // drop_item() gets called when you tk-attack a table/closet with an item
@@ -107,111 +109,73 @@ var/const/tk_maxrange = 15
/obj/item/tk_grab/afterattack(atom/target, mob/living/carbon/user, proximity, params)//TODO: go over this
if(!target || !user)
return
- if(last_throw+3 > world.time)
- return
- if(!host || host != user)
- qdel(src)
- return
- if(!(user.dna.check_mutation(TK)))
- qdel(src)
- return
- if(isobj(target) && !isturf(target.loc))
- return
-
- if(!tkMaxRangeCheck(user, target, focus))
- return
if(!focus)
- focus_object(target, user)
+ focus_object(target)
return
-
- if(focus.anchored || !isturf(focus.loc))
- qdel(src)
+ else if(!check_if_focusable(focus))
return
if(target == focus)
target.attack_self_tk(user)
- return // todo: something like attack_self not laden with assumptions inherent to attack_self
+ update_icon()
+ return
if(!isturf(target) && istype(focus,/obj/item) && target.Adjacent(focus))
- var/obj/item/I = focus
- var/resolved = target.attackby(I, user, params)
- if(!resolved && target && I)
- I.afterattack(target,user,1) // for splashing with beakers
- update_icon()
+ apply_focus_overlay()
+ melee_item_attack_chain(tk_user, focus, target, params) //isn't copying the attack chain fun. we should do it more often.
+ if(check_if_focusable(focus))
+ focus.do_attack_animation(target, null, focus)
else
apply_focus_overlay()
focus.throw_at(target, 10, 1,user)
- last_throw = world.time
- user.changeNext_move(CLICK_CD_MELEE)
- update_icon()
+ user.changeNext_move(CLICK_CD_MELEE)
+ update_icon()
-/proc/tkMaxRangeCheck(mob/user, atom/target, atom/focus)
+/proc/tkMaxRangeCheck(mob/user, atom/target)
var/d = get_dist(user, target)
- if(focus)
- d = max(d,get_dist(user,focus)) // whichever is further
- if(d > tk_maxrange)
+ if(d > TK_MAXRANGE)
to_chat(user, "Your mind won't reach that far. ")
- return 0
- return 1
+ return
+ return TRUE
/obj/item/tk_grab/attack(mob/living/M, mob/living/user, def_zone)
return
-
-/obj/item/tk_grab/proc/focus_object(obj/target, mob/living/user)
- if(!isobj(target))
- return//Cant throw non objects atm might let it do mobs later
- if(target.anchored || !isturf(target.loc))
- qdel(src)
+/obj/item/tk_grab/proc/focus_object(obj/target)
+ if(!check_if_focusable(target))
return
focus = target
update_icon()
apply_focus_overlay()
- return
+ return TRUE
+/obj/item/tk_grab/proc/check_if_focusable(obj/target)
+ if(!tk_user || !istype(tk_user) || QDELETED(target) || !istype(target) || !tk_user.dna.check_mutation(TK))
+ qdel(src)
+ return
+ if(!tkMaxRangeCheck(tk_user, target) || target.anchored || !isturf(target.loc))
+ qdel(src)
+ return
+ return TRUE
/obj/item/tk_grab/proc/apply_focus_overlay()
if(!focus)
return
new /obj/effect/overlay/temp/telekinesis(get_turf(focus))
-
/obj/item/tk_grab/update_icon()
cut_overlays()
- if(focus && focus.icon && focus.icon_state)
- add_overlay(icon(focus.icon,focus.icon_state))
- return
+ if(focus)
+ var/old_layer = focus.layer
+ var/old_plane = focus.plane
+ focus.layer = layer+0.01
+ focus.plane = ABOVE_HUD_PLANE
+ add_overlay(focus) //this is kind of ick, but it's better than using icon()
+ focus.layer = old_layer
+ focus.plane = old_plane
/obj/item/tk_grab/suicide_act(mob/user)
user.visible_message("[user] is using [user.p_their()] telekinesis to choke [user.p_them()]self! It looks like [user.p_theyre()] trying to commit suicide! ")
return (OXYLOSS)
-
-/*Not quite done likely needs to use something thats not get_step_to
-/obj/item/tk_grab/proc/check_path()
- var/turf/ref = get_turf(src.loc)
- var/turf/target = get_turf(focus.loc)
- if(!ref || !target)
- return 0
- var/distance = get_dist(ref, target)
- if(distance >= 10)
- return 0
- for(var/i = 1 to distance)
- ref = get_step_to(ref, target, 0)
- if(ref != target)
- return 0
- return 1
-*/
-
-//equip_to_slot_or_del(obj/item/W, slot, qdel_on_fail = 1)
-/*
- if(istype(user, /mob/living/carbon))
- if(user:mutations & TK && get_dist(source, user) <= 7)
- if(user:get_active_hand())
- return 0
- var/X = source:x
- var/Y = source:y
- var/Z = source:z
-
-*/
diff --git a/code/citadel/_cit_helpers.dm b/code/citadel/_cit_helpers.dm
index 2aed219978..85bb754f06 100644
--- a/code/citadel/_cit_helpers.dm
+++ b/code/citadel/_cit_helpers.dm
@@ -25,45 +25,45 @@ proc/get_racelist(var/mob/user)//This proc returns a list of species that 'user'
var/datum/species/S = new spath()
var/list/wlist = S.whitelist
if(S.whitelisted && (wlist.Find(user.ckey) || wlist.Find(user.key) || user.client.holder)) //If your ckey is on the species whitelist or you're an admin:
- whitelisted_species_list[S.id] = S.type //Add the species to their available species list.
+ GLOB.whitelisted_species_list[S.id] = S.type //Add the species to their available species list.
else if(!S.whitelisted && S.roundstart) //Normal roundstart species will be handled here.
- whitelisted_species_list[S.id] = S.type
+ GLOB.whitelisted_species_list[S.id] = S.type
- return whitelisted_species_list
+ return GLOB.whitelisted_species_list
//Mammal Species
-var/global/list/mam_body_markings_list = list()
-var/global/list/mam_ears_list = list()
-var/global/list/mam_tails_list = list()
-var/global/list/mam_tails_animated_list = list()
-var/global/list/taur_list = list()
+GLOBAL_LIST_EMPTY(mam_body_markings_list)
+GLOBAL_LIST_EMPTY(mam_ears_list)
+GLOBAL_LIST_EMPTY(mam_tails_list)
+GLOBAL_LIST_EMPTY(mam_tails_animated_list)
+GLOBAL_LIST_EMPTY(taur_list)
//Exotic Species
-var/global/list/exotic_tails_list = list()
-var/global/list/exotic_tails_animated_list = list()
-var/global/list/exotic_ears_list = list()
-var/global/list/exotic_head_list = list()
-var/global/list/exotic_back_list = list()
+GLOBAL_LIST_EMPTY(exotic_tails_list)
+GLOBAL_LIST_EMPTY(exotic_tails_animated_list)
+GLOBAL_LIST_EMPTY(exotic_ears_list)
+GLOBAL_LIST_EMPTY(exotic_head_list)
+GLOBAL_LIST_EMPTY(exotic_back_list)
//Xenomorph Species
-var/global/list/xeno_head_list = list() //I forgot the ' = list()' part for the longest time and couldn't figure out what was wrong. *facepalm
-var/global/list/xeno_tail_list = list()
-var/global/list/xeno_dorsal_list = list()
+GLOBAL_LIST_EMPTY(xeno_head_list)
+GLOBAL_LIST_EMPTY(xeno_tail_list)
+GLOBAL_LIST_EMPTY(xeno_dorsal_list)
//Genitals and Arousal Lists
-var/global/list/cock_shapes_list = list()//global_lists.dm for the list initializations
-var/global/list/breasts_size_list = list()
-var/global/list/cum_into_containers_list = list(/obj/item/weapon/reagent_containers/food/snacks/pie)
-var/global/list/dick_nouns = list("dick","cock","member","shaft")
-var/global/list/cum_id_list = list("semen")
-var/global/list/milk_id_list = list("milk")
+GLOBAL_LIST_EMPTY(cock_shapes_list)//global_lists.dm for the list initializations //Now also _DATASTRUCTURES globals.dm
+GLOBAL_LIST_EMPTY(breasts_size_list)
+GLOBAL_LIST_INIT(cum_into_containers_list, /obj/item/weapon/reagent_containers/food/snacks/pie) //Yer fuggin snowflake name list jfc
+GLOBAL_LIST_INIT(dick_nouns, list("dick","cock","member","shaft"))
+GLOBAL_LIST_INIT(cum_id_list,"semen")
+GLOBAL_LIST_INIT(milk_id_list,"milk")
//mentor stuff
-var/list/mentors = list()
+GLOBAL_LIST_EMPTY(mentors)
//Looc stuff
-var/global/looc_allowed = 1
-var/global/dlooc_allowed = 1
+GLOBAL_VAR_INIT(looc_allowed, 1)
+GLOBAL_VAR_INIT(dlooc_allowed, 1)
/client/proc/reload_mentors()
set name = "Reload Mentors"
@@ -103,19 +103,19 @@ var/global/dlooc_allowed = 1
/proc/toggle_looc(toggle = null)
if(toggle != null) //if we're specifically en/disabling ooc
- if(toggle != looc_allowed)
- looc_allowed = toggle
+ if(toggle != GLOB.looc_allowed)
+ GLOB.looc_allowed = toggle
else
return
else //otherwise just toggle it
- looc_allowed = !looc_allowed
- world << "The LOOC channel has been globally [looc_allowed ? "enabled" : "disabled"]. "
+ GLOB.looc_allowed = !GLOB.looc_allowed
+ world << "The LOOC channel has been globally [GLOB.looc_allowed ? "enabled" : "disabled"]. "
/datum/admins/proc/toggleloocdead()
set category = "Server"
set desc="Toggle dis bitch"
set name="Toggle Dead LOOC"
- dlooc_allowed = !( dlooc_allowed )
+ GLOB.dlooc_allowed = !( GLOB.dlooc_allowed )
log_admin("[key_name(usr)] toggled Dead LOOC.")
message_admins("[key_name_admin(usr)] toggled Dead LOOC.")
@@ -185,7 +185,7 @@ var/global/dlooc_allowed = 1
log_admin("[src] gave everyone genitals.")
message_admins("[src] gave everyone genitals.")
- for(var/mob/living/carbon/human/H in mob_list)
+ for(var/mob/living/carbon/human/H in GLOB.mob_list)
if(H.gender == MALE)
H.give_penis()
H.give_balls()
@@ -201,7 +201,7 @@ var/global/dlooc_allowed = 1
log_admin("[src] turned everyone into mammals.")
message_admins("[src] turned everyone into mammals.")
- for(var/mob/living/carbon/human/H in mob_list)
+ for(var/mob/living/carbon/human/H in GLOB.mob_list)
if(!H.dna)
continue
var/datum/dna/hdna = H.dna
diff --git a/code/citadel/cit_arousal.dm b/code/citadel/cit_arousal.dm
index dec4b4fd24..3d998d971c 100644
--- a/code/citadel/cit_arousal.dm
+++ b/code/citadel/cit_arousal.dm
@@ -36,7 +36,7 @@
if(canbearoused && dna)
var/datum/species/S
S = dna.species
- if(S && SSmob.times_fired%36==2 && getArousalLoss() < max_arousal)//Totally stolen from breathing code. Do this every 36 ticks.
+ if(S && SSmobs.times_fired%36==2 && getArousalLoss() < max_arousal)//Totally stolen from breathing code. Do this every 36 ticks.
adjustArousalLoss(arousal_rate * S.arousal_gain_rate)
if(dna.features["exhibitionist"])
var/amt_nude = 0
@@ -255,8 +255,8 @@
finished = 1
else//not into a container
- src.visible_message("[src] starts [pick("jerking off","stroking")] their [pick(dick_nouns)]. ", \
- "You start jerking off your [pick(dick_nouns)]. ", \
+ src.visible_message("[src] starts [pick("jerking off","stroking")] their [pick(GLOB.dick_nouns)]. ", \
+ "You start jerking off your [pick(GLOB.dick_nouns)]. ", \
"You start masturbating. ")
if(do_after(src, mb_time, target = src))
if(total_cum > 5)
diff --git a/code/citadel/organs/genitals.dm b/code/citadel/organs/genitals.dm
index d5d1e8c541..71078e382b 100644
--- a/code/citadel/organs/genitals.dm
+++ b/code/citadel/organs/genitals.dm
@@ -211,7 +211,7 @@
var/datum/sprite_accessory/S
switch(G.type)
if(/obj/item/organ/genital/penis)
- S = cock_shapes_list[G.shape]
+ S = GLOB.cock_shapes_list[G.shape]
size = G.size
if(!S || S.icon_state == "none")
diff --git a/code/controllers/admin.dm b/code/controllers/admin.dm
index d859a62391..99f6a148a4 100644
--- a/code/controllers/admin.dm
+++ b/code/controllers/admin.dm
@@ -43,9 +43,9 @@
switch(controller)
if("Master")
Recreate_MC()
- feedback_add_details("admin_verb","RMC")
+ feedback_add_details("admin_verb","Restart Master Controller")
if("Failsafe")
new /datum/controller/failsafe()
- feedback_add_details("admin_verb","RFailsafe")
+ feedback_add_details("admin_verb","Restart Failsafe Controller")
message_admins("Admin [key_name_admin(usr)] has restarted the [controller] controller.")
diff --git a/code/controllers/configuration.dm b/code/controllers/configuration.dm
index 6df283d8d6..95fc6aa622 100644
--- a/code/controllers/configuration.dm
+++ b/code/controllers/configuration.dm
@@ -5,10 +5,10 @@
#define SECURITY_HAS_MAINT_ACCESS 2
#define EVERYONE_HAS_MAINT_ACCESS 4
-/datum/configuration/vv_get_var(var_name)
- var/static/list/banned_views = list("autoadmin", "autoadmin_rank")
- if(var_name in banned_views)
- return debug_variable(var_name, "SECRET", 0, src)
+/datum/configuration/can_vv_get(var_name)
+ var/static/list/banned_gets = list("autoadmin", "autoadmin_rank")
+ if (var_name in banned_gets)
+ return FALSE
return ..()
/datum/configuration/vv_edit_var(var_name, var_value)
@@ -267,7 +267,7 @@
if(M.config_tag)
if(!(M.config_tag in modes)) // ensure each mode is added only once
- diary << "Adding game mode [M.name] ([M.config_tag]) to configuration."
+ GLOB.diary << "Adding game mode [M.name] ([M.config_tag]) to configuration."
modes += M.config_tag
mode_names[M.config_tag] = M.name
probabilities[M.config_tag] = M.probability
@@ -391,7 +391,7 @@
if("guest_jobban")
config.guest_jobban = 1
if("guest_ban")
- guests_allowed = 0
+ GLOB.guests_allowed = 0
if("usewhitelist")
config.usewhitelist = TRUE
if("allow_metadata")
@@ -421,9 +421,9 @@
if("automute_on")
automute_on = 1
if("comms_key")
- global.comms_key = value
+ GLOB.comms_key = value
if(value != "default_pwd" && length(value) > 6) //It's the default value or less than 6 characters long, warn badmins
- global.comms_allowed = 1
+ GLOB.comms_allowed = 1
if("cross_server_address")
cross_address = value
if(value != "byond:\\address:port")
@@ -437,9 +437,9 @@
if(value != "byond:\\address:port")
allow_panic_bunker_bounce = 1
if("medal_hub_address")
- global.medal_hub = value
+ GLOB.medal_hub = value
if("medal_hub_password")
- global.medal_pass = value
+ GLOB.medal_pass = value
if("show_irc_name")
config.showircname = 1
if("see_own_notes")
@@ -480,9 +480,9 @@
if("log_runtimes")
log_runtimes = TRUE
var/newlog = file("data/logs/runtimes/runtime-[time2text(world.realtime, "YYYY-MM-DD")].log")
- if(runtime_diary != newlog)
+ if(GLOB.runtime_diary != newlog)
world.log << "Now logging runtimes to data/logs/runtimes/runtime-[time2text(world.realtime, "YYYY-MM-DD")].log"
- runtime_diary = newlog
+ GLOB.runtime_diary = newlog
if("autoconvert_notes")
config.autoconvert_notes = 1
if("allow_webclient")
@@ -526,7 +526,7 @@
if("error_msg_delay")
error_msg_delay = text2num(value)
else
- diary << "Unknown setting in configuration: '[name]'"
+ GLOB.diary << "Unknown setting in configuration: '[name]'"
else if(type == "game_options")
switch(name)
@@ -589,13 +589,13 @@
if(mode_name in config.modes)
config.continuous[mode_name] = 1
else
- diary << "Unknown continuous configuration definition: [mode_name]."
+ GLOB.diary << "Unknown continuous configuration definition: [mode_name]."
if("midround_antag")
var/mode_name = lowertext(value)
if(mode_name in config.modes)
config.midround_antag[mode_name] = 1
else
- diary << "Unknown midround antagonist configuration definition: [mode_name]."
+ GLOB.diary << "Unknown midround antagonist configuration definition: [mode_name]."
if("midround_antag_time_check")
config.midround_antag_time_check = text2num(value)
if("midround_antag_life_check")
@@ -611,9 +611,9 @@
if(mode_name in config.modes)
config.min_pop[mode_name] = text2num(mode_value)
else
- diary << "Unknown minimum population configuration definition: [mode_name]."
+ GLOB.diary << "Unknown minimum population configuration definition: [mode_name]."
else
- diary << "Incorrect minimum population configuration definition: [mode_name] [mode_value]."
+ GLOB.diary << "Incorrect minimum population configuration definition: [mode_name] [mode_value]."
if("max_pop")
var/pop_pos = findtext(value, " ")
var/mode_name = null
@@ -625,9 +625,9 @@
if(mode_name in config.modes)
config.max_pop[mode_name] = text2num(mode_value)
else
- diary << "Unknown maximum population configuration definition: [mode_name]."
+ GLOB.diary << "Unknown maximum population configuration definition: [mode_name]."
else
- diary << "Incorrect maximum population configuration definition: [mode_name] [mode_value]."
+ GLOB.diary << "Incorrect maximum population configuration definition: [mode_name] [mode_value]."
if("shuttle_refuel_delay")
config.shuttle_refuel_delay = text2num(value)
if("show_game_type_odds")
@@ -655,9 +655,9 @@
if(prob_name in config.modes)
config.probabilities[prob_name] = text2num(prob_value)
else
- diary << "Unknown game mode probability configuration definition: [prob_name]."
+ GLOB.diary << "Unknown game mode probability configuration definition: [prob_name]."
else
- diary << "Incorrect probability configuration definition: [prob_name] [prob_value]."
+ GLOB.diary << "Incorrect probability configuration definition: [prob_name] [prob_value]."
if("protect_roles_from_antagonist")
config.protect_roles_from_antagonist = 1
@@ -691,10 +691,6 @@
config.forbid_peaceborg = 1
if("silent_ai")
config.silent_ai = 1
- if ("mentor_mobname_only")
- config.mentors_mobname_only = 1
- if ("mentor_legacy_system")
- config.mentor_legacy_system = 1
if("silent_borg")
config.silent_borg = 1
if("sandbox_autoclose")
@@ -708,7 +704,7 @@
// Value is in the form "LAWID,NUMBER"
var/list/L = splittext(value, ",")
if(L.len != 2)
- diary << "Invalid LAW_WEIGHT: " + t
+ GLOB.diary << "Invalid LAW_WEIGHT: " + t
continue
var/lawid = L[1]
var/weight = text2num(L[2])
@@ -720,10 +716,10 @@
config.mutant_races = 1
if("roundstart_races")
var/race_id = lowertext(value)
- for(var/species_id in species_list)
+ for(var/species_id in GLOB.species_list)
if(species_id == race_id)
- roundstart_races += species_list[species_id]
- roundstart_species[species_id] = species_list[species_id]
+ roundstart_races += GLOB.species_list[species_id]
+ GLOB.roundstart_species[species_id] = GLOB.species_list[species_id]
if("join_with_mutant_humans")
config.mutant_humans = 1
if("assistant_cap")
@@ -751,17 +747,21 @@
if (BombCap < 4)
BombCap = 4
- MAX_EX_DEVESTATION_RANGE = round(BombCap/4)
- MAX_EX_HEAVY_RANGE = round(BombCap/2)
- MAX_EX_LIGHT_RANGE = BombCap
- MAX_EX_FLASH_RANGE = BombCap
- MAX_EX_FLAME_RANGE = BombCap
+ GLOB.MAX_EX_DEVESTATION_RANGE = round(BombCap/4)
+ GLOB.MAX_EX_HEAVY_RANGE = round(BombCap/2)
+ GLOB.MAX_EX_LIGHT_RANGE = BombCap
+ GLOB.MAX_EX_FLASH_RANGE = BombCap
+ GLOB.MAX_EX_FLAME_RANGE = BombCap
if("arrivals_shuttle_dock_window")
config.arrivals_shuttle_dock_window = max(PARALLAX_LOOP_TIME, text2num(value))
if("arrivals_shuttle_require_safe_latejoin")
config.arrivals_shuttle_require_safe_latejoin = text2num(value)
+ if ("mentor_mobname_only")
+ config.mentors_mobname_only = 1
+ if ("mentor_legacy_system")
+ config.mentor_legacy_system = 1
else
- diary << "Unknown setting in configuration: '[name]'"
+ GLOB.diary << "Unknown setting in configuration: '[name]'"
fps = round(fps)
if(fps <= 0)
@@ -815,7 +815,7 @@
config.maplist[currentmap.map_name] = currentmap
currentmap = null
else
- diary << "Unknown command in map vote config: '[command]'"
+ GLOB.diary << "Unknown command in map vote config: '[command]'"
/datum/configuration/proc/loadsql(filename)
@@ -847,19 +847,19 @@
if("sql_enabled")
config.sql_enabled = 1
if("address")
- sqladdress = value
+ GLOB.sqladdress = value
if("port")
- sqlport = value
+ GLOB.sqlport = value
if("feedback_database")
- sqlfdbkdb = value
+ GLOB.sqlfdbkdb = value
if("feedback_login")
- sqlfdbklogin = value
+ GLOB.sqlfdbklogin = value
if("feedback_password")
- sqlfdbkpass = value
+ GLOB.sqlfdbkpass = value
if("feedback_tableprefix")
- sqlfdbktableprefix = value
+ GLOB.sqlfdbktableprefix = value
else
- diary << "Unknown setting in configuration: '[name]'"
+ GLOB.diary << "Unknown setting in configuration: '[name]'"
/datum/configuration/proc/pick_mode(mode_name)
// I wish I didn't have to instance the game modes in order to look up
@@ -893,7 +893,7 @@
/datum/configuration/proc/get_runnable_midround_modes(crew)
var/list/datum/game_mode/runnable_modes = new
- for(var/T in (gamemode_cache - ticker.mode.type))
+ for(var/T in (gamemode_cache - SSticker.mode.type))
var/datum/game_mode/M = new T()
if(!(M.config_tag in modes))
qdel(M)
diff --git a/code/controllers/failsafe.dm b/code/controllers/failsafe.dm
index f2bbf212df..d5298f7dde 100644
--- a/code/controllers/failsafe.dm
+++ b/code/controllers/failsafe.dm
@@ -4,7 +4,7 @@
* Pretty much pokes the MC to make sure it's still alive.
**/
-var/datum/controller/failsafe/Failsafe
+GLOBAL_REAL(Failsafe, /datum/controller/failsafe)
/datum/controller/failsafe // This thing pretty much just keeps poking the master controller
name = "Failsafe"
@@ -56,23 +56,23 @@ var/datum/controller/failsafe/Failsafe
if(4,5)
--defcon
if(3)
- to_chat(admins, "Notice: DEFCON [defcon_pretty()]. The Master Controller has not fired in the last [(5-defcon) * processing_interval] ticks.")
+ to_chat(GLOB.admins, "Notice: DEFCON [defcon_pretty()]. The Master Controller has not fired in the last [(5-defcon) * processing_interval] ticks.")
--defcon
if(2)
- to_chat(admins, "Warning: DEFCON [defcon_pretty()]. The Master Controller has not fired in the last [(5-defcon) * processing_interval] ticks. Automatic restart in [processing_interval] ticks. ")
+ to_chat(GLOB.admins, "Warning: DEFCON [defcon_pretty()]. The Master Controller has not fired in the last [(5-defcon) * processing_interval] ticks. Automatic restart in [processing_interval] ticks. ")
--defcon
if(1)
- to_chat(admins, "Warning: DEFCON [defcon_pretty()]. The Master Controller has still not fired within the last [(5-defcon) * processing_interval] ticks. Killing and restarting... ")
+ to_chat(GLOB.admins, "Warning: DEFCON [defcon_pretty()]. The Master Controller has still not fired within the last [(5-defcon) * processing_interval] ticks. Killing and restarting... ")
--defcon
var/rtn = Recreate_MC()
if(rtn > 0)
defcon = 4
master_iteration = 0
- to_chat(admins, "MC restarted successfully ")
+ to_chat(GLOB.admins, "MC restarted successfully ")
else if(rtn < 0)
log_game("FailSafe: Could not restart MC, runtime encountered. Entering defcon 0")
- to_chat(admins, "ERROR: DEFCON [defcon_pretty()]. Could not restart MC, runtime encountered. I will silently keep retrying. ")
+ to_chat(GLOB.admins, "ERROR: DEFCON [defcon_pretty()]. Could not restart MC, runtime encountered. I will silently keep retrying. ")
//if the return number was 0, it just means the mc was restarted too recently, and it just needs some time before we try again
//no need to handle that specially when defcon 0 can handle it
if(0) //DEFCON 0! (mc failed to restart)
@@ -80,7 +80,7 @@ var/datum/controller/failsafe/Failsafe
if(rtn > 0)
defcon = 4
master_iteration = 0
- to_chat(admins, "MC restarted successfully ")
+ to_chat(GLOB.admins, "MC restarted successfully ")
else
defcon = min(defcon + 1,5)
master_iteration = Master.iteration
diff --git a/code/controllers/globals.dm b/code/controllers/globals.dm
new file mode 100644
index 0000000000..a1a0a3f838
--- /dev/null
+++ b/code/controllers/globals.dm
@@ -0,0 +1,62 @@
+GLOBAL_REAL(GLOB, /datum/controller/global_vars)
+
+/datum/controller/global_vars
+ name = "Global Variables"
+
+ var/list/gvars_datum_protected_varlist
+ var/list/gvars_datum_in_built_vars
+ var/list/gvars_datum_init_order
+
+/datum/controller/global_vars/New()
+ if(GLOB)
+ CRASH("Multiple instances of global variable controller created")
+ GLOB = src
+
+ var/datum/controller/exclude_these = new
+ gvars_datum_in_built_vars = exclude_these.vars + list("gvars_datum_protected_varlist", "gvars_datum_in_built_vars", "gvars_datum_init_order")
+ qdel(exclude_these)
+
+ Initialize()
+
+/datum/controller/global_vars/Destroy(force)
+ if(!force)
+ return QDEL_HINT_LETMELIVE
+
+ stack_trace("Some fucker deleted the global holder!")
+
+ QDEL_NULL(statclick)
+ gvars_datum_protected_varlist.Cut()
+ gvars_datum_in_built_vars.Cut()
+
+ GLOB = null
+
+ return ..()
+
+/datum/controller/global_vars/stat_entry()
+ if(!statclick)
+ statclick = new/obj/effect/statclick/debug(null, "Initializing...", src)
+
+ var/static/num_globals
+ if(!num_globals)
+ num_globals = vars.len - gvars_datum_in_built_vars.len
+ stat("Globals:", statclick.update("Count: [num_globals]"))
+
+/datum/controller/global_vars/can_vv_get(var_name)
+ if(var_name in gvars_datum_protected_varlist)
+ return FALSE
+ return ..()
+
+/datum/controller/global_vars/vv_edit_var(var_name, var_value)
+ if((var_name in gvars_datum_protected_varlist))
+ return FALSE
+ return ..()
+
+/datum/controller/global_vars/Initialize()
+ gvars_datum_init_order = list()
+ gvars_datum_protected_varlist = list("gvars_datum_protected_varlist")
+ for(var/I in vars - gvars_datum_in_built_vars)
+ var/start_tick = world.time
+ call(src, "InitGlobal[I]")()
+ var/end_tick = world.time
+ if(end_tick - start_tick)
+ warning("Global [I] slept during initialization!")
diff --git a/code/controllers/master.dm b/code/controllers/master.dm
index 636e1d2f86..259524bb0c 100644
--- a/code/controllers/master.dm
+++ b/code/controllers/master.dm
@@ -6,15 +6,18 @@
* Odds are, there is a reason
*
**/
-var/datum/controller/master/Master = new()
-var/MC_restart_clear = 0
-var/MC_restart_timeout = 0
-var/MC_restart_count = 0
+
+//This is the ABSOLUTE ONLY THING that should init globally like this
+GLOBAL_REAL(Master, /datum/controller/master) = new
+
+GLOBAL_VAR_INIT(MC_restart_clear, 0)
+GLOBAL_VAR_INIT(MC_restart_timeout, 0)
+GLOBAL_VAR_INIT(MC_restart_count, 0)
//current tick limit, assigned by the queue controller before running a subsystem.
//used by check_tick as well so that the procs subsystems call can obey that SS's tick limits
-var/CURRENT_TICKLIMIT = TICK_LIMIT_RUNNING
+GLOBAL_VAR_INIT(CURRENT_TICKLIMIT, TICK_LIMIT_RUNNING)
/datum/controller/master
name = "Master"
@@ -62,6 +65,9 @@ var/CURRENT_TICKLIMIT = TICK_LIMIT_RUNNING
else
init_subtypes(/datum/controller/subsystem, subsystems)
Master = src
+
+ if(!GLOB)
+ new /datum/controller/global_vars
/datum/controller/master/Destroy()
..()
@@ -77,14 +83,14 @@ var/CURRENT_TICKLIMIT = TICK_LIMIT_RUNNING
// -1 if we encountered a runtime trying to recreate it
/proc/Recreate_MC()
. = -1 //so if we runtime, things know we failed
- if (world.time < MC_restart_timeout)
+ if (world.time < GLOB.MC_restart_timeout)
return 0
- if (world.time < MC_restart_clear)
- MC_restart_count *= 0.5
+ if (world.time < GLOB.MC_restart_clear)
+ GLOB.MC_restart_count *= 0.5
- var/delay = 50 * ++MC_restart_count
- MC_restart_timeout = world.time + delay
- MC_restart_clear = world.time + (delay * 2)
+ var/delay = 50 * ++GLOB.MC_restart_count
+ GLOB.MC_restart_timeout = world.time + delay
+ GLOB.MC_restart_clear = world.time + (delay * 2)
Master.processing = 0 //stop ticking this one
try
new/datum/controller/master()
@@ -107,7 +113,25 @@ var/CURRENT_TICKLIMIT = TICK_LIMIT_RUNNING
else
msg += "\t [varname] = [varval]\n"
log_world(msg)
+
+ var/datum/controller/subsystem/BadBoy = Master.last_type_processed
+ var/FireHim = FALSE
+ if(istype(BadBoy))
+ msg = null
+ switch(++BadBoy.failure_strikes)
+ if(2)
+ msg = "The [BadBoy.name] subsystem was the last to fire for 2 controller restarts. It will be recovered now and disabled if it happens again."
+ FireHim = TRUE
+ if(3)
+ msg = "The [BadBoy.name] subsystem seems to be destabilizing the MC and will be offlined."
+ BadBoy.flags |= SS_NO_FIRE
+ if(msg)
+ to_chat(GLOB.admins, "[msg] ")
+ log_world(msg)
+
if (istype(Master.subsystems))
+ if(FireHim)
+ Master.subsystems += new BadBoy.type //NEW_SS_GLOBAL will remove the old one
subsystems = Master.subsystems
StartProcessing(10)
else
@@ -133,13 +157,13 @@ var/CURRENT_TICKLIMIT = TICK_LIMIT_RUNNING
var/start_timeofday = REALTIMEOFDAY
// Initialize subsystems.
- CURRENT_TICKLIMIT = config.tick_limit_mc_init
+ GLOB.CURRENT_TICKLIMIT = config.tick_limit_mc_init
for (var/datum/controller/subsystem/SS in subsystems)
if (SS.flags & SS_NO_INIT)
continue
SS.Initialize(REALTIMEOFDAY)
CHECK_TICK
- CURRENT_TICKLIMIT = TICK_LIMIT_RUNNING
+ GLOB.CURRENT_TICKLIMIT = TICK_LIMIT_RUNNING
var/time = (REALTIMEOFDAY - start_timeofday) / 10
var/msg = "Initializations complete within [time] second[time == 1 ? "" : "s"]!"
@@ -242,7 +266,7 @@ var/CURRENT_TICKLIMIT = TICK_LIMIT_RUNNING
while (1)
tickdrift = max(0, MC_AVERAGE_FAST(tickdrift, (((REALTIMEOFDAY - init_timeofday) - (world.time - init_time)) / world.tick_lag)))
if (processing <= 0)
- CURRENT_TICKLIMIT = TICK_LIMIT_RUNNING
+ GLOB.CURRENT_TICKLIMIT = TICK_LIMIT_RUNNING
sleep(10)
continue
@@ -250,7 +274,7 @@ var/CURRENT_TICKLIMIT = TICK_LIMIT_RUNNING
// because sleeps are processed in the order received, so longer sleeps are more likely to run first
if (world.tick_usage > TICK_LIMIT_MC)
sleep_delta += 2
- CURRENT_TICKLIMIT = TICK_LIMIT_RUNNING - (TICK_LIMIT_RUNNING * 0.5)
+ GLOB.CURRENT_TICKLIMIT = TICK_LIMIT_RUNNING - (TICK_LIMIT_RUNNING * 0.5)
sleep(world.tick_lag * (processing + sleep_delta))
continue
@@ -279,7 +303,7 @@ var/CURRENT_TICKLIMIT = TICK_LIMIT_RUNNING
if (!error_level)
iteration++
error_level++
- CURRENT_TICKLIMIT = TICK_LIMIT_RUNNING
+ GLOB.CURRENT_TICKLIMIT = TICK_LIMIT_RUNNING
sleep(10)
continue
@@ -291,7 +315,7 @@ var/CURRENT_TICKLIMIT = TICK_LIMIT_RUNNING
if (!error_level)
iteration++
error_level++
- CURRENT_TICKLIMIT = TICK_LIMIT_RUNNING
+ GLOB.CURRENT_TICKLIMIT = TICK_LIMIT_RUNNING
sleep(10)
continue
error_level--
@@ -302,7 +326,7 @@ var/CURRENT_TICKLIMIT = TICK_LIMIT_RUNNING
iteration++
last_run = world.time
src.sleep_delta = MC_AVERAGE_FAST(src.sleep_delta, sleep_delta)
- CURRENT_TICKLIMIT = TICK_LIMIT_RUNNING - (TICK_LIMIT_RUNNING * 0.25) //reserve the tail 1/4 of the next tick for the mc.
+ GLOB.CURRENT_TICKLIMIT = TICK_LIMIT_RUNNING - (TICK_LIMIT_RUNNING * 0.25) //reserve the tail 1/4 of the next tick for the mc.
sleep(world.tick_lag * (processing + sleep_delta))
@@ -391,7 +415,7 @@ var/CURRENT_TICKLIMIT = TICK_LIMIT_RUNNING
else
tick_precentage = tick_remaining
- CURRENT_TICKLIMIT = world.tick_usage + tick_precentage
+ GLOB.CURRENT_TICKLIMIT = world.tick_usage + tick_precentage
if (!(queue_node_flags & SS_TICKER))
ran_non_ticker = TRUE
diff --git a/code/controllers/subsystem.dm b/code/controllers/subsystem.dm
index 2078d88656..e4dc9f833e 100644
--- a/code/controllers/subsystem.dm
+++ b/code/controllers/subsystem.dm
@@ -1,5 +1,4 @@
-
/datum/controller/subsystem
// Metadata; you should define these.
name = "fire coderbus" //name of the subsystem
@@ -29,8 +28,17 @@
var/datum/controller/subsystem/queue_next
var/datum/controller/subsystem/queue_prev
-// Used to initialize the subsystem BEFORE the map has loaded
+ var/static/failure_strikes = 0 //How many times we suspect this subsystem has crashed the MC, 3 strikes and you're out!
+
+//Do not override
/datum/controller/subsystem/New()
+ return
+
+// Used to initialize the subsystem BEFORE the map has loaded
+// Called AFTER Recover if that is called
+// Prefer to use Initialize if possible
+/datum/controller/subsystem/proc/PreInit()
+ return
//This is used so the mc knows when the subsystem sleeps. do not override.
/datum/controller/subsystem/proc/ignite(resumed = 0)
diff --git a/code/controllers/subsystem/acid.dm b/code/controllers/subsystem/acid.dm
index 2dc2aa80a0..a0a506499f 100644
--- a/code/controllers/subsystem/acid.dm
+++ b/code/controllers/subsystem/acid.dm
@@ -1,6 +1,4 @@
-var/datum/controller/subsystem/acid/SSacid
-
-/datum/controller/subsystem/acid
+SUBSYSTEM_DEF(acid)
name = "Acid"
priority = 40
flags = SS_NO_INIT|SS_BACKGROUND
@@ -8,10 +6,6 @@ var/datum/controller/subsystem/acid/SSacid
var/list/currentrun = list()
var/list/processing = list()
-/datum/controller/subsystem/acid/New()
- NEW_SS_GLOBAL(SSacid)
-
-
/datum/controller/subsystem/acid/stat_entry()
..("P:[processing.len]")
@@ -34,7 +28,7 @@ var/datum/controller/subsystem/acid/SSacid
if(O.acid_level && O.acid_processing())
else
- O.cut_overlay(acid_overlay, TRUE)
+ O.cut_overlay(GLOB.acid_overlay, TRUE)
processing -= O
if (MC_TICK_CHECK)
diff --git a/code/controllers/subsystem/air.dm b/code/controllers/subsystem/air.dm
index 6a004adef6..852e28077d 100644
--- a/code/controllers/subsystem/air.dm
+++ b/code/controllers/subsystem/air.dm
@@ -5,9 +5,8 @@
#define SSAIR_HIGHPRESSURE 5
#define SSAIR_HOTSPOTS 6
#define SSAIR_SUPERCONDUCTIVITY 7
-var/datum/controller/subsystem/air/SSair
-/datum/controller/subsystem/air
+SUBSYSTEM_DEF(air)
name = "Air"
init_order = -1
priority = 20
@@ -41,9 +40,6 @@ var/datum/controller/subsystem/air/SSair
var/map_loading = TRUE
var/list/queued_for_activation
-/datum/controller/subsystem/air/New()
- NEW_SS_GLOBAL(SSair)
-
/datum/controller/subsystem/air/stat_entry(msg)
msg += "C:{"
msg += "AT:[round(cost_turfs,1)]|"
@@ -69,6 +65,7 @@ var/datum/controller/subsystem/air/SSair
setup_allturfs()
setup_atmos_machinery()
setup_pipenets()
+ gas_reactions = init_gas_reactions()
..()
@@ -244,6 +241,9 @@ var/datum/controller/subsystem/air/SSair
active_turfs -= T
if(currentpart == SSAIR_ACTIVETURFS)
currentrun -= T
+ #ifdef VISUALIZE_ACTIVE_TURFS
+ T.remove_atom_colour(TEMPORARY_COLOUR_PRIORITY, "#00ff00")
+ #endif
if(istype(T))
T.excited = 0
if(T.excited_group)
@@ -251,6 +251,9 @@ var/datum/controller/subsystem/air/SSair
/datum/controller/subsystem/air/proc/add_to_active(turf/open/T, blockchanges = 1)
if(istype(T) && T.air)
+ #ifdef VISUALIZE_ACTIVE_TURFS
+ T.add_atom_colour("#00ff00", TEMPORARY_COLOUR_PRIORITY)
+ #endif
T.excited = 1
active_turfs |= T
if(currentpart == SSAIR_ACTIVETURFS)
@@ -296,7 +299,7 @@ var/datum/controller/subsystem/air/SSair
var/timer = world.timeofday
warning("There are [starting_ats] active turfs at roundstart, this is a mapping error caused by a difference of the air between the adjacent turfs. You can see its coordinates using \"Mapping -> Show roundstart AT list\" verb (debug verbs required)")
for(var/turf/T in active_turfs)
- active_turfs_startlist += text("[T.x], [T.y], [T.z]\n")
+ GLOB.active_turfs_startlist += text("[T.x], [T.y], [T.z]\n")
//now lets clear out these active turfs
var/list/turfs_to_check = active_turfs.Copy()
diff --git a/code/controllers/subsystem/assets.dm b/code/controllers/subsystem/assets.dm
index 2ad4faa09a..ac8f51de0e 100644
--- a/code/controllers/subsystem/assets.dm
+++ b/code/controllers/subsystem/assets.dm
@@ -1,19 +1,14 @@
-var/datum/controller/subsystem/assets/SSasset
-
-/datum/controller/subsystem/assets
+SUBSYSTEM_DEF(assets)
name = "Assets"
init_order = -3
flags = SS_NO_FIRE
var/list/cache = list()
-/datum/controller/subsystem/assets/New()
- NEW_SS_GLOBAL(SSasset)
-
/datum/controller/subsystem/assets/Initialize(timeofday)
for(var/type in typesof(/datum/asset) - list(/datum/asset, /datum/asset/simple))
var/datum/asset/A = new type()
A.register()
- for(var/client/C in clients)
+ for(var/client/C in GLOB.clients)
addtimer(CALLBACK(GLOBAL_PROC, .proc/getFilesSlow, C, cache, FALSE), 10)
..()
\ No newline at end of file
diff --git a/code/controllers/subsystem/atoms.dm b/code/controllers/subsystem/atoms.dm
index 499920bad8..e5cda98dd4 100644
--- a/code/controllers/subsystem/atoms.dm
+++ b/code/controllers/subsystem/atoms.dm
@@ -1,10 +1,8 @@
-var/datum/controller/subsystem/atoms/SSatoms
-
#define INITIALIZATION_INSSATOMS 0 //New should not call Initialize
#define INITIALIZATION_INNEW_MAPLOAD 1 //New should call Initialize(TRUE)
#define INITIALIZATION_INNEW_REGULAR 2 //New should call Initialize(FALSE)
-/datum/controller/subsystem/atoms
+SUBSYSTEM_DEF(atoms)
name = "Atoms"
init_order = 11
flags = SS_NO_FIRE
@@ -12,11 +10,10 @@ var/datum/controller/subsystem/atoms/SSatoms
var/initialized = INITIALIZATION_INSSATOMS
var/old_initialized
-/datum/controller/subsystem/atoms/New()
- NEW_SS_GLOBAL(SSatoms)
+ var/list/late_loaders
/datum/controller/subsystem/atoms/Initialize(timeofday)
- fire_overlay.appearance_flags = RESET_COLOR
+ GLOB.fire_overlay.appearance_flags = RESET_COLOR
setupGenetics() //to set the mutations' place in structural enzymes, so monkey.initialize() knows where to put the monkey mutation.
initialized = INITIALIZATION_INNEW_MAPLOAD
InitializeAtoms()
@@ -26,8 +23,6 @@ var/datum/controller/subsystem/atoms/SSatoms
if(initialized == INITIALIZATION_INSSATOMS)
return
- var/list/late_loaders
-
initialized = INITIALIZATION_INNEW_MAPLOAD
var/static/list/NewQdelList = list()
@@ -73,15 +68,15 @@ var/datum/controller/subsystem/atoms/SSatoms
initialized = INITIALIZATION_INNEW_REGULAR
- if(late_loaders)
- for(var/I in late_loaders)
- var/atom/A = I
- var/start_tick = world.time
- A.Initialize(FALSE)
- if(start_tick != world.time)
- WARNING("[A]: [A.type] slept during it's Initialize!")
- CHECK_TICK
- testing("Late-initialized [late_loaders.len] atoms")
+ for(var/I in late_loaders)
+ var/atom/A = I
+ var/start_tick = world.time
+ A.Initialize(FALSE)
+ if(start_tick != world.time)
+ WARNING("[A]: [A.type] slept during it's Initialize!")
+ CHECK_TICK
+ testing("Late-initialized [LAZYLEN(late_loaders)] atoms")
+ LAZYCLEARLIST(late_loaders)
/datum/controller/subsystem/atoms/proc/map_loader_begin()
old_initialized = initialized
@@ -108,9 +103,9 @@ var/datum/controller/subsystem/atoms/SSatoms
continue
B.dna_block = pick_n_take(avnums)
if(B.quality == POSITIVE)
- good_mutations |= B
+ GLOB.good_mutations |= B
else if(B.quality == NEGATIVE)
- bad_mutations |= B
+ GLOB.bad_mutations |= B
else if(B.quality == MINOR_NEGATIVE)
- not_good_mutations |= B
- CHECK_TICK
\ No newline at end of file
+ GLOB.not_good_mutations |= B
+ CHECK_TICK
diff --git a/code/controllers/subsystem/augury.dm b/code/controllers/subsystem/augury.dm
index d1a9424a19..851234fde5 100644
--- a/code/controllers/subsystem/augury.dm
+++ b/code/controllers/subsystem/augury.dm
@@ -1,6 +1,4 @@
-var/datum/controller/subsystem/augury/SSaugury
-
-/datum/controller/subsystem/augury
+SUBSYSTEM_DEF(augury)
name = "Augury"
flags = SS_NO_INIT
@@ -9,9 +7,6 @@ var/datum/controller/subsystem/augury/SSaugury
var/list/observers_given_action = list()
-/datum/controller/subsystem/augury/New()
- NEW_SS_GLOBAL(SSaugury)
-
/datum/controller/subsystem/augury/stat_entry(msg)
..("W:[watchers.len]|D:[doombringers.len]")
@@ -33,7 +28,7 @@ var/datum/controller/subsystem/augury/SSaugury
biggest_threat = threat
if(doombringers.len)
- for(var/i in player_list)
+ for(var/i in GLOB.player_list)
if(isobserver(i) && (!(observers_given_action[i])))
var/datum/action/innate/augury/A = new
A.Grant(i)
diff --git a/code/controllers/subsystem/communications.dm b/code/controllers/subsystem/communications.dm
index e17557a0fa..a7c60d3357 100644
--- a/code/controllers/subsystem/communications.dm
+++ b/code/controllers/subsystem/communications.dm
@@ -1,18 +1,13 @@
#define COMMUNICATION_COOLDOWN 600
#define COMMUNICATION_COOLDOWN_AI 600
-var/datum/controller/subsystem/communications/SScommunications
-
-/datum/controller/subsystem/communications
+SUBSYSTEM_DEF(communications)
name = "Communications"
flags = SS_NO_INIT | SS_NO_FIRE
var/silicon_message_cooldown
var/nonsilicon_message_cooldown
-/datum/controller/subsystem/communications/New()
- NEW_SS_GLOBAL(SScommunications)
-
/datum/controller/subsystem/communications/proc/can_announce(mob/living/user, is_silicon)
if(is_silicon && silicon_message_cooldown > world.time)
. = FALSE
diff --git a/code/controllers/subsystem/disease.dm b/code/controllers/subsystem/disease.dm
new file mode 100644
index 0000000000..8b867146a6
--- /dev/null
+++ b/code/controllers/subsystem/disease.dm
@@ -0,0 +1,40 @@
+SUBSYSTEM_DEF(disease)
+ name = "Disease"
+ flags = SS_KEEP_TIMING|SS_NO_INIT
+
+ var/list/currentrun = list()
+ var/list/processing = list()
+
+ var/list/diseases
+ var/list/archive_diseases = list()
+
+ var/static/list/list_symptoms = subtypesof(/datum/symptom)
+
+/datum/controller/subsystem/disease/PreInit()
+ if(!diseases)
+ diseases = subtypesof(/datum/disease)
+
+/datum/controller/subsystem/disease/Recover()
+ currentrun = SSdisease.currentrun
+ processing = SSdisease.processing
+ diseases = SSdisease.diseases
+ archive_diseases = SSdisease.archive_diseases
+
+/datum/controller/subsystem/disease/stat_entry(msg)
+ ..("P:[processing.len]")
+
+/datum/controller/subsystem/disease/fire(resumed = 0)
+ if(!resumed)
+ src.currentrun = processing.Copy()
+ //cache for sanic speed (lists are references anyways)
+ var/list/currentrun = src.currentrun
+
+ while(currentrun.len)
+ var/datum/thing = currentrun[currentrun.len]
+ currentrun.len--
+ if(thing)
+ thing.process()
+ else
+ processing.Remove(thing)
+ if (MC_TICK_CHECK)
+ return
diff --git a/code/controllers/subsystem/diseases.dm b/code/controllers/subsystem/diseases.dm
deleted file mode 100644
index 06a4961eb9..0000000000
--- a/code/controllers/subsystem/diseases.dm
+++ /dev/null
@@ -1,30 +0,0 @@
-var/datum/controller/subsystem/diseases/SSdisease
-
-/datum/controller/subsystem/diseases
- name = "Diseases"
- flags = SS_KEEP_TIMING|SS_NO_INIT
-
- var/list/currentrun = list()
- var/list/processing = list()
-
-/datum/controller/subsystem/diseases/New()
- NEW_SS_GLOBAL(SSdisease)
-
-/datum/controller/subsystem/diseases/stat_entry(msg)
- ..("P:[processing.len]")
-
-/datum/controller/subsystem/diseases/fire(resumed = 0)
- if(!resumed)
- src.currentrun = processing.Copy()
- //cache for sanic speed (lists are references anyways)
- var/list/currentrun = src.currentrun
-
- while(currentrun.len)
- var/datum/thing = currentrun[currentrun.len]
- currentrun.len--
- if(thing)
- thing.process()
- else
- processing.Remove(thing)
- if (MC_TICK_CHECK)
- return
diff --git a/code/controllers/subsystem/events.dm b/code/controllers/subsystem/events.dm
index b922ecc1ba..cae880485c 100644
--- a/code/controllers/subsystem/events.dm
+++ b/code/controllers/subsystem/events.dm
@@ -1,6 +1,4 @@
-var/datum/controller/subsystem/events/SSevent
-
-/datum/controller/subsystem/events
+SUBSYSTEM_DEF(events)
name = "Events"
init_order = 6
@@ -15,11 +13,6 @@ var/datum/controller/subsystem/events/SSevent
var/list/holidays //List of all holidays occuring today or null if no holidays
var/wizardmode = 0
-
-/datum/controller/subsystem/events/New()
- NEW_SS_GLOBAL(SSevent)
-
-
/datum/controller/subsystem/events/Initialize(time, zlevel)
for(var/type in typesof(/datum/round_event_control))
var/datum/round_event_control/E = new type()
@@ -67,7 +60,7 @@ var/datum/controller/subsystem/events/SSevent
// if(E) E.runEvent()
return
- var/gamemode = ticker.mode.config_tag
+ var/gamemode = SSticker.mode.config_tag
var/players_amt = get_active_player_count(alive_check = 1, afk_check = 1, human_check = 1)
// Only alive, non-AFK human players count towards this.
@@ -114,7 +107,7 @@ var/datum/controller/subsystem/events/SSevent
/area/engine/chiefs_office)
//Need to locate() as it's just a list of paths.
- return locate(pick((the_station_areas - safe_areas) + danger_areas))
+ return locate(pick((GLOB.the_station_areas - safe_areas) + danger_areas))
//allows a client to trigger an event
@@ -133,7 +126,7 @@ var/datum/controller/subsystem/events/SSevent
var/normal = ""
var/magic = ""
var/holiday = ""
- for(var/datum/round_event_control/E in SSevent.control)
+ for(var/datum/round_event_control/E in SSevents.control)
dat = "[E] "
if(E.holidayID)
holiday += dat
@@ -156,7 +149,7 @@ var/datum/controller/subsystem/events/SSevent
//Uncommenting ALLOW_HOLIDAYS in config.txt will enable holidays
//It's easy to add stuff. Just add a holiday datum in code/modules/holiday/holidays.dm
-//You can then check if it's a special day in any code in the game by doing if(SSevent.holidays["Groundhog Day"])
+//You can then check if it's a special day in any code in the game by doing if(SSevents.holidays["Groundhog Day"])
//You can also make holiday random events easily thanks to Pete/Gia's system.
//simply make a random event normally, then assign it a holidayID string which matches the holiday's name.
@@ -193,7 +186,7 @@ var/datum/controller/subsystem/events/SSevent
/datum/controller/subsystem/events/proc/toggleWizardmode()
wizardmode = !wizardmode
- message_admins("Summon Events has been [wizardmode ? "enabled, events will occur every [SSevent.frequency_lower / 600] to [SSevent.frequency_upper / 600] minutes" : "disabled"]!")
+ message_admins("Summon Events has been [wizardmode ? "enabled, events will occur every [SSevents.frequency_lower / 600] to [SSevents.frequency_upper / 600] minutes" : "disabled"]!")
log_game("Summon Events was [wizardmode ? "enabled" : "disabled"]!")
diff --git a/code/controllers/subsystem/fire_burning.dm b/code/controllers/subsystem/fire_burning.dm
index d420cd5a12..af3cb3f6a1 100644
--- a/code/controllers/subsystem/fire_burning.dm
+++ b/code/controllers/subsystem/fire_burning.dm
@@ -1,6 +1,4 @@
-var/datum/controller/subsystem/fire_burning/SSfire_burning
-
-/datum/controller/subsystem/fire_burning
+SUBSYSTEM_DEF(fire_burning)
name = "Fire Burning"
priority = 40
flags = SS_NO_INIT|SS_BACKGROUND
@@ -8,10 +6,6 @@ var/datum/controller/subsystem/fire_burning/SSfire_burning
var/list/currentrun = list()
var/list/processing = list()
-/datum/controller/subsystem/fire_burning/New()
- NEW_SS_GLOBAL(SSfire_burning)
-
-
/datum/controller/subsystem/fire_burning/stat_entry()
..("P:[processing.len]")
diff --git a/code/controllers/subsystem/garbage.dm b/code/controllers/subsystem/garbage.dm
index dc28f4cb50..1fff5c6430 100644
--- a/code/controllers/subsystem/garbage.dm
+++ b/code/controllers/subsystem/garbage.dm
@@ -1,6 +1,4 @@
-var/datum/controller/subsystem/garbage_collector/SSgarbage
-
-/datum/controller/subsystem/garbage_collector
+SUBSYSTEM_DEF(garbage)
name = "Garbage"
priority = 15
wait = 5
@@ -34,10 +32,7 @@ var/datum/controller/subsystem/garbage_collector/SSgarbage
var/list/qdel_list = list() // list of all types that have been qdel()eted
#endif
-/datum/controller/subsystem/garbage_collector/New()
- NEW_SS_GLOBAL(SSgarbage)
-
-/datum/controller/subsystem/garbage_collector/stat_entry(msg)
+/datum/controller/subsystem/garbage/stat_entry(msg)
msg += "Q:[queue.len]|D:[delslasttick]|G:[gcedlasttick]|"
msg += "GR:"
if (!(delslasttick+gcedlasttick))
@@ -52,14 +47,14 @@ var/datum/controller/subsystem/garbage_collector/SSgarbage
msg += "TGR:[round((totalgcs/(totaldels+totalgcs))*100, 0.01)]%"
..(msg)
-/datum/controller/subsystem/garbage_collector/fire()
+/datum/controller/subsystem/garbage/fire()
HandleToBeQueued()
if(state == SS_RUNNING)
HandleQueue()
//If you see this proc high on the profile, what you are really seeing is the garbage collection/soft delete overhead in byond.
//Don't attempt to optimize, not worth the effort.
-/datum/controller/subsystem/garbage_collector/proc/HandleToBeQueued()
+/datum/controller/subsystem/garbage/proc/HandleToBeQueued()
var/list/tobequeued = src.tobequeued
var/starttime = world.time
var/starttimeofday = world.timeofday
@@ -70,7 +65,7 @@ var/datum/controller/subsystem/garbage_collector/SSgarbage
Queue(ref)
tobequeued.Cut(1, 2)
-/datum/controller/subsystem/garbage_collector/proc/HandleQueue()
+/datum/controller/subsystem/garbage/proc/HandleQueue()
delslasttick = 0
gcedlasttick = 0
var/time_to_kill = world.time - collection_timeout // Anything qdel() but not GC'd BEFORE this time needs to be manually del()
@@ -124,12 +119,12 @@ var/datum/controller/subsystem/garbage_collector/SSgarbage
++gcedlasttick
++totalgcs
-/datum/controller/subsystem/garbage_collector/proc/QueueForQueuing(datum/A)
+/datum/controller/subsystem/garbage/proc/QueueForQueuing(datum/A)
if (istype(A) && A.gc_destroyed == GC_CURRENTLY_BEING_QDELETED)
tobequeued += A
A.gc_destroyed = GC_QUEUED_FOR_QUEUING
-/datum/controller/subsystem/garbage_collector/proc/Queue(datum/A)
+/datum/controller/subsystem/garbage/proc/Queue(datum/A)
if (!istype(A) || (!isnull(A.gc_destroyed) && A.gc_destroyed >= 0))
return
if (A.gc_destroyed == GC_QUEUED_FOR_HARD_DEL)
@@ -145,12 +140,12 @@ var/datum/controller/subsystem/garbage_collector/SSgarbage
queue[refid] = gctime
-/datum/controller/subsystem/garbage_collector/proc/HardQueue(datum/A)
+/datum/controller/subsystem/garbage/proc/HardQueue(datum/A)
if (istype(A) && A.gc_destroyed == GC_CURRENTLY_BEING_QDELETED)
tobequeued += A
A.gc_destroyed = GC_QUEUED_FOR_HARD_DEL
-/datum/controller/subsystem/garbage_collector/Recover()
+/datum/controller/subsystem/garbage/Recover()
if (istype(SSgarbage.queue))
queue |= SSgarbage.queue
if (istype(SSgarbage.tobequeued))
@@ -264,7 +259,7 @@ var/datum/controller/subsystem/garbage_collector/SSgarbage
testing("Beginning search for references to a [type].")
last_find_references = world.time
- find_references_in_globals()
+ DoSearchVar(GLOB)
for(var/datum/thing in world)
DoSearchVar(thing, "WorldRef: [thing]")
testing("Completed search for references to a [type].")
@@ -314,8 +309,6 @@ var/datum/controller/subsystem/garbage_collector/SSgarbage
usr << browse(dat, "window=qdeletedlog")
-#define SearchVar(X) DoSearchVar(X, "Global: " + #X)
-
/datum/proc/DoSearchVar(X, Xname)
if(usr && usr.client && !usr.client.running_find_references) return
if(istype(X, /datum))
@@ -347,692 +340,4 @@ var/datum/controller/subsystem/garbage_collector/SSgarbage
CHECK_TICK
#endif
-//if find_references isn't working for some datum
-//update this list using tools/DMTreeToGlobalsList
-/datum/proc/find_references_in_globals()
- SearchVar(clockwork_construction_value)
- SearchVar(clockwork_caches)
- SearchVar(clockwork_daemons)
- SearchVar(clockwork_generals_invoked)
- SearchVar(all_clockwork_objects)
- SearchVar(all_clockwork_mobs)
- SearchVar(clockwork_component_cache)
- SearchVar(ratvar_awakens)
- SearchVar(clockwork_gateway_activated)
- SearchVar(all_scripture)
- SearchVar(pointed_types)
- SearchVar(bloody_footprints_cache)
- SearchVar(ghost_accs_options)
- SearchVar(ghost_others_options)
- SearchVar(special_roles)
- SearchVar(string_cache)
- SearchVar(string_filename_current_key)
- SearchVar(cmp_field)
- SearchVar(friendly_animal_types)
- SearchVar(humanoid_icon_cache)
- SearchVar(freeze_item_icons)
- SearchVar(E)
- SearchVar(Sqrt2)
- SearchVar(sqrtTable)
- SearchVar(gaussian_next)
- SearchVar(skin_tones)
- SearchVar(species_list)
- SearchVar(roundstart_species)
- SearchVar(church_name)
- SearchVar(command_name)
- SearchVar(religion_name)
- SearchVar(syndicate_name)
- SearchVar(syndicate_code_phrase)
- SearchVar(syndicate_code_response)
- SearchVar(zero_character_only)
- SearchVar(hex_characters)
- SearchVar(alphabet)
- SearchVar(binary)
- SearchVar(can_embed_types)
- SearchVar(WALLITEMS)
- SearchVar(WALLITEMS_EXTERNAL)
- SearchVar(WALLITEMS_INVERSE)
- SearchVar(sortInstance)
- SearchVar(config)
- SearchVar(host)
- SearchVar(join_motd)
- SearchVar(station_name)
- SearchVar(game_version)
- SearchVar(changelog_hash)
- SearchVar(ooc_allowed)
- SearchVar(dooc_allowed)
- SearchVar(abandon_allowed)
- SearchVar(enter_allowed)
- SearchVar(guests_allowed)
- SearchVar(shuttle_frozen)
- SearchVar(shuttle_left)
- SearchVar(tinted_weldhelh)
- SearchVar(Debug)
- SearchVar(Debug2)
- SearchVar(comms_key)
- SearchVar(comms_allowed)
- SearchVar(medal_hub)
- SearchVar(medal_pass)
- SearchVar(medals_enabled)
- SearchVar(MAX_EX_DEVESTATION_RANGE)
- SearchVar(MAX_EX_HEAVY_RANGE)
- SearchVar(MAX_EX_LIGHT_RANGE)
- SearchVar(MAX_EX_FLASH_RANGE)
- SearchVar(MAX_EX_FLAME_RANGE)
- SearchVar(DYN_EX_SCALE)
- SearchVar(sqladdress)
- SearchVar(sqlport)
- SearchVar(sqlfdbkdb)
- SearchVar(sqlfdbklogin)
- SearchVar(sqlfdbkpass)
- SearchVar(sqlfdbktableprefix)
- SearchVar(dbcon)
- SearchVar(master_mode)
- SearchVar(secret_force_mode)
- SearchVar(wavesecret)
- SearchVar(start_state)
- SearchVar(NEARSIGHTBLOCK)
- SearchVar(EPILEPSYBLOCK)
- SearchVar(COUGHBLOCK)
- SearchVar(TOURETTESBLOCK)
- SearchVar(NERVOUSBLOCK)
- SearchVar(BLINDBLOCK)
- SearchVar(DEAFBLOCK)
- SearchVar(HULKBLOCK)
- SearchVar(TELEBLOCK)
- SearchVar(FIREBLOCK)
- SearchVar(XRAYBLOCK)
- SearchVar(CLUMSYBLOCK)
- SearchVar(STRANGEBLOCK)
- SearchVar(RACEBLOCK)
- SearchVar(bad_se_blocks)
- SearchVar(good_se_blocks)
- SearchVar(op_se_blocks)
- SearchVar(NULLED_SE)
- SearchVar(NULLED_UI)
- SearchVar(global_mutations)
- SearchVar(bad_mutations)
- SearchVar(good_mutations)
- SearchVar(not_good_mutations)
- SearchVar(diary)
- SearchVar(diaryofmeanpeople)
- SearchVar(href_logfile)
- SearchVar(bombers)
- SearchVar(admin_log)
- SearchVar(lastsignalers)
- SearchVar(lawchanges)
- SearchVar(combatlog)
- SearchVar(IClog)
- SearchVar(OOClog)
- SearchVar(adminlog)
- SearchVar(active_turfs_startlist)
- SearchVar(admin_notice)
- SearchVar(timezoneOffset)
- SearchVar(fileaccess_timer)
- SearchVar(TAB)
- SearchVar(data_core)
- SearchVar(CELLRATE)
- SearchVar(CHARGELEVEL)
- SearchVar(powernets)
- SearchVar(hair_styles_list)
- SearchVar(hair_styles_male_list)
- SearchVar(hair_styles_female_list)
- SearchVar(facial_hair_styles_list)
- SearchVar(facial_hair_styles_male_list)
- SearchVar(facial_hair_styles_female_list)
- SearchVar(underwear_list)
- SearchVar(underwear_m)
- SearchVar(underwear_f)
- SearchVar(undershirt_list)
- SearchVar(undershirt_m)
- SearchVar(undershirt_f)
- SearchVar(socks_list)
- SearchVar(body_markings_list)
- SearchVar(tails_list_lizard)
- SearchVar(animated_tails_list_lizard)
- SearchVar(snouts_list)
- SearchVar(horns_list)
- SearchVar(frills_list)
- SearchVar(spines_list)
- SearchVar(legs_list)
- SearchVar(animated_spines_list)
- SearchVar(tails_list_human)
- SearchVar(animated_tails_list_human)
- SearchVar(ears_list)
- SearchVar(wings_list)
- SearchVar(wings_open_list)
- SearchVar(r_wings_list)
- SearchVar(ghost_forms_with_directions_list)
- SearchVar(ghost_forms_with_accessories_list)
- SearchVar(security_depts_prefs)
- SearchVar(backbaglist)
- SearchVar(uplink_spawn_loc_list)
- SearchVar(female_clothing_icons)
- SearchVar(hit_appends)
- SearchVar(scarySounds)
- SearchVar(TAGGERLOCATIONS)
- SearchVar(guitar_notes)
- SearchVar(station_prefixes)
- SearchVar(station_names)
- SearchVar(station_suffixes)
- SearchVar(greek_letters)
- SearchVar(phonetic_alphabet)
- SearchVar(numbers_as_words)
- SearchVar(station_numerals)
- SearchVar(cardinal)
- SearchVar(alldirs)
- SearchVar(diagonals)
- SearchVar(accessable_z_levels)
- SearchVar(global_map)
- SearchVar(landmarks_list)
- SearchVar(start_landmarks_list)
- SearchVar(department_security_spawns)
- SearchVar(generic_event_spawns)
- SearchVar(monkeystart)
- SearchVar(wizardstart)
- SearchVar(newplayer_start)
- SearchVar(latejoin)
- SearchVar(prisonwarp)
- SearchVar(holdingfacility)
- SearchVar(xeno_spawn)
- SearchVar(tdome1)
- SearchVar(tdome2)
- SearchVar(tdomeobserve)
- SearchVar(tdomeadmin)
- SearchVar(prisonsecuritywarp)
- SearchVar(prisonwarped)
- SearchVar(blobstart)
- SearchVar(secequipment)
- SearchVar(deathsquadspawn)
- SearchVar(emergencyresponseteamspawn)
- SearchVar(ruin_landmarks)
- SearchVar(awaydestinations)
- SearchVar(sortedAreas)
- SearchVar(transit_markers)
- SearchVar(clients)
- SearchVar(admins)
- SearchVar(deadmins)
- SearchVar(directory)
- SearchVar(stealthminID)
- SearchVar(player_list)
- SearchVar(mob_list)
- SearchVar(living_mob_list)
- SearchVar(dead_mob_list)
- SearchVar(joined_player_list)
- SearchVar(silicon_mobs)
- SearchVar(pai_list)
- SearchVar(ai_names)
- SearchVar(wizard_first)
- SearchVar(wizard_second)
- SearchVar(ninja_titles)
- SearchVar(ninja_names)
- SearchVar(commando_names)
- SearchVar(first_names_male)
- SearchVar(first_names_female)
- SearchVar(last_names)
- SearchVar(lizard_names_male)
- SearchVar(lizard_names_female)
- SearchVar(clown_names)
- SearchVar(mime_names)
- SearchVar(carp_names)
- SearchVar(golem_names)
- SearchVar(plasmaman_names)
- SearchVar(verbs)
- SearchVar(adjectives)
- SearchVar(cable_list)
- SearchVar(portals)
- SearchVar(airlocks)
- SearchVar(mechas_list)
- SearchVar(shuttle_caller_list)
- SearchVar(machines)
- SearchVar(syndicate_shuttle_boards)
- SearchVar(navbeacons)
- SearchVar(teleportbeacons)
- SearchVar(deliverybeacons)
- SearchVar(deliverybeacontags)
- SearchVar(nuke_list)
- SearchVar(alarmdisplay)
- SearchVar(chemical_reactions_list)
- SearchVar(chemical_reagents_list)
- SearchVar(materials_list)
- SearchVar(tech_list)
- SearchVar(surgeries_list)
- SearchVar(crafting_recipes)
- SearchVar(rcd_list)
- SearchVar(apcs_list)
- SearchVar(tracked_implants)
- SearchVar(tracked_chem_implants)
- SearchVar(poi_list)
- SearchVar(pinpointer_list)
- SearchVar(zombie_infection_list)
- SearchVar(meteor_list)
- SearchVar(poll_ignore)
- SearchVar(typecache_mob)
- SearchVar(tk_maxrange)
- SearchVar(Failsafe)
- SearchVar(Master)
- SearchVar(MC_restart_clear)
- SearchVar(MC_restart_timeout)
- SearchVar(MC_restart_count)
- SearchVar(CURRENT_TICKLIMIT)
- SearchVar(SSacid)
- SearchVar(SSair)
- SearchVar(SSasset)
- SearchVar(SSaugury)
- SearchVar(SScommunications)
- SearchVar(SSdisease)
- SearchVar(SSevent)
- SearchVar(SSfire_burning)
- SearchVar(SSgarbage)
- SearchVar(SSicon_smooth)
- SearchVar(SSipintel)
- SearchVar(SSjob)
- SearchVar(SSlighting)
- SearchVar(SSmachine)
- SearchVar(SSmapping)
- SearchVar(SSminimap)
- SearchVar(SSmob)
- SearchVar(SSnpc)
- SearchVar(SSorbit)
- SearchVar(SSpai)
- SearchVar(pai_card_list)
- SearchVar(SSparallax)
- SearchVar(SSpersistence)
- SearchVar(SSping)
- SearchVar(SSradio)
- SearchVar(SSreligion)
- SearchVar(SSserver)
- SearchVar(SSshuttle)
- SearchVar(SSspacedrift)
- SearchVar(SSsqueak)
- SearchVar(SSstickyban)
- SearchVar(SSsun)
- SearchVar(SStgui)
- SearchVar(SSthrowing)
- SearchVar(round_start_time)
- SearchVar(ticker)
- SearchVar(SStimer)
- SearchVar(SSvote)
- SearchVar(SSweather)
- SearchVar(SSfastprocess)
- SearchVar(SSflightpacks)
- SearchVar(SSobj)
- SearchVar(SSprocessing)
- SearchVar(record_id_num)
- SearchVar(emote_list)
- SearchVar(huds)
- SearchVar(diseases)
- SearchVar(archive_diseases)
- SearchVar(advance_cures)
- SearchVar(list_symptoms)
- SearchVar(dictionary_symptoms)
- SearchVar(SYMPTOM_ACTIVATION_PROB)
- SearchVar(revdata)
- SearchVar(all_status_effects)
- SearchVar(wire_colors)
- SearchVar(wire_color_directory)
- SearchVar(wire_name_directory)
- SearchVar(blood_splatter_icons)
- SearchVar(all_radios)
- SearchVar(radiochannels)
- SearchVar(radiochannelsreverse)
- SearchVar(SYND_FREQ)
- SearchVar(SUPP_FREQ)
- SearchVar(SERV_FREQ)
- SearchVar(SCI_FREQ)
- SearchVar(COMM_FREQ)
- SearchVar(MED_FREQ)
- SearchVar(ENG_FREQ)
- SearchVar(SEC_FREQ)
- SearchVar(CENTCOM_FREQ)
- SearchVar(AIPRIV_FREQ)
- SearchVar(RADIO_TO_AIRALARM)
- SearchVar(RADIO_FROM_AIRALARM)
- SearchVar(RADIO_CHAT)
- SearchVar(RADIO_ATMOSIA)
- SearchVar(RADIO_NAVBEACONS)
- SearchVar(RADIO_AIRLOCK)
- SearchVar(RADIO_MAGNETS)
- SearchVar(pointers)
- SearchVar(freqtospan)
- SearchVar(teleportlocs)
- SearchVar(the_station_areas)
- SearchVar(possible_items)
- SearchVar(possible_items_special)
- SearchVar(blobs)
- SearchVar(blob_cores)
- SearchVar(overminds)
- SearchVar(blob_nodes)
- SearchVar(blobs_legit)
- SearchVar(possible_changeling_IDs)
- SearchVar(slots)
- SearchVar(slot2slot)
- SearchVar(slot2type)
- SearchVar(hivemind_bank)
- SearchVar(blacklisted_pylon_turfs)
- SearchVar(non_revealed_runes)
- SearchVar(teleport_runes)
- SearchVar(wall_runes)
- SearchVar(whiteness)
- SearchVar(allDevils)
- SearchVar(lawlorify)
- SearchVar(gang_name_pool)
- SearchVar(gang_colors_pool)
- SearchVar(borers)
- SearchVar(total_borer_hosts_needed)
- SearchVar(bomb_set)
- SearchVar(hsboxspawn)
- SearchVar(multiverse)
- SearchVar(announcement_systems)
- SearchVar(doppler_arrays)
- SearchVar(HOLOPAD_MODE)
- SearchVar(holopads)
- SearchVar(news_network)
- SearchVar(allCasters)
- SearchVar(SAFETY_COOLDOWN)
- SearchVar(req_console_assistance)
- SearchVar(req_console_supplies)
- SearchVar(req_console_information)
- SearchVar(allConsoles)
- SearchVar(time_last_changed_position)
- SearchVar(CALL_SHUTTLE_REASON_LENGTH)
- SearchVar(crewmonitor)
- SearchVar(possible_uplinker_IDs)
- SearchVar(airlock_overlays)
- SearchVar(pipeID2State)
- SearchVar(telecomms_list)
- SearchVar(recentmessages)
- SearchVar(message_delay)
- SearchVar(year)
- SearchVar(year_integer)
- SearchVar(explosionid)
- SearchVar(fire_overlay)
- SearchVar(acid_overlay)
- SearchVar(BUMP_TELEPORTERS)
- SearchVar(blacklisted_glowshroom_turfs)
- SearchVar(PDAs)
- SearchVar(rod_recipes)
- SearchVar(glass_recipes)
- SearchVar(reinforced_glass_recipes)
- SearchVar(human_recipes)
- SearchVar(corgi_recipes)
- SearchVar(monkey_recipes)
- SearchVar(xeno_recipes)
- SearchVar(sinew_recipes)
- SearchVar(sandstone_recipes)
- SearchVar(sandbag_recipes)
- SearchVar(diamond_recipes)
- SearchVar(uranium_recipes)
- SearchVar(plasma_recipes)
- SearchVar(gold_recipes)
- SearchVar(silver_recipes)
- SearchVar(clown_recipes)
- SearchVar(titanium_recipes)
- SearchVar(plastitanium_recipes)
- SearchVar(snow_recipes)
- SearchVar(abductor_recipes)
- SearchVar(metal_recipes)
- SearchVar(plasteel_recipes)
- SearchVar(wood_recipes)
- SearchVar(cloth_recipes)
- SearchVar(cardboard_recipes)
- SearchVar(runed_metal_recipes)
- SearchVar(brass_recipes)
- SearchVar(disposalpipeID2State)
- SearchVar(RPD_recipes)
- SearchVar(biblenames)
- SearchVar(biblestates)
- SearchVar(bibleitemstates)
- SearchVar(globalBlankCanvases)
- SearchVar(crematoriums)
- SearchVar(icons_to_ignore_at_floor_init)
- SearchVar(js_byjax)
- SearchVar(js_dropdowns)
- SearchVar(BSACooldown)
- SearchVar(admin_ranks)
- SearchVar(admin_verbs_default)
- SearchVar(admin_verbs_admin)
- SearchVar(admin_verbs_ban)
- SearchVar(admin_verbs_sounds)
- SearchVar(admin_verbs_fun)
- SearchVar(admin_verbs_spawn)
- SearchVar(admin_verbs_server)
- SearchVar(admin_verbs_debug)
- SearchVar(admin_verbs_possess)
- SearchVar(admin_verbs_permissions)
- SearchVar(admin_verbs_rejuv)
- SearchVar(admin_verbs_hideable)
- SearchVar(create_object_html)
- SearchVar(create_object_forms)
- SearchVar(admin_datums)
- SearchVar(CMinutes)
- SearchVar(Banlist)
- SearchVar(whitelist)
- SearchVar(TYPES_SHORTCUTS)
- SearchVar(intercom_range_display_status)
- SearchVar(admin_verbs_debug_mapping)
- SearchVar(say_disabled)
- SearchVar(VVlocked)
- SearchVar(VVicon_edit_lock)
- SearchVar(VVckey_edit)
- SearchVar(VVpixelmovement)
- SearchVar(highlander)
- SearchVar(admin_sound)
- SearchVar(custom_outfits)
- SearchVar(meta_gas_info)
- SearchVar(gaslist_cache)
- SearchVar(hardcoded_gases)
- SearchVar(pipenetwarnings)
- SearchVar(the_gateway)
- SearchVar(potentialRandomZlevels)
- SearchVar(use_preloader)
- SearchVar(_preloader)
- SearchVar(swapmaps_iconcache)
- SearchVar(SWAPMAPS_SAV)
- SearchVar(SWAPMAPS_TEXT)
- SearchVar(swapmaps_mode)
- SearchVar(swapmaps_compiled_maxx)
- SearchVar(swapmaps_compiled_maxy)
- SearchVar(swapmaps_compiled_maxz)
- SearchVar(swapmaps_initialized)
- SearchVar(swapmaps_loaded)
- SearchVar(swapmaps_byname)
- SearchVar(sc_safecode1)
- SearchVar(sc_safecode2)
- SearchVar(sc_safecode3)
- SearchVar(sc_safecode4)
- SearchVar(sc_safecode5)
- SearchVar(exports_list)
- SearchVar(clientmessages)
- SearchVar(preferences_datums)
- SearchVar(ghost_forms)
- SearchVar(ghost_orbits)
- SearchVar(normal_ooc_colour)
- SearchVar(damaged_clothes_icons)
- SearchVar(emojis)
- SearchVar(non_fakeattack_weapons)
- SearchVar(cards_against_space)
- SearchVar(chem_t1_reagents)
- SearchVar(chem_t2_reagents)
- SearchVar(chem_t3_reagents)
- SearchVar(chem_t4_reagents)
- SearchVar(ENGSEC)
- SearchVar(CAPTAIN)
- SearchVar(HOS)
- SearchVar(WARDEN)
- SearchVar(DETECTIVE)
- SearchVar(OFFICER)
- SearchVar(CHIEF)
- SearchVar(ENGINEER)
- SearchVar(ATMOSTECH)
- SearchVar(ROBOTICIST)
- SearchVar(AI)
- SearchVar(CYBORG)
- SearchVar(MEDSCI)
- SearchVar(RD)
- SearchVar(SCIENTIST)
- SearchVar(CHEMIST)
- SearchVar(CMO)
- SearchVar(DOCTOR)
- SearchVar(GENETICIST)
- SearchVar(VIROLOGIST)
- SearchVar(CIVILIAN)
- SearchVar(HOP)
- SearchVar(BARTENDER)
- SearchVar(BOTANIST)
- SearchVar(COOK)
- SearchVar(JANITOR)
- SearchVar(LIBRARIAN)
- SearchVar(QUARTERMASTER)
- SearchVar(CARGOTECH)
- SearchVar(MINER)
- SearchVar(LAWYER)
- SearchVar(CHAPLAIN)
- SearchVar(CLOWN)
- SearchVar(MIME)
- SearchVar(ASSISTANT)
- SearchVar(assistant_occupations)
- SearchVar(command_positions)
- SearchVar(engineering_positions)
- SearchVar(medical_positions)
- SearchVar(science_positions)
- SearchVar(supply_positions)
- SearchVar(civilian_positions)
- SearchVar(security_positions)
- SearchVar(nonhuman_positions)
- SearchVar(cap_expand)
- SearchVar(cmo_expand)
- SearchVar(hos_expand)
- SearchVar(hop_expand)
- SearchVar(rd_expand)
- SearchVar(ce_expand)
- SearchVar(qm_expand)
- SearchVar(sec_expand)
- SearchVar(engi_expand)
- SearchVar(atmos_expand)
- SearchVar(doc_expand)
- SearchVar(mine_expand)
- SearchVar(chef_expand)
- SearchVar(borg_expand)
- SearchVar(available_depts)
- SearchVar(cachedbooks)
- SearchVar(total_extraction_beacons)
- SearchVar(next_mob_id)
- SearchVar(firstname)
- SearchVar(ghost_darkness_images)
- SearchVar(ghost_images_full)
- SearchVar(ghost_images_default)
- SearchVar(ghost_images_simple)
- SearchVar(department_radio_keys)
- SearchVar(crit_allowed_modes)
- SearchVar(ventcrawl_machinery)
- SearchVar(posibrain_notif_cooldown)
- SearchVar(NO_SLIP_WHEN_WALKING)
- SearchVar(SLIDE)
- SearchVar(GALOSHES_DONT_HELP)
- SearchVar(SLIDE_ICE)
- SearchVar(limb_icon_cache)
- SearchVar(MIN_IMPREGNATION_TIME)
- SearchVar(MAX_IMPREGNATION_TIME)
- SearchVar(MIN_ACTIVE_TIME)
- SearchVar(MAX_ACTIVE_TIME)
- SearchVar(default_martial_art)
- SearchVar(plasmaman_on_fire)
- SearchVar(ai_list)
- SearchVar(announcing_vox)
- SearchVar(VOX_CHANNEL)
- SearchVar(VOX_DELAY)
- SearchVar(vox_sounds)
- SearchVar(CHUNK_SIZE)
- SearchVar(cameranet)
- SearchVar(mulebot_count)
- SearchVar(MAX_CHICKENS)
- SearchVar(chicken_count)
- SearchVar(parasites)
- SearchVar(protected_objects)
- SearchVar(AISwarmers)
- SearchVar(AISwarmersByType)
- SearchVar(AISwarmerCapsByType)
- SearchVar(slime_colours)
- SearchVar(global_modular_computers)
- SearchVar(file_uid)
- SearchVar(nttransfer_uid)
- SearchVar(ntnet_card_uid)
- SearchVar(ntnet_global)
- SearchVar(ntnrc_uid)
- SearchVar(employmentCabinets)
- SearchVar(cable_coil_recipes)
- SearchVar(gravity_generators)
- SearchVar(POWER_IDLE)
- SearchVar(POWER_UP)
- SearchVar(POWER_DOWN)
- SearchVar(GRAV_NEEDS_SCREWDRIVER)
- SearchVar(GRAV_NEEDS_WELDING)
- SearchVar(GRAV_NEEDS_PLASTEEL)
- SearchVar(GRAV_NEEDS_WRENCH)
- SearchVar(rad_collectors)
- SearchVar(blacklisted_tesla_types)
- SearchVar(TOUCH)
- SearchVar(INGEST)
- SearchVar(VAPOR)
- SearchVar(PATCH)
- SearchVar(INJECT)
- SearchVar(chemical_mob_spawn_meancritters)
- SearchVar(chemical_mob_spawn_nicecritters)
- SearchVar(message_servers)
- SearchVar(blackbox)
- SearchVar(keycard_events)
- SearchVar(blacklisted_cargo_types)
- SearchVar(z_levels_list)
- SearchVar(spells)
- SearchVar(non_simple_animals)
- SearchVar(FrozenAccounts)
- SearchVar(stockExchange)
- SearchVar(stun_words)
- SearchVar(weaken_words)
- SearchVar(sleep_words)
- SearchVar(vomit_words)
- SearchVar(silence_words)
- SearchVar(hallucinate_words)
- SearchVar(wakeup_words)
- SearchVar(heal_words)
- SearchVar(hurt_words)
- SearchVar(bleed_words)
- SearchVar(burn_words)
- SearchVar(hot_words)
- SearchVar(cold_words)
- SearchVar(repulse_words)
- SearchVar(attract_words)
- SearchVar(whoareyou_words)
- SearchVar(saymyname_words)
- SearchVar(knockknock_words)
- SearchVar(statelaws_words)
- SearchVar(move_words)
- SearchVar(left_words)
- SearchVar(right_words)
- SearchVar(up_words)
- SearchVar(down_words)
- SearchVar(walk_words)
- SearchVar(run_words)
- SearchVar(helpintent_words)
- SearchVar(disarmintent_words)
- SearchVar(grabintent_words)
- SearchVar(harmintent_words)
- SearchVar(throwmode_words)
- SearchVar(flip_words)
- SearchVar(speak_words)
- SearchVar(rest_words)
- SearchVar(getup_words)
- SearchVar(sit_words)
- SearchVar(stand_words)
- SearchVar(dance_words)
- SearchVar(jump_words)
- SearchVar(salute_words)
- SearchVar(deathgasp_words)
- SearchVar(clap_words)
- SearchVar(honk_words)
- SearchVar(multispin_words)
- SearchVar(GPS_list)
- SearchVar(uplinks)
- SearchVar(uplink_items)
#endif
diff --git a/code/controllers/subsystem/icon_smooth.dm b/code/controllers/subsystem/icon_smooth.dm
index a52089db2a..83c5895018 100644
--- a/code/controllers/subsystem/icon_smooth.dm
+++ b/code/controllers/subsystem/icon_smooth.dm
@@ -1,6 +1,4 @@
-var/datum/controller/subsystem/icon_smooth/SSicon_smooth
-
-/datum/controller/subsystem/icon_smooth
+SUBSYSTEM_DEF(icon_smooth)
name = "Icon Smoothing"
init_order = -5
wait = 1
@@ -9,9 +7,6 @@ var/datum/controller/subsystem/icon_smooth/SSicon_smooth
var/list/smooth_queue = list()
-/datum/controller/subsystem/icon_smooth/New()
- NEW_SS_GLOBAL(SSicon_smooth)
-
/datum/controller/subsystem/icon_smooth/fire()
while(smooth_queue.len)
var/atom/A = smooth_queue[smooth_queue.len]
diff --git a/code/controllers/subsystem/inbounds.dm b/code/controllers/subsystem/inbounds.dm
index 169b8a44b2..1ac9115982 100644
--- a/code/controllers/subsystem/inbounds.dm
+++ b/code/controllers/subsystem/inbounds.dm
@@ -1,5 +1,4 @@
-var/datum/controller/subsystem/inbounds/SSinbounds
-/datum/controller/subsystem/inbounds
+SUBSYSTEM_DEF(inbounds)
name = "Inbounds"
priority = 40
flags = SS_NO_INIT
@@ -7,8 +6,6 @@ var/datum/controller/subsystem/inbounds/SSinbounds
var/list/processing = list()
var/list/currentrun = list()
-/datum/controller/subsystem/inbounds/New()
- NEW_SS_GLOBAL(SSinbounds)
/datum/controller/subsystem/inbounds/stat_entry()
..("P:[processing.len]")
diff --git a/code/controllers/subsystem/ipintel.dm b/code/controllers/subsystem/ipintel.dm
index 07954f5476..0f351c8463 100644
--- a/code/controllers/subsystem/ipintel.dm
+++ b/code/controllers/subsystem/ipintel.dm
@@ -1,6 +1,4 @@
-var/datum/controller/subsystem/ipintel/SSipintel
-
-/datum/controller/subsystem/ipintel
+SUBSYSTEM_DEF(ipintel)
name = "XKeyScore"
init_order = -10
flags = SS_NO_FIRE
@@ -10,9 +8,6 @@ var/datum/controller/subsystem/ipintel/SSipintel
var/list/cache = list()
-/datum/controller/subsystem/ipintel/New()
- NEW_SS_GLOBAL(SSipintel)
-
/datum/controller/subsystem/ipintel/Initialize(timeofday, zlevel)
enabled = 1
. = ..()
diff --git a/code/controllers/subsystem/jobs.dm b/code/controllers/subsystem/job.dm
similarity index 94%
rename from code/controllers/subsystem/jobs.dm
rename to code/controllers/subsystem/job.dm
index 35577889c4..517c72512c 100644
--- a/code/controllers/subsystem/jobs.dm
+++ b/code/controllers/subsystem/job.dm
@@ -1,6 +1,4 @@
-var/datum/controller/subsystem/job/SSjob
-
-/datum/controller/subsystem/job
+SUBSYSTEM_DEF(job)
name = "Jobs"
init_order = 14
flags = SS_NO_FIRE
@@ -14,10 +12,6 @@ var/datum/controller/subsystem/job/SSjob
var/list/prioritized_jobs = list()
-/datum/controller/subsystem/job/New()
- NEW_SS_GLOBAL(SSjob)
-
-
/datum/controller/subsystem/job/Initialize(timeofday)
if(!occupations.len)
SetupOccupations()
@@ -52,7 +46,7 @@ var/datum/controller/subsystem/job/SSjob
/datum/controller/subsystem/job/proc/Debug(text)
- if(!Debug2)
+ if(!GLOB.Debug2)
return 0
job_debug.Add(text)
return 1
@@ -116,6 +110,7 @@ var/datum/controller/subsystem/job/SSjob
/datum/controller/subsystem/job/proc/GiveRandomJob(mob/dead/new_player/player)
Debug("GRJ Giving random job, Player: [player]")
+ . = FALSE
for(var/datum/job/job in shuffle(occupations))
if(!job)
continue
@@ -123,7 +118,7 @@ var/datum/controller/subsystem/job/SSjob
if(istype(job, GetJob("Assistant"))) // We don't want to give him assistant, that's boring!
continue
- if(job.title in command_positions) //If you want a command position, select it!
+ if(job.title in GLOB.command_positions) //If you want a command position, select it!
continue
if(jobban_isbanned(player, job.title))
@@ -145,12 +140,11 @@ var/datum/controller/subsystem/job/SSjob
if((job.current_positions < job.spawn_positions) || job.spawn_positions == -1)
Debug("GRJ Random job given, Player: [player], Job: [job]")
- AssignRole(player, job.title)
- unassigned -= player
- break
+ if(AssignRole(player, job.title))
+ return TRUE
/datum/controller/subsystem/job/proc/ResetOccupations()
- for(var/mob/dead/new_player/player in player_list)
+ for(var/mob/dead/new_player/player in GLOB.player_list)
if((player) && (player.mind))
player.mind.assigned_role = null
player.mind.special_role = null
@@ -164,7 +158,7 @@ var/datum/controller/subsystem/job/SSjob
//This is basically to ensure that there's atleast a few heads in the round
/datum/controller/subsystem/job/proc/FillHeadPosition()
for(var/level = 1 to 3)
- for(var/command_position in command_positions)
+ for(var/command_position in GLOB.command_positions)
var/datum/job/job = GetJob(command_position)
if(!job)
continue
@@ -182,7 +176,7 @@ var/datum/controller/subsystem/job/SSjob
//This proc is called at the start of the level loop of DivideOccupations() and will cause head jobs to be checked before any other jobs of the same level
//This is also to ensure we get as many heads as possible
/datum/controller/subsystem/job/proc/CheckHeadPositions(level)
- for(var/command_position in command_positions)
+ for(var/command_position in GLOB.command_positions)
var/datum/job/job = GetJob(command_position)
if(!job)
continue
@@ -193,8 +187,6 @@ var/datum/controller/subsystem/job/SSjob
continue
var/mob/dead/new_player/candidate = pick(candidates)
AssignRole(candidate, command_position)
- return
-
/datum/controller/subsystem/job/proc/FillAIPosition()
var/ai_selected = 0
@@ -223,14 +215,14 @@ var/datum/controller/subsystem/job/SSjob
//Setup new player list and get the jobs list
Debug("Running DO")
- //Holder for Triumvirate is stored in the ticker, this just processes it
- if(ticker)
+ //Holder for Triumvirate is stored in the SSticker, this just processes it
+ if(SSticker)
for(var/datum/job/ai/A in occupations)
- if(ticker.triai)
+ if(SSticker.triai)
A.spawn_positions = 3
//Get the players who are ready
- for(var/mob/dead/new_player/player in player_list)
+ for(var/mob/dead/new_player/player in GLOB.player_list)
if(player.ready && player.mind && !player.mind.assigned_role)
unassigned += player
@@ -356,7 +348,8 @@ var/datum/controller/subsystem/job/SSjob
RejectPlayer(player)
for(var/mob/dead/new_player/player in unassigned) //Players that wanted to back out but couldn't because they're antags (can you feel the edge case?)
- GiveRandomJob(player)
+ if(!GiveRandomJob(player))
+ AssignRole(player, "Assistant") //If everything is already filled, make them an assistant
return 1
@@ -377,7 +370,7 @@ var/datum/controller/subsystem/job/SSjob
//If we joined at roundstart we should be positioned at our workstation
if(!joined_late)
var/obj/S = null
- for(var/obj/effect/landmark/start/sloc in start_landmarks_list)
+ for(var/obj/effect/landmark/start/sloc in GLOB.start_landmarks_list)
if(sloc.name != rank)
S = sloc //so we can revert to spawning them on top of eachother if something goes wrong
continue
@@ -387,7 +380,7 @@ var/datum/controller/subsystem/job/SSjob
break
if(!S) //if there isn't a spawnpoint send them to latejoin, if there's no latejoin go yell at your mapper
log_world("Couldn't find a round start spawn point for [rank]")
- S = get_turf(pick(latejoin))
+ S = get_turf(pick(GLOB.latejoin))
if(!S) //final attempt, lets find some area in the arrivals shuttle to spawn them in to.
log_world("Couldn't find a round start latejoin spawn point.")
for(var/turf/T in get_area_turfs(/area/shuttle/arrival))
@@ -446,10 +439,10 @@ var/datum/controller/subsystem/job/SSjob
if(equip_needed < 0) // -1: infinite available slots
equip_needed = 12
for(var/i=equip_needed-5, i>0, i--)
- if(secequipment.len)
- var/spawnloc = secequipment[1]
+ if(GLOB.secequipment.len)
+ var/spawnloc = GLOB.secequipment[1]
new /obj/structure/closet/secure_closet/security/sec(spawnloc)
- secequipment -= spawnloc
+ GLOB.secequipment -= spawnloc
else //We ran out of spare locker spawns!
break
@@ -472,7 +465,7 @@ var/datum/controller/subsystem/job/SSjob
var/level4 = 0 //never
var/level5 = 0 //banned
var/level6 = 0 //account too young
- for(var/mob/dead/new_player/player in player_list)
+ for(var/mob/dead/new_player/player in GLOB.player_list)
if(!(player.ready && player.mind && !player.mind.assigned_role))
continue //This player is not ready
if(jobban_isbanned(player, job.title))
diff --git a/code/controllers/subsystem/lighting.dm b/code/controllers/subsystem/lighting.dm
index 7d3d632544..a6547cd903 100644
--- a/code/controllers/subsystem/lighting.dm
+++ b/code/controllers/subsystem/lighting.dm
@@ -1,11 +1,8 @@
-var/datum/controller/subsystem/lighting/SSlighting
+GLOBAL_LIST_EMPTY(lighting_update_lights) // List of lighting sources queued for update.
+GLOBAL_LIST_EMPTY(lighting_update_corners) // List of lighting corners queued for update.
+GLOBAL_LIST_EMPTY(lighting_update_objects) // List of lighting objects queued for update.
-var/list/lighting_update_lights = list() // List of lighting sources queued for update.
-var/list/lighting_update_corners = list() // List of lighting corners queued for update.
-var/list/lighting_update_objects = list() // List of lighting objects queued for update.
-
-
-/datum/controller/subsystem/lighting
+SUBSYSTEM_DEF(lighting)
name = "Lighting"
wait = 2
init_order = -20
@@ -13,13 +10,8 @@ var/list/lighting_update_objects = list() // List of lighting objects queued fo
var/initialized = FALSE
-
-/datum/controller/subsystem/lighting/New()
- NEW_SS_GLOBAL(SSlighting)
-
-
/datum/controller/subsystem/lighting/stat_entry()
- ..("L:[lighting_update_lights.len]|C:[lighting_update_corners.len]|O:[lighting_update_objects.len]")
+ ..("L:[GLOB.lighting_update_lights.len]|C:[GLOB.lighting_update_corners.len]|O:[GLOB.lighting_update_objects.len]")
/datum/controller/subsystem/lighting/Initialize(timeofday)
@@ -30,7 +22,7 @@ var/list/lighting_update_objects = list() // List of lighting objects queued fo
create_all_lighting_objects()
initialized = TRUE
-
+
fire(FALSE, TRUE)
..()
@@ -38,11 +30,11 @@ var/list/lighting_update_objects = list() // List of lighting objects queued fo
/datum/controller/subsystem/lighting/fire(resumed, init_tick_checks)
var/real_tick_limit
if(!init_tick_checks)
- real_tick_limit = CURRENT_TICKLIMIT
- CURRENT_TICKLIMIT = ((real_tick_limit - world.tick_usage) / 3) + world.tick_usage
+ real_tick_limit = GLOB.CURRENT_TICKLIMIT
+ GLOB.CURRENT_TICKLIMIT = ((real_tick_limit - world.tick_usage) / 3) + world.tick_usage
var/i = 0
- for (i in 1 to lighting_update_lights.len)
- var/datum/light_source/L = lighting_update_lights[i]
+ for (i in 1 to GLOB.lighting_update_lights.len)
+ var/datum/light_source/L = GLOB.lighting_update_lights[i]
if (L.check() || L.destroyed || L.force_update)
L.remove_lum()
@@ -55,20 +47,20 @@ var/list/lighting_update_objects = list() // List of lighting objects queued fo
L.vis_update = FALSE
L.force_update = FALSE
L.needs_update = FALSE
-
+
if(init_tick_checks)
CHECK_TICK
else if (MC_TICK_CHECK)
break
if (i)
- lighting_update_lights.Cut(1, i+1)
+ GLOB.lighting_update_lights.Cut(1, i+1)
i = 0
if(!init_tick_checks)
- CURRENT_TICKLIMIT = ((real_tick_limit - world.tick_usage)/2)+world.tick_usage
+ GLOB.CURRENT_TICKLIMIT = ((real_tick_limit - world.tick_usage)/2)+world.tick_usage
- for (i in 1 to lighting_update_corners.len)
- var/datum/lighting_corner/C = lighting_update_corners[i]
+ for (i in 1 to GLOB.lighting_update_corners.len)
+ var/datum/lighting_corner/C = GLOB.lighting_update_corners[i]
C.update_objects()
C.needs_update = FALSE
@@ -77,15 +69,15 @@ var/list/lighting_update_objects = list() // List of lighting objects queued fo
else if (MC_TICK_CHECK)
break
if (i)
- lighting_update_corners.Cut(1, i+1)
+ GLOB.lighting_update_corners.Cut(1, i+1)
i = 0
if(!init_tick_checks)
- CURRENT_TICKLIMIT = real_tick_limit
+ GLOB.CURRENT_TICKLIMIT = real_tick_limit
- for (i in 1 to lighting_update_objects.len)
- var/atom/movable/lighting_object/O = lighting_update_objects[i]
+ for (i in 1 to GLOB.lighting_update_objects.len)
+ var/atom/movable/lighting_object/O = GLOB.lighting_update_objects[i]
if (QDELETED(O))
continue
@@ -97,9 +89,9 @@ var/list/lighting_update_objects = list() // List of lighting objects queued fo
else if (MC_TICK_CHECK)
break
if (i)
- lighting_update_objects.Cut(1, i+1)
+ GLOB.lighting_update_objects.Cut(1, i+1)
/datum/controller/subsystem/lighting/Recover()
initialized = SSlighting.initialized
- ..()
\ No newline at end of file
+ ..()
diff --git a/code/controllers/subsystem/machines.dm b/code/controllers/subsystem/machines.dm
index 0f2356a8f2..9852752081 100644
--- a/code/controllers/subsystem/machines.dm
+++ b/code/controllers/subsystem/machines.dm
@@ -1,6 +1,4 @@
-var/datum/controller/subsystem/machines/SSmachine
-
-/datum/controller/subsystem/machines
+SUBSYSTEM_DEF(machines)
name = "Machines"
init_order = 9
flags = SS_KEEP_TIMING
@@ -8,7 +6,6 @@ var/datum/controller/subsystem/machines/SSmachine
var/list/currentrun = list()
var/list/powernets = list()
-
/datum/controller/subsystem/machines/Initialize()
makepowernets()
fire()
@@ -19,16 +16,12 @@ var/datum/controller/subsystem/machines/SSmachine
qdel(PN)
powernets.Cut()
- for(var/obj/structure/cable/PC in cable_list)
+ for(var/obj/structure/cable/PC in GLOB.cable_list)
if(!PC.powernet)
var/datum/powernet/NewPN = new()
NewPN.add_cable(PC)
propagate_network(PC,PC.powernet)
-/datum/controller/subsystem/machines/New()
- NEW_SS_GLOBAL(SSmachine)
-
-
/datum/controller/subsystem/machines/stat_entry()
..("M:[processing.len]|PN:[powernets.len]")
@@ -65,7 +58,7 @@ var/datum/controller/subsystem/machines/SSmachine
propagate_network(PC,PC.powernet)
/datum/controller/subsystem/machines/Recover()
- if (istype(SSmachine.processing))
- processing = SSmachine.processing
- if (istype(SSmachine.powernets))
- powernets = SSmachine.powernets
\ No newline at end of file
+ if (istype(SSmachines.processing))
+ processing = SSmachines.processing
+ if (istype(SSmachines.powernets))
+ powernets = SSmachines.powernets
\ No newline at end of file
diff --git a/code/controllers/subsystem/mapping.dm b/code/controllers/subsystem/mapping.dm
index 3b46d8e719..bae759ac3a 100644
--- a/code/controllers/subsystem/mapping.dm
+++ b/code/controllers/subsystem/mapping.dm
@@ -1,6 +1,4 @@
-var/datum/controller/subsystem/mapping/SSmapping
-
-/datum/controller/subsystem/mapping
+SUBSYSTEM_DEF(mapping)
name = "Mapping"
init_order = 12
flags = SS_NO_FIRE
@@ -8,7 +6,6 @@ var/datum/controller/subsystem/mapping/SSmapping
var/list/nuke_tiles = list()
var/list/nuke_threats = list()
- var/datum/map_config/previous_map_config
var/datum/map_config/config
var/datum/map_config/next_map_config
@@ -21,12 +18,7 @@ var/datum/controller/subsystem/mapping/SSmapping
var/list/shuttle_templates = list()
var/list/shelter_templates = list()
-/datum/controller/subsystem/mapping/New()
- NEW_SS_GLOBAL(SSmapping)
- if(!previous_map_config)
- previous_map_config = new("data/previous_map.json", delete_after = TRUE)
- if(previous_map_config.defaulted)
- previous_map_config = null
+/datum/controller/subsystem/mapping/PreInit()
if(!config)
#ifdef FORCE_MAP
config = new(FORCE_MAP)
@@ -97,7 +89,6 @@ var/datum/controller/subsystem/mapping/SSmapping
shuttle_templates = SSmapping.shuttle_templates
shelter_templates = SSmapping.shelter_templates
- previous_map_config = SSmapping.previous_map_config
config = SSmapping.config
next_map_config = SSmapping.next_map_config
@@ -119,12 +110,13 @@ var/datum/controller/subsystem/mapping/SSmapping
/datum/controller/subsystem/mapping/proc/loadWorld()
//if any of these fail, something has gone horribly, HORRIBLY, wrong
var/list/FailedZs = list()
-
+
var/start_time = REALTIMEOFDAY
-
+
INIT_ANNOUNCE("Loading [config.map_name]...")
TryLoadZ(config.GetFullMapPath(), FailedZs, ZLEVEL_STATION)
INIT_ANNOUNCE("Loaded station in [(REALTIMEOFDAY - start_time)/10]s!")
+ feedback_add_details("map_name", config.map_name)
if(config.minetype != "lavaland")
INIT_ANNOUNCE("WARNING: A map without lavaland set as it's minetype was loaded! This is being ignored! Update the maploader code!")
@@ -141,11 +133,11 @@ var/datum/controller/subsystem/mapping/SSmapping
#undef INIT_ANNOUNCE
/datum/controller/subsystem/mapping/proc/maprotate()
- var/players = clients.len
+ var/players = GLOB.clients.len
var/list/mapvotes = list()
//count votes
if(global.config.allow_map_voting)
- for (var/client/c in clients)
+ for (var/client/c in GLOB.clients)
var/vote = c.prefs.preferred_map
if (!vote)
if (global.config.defaultmap)
@@ -194,10 +186,6 @@ var/datum/controller/subsystem/mapping/SSmapping
next_map_config = VM
return TRUE
-/datum/controller/subsystem/mapping/Shutdown()
- if(config)
- config.MakePreviousMap()
-
/datum/controller/subsystem/mapping/proc/preloadTemplates(path = "_maps/templates/") //see master controller setup
var/list/filelist = flist(path)
for(var/map in filelist)
diff --git a/code/controllers/subsystem/minimap.dm b/code/controllers/subsystem/minimap.dm
index 8d8fd6fcec..6c3ce67dc2 100644
--- a/code/controllers/subsystem/minimap.dm
+++ b/code/controllers/subsystem/minimap.dm
@@ -1,6 +1,4 @@
-var/datum/controller/subsystem/minimap/SSminimap
-
-/datum/controller/subsystem/minimap
+SUBSYSTEM_DEF(minimap)
name = "Minimap"
init_order = -2
flags = SS_NO_FIRE
@@ -9,9 +7,6 @@ var/datum/controller/subsystem/minimap/SSminimap
var/list/z_levels = list(ZLEVEL_STATION)
-/datum/controller/subsystem/minimap/New()
- NEW_SS_GLOBAL(SSminimap)
-
/datum/controller/subsystem/minimap/Initialize(timeofday)
var/hash = md5(SSmapping.config.GetFullMapPath())
if(config.generate_minimaps)
diff --git a/code/controllers/subsystem/mobs.dm b/code/controllers/subsystem/mobs.dm
index 0ffab58567..44cd2e33b3 100644
--- a/code/controllers/subsystem/mobs.dm
+++ b/code/controllers/subsystem/mobs.dm
@@ -1,6 +1,4 @@
-var/datum/controller/subsystem/mobs/SSmob
-
-/datum/controller/subsystem/mobs
+SUBSYSTEM_DEF(mobs)
name = "Mobs"
init_order = 4
priority = 100
@@ -8,18 +6,14 @@ var/datum/controller/subsystem/mobs/SSmob
var/list/currentrun = list()
-/datum/controller/subsystem/mobs/New()
- NEW_SS_GLOBAL(SSmob)
-
-
/datum/controller/subsystem/mobs/stat_entry()
- ..("P:[mob_list.len]")
+ ..("P:[GLOB.mob_list.len]")
/datum/controller/subsystem/mobs/fire(resumed = 0)
var/seconds = wait * 0.1
if (!resumed)
- src.currentrun = mob_list.Copy()
+ src.currentrun = GLOB.mob_list.Copy()
//cache for sanic speed (lists are references anyways)
var/list/currentrun = src.currentrun
@@ -30,6 +24,6 @@ var/datum/controller/subsystem/mobs/SSmob
if(M)
M.Life(seconds)
else
- mob_list.Remove(M)
+ GLOB.mob_list.Remove(M)
if (MC_TICK_CHECK)
return
\ No newline at end of file
diff --git a/code/controllers/subsystem/npcpool.dm b/code/controllers/subsystem/npcpool.dm
index ebaa5da06f..88f02b314a 100644
--- a/code/controllers/subsystem/npcpool.dm
+++ b/code/controllers/subsystem/npcpool.dm
@@ -1,39 +1,31 @@
-var/datum/controller/subsystem/npcpool/SSnpc
+#define PROCESSING_NPCS 0
+#define PROCESSING_DELEGATES 1
+#define PROCESSING_ASSISTANTS 2
-/datum/controller/subsystem/npcpool
+SUBSYSTEM_DEF(npcpool)
name = "NPC Pool"
- init_order = 17
- flags = SS_POST_FIRE_TIMING|SS_NO_INIT|SS_NO_TICK_CHECK
- priority = 25
+ flags = SS_POST_FIRE_TIMING|SS_NO_INIT|SS_BACKGROUND
+ priority = 20
var/list/canBeUsed = list()
- var/list/canBeUsed_non = list()
var/list/needsDelegate = list()
var/list/needsAssistant = list()
- var/list/needsHelp_non = list()
- var/list/botPool_l = list() //list of all npcs using the pool
- var/list/botPool_l_non = list() //list of all non SNPC mobs using the pool
-
-/datum/controller/subsystem/npcpool/proc/insertBot(toInsert)
- if(istype(toInsert,/mob/living/carbon/human/interactive))
- botPool_l |= toInsert
-
-/datum/controller/subsystem/npcpool/New()
- NEW_SS_GLOBAL(SSnpc)
+
+ var/list/processing = list()
+ var/list/currentrun = list()
+ var/stage
/datum/controller/subsystem/npcpool/stat_entry()
- ..("T:[botPool_l.len + botPool_l_non.len]|D:[needsDelegate.len]|A:[needsAssistant.len + needsHelp_non.len]|U:[canBeUsed.len + canBeUsed_non.len]")
+ ..("NPCS:[processing.len]|D:[needsDelegate.len]|A:[needsAssistant.len]|U:[canBeUsed.len]")
+/datum/controller/subsystem/npcpool/proc/stop_processing(mob/living/carbon/human/interactive/I)
+ processing -= I
+ currentrun -= I
+ needsDelegate -= I
+ canBeUsed -= I
+ needsAssistant -= I
-/datum/controller/subsystem/npcpool/proc/cleanNull()
- //cleanup nulled bots
- listclearnulls(botPool_l)
- listclearnulls(needsDelegate)
- listclearnulls(canBeUsed)
- listclearnulls(needsAssistant)
-
-
-/datum/controller/subsystem/npcpool/fire()
+/datum/controller/subsystem/npcpool/fire(resumed = FALSE)
//bot delegation and coordination systems
//General checklist/Tasks for delegating a task or coordinating it (for SNPCs)
// 1. Bot proximity to task target: if too far, delegate, if close, coordinate
@@ -41,87 +33,94 @@ var/datum/controller/subsystem/npcpool/SSnpc
// 3. Process delegation: if a bot (or bots) has been delegated, assign them to the task.
// 4. Process coordination: if a bot(or bots) has been asked to coordinate, assign them to help.
// 5. Do all assignments: goes through the delegated/coordianted bots and assigns the right variables/tasks to them.
- var/npcCount = 1
- cleanNull()
+ if (!resumed)
+ src.currentrun = processing.Copy()
+ stage = PROCESSING_NPCS
+ //cache for sanic speed (lists are references anyways)
+ var/list/currentrun = src.currentrun
+ var/list/canBeUsed = src.canBeUsed
- //SNPC handling
- for(var/mob/living/carbon/human/interactive/check in botPool_l)
- if(!check)
- botPool_l.Cut(npcCount,npcCount+1)
- continue
- var/checkInRange = view(MAX_RANGE_FIND,check)
- if(!(locate(check.TARGET) in checkInRange))
- needsDelegate |= check
+ if(stage == PROCESSING_NPCS)
+ while(currentrun.len)
+ var/mob/living/carbon/human/interactive/thing = currentrun[currentrun.len]
+ --currentrun.len
- else if(check.IsDeadOrIncap(FALSE))
- needsDelegate |= check
+ thing.InteractiveProcess()
- else if(check.doing & FIGHTING)
- needsAssistant |= check
+ var/checkInRange = view(MAX_RANGE_FIND,thing)
+ if(thing.IsDeadOrIncap(FALSE) || !(locate(thing.TARGET) in checkInRange))
+ needsDelegate += thing
+ else if(thing.doing & FIGHTING)
+ needsAssistant += thing
+ else
+ canBeUsed += thing
- else
- canBeUsed |= check
- npcCount++
+ if (MC_TICK_CHECK)
+ return
+ stage = PROCESSING_DELEGATES
+ currentrun = needsDelegate //localcache
+ src.currentrun = currentrun
- if(needsDelegate.len)
+ if(stage == PROCESSING_DELEGATES)
+ while(currentrun.len && canBeUsed.len)
+ var/mob/living/carbon/human/interactive/check = currentrun[currentrun.len]
+ var/mob/living/carbon/human/interactive/candidate = canBeUsed[canBeUsed.len]
+ --currentrun.len
- needsDelegate -= pick(needsDelegate) // cheapo way to make sure stuff doesn't pingpong around in the pool forever. delegation runs seperately to each loop so it will work much smoother
+ var/helpProb = 0
+ var/list/chfac = check.faction
+ var/list/canfac = candidate.faction
+ var/facCount = LAZYLEN(chfac) * LAZYLEN(canfac)
- npcCount = 1 //reset the count
- for(var/mob/living/carbon/human/interactive/check in needsDelegate)
- if(!check)
- needsDelegate.Cut(npcCount,npcCount+1)
- continue
- if(canBeUsed.len)
- var/mob/living/carbon/human/interactive/candidate = pick(canBeUsed)
- var/facCount = 0
- var/helpProb = 0
- for(var/C in check.faction)
- for(var/D in candidate.faction)
- if(D == C)
- helpProb = min(100,helpProb + 25)
- facCount++
- if(facCount == 1 && helpProb > 0)
- helpProb = 100
- if(prob(helpProb))
- if(candidate.takeDelegate(check))
- needsDelegate -= check
- canBeUsed -= candidate
- candidate.eye_color = "red"
- candidate.update_icons()
- npcCount++
+ for(var/C in chfac)
+ if(C in canfac)
+ helpProb = min(100,helpProb + 25)
+ if(helpProb >= 100)
+ break
- if(needsAssistant.len)
+ if(facCount == 1 && helpProb)
+ helpProb = 100
- needsAssistant -= pick(needsAssistant)
+ if(prob(helpProb) && candidate.takeDelegate(check))
+ --canBeUsed.len
+ candidate.eye_color = "red"
+ candidate.update_icons()
- npcCount = 1 //reset the count
- for(var/mob/living/carbon/human/interactive/check in needsAssistant)
- if(!check)
- needsAssistant.Cut(npcCount,npcCount+1)
- continue
- if(canBeUsed.len)
- var/mob/living/carbon/human/interactive/candidate = pick(canBeUsed)
- var/facCount = 0
- var/helpProb = 0
- for(var/C in check.faction)
- for(var/D in candidate.faction)
- if(D == C)
- helpProb = min(100,helpProb + 25)
- facCount++
- if(facCount == 1 && helpProb > 0)
- helpProb = 100
- if(prob(helpProb))
- if(candidate.takeDelegate(check,FALSE))
- needsAssistant -= check
- canBeUsed -= candidate
- candidate.eye_color = "yellow"
- candidate.update_icons()
- npcCount++
+ if(MC_TICK_CHECK)
+ return
+ stage = PROCESSING_ASSISTANTS
+ currentrun = needsAssistant //localcache
+ src.currentrun = currentrun
+
+ //no need for the stage check
+
+ while(currentrun.len && canBeUsed.len)
+ var/mob/living/carbon/human/interactive/check = currentrun[currentrun.len]
+ var/mob/living/carbon/human/interactive/candidate = canBeUsed[canBeUsed.len]
+ --currentrun.len
+
+ var/helpProb = 0
+ var/list/chfac = check.faction
+ var/list/canfac = candidate.faction
+ var/facCount = LAZYLEN(chfac) * LAZYLEN(canfac)
+
+ for(var/C in chfac)
+ if(C in canfac)
+ helpProb = min(100,helpProb + 25)
+ if(helpProb >= 100)
+ break
+
+ if(facCount == 1 && helpProb)
+ helpProb = 100
+
+ if(prob(helpProb) && candidate.takeDelegate(check,FALSE))
+ --canBeUsed.len
+ candidate.eye_color = "yellow"
+ candidate.update_icons()
+
+ if(!currentrun.len || MC_TICK_CHECK) //don't change SS state if it isn't necessary
+ return
/datum/controller/subsystem/npcpool/Recover()
- if (istype(SSnpc.botPool_l))
- botPool_l = SSnpc.botPool_l
- if (istype(SSnpc.botPool_l_non))
- botPool_l_non = SSnpc.botPool_l_non
\ No newline at end of file
+ processing = SSnpcpool.processing
diff --git a/code/controllers/subsystem/orbit.dm b/code/controllers/subsystem/orbit.dm
index 90b1390713..6184bb005b 100644
--- a/code/controllers/subsystem/orbit.dm
+++ b/code/controllers/subsystem/orbit.dm
@@ -1,6 +1,4 @@
-var/datum/controller/subsystem/orbit/SSorbit
-
-/datum/controller/subsystem/orbit
+SUBSYSTEM_DEF(orbit)
name = "Orbits"
priority = 35
wait = 2
@@ -9,10 +7,6 @@ var/datum/controller/subsystem/orbit/SSorbit
var/list/currentrun = list()
var/list/processing = list()
-/datum/controller/subsystem/orbit/New()
- NEW_SS_GLOBAL(SSorbit)
-
-
/datum/controller/subsystem/orbit/stat_entry()
..("P:[processing.len]")
diff --git a/code/controllers/subsystem/pai.dm b/code/controllers/subsystem/pai.dm
index 15c3a8307f..dfb41c8905 100644
--- a/code/controllers/subsystem/pai.dm
+++ b/code/controllers/subsystem/pai.dm
@@ -1,7 +1,4 @@
-var/datum/controller/subsystem/pai/SSpai
-var/list/obj/item/device/paicard/pai_card_list = list()
-
-/datum/controller/subsystem/pai
+SUBSYSTEM_DEF(pai)
name = "pAI"
flags = SS_NO_INIT|SS_NO_FIRE
@@ -9,9 +6,7 @@ var/list/obj/item/device/paicard/pai_card_list = list()
var/list/candidates = list()
var/ghost_spam = FALSE
var/spam_delay = 100
-
-/datum/controller/subsystem/pai/New()
- NEW_SS_GLOBAL(SSpai)
+ var/list/pai_card_list = list()
/datum/controller/subsystem/pai/Topic(href, href_list[])
if(href_list["download"])
@@ -24,7 +19,7 @@ var/list/obj/item/device/paicard/pai_card_list = list()
return FALSE
var/mob/living/silicon/pai/pai = new(card)
if(!candidate.name)
- pai.name = pick(ninja_names)
+ pai.name = pick(GLOB.ninja_names)
else
pai.name = candidate.name
pai.real_name = pai.name
@@ -32,8 +27,8 @@ var/list/obj/item/device/paicard/pai_card_list = list()
card.setPersonality(pai)
- ticker.mode.update_cult_icons_removed(card.pai.mind)
- ticker.mode.update_rev_icons_removed(card.pai.mind)
+ SSticker.mode.update_cult_icons_removed(card.pai.mind)
+ SSticker.mode.update_rev_icons_removed(card.pai.mind)
candidates -= candidate
usr << browse(null, "window=findPai")
@@ -141,7 +136,7 @@ var/list/obj/item/device/paicard/pai_card_list = list()
/datum/controller/subsystem/pai/proc/check_ready(var/datum/paiCandidate/C)
if(!C.ready)
return FALSE
- for(var/mob/dead/observer/O in player_list)
+ for(var/mob/dead/observer/O in GLOB.player_list)
if(O.key == C.key)
return C
return FALSE
@@ -149,7 +144,7 @@ var/list/obj/item/device/paicard/pai_card_list = list()
/datum/controller/subsystem/pai/proc/findPAI(obj/item/device/paicard/p, mob/user)
if(!ghost_spam)
ghost_spam = TRUE
- for(var/mob/dead/observer/G in player_list)
+ for(var/mob/dead/observer/G in GLOB.player_list)
if(!G.key || !G.client)
continue
if(!(ROLE_PAI in G.client.prefs.be_special))
diff --git a/code/controllers/subsystem/parallax.dm b/code/controllers/subsystem/parallax.dm
index fb8e317086..6ce2928f89 100644
--- a/code/controllers/subsystem/parallax.dm
+++ b/code/controllers/subsystem/parallax.dm
@@ -1,19 +1,13 @@
-var/datum/controller/subsystem/parallax/SSparallax
-
-/datum/controller/subsystem/parallax
+SUBSYSTEM_DEF(parallax)
name = "Parallax"
wait = 2
flags = SS_POST_FIRE_TIMING | SS_FIRE_IN_LOBBY | SS_BACKGROUND | SS_NO_INIT
priority = 65
var/list/currentrun
-/datum/controller/subsystem/parallax/New()
- NEW_SS_GLOBAL(SSparallax)
- return ..()
-
/datum/controller/subsystem/parallax/fire(resumed = 0)
if (!resumed)
- src.currentrun = clients.Copy()
+ src.currentrun = GLOB.clients.Copy()
//cache for sanic speed (lists are references anyways)
var/list/currentrun = src.currentrun
diff --git a/code/controllers/subsystem/persistence.dm b/code/controllers/subsystem/persistence.dm
index 818e64940a..80517d1e3a 100644
--- a/code/controllers/subsystem/persistence.dm
+++ b/code/controllers/subsystem/persistence.dm
@@ -1,6 +1,4 @@
-var/datum/controller/subsystem/persistence/SSpersistence
-
-/datum/controller/subsystem/persistence
+SUBSYSTEM_DEF(persistence)
name = "Persistence"
init_order = -100
flags = SS_NO_FIRE
@@ -13,9 +11,6 @@ var/datum/controller/subsystem/persistence/SSpersistence
var/list/saved_messages = list()
var/savefile/chisel_messages_sav
-/datum/controller/subsystem/persistence/New()
- NEW_SS_GLOBAL(SSpersistence)
-
/datum/controller/subsystem/persistence/Initialize()
LoadSatchels()
LoadPoly()
@@ -71,7 +66,7 @@ var/datum/controller/subsystem/persistence/SSpersistence
return 1
/datum/controller/subsystem/persistence/proc/LoadPoly()
- for(var/mob/living/simple_animal/parrot/Poly/P in living_mob_list)
+ for(var/mob/living/simple_animal/parrot/Poly/P in GLOB.living_mob_list)
twitterize(P.speech_buffer, "polytalk")
break //Who's been duping the bird?!
@@ -86,12 +81,25 @@ var/datum/controller/subsystem/persistence/SSpersistence
var/saved_messages = json_decode(saved_json)
for(var/item in saved_messages)
- var/turf/T = locate(item["x"], item["y"], ZLEVEL_STATION)
+ if(!islist(item))
+ continue
+
+ var/xvar = item["x"]
+ var/yvar = item["y"]
+ var/zvar = item["z"]
+
+ if(!xvar || !yvar || !zvar)
+ continue
+
+ var/turf/T = locate(xvar, yvar, zvar)
if(!isturf(T))
continue
+
if(locate(/obj/structure/chisel_message) in T)
continue
+
var/obj/structure/chisel_message/M = new(T)
+
M.unpack(item)
if(!M.loc)
M.persists = FALSE
diff --git a/code/controllers/subsystem/ping.dm b/code/controllers/subsystem/ping.dm
index d1297c692c..0829766174 100644
--- a/code/controllers/subsystem/ping.dm
+++ b/code/controllers/subsystem/ping.dm
@@ -1,20 +1,15 @@
#define PING_BUFFER_TIME 25
-var/datum/controller/subsystem/ping/SSping
-
-/datum/controller/subsystem/ping
+SUBSYSTEM_DEF(ping)
name = "Ping"
wait = 6
flags = SS_NO_INIT|SS_POST_FIRE_TIMING|SS_FIRE_IN_LOBBY
priority = 10
var/list/currentrun
-/datum/controller/subsystem/ping/New()
- NEW_SS_GLOBAL(SSping)
-
/datum/controller/subsystem/ping/fire(resumed = FALSE)
if (!resumed)
- src.currentrun = clients.Copy()
+ src.currentrun = GLOB.clients.Copy()
var/list/currentrun = src.currentrun
while (length(currentrun))
diff --git a/code/controllers/subsystem/processing/fastprocess.dm b/code/controllers/subsystem/processing/fastprocess.dm
index 53898e142e..9622e02146 100644
--- a/code/controllers/subsystem/processing/fastprocess.dm
+++ b/code/controllers/subsystem/processing/fastprocess.dm
@@ -1,10 +1,6 @@
//Fires five times every second.
-var/datum/controller/subsystem/processing/fastprocess/SSfastprocess
-/datum/controller/subsystem/processing/fastprocess
+PROCESSING_SUBSYSTEM_DEF(fastprocess)
name = "Fast Processing"
wait = 2
stat_tag = "FP"
-
-/datum/controller/subsystem/processing/fastprocess/New()
- NEW_SS_GLOBAL(SSfastprocess)
diff --git a/code/controllers/subsystem/processing/flightpacks.dm b/code/controllers/subsystem/processing/flightpacks.dm
index fee475d730..1d85811878 100644
--- a/code/controllers/subsystem/processing/flightpacks.dm
+++ b/code/controllers/subsystem/processing/flightpacks.dm
@@ -1,11 +1,25 @@
-
-var/datum/controller/subsystem/processing/flightpacks/SSflightpacks
-/datum/controller/subsystem/processing/flightpacks
+PROCESSING_SUBSYSTEM_DEF(flightpacks)
name = "Flightpack Movement"
priority = 30
wait = 2
stat_tag = "FM"
flags = SS_NO_INIT|SS_TICKER|SS_KEEP_TIMING
-/datum/controller/subsystem/processing/flightpacks/New()
- NEW_SS_GLOBAL(SSflightpacks)
+ var/flightsuit_processing = FLIGHTSUIT_PROCESSING_FULL
+
+/datum/controller/subsystem/processing/flightpacks/Initialize()
+ sync_flightsuit_processing()
+
+/datum/controller/subsystem/processing/flightpacks/vv_edit_var(var_name, var_value)
+ ..()
+ switch(var_name)
+ if("flightsuit_processing")
+ sync_flightsuit_processing()
+
+/datum/controller/subsystem/processing/flightpacks/proc/sync_flightsuit_processing()
+ for(var/obj/item/device/flightpack/FP in processing)
+ FP.sync_processing(src)
+ if(flightsuit_processing == FLIGHTSUIT_PROCESSING_NONE) //Don't even bother firing.
+ can_fire = FALSE
+ else
+ can_fire = TRUE
diff --git a/code/controllers/subsystem/processing/objects.dm b/code/controllers/subsystem/processing/obj.dm
similarity index 63%
rename from code/controllers/subsystem/processing/objects.dm
rename to code/controllers/subsystem/processing/obj.dm
index ee15dc0603..29fe277232 100644
--- a/code/controllers/subsystem/processing/objects.dm
+++ b/code/controllers/subsystem/processing/obj.dm
@@ -1,5 +1,4 @@
-var/datum/controller/subsystem/objects/SSobj
-/datum/controller/subsystem/objects
+SUBSYSTEM_DEF(obj)
name = "Objects"
priority = 40
flags = SS_NO_INIT
@@ -7,12 +6,10 @@ var/datum/controller/subsystem/objects/SSobj
var/list/processing = list()
var/list/currentrun = list()
-/datum/controller/subsystem/objects/New()
- NEW_SS_GLOBAL(SSobj)
-/datum/controller/subsystem/objects/stat_entry()
+/datum/controller/subsystem/obj/stat_entry()
..("P:[processing.len]")
-/datum/controller/subsystem/objects/fire(resumed = 0)
+/datum/controller/subsystem/obj/fire(resumed = 0)
if (!resumed)
src.currentrun = processing.Copy()
//cache for sanic speed (lists are references anyways)
@@ -28,5 +25,5 @@ var/datum/controller/subsystem/objects/SSobj
if (MC_TICK_CHECK)
return
-/datum/controller/subsystem/objects/Recover()
+/datum/controller/subsystem/obj/Recover()
processing = SSobj.processing
diff --git a/code/controllers/subsystem/processing/overlays.dm b/code/controllers/subsystem/processing/overlays.dm
index 5cb6490982..c28dc245fa 100644
--- a/code/controllers/subsystem/processing/overlays.dm
+++ b/code/controllers/subsystem/processing/overlays.dm
@@ -1,6 +1,4 @@
-var/datum/controller/subsystem/processing/overlays/SSoverlays
-
-/datum/controller/subsystem/processing/overlays
+PROCESSING_SUBSYSTEM_DEF(overlays)
name = "Overlay"
flags = SS_TICKER|SS_FIRE_IN_LOBBY
wait = 1
@@ -13,8 +11,7 @@ var/datum/controller/subsystem/processing/overlays/SSoverlays
var/list/overlay_icon_cache
var/initialized = FALSE
-/datum/controller/subsystem/processing/overlays/New()
- NEW_SS_GLOBAL(SSoverlays)
+/datum/controller/subsystem/processing/overlays/PreInit()
LAZYINITLIST(overlay_icon_state_caches)
LAZYINITLIST(overlay_icon_cache)
@@ -171,7 +168,7 @@ var/datum/controller/subsystem/processing/overlays/SSoverlays
var/list/cached_other = other.our_overlays
if(cached_other)
- if(cut_old)
+ if(cut_old || !LAZYLEN(our_overlays))
our_overlays = cached_other.Copy()
else
our_overlays |= cached_other
diff --git a/code/controllers/subsystem/processing/processing.dm b/code/controllers/subsystem/processing/processing.dm
index ef03ce6db6..602455621b 100644
--- a/code/controllers/subsystem/processing/processing.dm
+++ b/code/controllers/subsystem/processing/processing.dm
@@ -1,7 +1,6 @@
//Used to process objects. Fires once every second.
-var/datum/controller/subsystem/processing/SSprocessing
-/datum/controller/subsystem/processing
+SUBSYSTEM_DEF(processing)
name = "Processing"
priority = 25
flags = SS_BACKGROUND|SS_POST_FIRE_TIMING|SS_NO_INIT
@@ -11,9 +10,6 @@ var/datum/controller/subsystem/processing/SSprocessing
var/list/processing = list()
var/list/currentrun = list()
-/datum/controller/subsystem/processing/New()
- NEW_SS_GLOBAL(SSprocessing)
-
/datum/controller/subsystem/processing/stat_entry()
..("[stat_tag]:[processing.len]")
diff --git a/code/controllers/subsystem/radio.dm b/code/controllers/subsystem/radio.dm
index 922b176428..d69575f60f 100644
--- a/code/controllers/subsystem/radio.dm
+++ b/code/controllers/subsystem/radio.dm
@@ -1,15 +1,10 @@
-var/datum/controller/subsystem/radio/SSradio
-
-/datum/controller/subsystem/radio
+SUBSYSTEM_DEF(radio)
name = "Radio"
init_order = 18
flags = SS_NO_FIRE|SS_NO_INIT
var/list/datum/radio_frequency/frequencies = list()
-/datum/controller/subsystem/radio/New()
- NEW_SS_GLOBAL(SSradio)
-
/datum/controller/subsystem/radio/proc/add_object(obj/device, new_frequency as num, filter = null as text|null)
var/f_text = num2text(new_frequency)
var/datum/radio_frequency/frequency = frequencies[f_text]
diff --git a/code/controllers/subsystem/religion.dm b/code/controllers/subsystem/religion.dm
index fe07d4e1ea..df772925d4 100644
--- a/code/controllers/subsystem/religion.dm
+++ b/code/controllers/subsystem/religion.dm
@@ -1,17 +1,11 @@
-var/datum/controller/subsystem/religion/SSreligion
-
-/datum/controller/subsystem/religion
+SUBSYSTEM_DEF(religion)
name = "Religion"
init_order = 19
flags = SS_NO_FIRE|SS_NO_INIT
- var/bible_deity_name
- var/Bible_icon_state
- var/Bible_item_state
- var/Bible_name
- var/Bible_deity_name
-
- var/holy_weapon
-
-/datum/controller/subsystem/religion/New()
- NEW_SS_GLOBAL(SSreligion)
+ var/religion
+ var/deity
+ var/bible_name
+ var/bible_icon_state
+ var/bible_item_state
+ var/holy_weapon_type
\ No newline at end of file
diff --git a/code/controllers/subsystem/server_maintenance.dm b/code/controllers/subsystem/server_maint.dm
similarity index 74%
rename from code/controllers/subsystem/server_maintenance.dm
rename to code/controllers/subsystem/server_maint.dm
index c3a9aa64ad..84d0d333e4 100644
--- a/code/controllers/subsystem/server_maintenance.dm
+++ b/code/controllers/subsystem/server_maint.dm
@@ -1,13 +1,8 @@
-var/datum/controller/subsystem/server_maint/SSserver
-
-/datum/controller/subsystem/server_maint
+SUBSYSTEM_DEF(server_maint)
name = "Server Tasks"
wait = 6000
flags = SS_NO_TICK_CHECK
-/datum/controller/subsystem/server_maint/New()
- NEW_SS_GLOBAL(SSserver)
-
/datum/controller/subsystem/server_maint/Initialize(timeofday)
if (config.hub)
world.visibility = 1
@@ -16,7 +11,7 @@ var/datum/controller/subsystem/server_maint/SSserver
/datum/controller/subsystem/server_maint/fire()
//handle kicking inactive players
if(config.kick_inactive > 0)
- for(var/client/C in clients)
+ for(var/client/C in GLOB.clients)
if(C.is_afk(INACTIVITY_KICK))
if(!istype(C.mob, /mob/dead))
log_access("AFK: [key_name(C)]")
diff --git a/code/controllers/subsystem/shuttles.dm b/code/controllers/subsystem/shuttle.dm
similarity index 95%
rename from code/controllers/subsystem/shuttles.dm
rename to code/controllers/subsystem/shuttle.dm
index 2be34c8f63..66d1bdca92 100644
--- a/code/controllers/subsystem/shuttles.dm
+++ b/code/controllers/subsystem/shuttle.dm
@@ -1,9 +1,7 @@
#define HIGHLIGHT_DYNAMIC_TRANSIT 1
-var/datum/controller/subsystem/shuttle/SSshuttle
-
-/datum/controller/subsystem/shuttle
- name = "Shuttles"
+SUBSYSTEM_DEF(shuttle)
+ name = "Shuttle"
wait = 10
init_order = 3
flags = SS_KEEP_TIMING|SS_NO_TICK_CHECK
@@ -49,9 +47,6 @@ var/datum/controller/subsystem/shuttle/SSshuttle
var/auto_call = 72000 //time before in deciseconds in which the shuttle is auto called. Default is 2 hours.
-/datum/controller/subsystem/shuttle/New()
- NEW_SS_GLOBAL(SSshuttle)
-
/datum/controller/subsystem/shuttle/Initialize(timeofday)
if(!emergency)
WARNING("No /obj/docking_port/mobile/arrivals placed on the map!")
@@ -78,12 +73,12 @@ var/datum/controller/subsystem/shuttle/SSshuttle
..()
/datum/controller/subsystem/shuttle/proc/setup_transit_zone()
- if(transit_markers.len == 0)
+ if(GLOB.transit_markers.len == 0)
WARNING("No /obj/effect/landmark/transit placed on the map!")
return
// transit zone
- var/turf/A = get_turf(transit_markers[1])
- var/turf/B = get_turf(transit_markers[2])
+ var/turf/A = get_turf(GLOB.transit_markers[1])
+ var/turf/B = get_turf(GLOB.transit_markers[2])
for(var/i in block(A, B))
var/turf/T = i
T.ChangeTurf(/turf/open/space)
@@ -92,11 +87,11 @@ var/datum/controller/subsystem/shuttle/SSshuttle
#ifdef HIGHLIGHT_DYNAMIC_TRANSIT
/datum/controller/subsystem/shuttle/proc/color_space()
- if(transit_markers.len == 0)
+ if(GLOB.transit_markers.len == 0)
WARNING("No /obj/effect/landmark/transit placed on the map!")
return
- var/turf/A = get_turf(transit_markers[1])
- var/turf/B = get_turf(transit_markers[2])
+ var/turf/A = get_turf(GLOB.transit_markers[1])
+ var/turf/B = get_turf(GLOB.transit_markers[2])
for(var/i in block(A, B))
var/turf/T = i
// Only dying the "pure" space, not the transit tiles
@@ -181,8 +176,8 @@ var/datum/controller/subsystem/shuttle/SSshuttle
return
emergency = backup_shuttle
- if(world.time - round_start_time < config.shuttle_refuel_delay)
- to_chat(user, "The emergency shuttle is refueling. Please wait another [abs(round(((world.time - round_start_time) - config.shuttle_refuel_delay)/600))] minutes before trying again.")
+ if(world.time - SSticker.round_start_time < config.shuttle_refuel_delay)
+ to_chat(user, "The emergency shuttle is refueling. Please wait another [abs(round(((world.time - SSticker.round_start_time) - config.shuttle_refuel_delay)/600))] minutes before trying again.")
return
switch(emergency.mode)
@@ -242,7 +237,7 @@ var/datum/controller/subsystem/shuttle/SSshuttle
/datum/controller/subsystem/shuttle/proc/canRecall()
if(!emergency || emergency.mode != SHUTTLE_CALL)
return
- if(ticker.mode.name == "meteor")
+ if(SSticker.mode.name == "meteor")
return
var/security_num = seclevel2num(get_security_level())
switch(security_num)
@@ -260,9 +255,11 @@ var/datum/controller/subsystem/shuttle/SSshuttle
/datum/controller/subsystem/shuttle/proc/autoEvac()
var/callShuttle = 1
- for(var/thing in shuttle_caller_list)
+ for(var/thing in GLOB.shuttle_caller_list)
if(isAI(thing))
var/mob/living/silicon/ai/AI = thing
+ if(AI.deployed_shell && !AI.deployed_shell.client)
+ continue
if(AI.stat || !AI.client)
continue
else if(istype(thing, /obj/machinery/computer/communications))
@@ -281,8 +278,6 @@ var/datum/controller/subsystem/shuttle/SSshuttle
log_game("There is no means of calling the shuttle anymore. Shuttle automatically called.")
message_admins("All the communications consoles were destroyed and all AIs are inactive. Shuttle called.")
-
-
/datum/controller/subsystem/shuttle/proc/registerHostileEnvironment(datum/bad)
hostileEnvironments[bad] = TRUE
checkHostileEnvironment()
@@ -360,7 +355,6 @@ var/datum/controller/subsystem/shuttle/SSshuttle
log_game("Round time limit reached. Shuttle has been auto-called.")
message_admins("Round time limit reached. Shuttle called.")
-
/datum/controller/subsystem/shuttle/proc/generate_transit_dock(obj/docking_port/mobile/M)
// First, determine the size of the needed zone
// Because of shuttle rotation, the "width" of the shuttle is not
@@ -469,6 +463,7 @@ var/datum/controller/subsystem/shuttle/SSshuttle
//to_chat(world, "Making transit dock at [COORD(midpoint)]")
var/area/shuttle/transit/A = new()
A.parallax_movedir = travel_dir
+ A.contents = proposed_zone
var/obj/docking_port/stationary/transit/new_transit_dock = new(midpoint)
new_transit_dock.assigned_turfs = proposed_zone
new_transit_dock.name = "Transit for [M.id]/[M.name]"
@@ -484,7 +479,6 @@ var/datum/controller/subsystem/shuttle/SSshuttle
var/turf/T = i
T.ChangeTurf(transit_path)
T.flags &= ~(UNUSED_TRANSIT_TURF)
- A.contents += T
M.assigned_transit = new_transit_dock
return TRUE
diff --git a/code/controllers/subsystem/spacedrift.dm b/code/controllers/subsystem/spacedrift.dm
index d4b6d9143a..9b178a4e75 100644
--- a/code/controllers/subsystem/spacedrift.dm
+++ b/code/controllers/subsystem/spacedrift.dm
@@ -1,6 +1,4 @@
-var/datum/controller/subsystem/spacedrift/SSspacedrift
-
-/datum/controller/subsystem/spacedrift
+SUBSYSTEM_DEF(spacedrift)
name = "Space Drift"
priority = 30
wait = 5
@@ -9,10 +7,6 @@ var/datum/controller/subsystem/spacedrift/SSspacedrift
var/list/currentrun = list()
var/list/processing = list()
-/datum/controller/subsystem/spacedrift/New()
- NEW_SS_GLOBAL(SSspacedrift)
-
-
/datum/controller/subsystem/spacedrift/stat_entry()
..("P:[processing.len]")
diff --git a/code/controllers/subsystem/squeak.dm b/code/controllers/subsystem/squeak.dm
index 1bfef29a23..d7ee9c31c2 100644
--- a/code/controllers/subsystem/squeak.dm
+++ b/code/controllers/subsystem/squeak.dm
@@ -1,19 +1,14 @@
-var/datum/controller/subsystem/squeak/SSsqueak
-
// The Squeak
// because this is about placement of mice mobs, and nothing to do with
// mice - the computer peripheral
-/datum/controller/subsystem/squeak
+SUBSYSTEM_DEF(squeak)
name = "Squeak"
priority = 40
flags = SS_NO_FIRE
var/list/exposed_wires = list()
-/datum/controller/subsystem/squeak/New()
- NEW_SS_GLOBAL(SSsqueak)
-
/datum/controller/subsystem/squeak/Initialize(timeofday)
trigger_migration()
diff --git a/code/controllers/subsystem/stickyban.dm b/code/controllers/subsystem/stickyban.dm
index 23900adb4e..b5702455b8 100644
--- a/code/controllers/subsystem/stickyban.dm
+++ b/code/controllers/subsystem/stickyban.dm
@@ -1,15 +1,10 @@
-var/datum/controller/subsystem/stickyban/SSstickyban
-
-/datum/controller/subsystem/stickyban
+SUBSYSTEM_DEF(stickyban)
name = "Sticky Ban"
init_order = -10
flags = SS_NO_FIRE
var/list/cache = list()
-/datum/controller/subsystem/stickyban/New()
- NEW_SS_GLOBAL(SSstickyban)
-
/datum/controller/subsystem/stickyban/Initialize(timeofday)
var/list/bannedkeys = world.GetConfig("ban")
//sanitize the sticky ban list
diff --git a/code/controllers/subsystem/sun.dm b/code/controllers/subsystem/sun.dm
index 65dc87005f..7f443aadc0 100644
--- a/code/controllers/subsystem/sun.dm
+++ b/code/controllers/subsystem/sun.dm
@@ -1,6 +1,4 @@
-var/datum/controller/subsystem/sun/SSsun
-
-/datum/controller/subsystem/sun
+SUBSYSTEM_DEF(sun)
name = "Sun"
wait = 600
init_order = 2
@@ -11,9 +9,7 @@ var/datum/controller/subsystem/sun/SSsun
var/rate
var/list/solars = list()
-/datum/controller/subsystem/sun/New()
- NEW_SS_GLOBAL(SSsun)
-
+/datum/controller/subsystem/sun/PreInit()
angle = rand (0,360) // the station position to the sun is randomised at round start
rate = rand(50,200)/100 // 50% - 200% of standard rotation
if(prob(50)) // same chance to rotate clockwise than counter-clockwise
diff --git a/code/controllers/subsystem/tgui.dm b/code/controllers/subsystem/tgui.dm
index 04cf2cc38f..edec49bcbb 100644
--- a/code/controllers/subsystem/tgui.dm
+++ b/code/controllers/subsystem/tgui.dm
@@ -1,6 +1,4 @@
-var/datum/controller/subsystem/tgui/SStgui
-
-/datum/controller/subsystem/tgui
+SUBSYSTEM_DEF(tgui)
name = "tgui"
wait = 9
init_order = 16
@@ -12,11 +10,9 @@ var/datum/controller/subsystem/tgui/SStgui
var/list/processing_uis = list() // A list of processing UIs, ungrouped.
var/basehtml // The HTML base used for all UIs.
-/datum/controller/subsystem/tgui/New()
+/datum/controller/subsystem/tgui/PreInit()
basehtml = file2text('tgui/tgui.html') // Read the HTML from disk.
- NEW_SS_GLOBAL(SStgui)
-
/datum/controller/subsystem/tgui/Shutdown()
close_all_uis()
diff --git a/code/controllers/subsystem/throwing.dm b/code/controllers/subsystem/throwing.dm
index 260f5698ec..8d95d3fa29 100644
--- a/code/controllers/subsystem/throwing.dm
+++ b/code/controllers/subsystem/throwing.dm
@@ -1,20 +1,14 @@
#define MAX_THROWING_DIST 512 // 2 z-levels on default width
#define MAX_TICKS_TO_MAKE_UP 3 //how many missed ticks will we attempt to make up for this run.
-var/datum/controller/subsystem/throwing/SSthrowing
-/datum/controller/subsystem/throwing
+SUBSYSTEM_DEF(throwing)
name = "Throwing"
priority = 25
wait = 1
flags = SS_NO_INIT|SS_KEEP_TIMING|SS_TICKER
var/list/currentrun
- var/list/processing
-
-/datum/controller/subsystem/throwing/New()
- NEW_SS_GLOBAL(SSthrowing)
- processing = list()
-
+ var/list/processing = list()
/datum/controller/subsystem/throwing/stat_entry()
..("P:[processing.len]")
@@ -76,7 +70,7 @@ var/datum/controller/subsystem/throwing/SSthrowing
var/atom/step
//calculate how many tiles to move, making up for any missed ticks.
- var/tilestomove = round(min(((((world.time+world.tick_lag) - start_time) * speed) - (dist_travelled ? dist_travelled : -1)), speed*MAX_TICKS_TO_MAKE_UP) * (world.tick_lag * SSthrowing.wait))
+ var/tilestomove = Ceiling(min(((((world.time+world.tick_lag) - start_time) * speed) - (dist_travelled ? dist_travelled : -1)), speed*MAX_TICKS_TO_MAKE_UP) * (world.tick_lag * SSthrowing.wait))
while (tilestomove-- > 0)
if ((dist_travelled >= maxrange || AM.loc == target_turf) && AM.has_gravity(AM.loc))
finalize()
diff --git a/code/controllers/subsystem/ticker.dm b/code/controllers/subsystem/ticker.dm
index 0e228b0f3c..8a2abe3158 100644
--- a/code/controllers/subsystem/ticker.dm
+++ b/code/controllers/subsystem/ticker.dm
@@ -1,10 +1,6 @@
#define ROUND_START_MUSIC_LIST "strings/round_start_sounds.txt"
-var/round_start_time = 0
-
-var/datum/controller/subsystem/ticker/ticker
-
-/datum/controller/subsystem/ticker
+SUBSYSTEM_DEF(ticker)
name = "Ticker"
init_order = 13
@@ -44,6 +40,8 @@ var/datum/controller/subsystem/ticker/ticker
var/timeLeft //pregame timer
var/start_at
+ var/gametime_offset = 432000 // equal to 12 hours, making gametime at roundstart 12:00:00
+
var/totalPlayers = 0 //used for pregame stats on statpanel
var/totalPlayersReady = 0 //used for pregame stats on statpanel
@@ -58,19 +56,19 @@ var/datum/controller/subsystem/ticker/ticker
var/late_join_disabled
- var/modevoted = FALSE //Have we sent a vote for the gamemode?
+ var/round_start_time = 0
+ var/list/round_start_events
-/datum/controller/subsystem/ticker/New()
- NEW_SS_GLOBAL(ticker)
+ var/modevoted = FALSE //Have we sent a vote for the gamemode?
/datum/controller/subsystem/ticker/Initialize(timeofday)
var/list/music = file2list(ROUND_START_MUSIC_LIST, "\n")
login_music = pick(music)
- if(!syndicate_code_phrase)
- syndicate_code_phrase = generate_code_phrase()
- if(!syndicate_code_response)
- syndicate_code_response = generate_code_phrase()
+ if(!GLOB.syndicate_code_phrase)
+ GLOB.syndicate_code_phrase = generate_code_phrase()
+ if(!GLOB.syndicate_code_response)
+ GLOB.syndicate_code_response = generate_code_phrase()
..()
start_at = world.time + (config.lobby_countdown * 10)
@@ -79,7 +77,7 @@ var/datum/controller/subsystem/ticker/ticker
if(GAME_STATE_STARTUP)
if(Master.initializations_finished_with_no_players_logged_in)
start_at = world.time + (config.lobby_countdown * 10)
- for(var/client/C in clients)
+ for(var/client/C in GLOB.clients)
window_flash(C, ignorepref = TRUE) //let them know lobby has opened up.
to_chat(world, "Welcome to [station_name()]! ")
current_state = GAME_STATE_PREGAME
@@ -93,7 +91,7 @@ var/datum/controller/subsystem/ticker/ticker
timeLeft = max(0,start_at - world.time)
totalPlayers = 0
totalPlayersReady = 0
- for(var/mob/dead/new_player/player in player_list)
+ for(var/mob/dead/new_player/player in GLOB.player_list)
++totalPlayers
if(player.ready)
++totalPlayersReady
@@ -137,15 +135,15 @@ var/datum/controller/subsystem/ticker/ticker
var/init_start = world.timeofday
//Create and announce mode
var/list/datum/game_mode/runnable_modes
- if(master_mode == "random" || master_mode == "secret")
+ if(GLOB.master_mode == "random" || GLOB.master_mode == "secret")
runnable_modes = config.get_runnable_modes()
- if(master_mode == "secret")
+ if(GLOB.master_mode == "secret")
hide_mode = 1
- if(secret_force_mode != "secret")
- var/datum/game_mode/smode = config.pick_mode(secret_force_mode)
+ if(GLOB.secret_force_mode != "secret")
+ var/datum/game_mode/smode = config.pick_mode(GLOB.secret_force_mode)
if(!smode.can_start())
- message_admins("\blue Unable to force secret [secret_force_mode]. [smode.required_players] players and [smode.required_enemies] eligible antagonists needed.")
+ message_admins("\blue Unable to force secret [GLOB.secret_force_mode]. [smode.required_players] players and [smode.required_enemies] eligible antagonists needed.")
else
mode = smode
@@ -156,7 +154,7 @@ var/datum/controller/subsystem/ticker/ticker
mode = pickweight(runnable_modes)
else
- mode = config.pick_mode(master_mode)
+ mode = config.pick_mode(GLOB.master_mode)
if(!mode.can_start())
to_chat(world, "Unable to start [mode.name]. Not enough players, [mode.required_players] players and [mode.required_enemies] eligible antagonists needed. Reverting to pre-game lobby.")
qdel(mode)
@@ -172,11 +170,11 @@ var/datum/controller/subsystem/ticker/ticker
SSjob.DivideOccupations() //Distribute jobs
CHECK_TICK
- if(!Debug2)
+ if(!GLOB.Debug2)
if(!can_continue)
qdel(mode)
mode = null
- to_chat(world, "Error setting up [master_mode]. Reverting to pre-game lobby.")
+ to_chat(world, "Error setting up [GLOB.master_mode]. Reverting to pre-game lobby.")
SSjob.ResetOccupations()
return 0
else
@@ -196,19 +194,24 @@ var/datum/controller/subsystem/ticker/ticker
toggle_ooc(0) // Turn it off
CHECK_TICK
- start_landmarks_list = shuffle(start_landmarks_list) //Shuffle the order of spawn points so they dont always predictably spawn bottom-up and right-to-left
+ GLOB.start_landmarks_list = shuffle(GLOB.start_landmarks_list) //Shuffle the order of spawn points so they dont always predictably spawn bottom-up and right-to-left
create_characters() //Create player characters
collect_minds()
equip_characters()
SSoverlays.Flush() //Flush the majority of the shit
- data_core.manifest()
+ GLOB.data_core.manifest()
transfer_characters() //transfer keys to the new mobs
Master.RoundStart() //let the party begin...
+ for(var/I in round_start_events)
+ var/datum/callback/cb = I
+ cb.InvokeAsync()
+ LAZYCLEARLIST(round_start_events)
+
log_world("Game start took [(world.timeofday - init_start)/10]s")
round_start_time = world.time
@@ -217,10 +220,10 @@ var/datum/controller/subsystem/ticker/ticker
current_state = GAME_STATE_PLAYING
- if(SSevent.holidays)
+ if(SSevents.holidays)
to_chat(world, "and... ")
- for(var/holidayname in SSevent.holidays)
- var/datum/holiday/holiday = SSevent.holidays[holidayname]
+ for(var/holidayname in SSevents.holidays)
+ var/datum/holiday/holiday = SSevents.holidays[holidayname]
to_chat(world, "[holiday.greet()] ")
PostSetup()
@@ -231,7 +234,7 @@ var/datum/controller/subsystem/ticker/ticker
set waitfor = 0
mode.post_setup()
//Cleanup some stuff
- for(var/obj/effect/landmark/start/S in landmarks_list)
+ for(var/obj/effect/landmark/start/S in GLOB.landmarks_list)
//Deleting Startpoints but we need the ai point to AI-ize people later
if(S.name != "AI")
qdel(S)
@@ -240,6 +243,12 @@ var/datum/controller/subsystem/ticker/ticker
var/list/allmins = adm["present"]
send2irc("Server", "Round of [hide_mode ? "secret":"[mode.name]"] has started[allmins.len ? ".":" with no active admins online!"]")
+/datum/controller/subsystem/ticker/proc/OnRoundstart(datum/callback/cb)
+ if(current_state < GAME_STATE_PLAYING)
+ LAZYADD(round_start_events, cb)
+ else
+ cb.InvokeAsync()
+
/datum/controller/subsystem/ticker/proc/station_explosion_detonation(atom/bomb)
if(bomb) //BOOM
var/turf/epi = bomb.loc
@@ -252,7 +261,7 @@ var/datum/controller/subsystem/ticker/ticker
if( cinematic )
return //already a cinematic in progress!
- for (var/datum/html_interface/hi in html_interfaces)
+ for (var/datum/html_interface/hi in GLOB.html_interfaces)
hi.closeAll()
SStgui.close_all_uis()
@@ -264,7 +273,7 @@ var/datum/controller/subsystem/ticker/ticker
//initialise our cinematic screen object
cinematic = new /obj/screen{icon='icons/effects/station_explosion.dmi';icon_state="station_intact";layer=21;mouse_opacity=0;screen_loc="1,0";}(src)
- for(var/mob/M in mob_list)
+ for(var/mob/M in GLOB.mob_list)
M.notransform = TRUE //stop everything moving
if(M.client)
M.client.screen += cinematic //show every client the cinematic
@@ -366,30 +375,30 @@ var/datum/controller/subsystem/ticker/ticker
if(cinematic)
qdel(cinematic) //end the cinematic
cinematic = null
- for(var/mob/M in mob_list)
+ for(var/mob/M in GLOB.mob_list)
M.notransform = FALSE
if(actually_blew_up && !isnull(killz) && M.stat != DEAD && M.z == killz)
M.gib()
/datum/controller/subsystem/ticker/proc/create_characters()
- for(var/mob/dead/new_player/player in player_list)
+ for(var/mob/dead/new_player/player in GLOB.player_list)
if(player.ready && player.mind)
- joined_player_list += player.ckey
+ GLOB.joined_player_list += player.ckey
player.create_character(FALSE)
else
player.new_player_panel()
CHECK_TICK
/datum/controller/subsystem/ticker/proc/collect_minds()
- for(var/mob/dead/new_player/P in player_list)
+ for(var/mob/dead/new_player/P in GLOB.player_list)
if(P.new_character && P.new_character.mind)
- ticker.minds += P.new_character.mind
+ SSticker.minds += P.new_character.mind
CHECK_TICK
/datum/controller/subsystem/ticker/proc/equip_characters()
var/captainless=1
- for(var/mob/dead/new_player/N in player_list)
+ for(var/mob/dead/new_player/N in GLOB.player_list)
var/mob/living/carbon/human/player = N.new_character
if(istype(player) && player.mind && player.mind.assigned_role)
if(player.mind.assigned_role == "Captain")
@@ -398,14 +407,14 @@ var/datum/controller/subsystem/ticker/ticker
SSjob.EquipRank(N, player.mind.assigned_role, 0)
CHECK_TICK
if(captainless)
- for(var/mob/dead/new_player/N in player_list)
+ for(var/mob/dead/new_player/N in GLOB.player_list)
if(N.new_character)
to_chat(N, "Captainship not forced on anyone.")
CHECK_TICK
/datum/controller/subsystem/ticker/proc/transfer_characters()
var/list/livings = list()
- for(var/mob/dead/new_player/player in player_list)
+ for(var/mob/dead/new_player/player in GLOB.player_list)
var/mob/living = player.transfer_character()
if(living)
qdel(player)
@@ -432,7 +441,7 @@ var/datum/controller/subsystem/ticker/ticker
to_chat(world, "The round has ended. ")
//Player status report
- for(var/mob/Player in mob_list)
+ for(var/mob/Player in GLOB.mob_list)
if(Player.mind && !isnewplayer(Player))
if(Player.stat != DEAD && !isbrain(Player))
num_survivors++
@@ -457,28 +466,28 @@ var/datum/controller/subsystem/ticker/ticker
//Round statistics report
var/datum/station_state/end_state = new /datum/station_state()
end_state.count()
- var/station_integrity = min(PERCENT(start_state.score(end_state)), 100)
+ var/station_integrity = min(PERCENT(GLOB.start_state.score(end_state)), 100)
- to_chat(world, " [TAB]Shift Duration: [round(world.time / 36000)]:[add_zero("[world.time / 600 % 60]", 2)]:[world.time / 100 % 6][world.time / 100 % 10] ")
- to_chat(world, " [TAB]Station Integrity: [mode.station_was_nuked ? "Destroyed " : "[station_integrity]%"] ")
+ to_chat(world, " [GLOB.TAB]Shift Duration: [round(world.time / 36000)]:[add_zero("[world.time / 600 % 60]", 2)]:[world.time / 100 % 6][world.time / 100 % 10] ")
+ to_chat(world, " [GLOB.TAB]Station Integrity: [mode.station_was_nuked ? "Destroyed " : "[station_integrity]%"] ")
if(mode.station_was_nuked)
- ticker.news_report = STATION_DESTROYED_NUKE
- var/total_players = joined_player_list.len
- if(joined_player_list.len)
- to_chat(world, " [TAB]Total Population: [total_players] ")
+ SSticker.news_report = STATION_DESTROYED_NUKE
+ var/total_players = GLOB.joined_player_list.len
+ if(total_players)
+ to_chat(world, " [GLOB.TAB]Total Population: [total_players] ")
if(station_evacuated)
- to_chat(world, " [TAB]Evacuation Rate: [num_escapees] ([PERCENT(num_escapees/total_players)]%) ")
- to_chat(world, " [TAB](on emergency shuttle): [num_shuttle_escapees] ([PERCENT(num_shuttle_escapees/total_players)]%) ")
+ to_chat(world, " [GLOB.TAB]Evacuation Rate: [num_escapees] ([PERCENT(num_escapees/total_players)]%) ")
+ to_chat(world, " [GLOB.TAB](on emergency shuttle): [num_shuttle_escapees] ([PERCENT(num_shuttle_escapees/total_players)]%) ")
news_report = STATION_EVACUATED
if(SSshuttle.emergency.is_hijacked())
news_report = SHUTTLE_HIJACK
- to_chat(world, " [TAB]Survival Rate: [num_survivors] ([PERCENT(num_survivors/total_players)]%) ")
+ to_chat(world, " [GLOB.TAB]Survival Rate: [num_survivors] ([PERCENT(num_survivors/total_players)]%) ")
to_chat(world, " ")
CHECK_TICK
//Silicon laws report
- for (var/mob/living/silicon/ai/aiPlayer in mob_list)
+ for (var/mob/living/silicon/ai/aiPlayer in GLOB.mob_list)
if (aiPlayer.stat != 2 && aiPlayer.mind)
to_chat(world, "[aiPlayer.name] (Played by: [aiPlayer.mind.key])'s laws at the end of the round were: ")
aiPlayer.show_laws(1)
@@ -497,7 +506,7 @@ var/datum/controller/subsystem/ticker/ticker
CHECK_TICK
- for (var/mob/living/silicon/robot/robo in mob_list)
+ for (var/mob/living/silicon/robot/robo in GLOB.mob_list)
if (!robo.connected_ai && robo.mind)
if (robo.stat != 2)
to_chat(world, "[robo.name] (Played by: [robo.mind.key]) survived as an AI-less borg! Its laws were: ")
@@ -548,9 +557,9 @@ var/datum/controller/subsystem/ticker/ticker
//Borers
var/borerwin = FALSE
- if(borers.len)
+ if(GLOB.borers.len)
var/borertext = "The borers were: "
- for(var/mob/living/simple_animal/borer/B in borers)
+ for(var/mob/living/simple_animal/borer/B in GLOB.borers)
if((B.key || B.controlling) && B.stat != DEAD)
borertext += " [B.controlling ? B.victim.key : B.key] was [B.truename] ("
var/turf/location = get_turf(B)
@@ -562,20 +571,20 @@ var/datum/controller/subsystem/ticker/ticker
to_chat(world, borertext)
var/total_borers = 0
- for(var/mob/living/simple_animal/borer/B in borers)
+ for(var/mob/living/simple_animal/borer/B in GLOB.borers)
if((B.key || B.victim) && B.stat != DEAD)
total_borers++
if(total_borers)
var/total_borer_hosts = 0
- for(var/mob/living/carbon/C in mob_list)
+ for(var/mob/living/carbon/C in GLOB.mob_list)
var/mob/living/simple_animal/borer/D = C.has_brain_worms()
var/turf/location = get_turf(C)
if(location.z == ZLEVEL_CENTCOM && D && D.stat != DEAD)
total_borer_hosts++
- if(total_borer_hosts_needed <= total_borer_hosts)
+ if(GLOB.total_borer_hosts_needed <= total_borer_hosts)
borerwin = TRUE
to_chat(world, "There were [total_borers] borers alive at round end! ")
- to_chat(world, "A total of [total_borer_hosts] borers with hosts escaped on the shuttle alive. The borers needed [total_borer_hosts_needed] hosts to escape. ")
+ to_chat(world, "A total of [total_borer_hosts] borers with hosts escaped on the shuttle alive. The borers needed [GLOB.total_borer_hosts_needed] hosts to escape. ")
if(borerwin)
to_chat(world, "The borers were successful! ")
else
@@ -668,43 +677,50 @@ var/datum/controller/subsystem/ticker/ticker
SSvote.initiate_vote("roundtype","server")
/world/proc/has_round_started()
- if (ticker && ticker.current_state >= GAME_STATE_PLAYING)
+ if (SSticker && SSticker.current_state >= GAME_STATE_PLAYING)
return TRUE
return FALSE
/datum/controller/subsystem/ticker/Recover()
- current_state = ticker.current_state
- force_ending = ticker.force_ending
- hide_mode = ticker.hide_mode
- mode = ticker.mode
- event_time = ticker.event_time
- event = ticker.event
+ current_state = SSticker.current_state
+ force_ending = SSticker.force_ending
+ hide_mode = SSticker.hide_mode
+ mode = SSticker.mode
+ event_time = SSticker.event_time
+ event = SSticker.event
- login_music = ticker.login_music
- round_end_sound = ticker.round_end_sound
+ login_music = SSticker.login_music
+ round_end_sound = SSticker.round_end_sound
- minds = ticker.minds
+ minds = SSticker.minds
- syndicate_coalition = ticker.syndicate_coalition
- factions = ticker.factions
- availablefactions = ticker.availablefactions
+ syndicate_coalition = SSticker.syndicate_coalition
+ factions = SSticker.factions
+ availablefactions = SSticker.availablefactions
- delay_end = ticker.delay_end
+ delay_end = SSticker.delay_end
- triai = ticker.triai
- tipped = ticker.tipped
- selected_tip = ticker.selected_tip
+ triai = SSticker.triai
+ tipped = SSticker.tipped
+ selected_tip = SSticker.selected_tip
- timeLeft = ticker.timeLeft
+ timeLeft = SSticker.timeLeft
- totalPlayers = ticker.totalPlayers
- totalPlayersReady = ticker.totalPlayersReady
+ totalPlayers = SSticker.totalPlayers
+ totalPlayersReady = SSticker.totalPlayersReady
- queue_delay = ticker.queue_delay
- queued_players = ticker.queued_players
- cinematic = ticker.cinematic
- maprotatechecked = ticker.maprotatechecked
- modevoted = ticker.modevoted
+ queue_delay = SSticker.queue_delay
+ queued_players = SSticker.queued_players
+ cinematic = SSticker.cinematic
+ maprotatechecked = SSticker.maprotatechecked
+ round_start_time = SSticker.round_start_time
+
+ queue_delay = SSticker.queue_delay
+ queued_players = SSticker.queued_players
+ cinematic = SSticker.cinematic
+ maprotatechecked = SSticker.maprotatechecked
+
+ modevoted = SSticker.modevoted
/datum/controller/subsystem/ticker/proc/send_news_report()
var/news_message
@@ -759,7 +775,7 @@ var/datum/controller/subsystem/ticker/ticker
send2otherserver(news_source, news_message,"News_Report")
/datum/controller/subsystem/ticker/proc/GetTimeLeft()
- if(isnull(ticker.timeLeft))
+ if(isnull(SSticker.timeLeft))
return max(0, start_at - world.time)
return timeLeft
diff --git a/code/controllers/subsystem/time_tracking.dm b/code/controllers/subsystem/time_track.dm
similarity index 83%
rename from code/controllers/subsystem/time_tracking.dm
rename to code/controllers/subsystem/time_track.dm
index a24b803cf6..20230037c2 100644
--- a/code/controllers/subsystem/time_tracking.dm
+++ b/code/controllers/subsystem/time_track.dm
@@ -1,9 +1,7 @@
-var/datum/controller/subsystem/time_track/SStime_track
-
-/datum/controller/subsystem/time_track
+SUBSYSTEM_DEF(time_track)
name = "Time Tracking"
wait = 600
- flags = SS_NO_INIT|SS_FIRE_IN_LOBBY
+ flags = SS_NO_INIT|SS_FIRE_IN_LOBBY|SS_NO_TICK_CHECK
var/time_dilation_current = 0
@@ -17,9 +15,6 @@ var/datum/controller/subsystem/time_track/SStime_track
var/last_tick_byond_time = 0
var/last_tick_tickcount = 0
-/datum/controller/subsystem/time_track/New()
- NEW_SS_GLOBAL(SStime_track)
-
/datum/controller/subsystem/time_track/fire()
var/current_realtime = REALTIMEOFDAY
diff --git a/code/controllers/subsystem/timer.dm b/code/controllers/subsystem/timer.dm
index c3bcb0e9b0..6a63f090e5 100644
--- a/code/controllers/subsystem/timer.dm
+++ b/code/controllers/subsystem/timer.dm
@@ -1,44 +1,69 @@
#define BUCKET_LEN (world.fps*1*60) //how many ticks should we keep in the bucket. (1 minutes worth)
#define BUCKET_POS(timer) (round((timer.timeToRun - SStimer.head_offset) / world.tick_lag) + 1)
-var/datum/controller/subsystem/timer/SStimer
-/datum/controller/subsystem/timer
+SUBSYSTEM_DEF(timer)
name = "Timer"
wait = 1 //SS_TICKER subsystem, so wait is in ticks
init_order = 1
flags = SS_FIRE_IN_LOBBY|SS_TICKER|SS_NO_INIT
- var/list/datum/timedevent/processing
- var/list/hashes
+ var/list/datum/timedevent/processing = list()
+ var/list/hashes = list()
var/head_offset = 0 //world.time of the first entry in the the bucket.
var/practical_offset = 0 //index of the first non-empty item in the bucket.
var/bucket_resolution = 0 //world.tick_lag the bucket was designed for
var/bucket_count = 0 //how many timers are in the buckets
- var/list/bucket_list //list of buckets, each bucket holds every timer that has to run that byond tick.
+ var/list/bucket_list = list() //list of buckets, each bucket holds every timer that has to run that byond tick.
- var/list/timer_id_dict //list of all active timers assoicated to their timer id (for easy lookup)
+ var/list/timer_id_dict = list() //list of all active timers assoicated to their timer id (for easy lookup)
- var/list/clienttime_timers //special snowflake timers that run on fancy pansy "client time"
-
-
-/datum/controller/subsystem/timer/New()
- processing = list()
- hashes = list()
- bucket_list = list()
- timer_id_dict = list()
-
- clienttime_timers = list()
-
- NEW_SS_GLOBAL(SStimer)
+ var/list/clienttime_timers = list() //special snowflake timers that run on fancy pansy "client time"
+ var/last_invoke_tick = 0
+ var/static/last_invoke_warning = 0
+ var/static/bucket_auto_reset = TRUE
/datum/controller/subsystem/timer/stat_entry(msg)
..("B:[bucket_count] P:[length(processing)] H:[length(hashes)] C:[length(clienttime_timers)]")
/datum/controller/subsystem/timer/fire(resumed = FALSE)
+ var/lit = last_invoke_tick
+ var/last_check = world.time - TIMER_NO_INVOKE_WARNING
+
+ if(!bucket_count)
+ last_invoke_tick = world.time
+
+ if(lit && lit < last_check && last_invoke_warning < last_check)
+ last_invoke_warning = world.time
+ var/msg = "No regular timers processed in the last [TIMER_NO_INVOKE_WARNING] ticks[bucket_auto_reset ? ", resetting buckets" : ""]!"
+ message_admins(msg)
+ WARNING(msg)
+ if(bucket_auto_reset)
+ bucket_resolution = 0
+
+ log_world("Active timers at tick [world.time]:")
+ for(var/I in processing)
+ var/datum/timedevent/TE = I
+ msg = "Timer: [TE.id]: TTR: [TE.timeToRun], Flags: [TE.flags], "
+ if(TE.spent)
+ msg += "SPENT"
+ else
+ var/datum/callback/CB = TE.callBack
+ msg += "callBack: "
+ if(CB.object == GLOBAL_PROC)
+ msg += "GP: [CB.delegate]"
+ else
+ msg += "[!QDELETED(CB.object) ? CB.object : "SRC DELETED"]: [CB.delegate]("
+ var/first = TRUE
+ for(var/J in CB.arguments)
+ msg += "[first ? "" : ", "][J]"
+ first = FALSE
+ msg += ")"
+ log_world(msg)
+
while(length(clienttime_timers))
var/datum/timedevent/ctime_timer = clienttime_timers[clienttime_timers.len]
if (ctime_timer.timeToRun <= REALTIMEOFDAY)
@@ -79,17 +104,15 @@ var/datum/controller/subsystem/timer/SStimer
do
var/datum/callback/callBack = timer.callBack
if (!callBack)
- message_admins("The timer SS has crashed because a timer did not return a callback. MC restarted automatically. Timer hash: [timer.hash]")
qdel(timer)
bucket_resolution = null //force bucket recreation
- Recreate_MC()
- //I really don't know if I should keep this crash log in; I feel like it might cause problems.
-// CRASH("Invalid timer: timer.timeToRun=[timer.timeToRun]||QDELETED(timer)=[QDELETED(timer)]||world.time=[world.time]||head_offset=[head_offset]||practical_offset=[practical_offset]||timer.spent=[timer.spent]")
+ CRASH("Invalid timer: timer.timeToRun=[timer.timeToRun]||QDELETED(timer)=[QDELETED(timer)]||world.time=[world.time]||head_offset=[head_offset]||practical_offset=[practical_offset]||timer.spent=[timer.spent]")
if (!timer.spent)
spent += timer
timer.spent = TRUE
callBack.InvokeAsync()
+ last_invoke_tick = world.time
timer = timer.next
@@ -303,7 +326,7 @@ var/datum/controller/subsystem/timer/SStimer
prev = null
return QDEL_HINT_IWILLGC
-proc/addtimer(datum/callback/callback, wait, flags)
+/proc/addtimer(datum/callback/callback, wait, flags)
if (!callback)
return
diff --git a/code/controllers/subsystem/title.dm b/code/controllers/subsystem/title.dm
new file mode 100644
index 0000000000..3078429710
--- /dev/null
+++ b/code/controllers/subsystem/title.dm
@@ -0,0 +1,61 @@
+SUBSYSTEM_DEF(title)
+ name = "Title Screen"
+ flags = SS_NO_FIRE|SS_NO_INIT
+
+ var/file_path
+ var/icon/icon
+ var/icon/previous_icon
+ var/turf/closed/indestructible/splashscreen/splash_turf
+
+/datum/controller/subsystem/title/PreInit()
+ if(file_path && icon)
+ return
+
+ if(fexists("data/previous_title.dat"))
+ var/previous_path = file2text("data/previous_title.dat")
+ if(istext(previous_path))
+ previous_icon = new(previous_icon)
+ fdel("data/previous_title.dat")
+
+ var/list/provisional_title_screens = flist("config/title_screens/images/")
+ var/list/title_screens = list()
+ var/use_rare_screens = prob(1)
+
+ for(var/S in provisional_title_screens)
+ var/list/L = splittext(S,"+")
+ if((L.len == 1 && L[1] != "blank.png")|| (L.len > 1 && ((use_rare_screens && lowertext(L[1]) == "rare") || (lowertext(L[1]) == lowertext(SSmapping.config.map_name)))))
+ title_screens += S
+
+ if(!isemptylist(title_screens))
+ if(length(title_screens) > 1)
+ for(var/S in title_screens)
+ var/list/L = splittext(S,".")
+ if(L.len != 2 || L[1] != "default")
+ continue
+ title_screens -= S
+ break
+
+ file_path = "config/title_screens/images/[pick(title_screens)]"
+ icon = new(file_path)
+
+ if(splash_turf)
+ splash_turf.icon = icon
+
+/datum/controller/subsystem/title/vv_edit_var(var_name, var_value)
+ . = ..()
+ if(.)
+ switch(var_name)
+ if("icon")
+ if(splash_turf)
+ splash_turf.icon = icon
+
+/datum/controller/subsystem/title/Shutdown()
+ if(file_path)
+ var/F = file("data/previous_title.dat")
+ F << file_path
+
+/datum/controller/subsystem/title/Recover()
+ icon = SStitle.icon
+ splash_turf = SStitle.splash_turf
+ file_path = SStitle.file_path
+ previous_icon = SStitle.previous_icon
diff --git a/code/controllers/subsystem/title_screen.dm b/code/controllers/subsystem/title_screen.dm
deleted file mode 100644
index 1b4bd16053..0000000000
--- a/code/controllers/subsystem/title_screen.dm
+++ /dev/null
@@ -1,39 +0,0 @@
-var/datum/controller/subsystem/title/SStitle
-
-/datum/controller/subsystem/title
- name = "Title Screen"
- init_order = 15
- flags = SS_NO_FIRE
- var/turf/closed/indestructible/splashscreen/title_screen
-
-/datum/controller/subsystem/title/New()
- NEW_SS_GLOBAL(SStitle)
-
-/datum/controller/subsystem/title/Initialize()
- var/list/provisional_title_screens = flist("config/title_screens/images/")
- var/list/title_screens = list()
- var/use_rare_screens = FALSE
-
- if(title_screen)
- if(prob(1))
- use_rare_screens = TRUE
-
- for(var/S in provisional_title_screens)
- var/list/L = splittext(S,"+")
- if((L.len == 1 && L[1] != "blank.png")|| (L.len > 1 && ((use_rare_screens && lowertext(L[1]) == "rare") || (lowertext(L[1]) == lowertext(SSmapping.config.map_name)))))
- title_screens += S
-
- if(!isemptylist(title_screens))
- if(length(title_screens) > 1)
- for(var/S in title_screens)
- var/list/L = splittext(S,".")
- if(L.len != 2 || L[1] != "default")
- continue
- title_screens -= S
- break
-
- var/path_string = "config/title_screens/images/[pick(title_screens)]"
- var/icon/screen_to_use = new(path_string)
-
- title_screen.icon = screen_to_use
- ..()
\ No newline at end of file
diff --git a/code/controllers/subsystem/voting.dm b/code/controllers/subsystem/vote.dm
similarity index 89%
rename from code/controllers/subsystem/voting.dm
rename to code/controllers/subsystem/vote.dm
index 39e1471dc5..e78a4b56f2 100644
--- a/code/controllers/subsystem/voting.dm
+++ b/code/controllers/subsystem/vote.dm
@@ -1,6 +1,4 @@
-var/datum/controller/subsystem/vote/SSvote
-
-/datum/controller/subsystem/vote
+SUBSYSTEM_DEF(vote)
name = "Vote"
wait = 10
@@ -16,9 +14,6 @@ var/datum/controller/subsystem/vote/SSvote
var/list/voting = list()
var/list/generated_actions = list()
-/datum/controller/subsystem/vote/New()
- NEW_SS_GLOBAL(SSvote)
-
/datum/controller/subsystem/vote/fire() //called by master_controller
if(mode)
time_remaining = round((started_time + config.vote_period - world.time)/10)
@@ -58,7 +53,7 @@ var/datum/controller/subsystem/vote/SSvote
greatest_votes = votes
//default-vote for everyone who didn't vote
if(!config.vote_no_default && choices.len)
- var/list/non_voters = directory.Copy()
+ var/list/non_voters = GLOB.directory.Copy()
non_voters -= voted
for (var/non_voter_ckey in non_voters)
var/client/C = non_voters[non_voter_ckey]
@@ -70,10 +65,10 @@ var/datum/controller/subsystem/vote/SSvote
if(choices["Continue Playing"] >= greatest_votes)
greatest_votes = choices["Continue Playing"]
else if(mode == "gamemode")
- if(master_mode in choices)
- choices[master_mode] += non_voters.len
- if(choices[master_mode] >= greatest_votes)
- greatest_votes = choices[master_mode]
+ if(GLOB.master_mode in choices)
+ choices[GLOB.master_mode] += non_voters.len
+ if(choices[GLOB.master_mode] >= greatest_votes)
+ greatest_votes = choices[GLOB.master_mode]
//get all options with that many votes and return them in a list
. = list()
if(greatest_votes)
@@ -103,7 +98,7 @@ var/datum/controller/subsystem/vote/SSvote
. = pick(winners)
text += "\nVote Result: [.] "
else
- text += "\nDid not vote: [clients.len-voted.len]"
+ text += "\nDid not vote: [GLOB.clients.len-voted.len]"
else
text += "Vote Result: Inconclusive - No Votes! "
log_vote(text)
@@ -120,24 +115,15 @@ var/datum/controller/subsystem/vote/SSvote
if(. == "Restart Round")
restart = 1
if("gamemode")
- if(master_mode != .)
+ if(GLOB.master_mode != .)
world.save_mode(.)
- if(ticker && ticker.mode)
+ if(SSticker && SSticker.mode)
restart = 1
else
- master_mode = .
-
- if("roundtype")
- if(ticker && ticker.mode)
- message_admins("A vote has tried to change the gamemode, but the game has already started. Aborting.")
- else if(master_mode != .)
- world.save_mode(.)
- master_mode = .
- to_chat(world,"The mode is now: [master_mode] ")
-
+ GLOB.master_mode = .
if(restart)
var/active_admins = 0
- for(var/client/C in admins)
+ for(var/client/C in GLOB.admins)
if(!C.is_afk() && check_rights_for(C, R_SERVER))
active_admins = 1
break
@@ -170,7 +156,7 @@ var/datum/controller/subsystem/vote/SSvote
var/admin = FALSE
var/ckey = ckey(initiator_key)
- if((admin_datums[ckey]) || (ckey in deadmins))
+ if((GLOB.admin_datums[ckey]) || (ckey in GLOB.deadmins))
admin = TRUE
if(next_allowed_time > world.time && !admin)
@@ -183,8 +169,6 @@ var/datum/controller/subsystem/vote/SSvote
choices.Add("Restart Round","Continue Playing")
if("gamemode")
choices.Add(config.votable_modes)
- if("roundtype")
- choices.Add("secret","extended")
if("custom")
question = stripped_input(usr,"What is the vote for?")
if(!question)
@@ -205,7 +189,7 @@ var/datum/controller/subsystem/vote/SSvote
log_vote(text)
to_chat(world, "\n[text] \nType vote or click here to place your votes.\nYou have [config.vote_period/10] seconds to vote. ")
time_remaining = round(config.vote_period/10)
- for(var/c in clients)
+ for(var/c in GLOB.clients)
var/client/C = c
var/datum/action/vote/V = new
if(question)
diff --git a/code/controllers/subsystem/weather.dm b/code/controllers/subsystem/weather.dm
index 824ea9ad7e..569eb4032c 100644
--- a/code/controllers/subsystem/weather.dm
+++ b/code/controllers/subsystem/weather.dm
@@ -1,7 +1,5 @@
//Used for all kinds of weather, ex. lavaland ash storms.
-
-var/datum/controller/subsystem/weather/SSweather
-/datum/controller/subsystem/weather
+SUBSYSTEM_DEF(weather)
name = "Weather"
flags = SS_BACKGROUND
wait = 10
@@ -9,15 +7,12 @@ var/datum/controller/subsystem/weather/SSweather
var/list/existing_weather = list()
var/list/eligible_zlevels = list(ZLEVEL_LAVALAND)
-/datum/controller/subsystem/weather/New()
- NEW_SS_GLOBAL(SSweather)
-
/datum/controller/subsystem/weather/fire()
for(var/V in processing)
var/datum/weather/W = V
if(W.aesthetic)
continue
- for(var/mob/living/L in mob_list)
+ for(var/mob/living/L in GLOB.mob_list)
if(W.can_impact(L))
W.impact(L)
for(var/Z in eligible_zlevels)
diff --git a/code/datums/action.dm b/code/datums/action.dm
index 57ef56d873..03b293b13d 100644
--- a/code/datums/action.dm
+++ b/code/datums/action.dm
@@ -333,6 +333,10 @@
/datum/action/item_action/hands_free/shift_nerves
name = "Shift Nerves"
+/datum/action/item_action/explosive_implant
+ check_flags = 0
+ name = "Activate Explosive Implant"
+
/datum/action/item_action/toggle_research_scanner
name = "Toggle Research Scanner"
button_icon_state = "scan_mode"
@@ -467,4 +471,17 @@
/datum/action/item_action/bhop
name = "Activate Jump Boots"
desc = "Activates the jump boot's internal propulsion system, allowing the user to dash over 4-wide gaps."
- button_icon_state = "jetboot"
\ No newline at end of file
+ button_icon_state = "jetboot"
+
+/datum/action/language_menu
+ name = "Language Menu"
+ desc = "Open the language menu to review your languages, their keys, and select your default language."
+ button_icon_state = "language_menu"
+ check_flags = 0
+
+/datum/action/language_menu/Trigger()
+ if(!..())
+ return FALSE
+ if(isliving(owner))
+ var/mob/living/L = owner
+ L.open_language_menu(usr)
diff --git a/code/datums/antagonists/datum_clockcult.dm b/code/datums/antagonists/datum_clockcult.dm
index 9680a8602e..89be685f76 100644
--- a/code/datums/antagonists/datum_clockcult.dm
+++ b/code/datums/antagonists/datum_clockcult.dm
@@ -18,6 +18,14 @@
. = is_eligible_servant(new_body)
/datum/antagonist/clockcultist/give_to_body(mob/living/new_body)
+ if(iscyborg(new_body))
+ var/mob/living/silicon/robot/R = new_body
+ if(R.deployed)
+ var/mob/living/silicon/ai/AI = R.mainframe
+ R.undeploy()
+ var/converted = add_servant_of_ratvar(AI, silent_update)
+ to_chat(AI, "Anomaly Detected. Returned to core! ") //The AI needs to be in its core to properly be converted
+ return converted
if(!silent_update)
if(issilicon(new_body))
to_chat(new_body, "You are unable to compute this truth. Your vision glows a brilliant yellow, and all at once it comes to you. Ratvar, the Clockwork Justiciar, \
@@ -36,11 +44,11 @@
to_chat(new_body, "And yet, you somehow push it all away. ")
/datum/antagonist/clockcultist/on_gain()
- if(ticker && ticker.mode && owner.mind)
- ticker.mode.servants_of_ratvar += owner.mind
- ticker.mode.update_servant_icons_added(owner.mind)
+ if(SSticker && SSticker.mode && owner.mind)
+ SSticker.mode.servants_of_ratvar += owner.mind
+ SSticker.mode.update_servant_icons_added(owner.mind)
if(jobban_isbanned(owner, ROLE_SERVANT_OF_RATVAR))
- INVOKE_ASYNC(ticker.mode, /datum/game_mode.proc/replace_jobbaned_player, owner, ROLE_SERVANT_OF_RATVAR, ROLE_SERVANT_OF_RATVAR)
+ INVOKE_ASYNC(SSticker.mode, /datum/game_mode.proc/replace_jobbaned_player, owner, ROLE_SERVANT_OF_RATVAR, ROLE_SERVANT_OF_RATVAR)
if(owner.mind)
owner.mind.special_role = "Servant of Ratvar"
owner.log_message("Has been converted to the cult of Ratvar! ", INDIVIDUAL_ATTACK_LOG)
@@ -55,29 +63,28 @@
else if(isbrain(owner) || isclockmob(owner))
to_chat(owner, "You can communicate with other servants by using the Hierophant Network action button in the upper left. ")
..()
- if(istype(ticker.mode, /datum/game_mode/clockwork_cult))
- var/datum/game_mode/clockwork_cult/C = ticker.mode
+ if(istype(SSticker.mode, /datum/game_mode/clockwork_cult))
+ var/datum/game_mode/clockwork_cult/C = SSticker.mode
C.present_tasks(owner) //Memorize the objectives
/datum/antagonist/clockcultist/apply_innate_effects()
- all_clockwork_mobs += owner
+ GLOB.all_clockwork_mobs += owner
owner.faction |= "ratvar"
- owner.languages_spoken |= RATVAR
- owner.languages_understood |= RATVAR
+ owner.grant_language(/datum/language/ratvar)
owner.update_action_buttons_icon() //because a few clockcult things are action buttons and we may be wearing/holding them for whatever reason, we need to update buttons
if(issilicon(owner))
var/mob/living/silicon/S = owner
if(iscyborg(S))
var/mob/living/silicon/robot/R = S
- R.UnlinkSelf()
+ if(!R.shell)
+ R.UnlinkSelf()
R.module.rebuild_modules()
else if(isAI(S))
var/mob/living/silicon/ai/A = S
A.can_be_carded = FALSE
A.requires_power = POWER_REQ_CLOCKCULT
- A.languages_spoken &= ~HUMAN
var/list/AI_frame = list(image('icons/mob/clockwork_mobs.dmi', A, "aiframe")) //make the AI's cool frame
- for(var/d in cardinal)
+ for(var/d in GLOB.cardinal)
AI_frame += image('icons/mob/clockwork_mobs.dmi', A, "eye[rand(1, 10)]", dir = d) //the eyes are randomly fast or slow
A.add_overlay(AI_frame)
if(!A.lacks_power())
@@ -110,16 +117,14 @@
hierophant_network.span_for_name = "nezbere"
hierophant_network.span_for_message = "brass"
owner.throw_alert("clockinfo", /obj/screen/alert/clockwork/infodump)
- if(!clockwork_gateway_activated)
+ if(!GLOB.clockwork_gateway_activated)
owner.throw_alert("scripturereq", /obj/screen/alert/clockwork/scripture_reqs)
- update_slab_info()
..()
/datum/antagonist/clockcultist/remove_innate_effects()
- all_clockwork_mobs -= owner
+ GLOB.all_clockwork_mobs -= owner
owner.faction -= "ratvar"
- owner.languages_spoken &= ~RATVAR
- owner.languages_understood &= ~RATVAR
+ owner.remove_language(/datum/language/ratvar)
owner.clear_alert("clockinfo")
owner.clear_alert("scripturereq")
for(var/datum/action/innate/function_call/F in owner.actions) //Removes any bound Ratvarian spears
@@ -130,7 +135,6 @@
var/mob/living/silicon/ai/A = S
A.can_be_carded = initial(A.can_be_carded)
A.requires_power = initial(A.requires_power)
- A.languages_spoken |= HUMAN
A.cut_overlays()
S.make_laws()
S.update_icons()
@@ -142,15 +146,14 @@
R.module.rebuild_modules()
if(temp_owner)
temp_owner.update_action_buttons_icon() //because a few clockcult things are action buttons and we may be wearing/holding them, we need to update buttons
- update_slab_info()
/datum/antagonist/clockcultist/on_remove()
if(!silent_update)
owner.visible_message("[owner] seems to have remembered their true allegiance! ", \
"A cold, cold darkness flows through your mind, extinguishing the Justiciar's light and all of your memories as his servant. ")
- if(ticker && ticker.mode && owner.mind)
- ticker.mode.servants_of_ratvar -= owner.mind
- ticker.mode.update_servant_icons_removed(owner.mind)
+ if(SSticker && SSticker.mode && owner.mind)
+ SSticker.mode.servants_of_ratvar -= owner.mind
+ SSticker.mode.update_servant_icons_removed(owner.mind)
if(owner.mind)
owner.mind.wipe_memory()
owner.mind.special_role = null
diff --git a/code/datums/antagonists/datum_cult.dm b/code/datums/antagonists/datum_cult.dm
index 031de6776b..7d6806bab6 100644
--- a/code/datums/antagonists/datum_cult.dm
+++ b/code/datums/antagonists/datum_cult.dm
@@ -13,14 +13,14 @@
. = is_convertable_to_cult(new_body)
/datum/antagonist/cultist/on_gain()
- if(ticker && ticker.mode && owner.mind)
- ticker.mode.cult += owner.mind
- ticker.mode.update_cult_icons_added(owner.mind)
- if(istype(ticker.mode, /datum/game_mode/cult))
- var/datum/game_mode/cult/C = ticker.mode
+ if(SSticker && SSticker.mode && owner.mind)
+ SSticker.mode.cult += owner.mind
+ SSticker.mode.update_cult_icons_added(owner.mind)
+ if(istype(SSticker.mode, /datum/game_mode/cult))
+ var/datum/game_mode/cult/C = SSticker.mode
C.memorize_cult_objectives(owner.mind)
if(jobban_isbanned(owner, ROLE_CULTIST))
- INVOKE_ASYNC(ticker.mode, /datum/game_mode.proc/replace_jobbaned_player, owner, ROLE_CULTIST, ROLE_CULTIST)
+ INVOKE_ASYNC(SSticker.mode, /datum/game_mode.proc/replace_jobbaned_player, owner, ROLE_CULTIST, ROLE_CULTIST)
if(owner.mind)
owner.mind.special_role = "Cultist"
owner.log_message("Has been converted to the cult of Nar'Sie! ", INDIVIDUAL_ATTACK_LOG)
@@ -40,9 +40,9 @@
/datum/antagonist/cultist/on_remove()
if(owner.mind)
owner.mind.wipe_memory()
- if(ticker && ticker.mode)
- ticker.mode.cult -= owner.mind
- ticker.mode.update_cult_icons_removed(owner.mind)
+ if(SSticker && SSticker.mode)
+ SSticker.mode.cult -= owner.mind
+ SSticker.mode.update_cult_icons_removed(owner.mind)
to_chat(owner, "An unfamiliar white light flashes through your mind, cleansing the taint of the Dark One and all your memories as its servant. ")
owner.log_message("Has renounced the cult of Nar'Sie! ", INDIVIDUAL_ATTACK_LOG)
if(!silent_update)
diff --git a/code/datums/beam.dm b/code/datums/beam.dm
index 828a9dc774..aba167ec7c 100644
--- a/code/datums/beam.dm
+++ b/code/datums/beam.dm
@@ -7,17 +7,16 @@
var/icon
var/icon_state = "" //icon state of the main segments of the beam
var/max_distance = 0
- var/endtime = 0
var/sleep_time = 3
var/finished = 0
var/target_oldloc = null
var/origin_oldloc = null
var/static_beam = 0
var/beam_type = /obj/effect/ebeam //must be subtype
-
+ var/timing_id = null
+ var/recalculating = FALSE
/datum/beam/New(beam_origin,beam_target,beam_icon='icons/effects/beam.dmi',beam_icon_state="b_beam",time=50,maxdistance=10,btype = /obj/effect/ebeam,beam_sleep_time=3)
- endtime = world.time+time
origin = beam_origin
origin_oldloc = get_turf(origin)
target = beam_target
@@ -30,11 +29,19 @@
icon = beam_icon
icon_state = beam_icon_state
beam_type = btype
-
+ addtimer(CALLBACK(src,.proc/End), time)
/datum/beam/proc/Start()
Draw()
- while(!finished && origin && target && world.time < endtime && get_dist(origin,target)<< [dir2text(A.dir)] >> "
var/mob/living/M = A
- //citadel arousal code
atomsnowflake += {"
[M.ckey ? M.ckey : "No ckey"] / [M.real_name ? M.real_name : "No real name"]
@@ -157,7 +159,8 @@
names = sortList(names)
for (var/V in names)
- variable_html += D.vv_get_var(V)
+ if(D.can_vv_get(V))
+ variable_html += D.vv_get_var(V)
var/html = {"
@@ -852,7 +855,7 @@
if(A.reagents)
var/chosen_id
- var/list/reagent_options = sortList(chemical_reagents_list)
+ var/list/reagent_options = sortList(GLOB.chemical_reagents_list)
switch(alert(usr, "Choose a method.", "Add Reagents", "Enter ID", "Choose ID"))
if("Enter ID")
var/valid_id
@@ -1033,14 +1036,14 @@
to_chat(usr, "This can only be done to instances of type /mob/living/carbon/human")
return
- var/result = input(usr, "Please choose a new species","Species") as null|anything in species_list
+ var/result = input(usr, "Please choose a new species","Species") as null|anything in GLOB.species_list
if(!H)
to_chat(usr, "Mob doesn't exist anymore")
return
if(result)
- var/newtype = species_list[result]
+ var/newtype = GLOB.species_list[result]
H.set_species(newtype)
else if(href_list["editbodypart"])
diff --git a/code/datums/diseases/_disease.dm b/code/datums/diseases/_disease.dm
index 74f67b22f7..fbf6af136e 100644
--- a/code/datums/diseases/_disease.dm
+++ b/code/datums/diseases/_disease.dm
@@ -26,10 +26,6 @@
#define DANGEROUS "Dangerous!"
#define BIOHAZARD "BIOHAZARD THREAT!"
-
-var/list/diseases = subtypesof(/datum/disease)
-
-
/datum/disease
//Flags
var/visibility_flags = 0
diff --git a/code/datums/diseases/advance/advance.dm b/code/datums/diseases/advance/advance.dm
index 4da26d62e6..30693d3803 100644
--- a/code/datums/diseases/advance/advance.dm
+++ b/code/datums/diseases/advance/advance.dm
@@ -9,15 +9,7 @@
#define SYMPTOM_LIMIT 8
-var/list/archive_diseases = list()
-// The order goes from easy to cure to hard to cure.
-var/list/advance_cures = list(
- "sodiumchloride", "sugar", "orangejuice",
- "spaceacillin", "salglu_solution", "ethanol",
- "leporazine", "synaptizine", "lipolicide",
- "silver", "gold"
- )
/*
@@ -40,6 +32,14 @@ var/list/advance_cures = list(
var/list/symptoms = list() // The symptoms of the disease.
var/id = ""
var/processing = 0
+
+ // The order goes from easy to cure to hard to cure.
+ var/static/list/advance_cures = list(
+ "sodiumchloride", "sugar", "orangejuice",
+ "spaceacillin", "salglu_solution", "ethanol",
+ "leporazine", "synaptizine", "lipolicide",
+ "silver", "gold"
+ )
/*
@@ -48,13 +48,6 @@ var/list/advance_cures = list(
*/
/datum/disease/advance/New(var/process = 1, var/datum/disease/advance/D)
-
- // Setup our dictionary if it hasn't already.
- if(!dictionary_symptoms.len)
- for(var/symp in list_symptoms)
- var/datum/symptom/S = new symp
- dictionary_symptoms[S.id] = symp
-
if(!istype(D))
D = null
// Generate symptoms if we weren't given any.
@@ -141,7 +134,7 @@ var/list/advance_cures = list(
// Generate symptoms. By default, we only choose non-deadly symptoms.
var/list/possible_symptoms = list()
- for(var/symp in list_symptoms)
+ for(var/symp in SSdisease.list_symptoms)
var/datum/symptom/S = new symp
if(S.level >= level_min && S.level <= level_max)
if(!HasSymptom(S))
@@ -168,13 +161,13 @@ var/list/advance_cures = list(
AssignProperties()
id = null
- if(!archive_diseases[GetDiseaseID()])
+ if(!SSdisease.archive_diseases[GetDiseaseID()])
if(new_name)
AssignName()
- archive_diseases[GetDiseaseID()] = src // So we don't infinite loop
- archive_diseases[GetDiseaseID()] = new /datum/disease/advance(0, src, 1)
+ SSdisease.archive_diseases[GetDiseaseID()] = src // So we don't infinite loop
+ SSdisease.archive_diseases[GetDiseaseID()] = new /datum/disease/advance(0, src, 1)
- var/datum/disease/advance/A = archive_diseases[GetDiseaseID()]
+ var/datum/disease/advance/A = SSdisease.archive_diseases[GetDiseaseID()]
AssignName(A.name)
//Generate disease properties based on the effects. Returns an associated list.
@@ -259,7 +252,7 @@ var/list/advance_cures = list(
cures = list(advance_cures[res])
// Get the cure name from the cure_id
- var/datum/reagent/D = chemical_reagents_list[cures[1]]
+ var/datum/reagent/D = GLOB.chemical_reagents_list[cures[1]]
cure_text = D.name
@@ -379,7 +372,7 @@ var/list/advance_cures = list(
var/list/symptoms = list()
symptoms += "Done"
- symptoms += list_symptoms.Copy()
+ symptoms += SSdisease.list_symptoms.Copy()
do
if(user)
var/symptom = input(user, "Choose a symptom to add ([i] remaining)", "Choose a Symptom") in symptoms
@@ -405,7 +398,7 @@ var/list/advance_cures = list(
for(var/datum/disease/advance/AD in SSdisease.processing)
AD.Refresh()
- for(var/mob/living/carbon/human/H in shuffle(living_mob_list))
+ for(var/mob/living/carbon/human/H in shuffle(GLOB.living_mob_list))
if(H.z != 1)
continue
if(!H.HasDisease(D))
diff --git a/code/datums/diseases/advance/symptoms/fire.dm b/code/datums/diseases/advance/symptoms/fire.dm
index 949d2f5f0f..90bfcbc6e3 100644
--- a/code/datums/diseases/advance/symptoms/fire.dm
+++ b/code/datums/diseases/advance/symptoms/fire.dm
@@ -45,7 +45,7 @@ Bonus
return
/datum/symptom/fire/proc/Firestacks_stage_4(mob/living/M, datum/disease/advance/A)
- var/get_stacks = (sqrt(20+A.totalStageSpeed()*2))-(sqrt(16+A.totalStealth()))
+ var/get_stacks = (sqrt(20+A.totalStageSpeed()*2))-(sqrt(max(0, 16+A.totalStealth())))
M.adjust_fire_stacks(get_stacks)
M.adjustFireLoss(get_stacks/2)
return 1
diff --git a/code/datums/diseases/advance/symptoms/genetics.dm b/code/datums/diseases/advance/symptoms/genetics.dm
index ddabefa9cf..a900dbb7c8 100644
--- a/code/datums/diseases/advance/symptoms/genetics.dm
+++ b/code/datums/diseases/advance/symptoms/genetics.dm
@@ -42,7 +42,7 @@ Bonus
// Archive their DNA before they were infected.
/datum/symptom/genetic_mutation/Start(datum/disease/advance/A)
- possible_mutations = (bad_mutations | not_good_mutations) - mutations_list[RACEMUT]
+ possible_mutations = (GLOB.bad_mutations | GLOB.not_good_mutations) - GLOB.mutations_list[RACEMUT]
var/mob/living/carbon/M = A.affected_mob
if(M)
if(!M.has_dna())
diff --git a/code/datums/diseases/advance/symptoms/heal.dm b/code/datums/diseases/advance/symptoms/heal.dm
index 3fd75e7943..834d6c864d 100644
--- a/code/datums/diseases/advance/symptoms/heal.dm
+++ b/code/datums/diseases/advance/symptoms/heal.dm
@@ -282,7 +282,7 @@ Bonus
var/amt_healed = 1
M.adjustBrainLoss(-amt_healed)
//Non-power mutations, excluding race, so the virus does not force monkey -> human transformations.
- var/list/unclean_mutations = (not_good_mutations|bad_mutations) - mutations_list[RACEMUT]
+ var/list/unclean_mutations = (GLOB.not_good_mutations|GLOB.bad_mutations) - GLOB.mutations_list[RACEMUT]
M.dna.remove_mutation_group(unclean_mutations)
M.radiation = max(M.radiation - (2 * amt_healed), 0)
return 1
diff --git a/code/datums/diseases/advance/symptoms/symptoms.dm b/code/datums/diseases/advance/symptoms/symptoms.dm
index 4b9de79c7a..44d7db5709 100644
--- a/code/datums/diseases/advance/symptoms/symptoms.dm
+++ b/code/datums/diseases/advance/symptoms/symptoms.dm
@@ -1,10 +1,5 @@
// Symptoms are the effects that engineered advanced diseases do.
-var/list/list_symptoms = subtypesof(/datum/symptom)
-var/list/dictionary_symptoms = list()
-
-var/global/const/SYMPTOM_ACTIVATION_PROB = 5
-
/datum/symptom
// Buffs/Debuffs the symptom has to the overall engineered disease.
var/name = ""
@@ -18,9 +13,10 @@ var/global/const/SYMPTOM_ACTIVATION_PROB = 5
var/severity = 0
// The hash tag for our diseases, we will add it up with our other symptoms to get a unique id! ID MUST BE UNIQUE!!!
var/id = ""
+ var/static/SYMPTOM_ACTIVATION_PROB = 5
/datum/symptom/New()
- var/list/S = list_symptoms
+ var/list/S = SSdisease.list_symptoms
for(var/i = 1; i <= S.len; i++)
if(src.type == S[i])
id = "[i]"
diff --git a/code/datums/diseases/transformation.dm b/code/datums/diseases/transformation.dm
index 3bde2e2b7e..88d9fca383 100644
--- a/code/datums/diseases/transformation.dm
+++ b/code/datums/diseases/transformation.dm
@@ -90,7 +90,7 @@
/datum/disease/transformation/jungle_fever/do_disease_transformation(mob/living/carbon/affected_mob)
if(!ismonkey(affected_mob))
- ticker.mode.add_monkey(affected_mob.mind)
+ SSticker.mode.add_monkey(affected_mob.mind)
affected_mob.monkeyize(TR_KEEPITEMS | TR_KEEPIMPLANTS | TR_KEEPORGANS | TR_KEEPDAMAGE | TR_KEEPVIRUS | TR_KEEPSE)
/datum/disease/transformation/jungle_fever/stage_act()
@@ -108,7 +108,7 @@
affected_mob.say(pick("Eeek, ook ook!", "Eee-eeek!", "Eeee!", "Ungh, ungh."))
/datum/disease/transformation/jungle_fever/cure()
- ticker.mode.remove_monkey(affected_mob.mind)
+ SSticker.mode.remove_monkey(affected_mob.mind)
..()
diff --git a/code/datums/dna.dm b/code/datums/dna.dm
index 71af078246..ecc3e121f0 100644
--- a/code/datums/dna.dm
+++ b/code/datums/dna.dm
@@ -41,15 +41,15 @@
new_dna.mutations = mutations.Copy()
/datum/dna/proc/add_mutation(mutation_name)
- var/datum/mutation/human/HM = mutations_list[mutation_name]
+ var/datum/mutation/human/HM = GLOB.mutations_list[mutation_name]
HM.on_acquiring(holder)
/datum/dna/proc/remove_mutation(mutation_name)
- var/datum/mutation/human/HM = mutations_list[mutation_name]
+ var/datum/mutation/human/HM = GLOB.mutations_list[mutation_name]
HM.on_losing(holder)
/datum/dna/proc/check_mutation(mutation_name)
- var/datum/mutation/human/HM = mutations_list[mutation_name]
+ var/datum/mutation/human/HM = GLOB.mutations_list[mutation_name]
return mutations.Find(HM)
/datum/dna/proc/remove_all_mutations()
@@ -68,28 +68,28 @@
L[DNA_GENDER_BLOCK] = construct_block((holder.gender!=MALE)+1, 2)
if(ishuman(holder))
var/mob/living/carbon/human/H = holder
- if(!hair_styles_list.len)
- init_sprite_accessory_subtypes(/datum/sprite_accessory/hair, hair_styles_list, hair_styles_male_list, hair_styles_female_list)
- L[DNA_HAIR_STYLE_BLOCK] = construct_block(hair_styles_list.Find(H.hair_style), hair_styles_list.len)
+ if(!GLOB.hair_styles_list.len)
+ init_sprite_accessory_subtypes(/datum/sprite_accessory/hair,GLOB.hair_styles_list, GLOB.hair_styles_male_list, GLOB.hair_styles_female_list)
+ L[DNA_HAIR_STYLE_BLOCK] = construct_block(GLOB.hair_styles_list.Find(H.hair_style), GLOB.hair_styles_list.len)
L[DNA_HAIR_COLOR_BLOCK] = sanitize_hexcolor(H.hair_color)
- if(!facial_hair_styles_list.len)
- init_sprite_accessory_subtypes(/datum/sprite_accessory/facial_hair, facial_hair_styles_list, facial_hair_styles_male_list, facial_hair_styles_female_list)
- L[DNA_FACIAL_HAIR_STYLE_BLOCK] = construct_block(facial_hair_styles_list.Find(H.facial_hair_style), facial_hair_styles_list.len)
+ if(!GLOB.facial_hair_styles_list.len)
+ init_sprite_accessory_subtypes(/datum/sprite_accessory/facial_hair, GLOB.facial_hair_styles_list, GLOB.facial_hair_styles_male_list, GLOB.facial_hair_styles_female_list)
+ L[DNA_FACIAL_HAIR_STYLE_BLOCK] = construct_block(GLOB.facial_hair_styles_list.Find(H.facial_hair_style), GLOB.facial_hair_styles_list.len)
L[DNA_FACIAL_HAIR_COLOR_BLOCK] = sanitize_hexcolor(H.facial_hair_color)
- L[DNA_SKIN_TONE_BLOCK] = construct_block(skin_tones.Find(H.skin_tone), skin_tones.len)
+ L[DNA_SKIN_TONE_BLOCK] = construct_block(GLOB.skin_tones.Find(H.skin_tone), GLOB.skin_tones.len)
L[DNA_EYE_COLOR_BLOCK] = sanitize_hexcolor(H.eye_color)
for(var/i=1, i<=DNA_UNI_IDENTITY_BLOCKS, i++)
if(L[i])
. += L[i]
else
- . += random_string(DNA_BLOCK_SIZE,hex_characters)
+ . += random_string(DNA_BLOCK_SIZE,GLOB.hex_characters)
return .
/datum/dna/proc/generate_struc_enzymes()
var/list/sorting = new /list(DNA_STRUC_ENZYMES_BLOCKS)
var/result = ""
- for(var/datum/mutation/human/A in good_mutations + bad_mutations + not_good_mutations)
+ for(var/datum/mutation/human/A in GLOB.good_mutations + GLOB.bad_mutations + GLOB.not_good_mutations)
if(A.name == RACEMUT && ismonkey(holder))
sorting[A.dna_block] = num2hex(A.lowest_value + rand(0, 256 * 6), DNA_BLOCK_SIZE)
mutations |= A
@@ -106,7 +106,7 @@
real_name = holder.real_name
. += md5(holder.real_name)
else
- . += random_string(DNA_UNIQUE_ENZYMES_LEN, hex_characters)
+ . += random_string(DNA_UNIQUE_ENZYMES_LEN, GLOB.hex_characters)
return .
/datum/dna/proc/update_ui_block(blocknumber)
@@ -119,15 +119,15 @@
if(DNA_FACIAL_HAIR_COLOR_BLOCK)
setblock(uni_identity, blocknumber, sanitize_hexcolor(H.facial_hair_color))
if(DNA_SKIN_TONE_BLOCK)
- setblock(uni_identity, blocknumber, construct_block(skin_tones.Find(H.skin_tone), skin_tones.len))
+ setblock(uni_identity, blocknumber, construct_block(GLOB.skin_tones.Find(H.skin_tone), GLOB.skin_tones.len))
if(DNA_EYE_COLOR_BLOCK)
setblock(uni_identity, blocknumber, sanitize_hexcolor(H.eye_color))
if(DNA_GENDER_BLOCK)
setblock(uni_identity, blocknumber, construct_block((H.gender!=MALE)+1, 2))
if(DNA_FACIAL_HAIR_STYLE_BLOCK)
- setblock(uni_identity, blocknumber, construct_block(facial_hair_styles_list.Find(H.facial_hair_style), facial_hair_styles_list.len))
+ setblock(uni_identity, blocknumber, construct_block(GLOB.facial_hair_styles_list.Find(H.facial_hair_style), GLOB.facial_hair_styles_list.len))
if(DNA_HAIR_STYLE_BLOCK)
- setblock(uni_identity, blocknumber, construct_block(hair_styles_list.Find(H.hair_style), hair_styles_list.len))
+ setblock(uni_identity, blocknumber, construct_block(GLOB.hair_styles_list.Find(H.hair_style), GLOB.hair_styles_list.len))
/datum/dna/proc/mutations_say_mods(message)
if(message)
@@ -274,10 +274,10 @@
var/structure = dna.uni_identity
hair_color = sanitize_hexcolor(getblock(structure, DNA_HAIR_COLOR_BLOCK))
facial_hair_color = sanitize_hexcolor(getblock(structure, DNA_FACIAL_HAIR_COLOR_BLOCK))
- skin_tone = skin_tones[deconstruct_block(getblock(structure, DNA_SKIN_TONE_BLOCK), skin_tones.len)]
+ skin_tone = GLOB.skin_tones[deconstruct_block(getblock(structure, DNA_SKIN_TONE_BLOCK), GLOB.skin_tones.len)]
eye_color = sanitize_hexcolor(getblock(structure, DNA_EYE_COLOR_BLOCK))
- facial_hair_style = facial_hair_styles_list[deconstruct_block(getblock(structure, DNA_FACIAL_HAIR_STYLE_BLOCK), facial_hair_styles_list.len)]
- hair_style = hair_styles_list[deconstruct_block(getblock(structure, DNA_HAIR_STYLE_BLOCK), hair_styles_list.len)]
+ facial_hair_style = GLOB.facial_hair_styles_list[deconstruct_block(getblock(structure, DNA_FACIAL_HAIR_STYLE_BLOCK), GLOB.facial_hair_styles_list.len)]
+ hair_style = GLOB.hair_styles_list[deconstruct_block(getblock(structure, DNA_HAIR_STYLE_BLOCK), GLOB.hair_styles_list.len)]
if(icon_update)
update_body()
update_hair()
@@ -294,7 +294,7 @@
if(!has_dna())
return
- for(var/datum/mutation/human/A in good_mutations | bad_mutations | not_good_mutations)
+ for(var/datum/mutation/human/A in GLOB.good_mutations | GLOB.bad_mutations | GLOB.not_good_mutations)
if(ismob(A.check_block(src, force_powers)))
return //we got monkeyized/humanized, this mob will be deleted, no need to continue.
@@ -328,26 +328,26 @@
/mob/living/carbon/proc/randmutb()
if(!has_dna())
return
- var/datum/mutation/human/HM = pick((bad_mutations | not_good_mutations) - mutations_list[RACEMUT])
+ var/datum/mutation/human/HM = pick((GLOB.bad_mutations | GLOB.not_good_mutations) - GLOB.mutations_list[RACEMUT])
. = HM.force_give(src)
/mob/living/carbon/proc/randmutg()
if(!has_dna())
return
- var/datum/mutation/human/HM = pick(good_mutations)
+ var/datum/mutation/human/HM = pick(GLOB.good_mutations)
. = HM.force_give(src)
/mob/living/carbon/proc/randmutvg()
if(!has_dna())
return
- var/datum/mutation/human/HM = pick((good_mutations) - mutations_list[HULK] - mutations_list[DWARFISM])
+ var/datum/mutation/human/HM = pick((GLOB.good_mutations) - GLOB.mutations_list[HULK] - GLOB.mutations_list[DWARFISM])
. = HM.force_give(src)
/mob/living/carbon/proc/randmuti()
if(!has_dna())
return
var/num = rand(1, DNA_UNI_IDENTITY_BLOCKS)
- var/newdna = setblock(dna.uni_identity, num, random_string(DNA_BLOCK_SIZE, hex_characters))
+ var/newdna = setblock(dna.uni_identity, num, random_string(DNA_BLOCK_SIZE, GLOB.hex_characters))
dna.uni_identity = newdna
updateappearance(mutations_overlay_update=1)
@@ -366,12 +366,12 @@
if(se)
for(var/i=1, i<=DNA_STRUC_ENZYMES_BLOCKS, i++)
if(prob(probability))
- M.dna.struc_enzymes = setblock(M.dna.struc_enzymes, i, random_string(DNA_BLOCK_SIZE, hex_characters))
+ M.dna.struc_enzymes = setblock(M.dna.struc_enzymes, i, random_string(DNA_BLOCK_SIZE, GLOB.hex_characters))
M.domutcheck()
if(ui)
for(var/i=1, i<=DNA_UNI_IDENTITY_BLOCKS, i++)
if(prob(probability))
- M.dna.uni_identity = setblock(M.dna.uni_identity, i, random_string(DNA_BLOCK_SIZE, hex_characters))
+ M.dna.uni_identity = setblock(M.dna.uni_identity, i, random_string(DNA_BLOCK_SIZE, GLOB.hex_characters))
M.updateappearance(mutations_overlay_update=1)
return 1
diff --git a/code/datums/emotes.dm b/code/datums/emotes.dm
index 7039bf2c48..0d6488c633 100644
--- a/code/datums/emotes.dm
+++ b/code/datums/emotes.dm
@@ -1,8 +1,6 @@
#define EMOTE_VISIBLE 1
#define EMOTE_AUDIBLE 2
-var/global/list/emote_list = list()
-
/datum/emote
var/key = "" //What calls the emote
var/key_third_person = "" //This will also call the emote
@@ -21,6 +19,7 @@ var/global/list/emote_list = list()
var/list/mob_type_allowed_typecache = list() //Types that are allowed to use that emote
var/list/mob_type_blacklist_typecache = list() //Types that are NOT allowed to use that emote
var/stat_allowed = CONSCIOUS
+ var/static/list/emote_list = list()
/datum/emote/New()
..()
@@ -53,7 +52,7 @@ var/global/list/emote_list = list()
user.log_message(msg, INDIVIDUAL_EMOTE_LOG)
msg = "[user] " + msg
- for(var/mob/M in dead_mob_list)
+ for(var/mob/M in GLOB.dead_mob_list)
if(!M.client || isnewplayer(M))
continue
var/T = get_turf(src)
diff --git a/code/datums/gas_overrides.dm b/code/datums/gas_overrides.dm
deleted file mode 100644
index c58d5ad176..0000000000
--- a/code/datums/gas_overrides.dm
+++ /dev/null
@@ -1,5 +0,0 @@
-/datum/proc/freon_gas_act()
- return 0
-
-/datum/proc/water_vapor_gas_act() // We get it
- return 0 // You vape
\ No newline at end of file
diff --git a/code/datums/helper_datums/getrev.dm b/code/datums/helper_datums/getrev.dm
index f1f994becf..957a569741 100644
--- a/code/datums/helper_datums/getrev.dm
+++ b/code/datums/helper_datums/getrev.dm
@@ -1,5 +1,3 @@
-var/global/datum/getrev/revdata = new()
-
/datum/getrev
var/parentcommit
var/commit
@@ -46,7 +44,7 @@ var/global/datum/getrev/revdata = new()
return
var/url = "https://api.github.com/repositories/[config.githubrepoid]/pulls/[line].json"
- valid_HTTPSGet = TRUE
+ GLOB.valid_HTTPSGet = TRUE
var/json = HTTPSGet(url)
if(!json)
return
@@ -75,12 +73,12 @@ var/global/datum/getrev/revdata = new()
set name = "Show Server Revision"
set desc = "Check the current server code revision"
- if(revdata.parentcommit)
- to_chat(src, "Server revision compiled on: [revdata.date]")
- if(revdata.testmerge.len)
- to_chat(src, revdata.GetTestMergeInfo())
+ if(GLOB.revdata.parentcommit)
+ to_chat(src, "Server revision compiled on: [GLOB.revdata.date]")
+ if(GLOB.revdata.testmerge.len)
+ to_chat(src, GLOB.revdata.GetTestMergeInfo())
to_chat(src, "Based off master commit:")
- to_chat(src, "[revdata.parentcommit] ")
+ to_chat(src, "[GLOB.revdata.parentcommit] ")
else
to_chat(src, "Revision unknown")
to_chat(src, "Current Infomational Settings: ")
@@ -91,7 +89,7 @@ var/global/datum/getrev/revdata = new()
to_chat(src, "Enforce Continuous Rounds: [config.continuous.len] of [config.modes.len] roundtypes")
to_chat(src, "Allow Midround Antagonists: [config.midround_antag.len] of [config.modes.len] roundtypes")
if(config.show_game_type_odds)
- if(ticker.current_state == GAME_STATE_PLAYING)
+ if(SSticker.current_state == GAME_STATE_PLAYING)
var/prob_sum = 0
var/current_odds_differ = FALSE
var/list/probs = list()
@@ -101,7 +99,7 @@ var/global/datum/getrev/revdata = new()
var/ctag = initial(M.config_tag)
if(!(ctag in config.probabilities))
continue
- if((config.min_pop[ctag] && (config.min_pop[ctag] > ticker.totalPlayersReady)) || (config.max_pop[ctag] && (config.max_pop[ctag] < ticker.totalPlayersReady)) || (initial(M.required_players) > ticker.totalPlayersReady))
+ if((config.min_pop[ctag] && (config.min_pop[ctag] > SSticker.totalPlayersReady)) || (config.max_pop[ctag] && (config.max_pop[ctag] < SSticker.totalPlayersReady)) || (initial(M.required_players) > SSticker.totalPlayersReady))
current_odds_differ = TRUE
continue
probs[ctag] = 1
diff --git a/code/datums/helper_datums/teleport.dm b/code/datums/helper_datums/teleport.dm
index 5ab718da3a..1309eaaef9 100644
--- a/code/datums/helper_datums/teleport.dm
+++ b/code/datums/helper_datums/teleport.dm
@@ -195,7 +195,7 @@
var/list/A_gases = A.gases
var/trace_gases
for(var/id in A_gases)
- if(id in hardcoded_gases)
+ if(id in GLOB.hardcoded_gases)
continue
trace_gases = TRUE
break
diff --git a/code/datums/hud.dm b/code/datums/hud.dm
index 39487d1078..601fd24c4c 100644
--- a/code/datums/hud.dm
+++ b/code/datums/hud.dm
@@ -1,26 +1,26 @@
/* HUD DATUMS */
//GLOBAL HUD LIST
-var/datum/atom_hud/huds = list( \
- DATA_HUD_SECURITY_BASIC = new/datum/atom_hud/data/human/security/basic(), \
- DATA_HUD_SECURITY_ADVANCED = new/datum/atom_hud/data/human/security/advanced(), \
- DATA_HUD_MEDICAL_BASIC = new/datum/atom_hud/data/human/medical/basic(), \
- DATA_HUD_MEDICAL_ADVANCED = new/datum/atom_hud/data/human/medical/advanced(), \
- DATA_HUD_DIAGNOSTIC = new/datum/atom_hud/data/diagnostic(), \
- ANTAG_HUD_CULT = new/datum/atom_hud/antag(), \
- ANTAG_HUD_REV = new/datum/atom_hud/antag(), \
- ANTAG_HUD_OPS = new/datum/atom_hud/antag(), \
- ANTAG_HUD_WIZ = new/datum/atom_hud/antag(), \
- ANTAG_HUD_SHADOW = new/datum/atom_hud/antag(), \
- ANTAG_HUD_TRAITOR = new/datum/atom_hud/antag/hidden(),\
- ANTAG_HUD_NINJA = new/datum/atom_hud/antag/hidden(),\
- ANTAG_HUD_CHANGELING = new/datum/atom_hud/antag/hidden(),\
- ANTAG_HUD_ABDUCTOR = new/datum/atom_hud/antag/hidden(),\
- ANTAG_HUD_DEVIL = new/datum/atom_hud/antag(),\
- ANTAG_HUD_SINTOUCHED = new/datum/atom_hud/antag/hidden(),\
- ANTAG_HUD_SOULLESS = new/datum/atom_hud/antag/hidden(),\
- ANTAG_HUD_CLOCKWORK = new/datum/atom_hud/antag(),\
- )
+GLOBAL_LIST_INIT(huds, list(
+ DATA_HUD_SECURITY_BASIC = new/datum/atom_hud/data/human/security/basic(),
+ DATA_HUD_SECURITY_ADVANCED = new/datum/atom_hud/data/human/security/advanced(),
+ DATA_HUD_MEDICAL_BASIC = new/datum/atom_hud/data/human/medical/basic(),
+ DATA_HUD_MEDICAL_ADVANCED = new/datum/atom_hud/data/human/medical/advanced(),
+ DATA_HUD_DIAGNOSTIC = new/datum/atom_hud/data/diagnostic(),
+ ANTAG_HUD_CULT = new/datum/atom_hud/antag(),
+ ANTAG_HUD_REV = new/datum/atom_hud/antag(),
+ ANTAG_HUD_OPS = new/datum/atom_hud/antag(),
+ ANTAG_HUD_WIZ = new/datum/atom_hud/antag(),
+ ANTAG_HUD_SHADOW = new/datum/atom_hud/antag(),
+ ANTAG_HUD_TRAITOR = new/datum/atom_hud/antag/hidden(),
+ ANTAG_HUD_NINJA = new/datum/atom_hud/antag/hidden(),
+ ANTAG_HUD_CHANGELING = new/datum/atom_hud/antag/hidden(),
+ ANTAG_HUD_ABDUCTOR = new/datum/atom_hud/antag/hidden(),
+ ANTAG_HUD_DEVIL = new/datum/atom_hud/antag(),
+ ANTAG_HUD_SINTOUCHED = new/datum/atom_hud/antag/hidden(),
+ ANTAG_HUD_SOULLESS = new/datum/atom_hud/antag/hidden(),
+ ANTAG_HUD_CLOCKWORK = new/datum/atom_hud/antag(),
+ ))
/datum/atom_hud
var/list/atom/hudatoms = list() //list of all atoms which display this hud
@@ -73,11 +73,11 @@ var/datum/atom_hud/huds = list( \
//MOB PROCS
/mob/proc/reload_huds()
var/gang_huds = list()
- if(ticker.mode)
- for(var/datum/gang/G in ticker.mode.gangs)
+ if(SSticker.mode)
+ for(var/datum/gang/G in SSticker.mode.gangs)
gang_huds += G.ganghud
- for(var/datum/atom_hud/hud in (huds|gang_huds))
+ for(var/datum/atom_hud/hud in (GLOB.huds|gang_huds))
if(src in hud.hudusers)
hud.add_hud_to(src)
diff --git a/code/datums/map_config.dm b/code/datums/map_config.dm
index da8a9a5c4d..4dc0362d01 100644
--- a/code/datums/map_config.dm
+++ b/code/datums/map_config.dm
@@ -77,7 +77,7 @@
defaulted = FALSE
-#define CHECK_EXISTS(X) if(!istext(json[X])) log_world(X + "missing from json!")
+#define CHECK_EXISTS(X) if(!istext(json[X])) { log_world(X + "missing from json!"); return; }
/datum/map_config/proc/ValidateJSON(list/json)
CHECK_EXISTS("map_name")
CHECK_EXISTS("map_path")
@@ -141,6 +141,3 @@
/datum/map_config/proc/MakeNextMap()
return config_filename == "data/next_map.json" || fcopy(config_filename, "data/next_map.json")
-
-/datum/map_config/proc/MakePreviousMap()
- return config_filename == "data/previous_map.json" || fcopy(config_filename, "data/previous_map.json")
\ No newline at end of file
diff --git a/code/datums/martial.dm b/code/datums/martial.dm
index 803faabba6..cc6fa4f2c8 100644
--- a/code/datums/martial.dm
+++ b/code/datums/martial.dm
@@ -71,9 +71,9 @@
D.visible_message("[A] has weakened [D]!! ", \
"[A] has weakened [D]! ")
D.apply_effect(4, WEAKEN, armor_block)
- D.forcesay(hit_appends)
+ D.forcesay(GLOB.hit_appends)
else if(D.lying)
- D.forcesay(hit_appends)
+ D.forcesay(GLOB.hit_appends)
return 1
/datum/martial_art/proc/teach(mob/living/carbon/human/H,make_temporary=0)
@@ -137,10 +137,10 @@
"[A] has knocked [D] out with a haymaker! ")
D.apply_effect(10,WEAKEN,armor_block)
D.SetSleeping(5)
- D.forcesay(hit_appends)
+ D.forcesay(GLOB.hit_appends)
add_logs(A, D, "knocked out (boxing) ")
else if(D.lying)
- D.forcesay(hit_appends)
+ D.forcesay(GLOB.hit_appends)
return 1
/mob/living/carbon/human/proc/wrestling_help()
@@ -459,7 +459,7 @@
D.throw_at(throw_target, 1, 14, A)
D.apply_damage(10, BRUTE)
add_logs(A, D, "cqc kicked")
- if(D.weakened && D.stat != DEAD)
+ if(D.weakened && !D.stat)
D.visible_message("[A] kicks [D]'s head, knocking them out! ", \
"[A] kicks your head, knocking you out! ")
playsound(get_turf(A), 'sound/weapons/genhit1.ogg', 50, 1, -1)
@@ -491,8 +491,7 @@
"[A] strikes your abdomen, neck and back consecutively! ")
playsound(get_turf(D), 'sound/weapons/cqchit2.ogg', 50, 1, -1)
var/obj/item/I = D.get_active_held_item()
- if(I)
- D.drop_item()
+ if(I && D.drop_item())
A.put_in_hands(I)
D.adjustStaminaLoss(50)
D.apply_damage(25, BRUTE)
@@ -543,16 +542,16 @@
/datum/martial_art/cqc/disarm_act(mob/living/carbon/human/A, mob/living/carbon/human/D)
add_to_streak("D",D)
+ var/obj/item/I = null
if(check_streak(A,D))
return 1
if(prob(65))
if(!D.stat || !D.weakened || !restraining)
- var/obj/item/I = D.get_active_held_item()
+ I = D.get_active_held_item()
D.visible_message("[A] strikes [D]'s jaw with their hand! ", \
"[A] strikes your jaw, disorienting you! ")
playsound(get_turf(D), 'sound/weapons/cqchit1.ogg', 50, 1, -1)
- if(I)
- D.drop_item()
+ if(I && D.drop_item())
A.put_in_hands(I)
D.Jitter(2)
D.apply_damage(5, BRUTE)
@@ -560,7 +559,7 @@
D.visible_message("[A] attempted to disarm [D]! ", \
"[A] attempted to disarm [D]! ")
playsound(D, 'sound/weapons/punchmiss.ogg', 25, 1, -1)
- add_logs(A, D, "disarmed with CQC")
+ add_logs(A, D, "disarmed with CQC", "[I ? " grabbing \the [I]" : ""]")
if(restraining && A.pulling == D)
D.visible_message("[A] puts [D] into a chokehold! ", \
"[A] puts you into a chokehold! ")
@@ -574,7 +573,7 @@
return 1
/mob/living/carbon/human/proc/CQC_help()
- set name = "Recall Teachings"
+ set name = "Remember The Basics"
set desc = "You try to remember some of the basics of CQC."
set category = "CQC"
@@ -584,7 +583,7 @@
to_chat(usr, "CQC Kick : Harm Disarm Harm. Knocks opponent away. Knocks out stunned or weakened opponents.")
to_chat(usr, "Restrain : Grab Grab. Locks opponents into a restraining position, disarm to knock them out with a choke hold.")
to_chat(usr, "Pressure : Disarm Grab. Decent stamina damage.")
- to_chat(usr, "Consecutive CQC : Harm Harm Disarm. Mainly offensive move, huge damage and decent stamina damage.")
+ to_chat(usr, "Consecutive CQC : Disarm Disarm Harm. Mainly offensive move, huge damage and decent stamina damage.")
to_chat(usr, "In addition, by having your throw mode on when being attacked, you enter an active defense mode where you have a chance to block and sometimes even counter attacks done to you. ")
diff --git a/code/datums/martial/krav_maga.dm b/code/datums/martial/krav_maga.dm
index 5542aa2b27..1a193db87b 100644
--- a/code/datums/martial/krav_maga.dm
+++ b/code/datums/martial/krav_maga.dm
@@ -132,8 +132,9 @@
/datum/martial_art/krav_maga/disarm_act(var/mob/living/carbon/human/A, var/mob/living/carbon/human/D)
if(check_streak(A,D))
return 1
+ var/obj/item/I = null
if(prob(60))
- var/obj/item/I = D.get_active_held_item()
+ I = D.get_active_held_item()
if(I)
if(D.drop_item())
A.put_in_hands(I)
@@ -144,7 +145,7 @@
D.visible_message("[A] attempted to disarm [D]! ", \
"[A] attempted to disarm [D]! ")
playsound(D, 'sound/weapons/punchmiss.ogg', 25, 1, -1)
- add_logs(A, D, "disarmed with krav maga")
+ add_logs(A, D, "disarmed with krav maga", "[I ? " removing \the [I]" : ""]")
return 1
//Krav Maga Gloves
diff --git a/code/datums/martial/wrestling.dm b/code/datums/martial/wrestling.dm
index 8402fe647b..5554ceeaeb 100644
--- a/code/datums/martial/wrestling.dm
+++ b/code/datums/martial/wrestling.dm
@@ -186,6 +186,14 @@
add_logs(A, D, "has thrown with wrestling")
return 0
+/datum/martial_art/wrestling/proc/FlipAnimation(mob/living/carbon/human/D)
+ set waitfor = FALSE
+ if (D)
+ animate(D, transform = matrix(180, MATRIX_ROTATE), time = 1, loop = 0)
+ sleep (15)
+ if (D)
+ animate(D, transform = null, time = 1, loop = 0)
+
/datum/martial_art/wrestling/proc/slam(mob/living/carbon/human/A, mob/living/carbon/human/D)
if(!D)
return
@@ -198,12 +206,7 @@
A.visible_message("[A] lifts [D] up! ")
- spawn (0)
- if (D)
- animate(D, transform = matrix(180, MATRIX_ROTATE), time = 1, loop = 0)
- sleep (15)
- if (D)
- animate(D, transform = null, time = 1, loop = 0)
+ FlipAnimation()
for (var/i = 0, i < 3, i++)
if (A && D)
@@ -300,6 +303,10 @@
add_logs(A, D, "body-slammed")
return 0
+/datum/martial_art/wrestling/proc/CheckStrikeTurf(mob/living/carbon/human/A, turf/T)
+ if (A && (T && isturf(T) && get_dist(A, T) <= 1))
+ A.forceMove(T)
+
/datum/martial_art/wrestling/proc/strike(mob/living/carbon/human/A, mob/living/carbon/human/D)
if(!D)
return
@@ -309,9 +316,7 @@
A.setDir(turn(A.dir, 90))
A.forceMove(D.loc)
- spawn (4)
- if (A && (T && isturf(T) && get_dist(A, T) <= 1))
- A.forceMove(T)
+ addtimer(CALLBACK(src, .proc/CheckStrikeTurf, A, T), 4)
A.visible_message("[A] headbutts [D]! ")
D.adjustBruteLoss(rand(10,20))
diff --git a/code/datums/mind.dm b/code/datums/mind.dm
index 2ee1b88b8d..0f308681af 100644
--- a/code/datums/mind.dm
+++ b/code/datums/mind.dm
@@ -69,7 +69,7 @@
soulOwner = src
/datum/mind/Destroy()
- ticker.minds -= src
+ SSticker.minds -= src
return ..()
/datum/mind/proc/transfer_to(mob/new_character, var/force_key_move = 0)
@@ -121,19 +121,19 @@
qdel(O)
/datum/mind/proc/remove_changeling()
- if(src in ticker.mode.changelings)
- ticker.mode.changelings -= src
+ if(src in SSticker.mode.changelings)
+ SSticker.mode.changelings -= src
current.remove_changeling_powers()
if(changeling)
qdel(changeling)
changeling = null
special_role = null
remove_antag_equip()
- ticker.mode.update_changeling_icons_removed(src)
+ SSticker.mode.update_changeling_icons_removed(src)
/datum/mind/proc/remove_traitor()
- if(src in ticker.mode.traitors)
- ticker.mode.traitors -= src
+ if(src in SSticker.mode.traitors)
+ SSticker.mode.traitors -= src
if(isAI(current))
var/mob/living/silicon/ai/A = current
A.set_zeroth_law("")
@@ -142,44 +142,44 @@
qdel(A.malf_picker)
special_role = null
remove_antag_equip()
- ticker.mode.update_traitor_icons_removed(src)
+ SSticker.mode.update_traitor_icons_removed(src)
/datum/mind/proc/remove_nukeop()
- if(src in ticker.mode.syndicates)
- ticker.mode.syndicates -= src
- ticker.mode.update_synd_icons_removed(src)
+ if(src in SSticker.mode.syndicates)
+ SSticker.mode.syndicates -= src
+ SSticker.mode.update_synd_icons_removed(src)
special_role = null
remove_objectives()
remove_antag_equip()
/datum/mind/proc/remove_wizard()
- if(src in ticker.mode.wizards)
- ticker.mode.wizards -= src
+ if(src in SSticker.mode.wizards)
+ SSticker.mode.wizards -= src
current.spellremove(current)
special_role = null
remove_antag_equip()
/datum/mind/proc/remove_cultist()
- if(src in ticker.mode.cult)
- ticker.mode.remove_cultist(src, 0, 0)
+ if(src in SSticker.mode.cult)
+ SSticker.mode.remove_cultist(src, 0, 0)
special_role = null
remove_objectives()
remove_antag_equip()
/datum/mind/proc/remove_rev()
- if(src in ticker.mode.revolutionaries)
- ticker.mode.revolutionaries -= src
- ticker.mode.update_rev_icons_removed(src)
- if(src in ticker.mode.head_revolutionaries)
- ticker.mode.head_revolutionaries -= src
- ticker.mode.update_rev_icons_removed(src)
+ if(src in SSticker.mode.revolutionaries)
+ SSticker.mode.revolutionaries -= src
+ SSticker.mode.update_rev_icons_removed(src)
+ if(src in SSticker.mode.head_revolutionaries)
+ SSticker.mode.head_revolutionaries -= src
+ SSticker.mode.update_rev_icons_removed(src)
special_role = null
remove_objectives()
remove_antag_equip()
/datum/mind/proc/remove_gang()
- ticker.mode.remove_gangster(src,0,1,1)
+ SSticker.mode.remove_gangster(src,0,1,1)
remove_objectives()
/datum/mind/proc/remove_antag_equip()
@@ -201,11 +201,11 @@
remove_cultist()
remove_rev()
remove_gang()
- ticker.mode.update_changeling_icons_removed(src)
- ticker.mode.update_traitor_icons_removed(src)
- ticker.mode.update_wiz_icons_removed(src)
- ticker.mode.update_cult_icons_removed(src)
- ticker.mode.update_rev_icons_removed(src)
+ SSticker.mode.update_changeling_icons_removed(src)
+ SSticker.mode.update_traitor_icons_removed(src)
+ SSticker.mode.update_wiz_icons_removed(src)
+ SSticker.mode.update_cult_icons_removed(src)
+ SSticker.mode.update_rev_icons_removed(src)
if(gang_datum)
gang_datum.remove_gang_hud(src)
@@ -214,13 +214,13 @@
/datum/mind/proc/enslave_mind_to_creator(mob/living/creator)
if(iscultist(creator))
- ticker.mode.add_cultist(src)
+ SSticker.mode.add_cultist(src)
else if(is_gangster(creator))
- ticker.mode.add_gangster(src, creator.mind.gang_datum, TRUE)
+ SSticker.mode.add_gangster(src, creator.mind.gang_datum, TRUE)
else if(is_revolutionary_in_general(creator))
- ticker.mode.add_revolutionary(src)
+ SSticker.mode.add_revolutionary(src)
else if(is_servant_of_ratvar(creator))
add_servant_of_ratvar(current)
@@ -255,7 +255,7 @@
to_chat(recipient, "[output] ")
/datum/mind/proc/edit_memory()
- if(!ticker || !ticker.mode)
+ if(!SSticker || !SSticker.mode)
alert("Not before round-start!", "Alert")
return
@@ -280,12 +280,12 @@
if(ishuman(current))
/** REVOLUTION ***/
text = "revolution"
- if (ticker.mode.config_tag=="revolution")
+ if (SSticker.mode.config_tag=="revolution")
text = uppertext(text)
text = "[text] : "
- if (assigned_role in command_positions)
+ if (assigned_role in GLOB.command_positions)
text += "HEAD |loyal|employee|headrev|rev"
- else if (src in ticker.mode.head_revolutionaries)
+ else if (src in SSticker.mode.head_revolutionaries)
text += "head|loyal|employee |HEADREV |rev "
text += " Flash: give "
@@ -304,7 +304,7 @@
text += " Objectives are empty! Set to kill all heads ."
else if(current.isloyal())
text += "head|LOYAL |employee|headrev |rev"
- else if (src in ticker.mode.revolutionaries)
+ else if (src in SSticker.mode.revolutionaries)
text += "head|loyal|employee |headrev |REV "
else
text += "head|loyal|EMPLOYEE |headrev |rev "
@@ -318,11 +318,11 @@
/** GANG ***/
text = "gang"
- if (ticker.mode.config_tag=="gang")
+ if (SSticker.mode.config_tag=="gang")
text = uppertext(text)
text = "[text] : "
text += "[current.isloyal() ? "LOYAL " : "loyal"]|"
- if(src in ticker.mode.get_all_gangsters())
+ if(src in SSticker.mode.get_all_gangsters())
text += "none "
else
text += "NONE "
@@ -332,7 +332,7 @@
else
text += "|Disabled in Prefs "
- for(var/datum/gang/G in ticker.mode.gangs)
+ for(var/datum/gang/G in SSticker.mode.gangs)
text += "[G.name] : "
if(src in (G.gangsters))
text += "GANGSTER "
@@ -351,17 +351,17 @@
text += "gang leader "
text += " "
- if(gang_colors_pool.len)
+ if(GLOB.gang_colors_pool.len)
text += "Create New Gang "
sections["gang"] = text
/** Abductors **/
text = "Abductor"
- if(ticker.mode.config_tag == "abductor")
+ if(SSticker.mode.config_tag == "abductor")
text = uppertext(text)
text = "[text] : "
- if(src in ticker.mode.abductors)
+ if(src in SSticker.mode.abductors)
text += "Abductor |human "
text += "|undress |equip "
else
@@ -376,14 +376,14 @@
/** NUCLEAR ***/
text = "nuclear"
- if (ticker.mode.config_tag=="nuclear")
+ if (SSticker.mode.config_tag=="nuclear")
text = uppertext(text)
text = "[text] : "
- if (src in ticker.mode.syndicates)
+ if (src in SSticker.mode.syndicates)
text += "OPERATIVE |nanotrasen "
text += "To shuttle , undress , dress up ."
var/code
- for (var/obj/machinery/nuclearbomb/bombue in machines)
+ for (var/obj/machinery/nuclearbomb/bombue in GLOB.machines)
if (length(bombue.r_code) <= 5 && bombue.r_code != "LOLNO" && bombue.r_code != "ADMIN")
code = bombue.r_code
break
@@ -401,10 +401,10 @@
/** WIZARD ***/
text = "wizard"
- if (ticker.mode.config_tag=="wizard")
+ if (SSticker.mode.config_tag=="wizard")
text = uppertext(text)
text = "[text] : "
- if ((src in ticker.mode.wizards) || (src in ticker.mode.apprentices))
+ if ((src in SSticker.mode.wizards) || (src in SSticker.mode.apprentices))
text += "YES |no "
text += "To lair , undress , dress up , let choose name ."
if (objectives.len==0)
@@ -421,7 +421,7 @@
/** CULT ***/
text = "cult"
- if (ticker.mode.config_tag=="cult")
+ if (SSticker.mode.config_tag=="cult")
text = uppertext(text)
text = "[text] : "
if(iscultist(current))
@@ -444,7 +444,7 @@
/** CLOCKWORK CULT **/
text = "clockwork cult"
- if(ticker.mode.config_tag == "clockwork cult")
+ if(SSticker.mode.config_tag == "clockwork cult")
text = uppertext(text)
text = "[text] : "
if(is_servant_of_ratvar(current))
@@ -466,10 +466,10 @@
/** TRAITOR ***/
text = "traitor"
- if (ticker.mode.config_tag=="traitor" || ticker.mode.config_tag=="traitorchan")
+ if (SSticker.mode.config_tag=="traitor" || SSticker.mode.config_tag=="traitorchan")
text = uppertext(text)
text = "[text] : "
- if (src in ticker.mode.traitors)
+ if (src in SSticker.mode.traitors)
text += "TRAITOR |loyal "
if (objectives.len==0)
text += " Objectives are empty! Randomize !"
@@ -487,16 +487,16 @@
/** CHANGELING ***/
text = "changeling"
- if (ticker.mode.config_tag=="changeling" || ticker.mode.config_tag=="traitorchan")
+ if (SSticker.mode.config_tag=="changeling" || SSticker.mode.config_tag=="traitorchan")
text = uppertext(text)
text = "[text] : "
- if ((src in ticker.mode.changelings) && special_role)
+ if ((src in SSticker.mode.changelings) && special_role)
text += "YES |no "
if (objectives.len==0)
text += " Objectives are empty! Randomize! "
if(changeling && changeling.stored_profiles.len && (current.real_name != changeling.first_prof.name) )
text += "Transform to initial appearance. "
- else if(src in ticker.mode.changelings) //Station Aligned Changeling
+ else if(src in SSticker.mode.changelings) //Station Aligned Changeling
text += "YES (but not an antag) |no "
if (objectives.len==0)
text += " Objectives are empty! Randomize! "
@@ -514,7 +514,7 @@
/** MONKEY ***/
text = "monkey"
- if (ticker.mode.config_tag=="monkey")
+ if (SSticker.mode.config_tag=="monkey")
text = uppertext(text)
text = "[text] : "
if (ishuman(current))
@@ -541,15 +541,15 @@
/** devil ***/
text = "devil"
- if(ticker.mode.config_tag == "devil")
+ if(SSticker.mode.config_tag == "devil")
text = uppertext(text)
text = "[text] : "
- if(src in ticker.mode.devils)
+ if(src in SSticker.mode.devils)
if(devilinfo && !devilinfo.ascendable)
text += "DEVIL |Ascendable Devil |sintouched|human "
else
text += "DEVIL |ASCENDABLE DEVIL |sintouched|human "
- else if(src in ticker.mode.sintouched)
+ else if(src in SSticker.mode.sintouched)
text += "devil|Ascendable Devil|SINTOUCHED |human "
else
text += "devil |Ascendable Devil |sintouched |HUMAN "
@@ -575,7 +575,7 @@
if (R.emagged)
n_e_robots++
text += " [n_e_robots] of [ai.connected_robots.len] slaved cyborgs are emagged. Unemag "
- if (ticker.mode.config_tag == "traitorchan")
+ if (SSticker.mode.config_tag == "traitorchan")
if (sections["traitor"])
out += sections["traitor"]+" "
if (sections["changeling"])
@@ -583,15 +583,15 @@
sections -= "traitor"
sections -= "changeling"
else
- if (sections[ticker.mode.config_tag])
- out += sections[ticker.mode.config_tag]+" "
- sections -= ticker.mode.config_tag
+ if (sections[SSticker.mode.config_tag])
+ out += sections[SSticker.mode.config_tag]+" "
+ sections -= SSticker.mode.config_tag
for (var/i in sections)
if (sections[i])
out += sections[i]+" "
- if(((src in ticker.mode.head_revolutionaries) || (src in ticker.mode.traitors) || (src in ticker.mode.syndicates)) && ishuman(current))
+ if(((src in SSticker.mode.head_revolutionaries) || (src in SSticker.mode.traitors) || (src in SSticker.mode.syndicates)) && ishuman(current))
text = "Uplink: give "
var/obj/item/device/uplink/U = find_syndicate_uplink()
@@ -666,7 +666,7 @@
switch (new_obj_type)
if ("assassinate","protect","debrain","maroon")
var/list/possible_targets = list("Free objective")
- for(var/datum/mind/possible_target in ticker.minds)
+ for(var/datum/mind/possible_target in SSticker.minds)
if ((possible_target != src) && ishuman(possible_target.current))
possible_targets += possible_target.current
@@ -803,32 +803,32 @@
message_admins("[key_name_admin(usr)] has de-rev'ed [current].")
log_admin("[key_name(usr)] has de-rev'ed [current].")
if("rev")
- if(src in ticker.mode.head_revolutionaries)
- ticker.mode.head_revolutionaries -= src
- ticker.mode.update_rev_icons_removed(src)
+ if(src in SSticker.mode.head_revolutionaries)
+ SSticker.mode.head_revolutionaries -= src
+ SSticker.mode.update_rev_icons_removed(src)
to_chat(current, "Revolution has been disappointed of your leader traits! You are a regular revolutionary now! ")
- else if(!(src in ticker.mode.revolutionaries))
+ else if(!(src in SSticker.mode.revolutionaries))
to_chat(current, " You are now a revolutionary! Help your cause. Do not harm your fellow freedom fighters. You can identify your comrades by the red \"R\" icons, and your leaders by the blue \"R\" icons. Help them kill the heads to win the revolution! ")
else
return
- ticker.mode.revolutionaries += src
- ticker.mode.update_rev_icons_added(src)
+ SSticker.mode.revolutionaries += src
+ SSticker.mode.update_rev_icons_added(src)
special_role = "Revolutionary"
message_admins("[key_name_admin(usr)] has rev'ed [current].")
log_admin("[key_name(usr)] has rev'ed [current].")
if("headrev")
- if(src in ticker.mode.revolutionaries)
- ticker.mode.revolutionaries -= src
- ticker.mode.update_rev_icons_removed(src)
+ if(src in SSticker.mode.revolutionaries)
+ SSticker.mode.revolutionaries -= src
+ SSticker.mode.update_rev_icons_removed(src)
to_chat(current, "You have proved your devotion to revoltion! Yea are a head revolutionary now! ")
- else if(!(src in ticker.mode.head_revolutionaries))
+ else if(!(src in SSticker.mode.head_revolutionaries))
to_chat(current, "You are a member of the revolutionaries' leadership now! ")
else
return
- if (ticker.mode.head_revolutionaries.len>0)
+ if (SSticker.mode.head_revolutionaries.len>0)
// copy targets
- var/datum/mind/valid_head = locate() in ticker.mode.head_revolutionaries
+ var/datum/mind/valid_head = locate() in SSticker.mode.head_revolutionaries
if (valid_head)
for (var/datum/objective/mutiny/O in valid_head.objectives)
var/datum/objective/mutiny/rev_obj = new
@@ -836,20 +836,20 @@
rev_obj.target = O.target
rev_obj.explanation_text = "Assassinate [O.target.name], the [O.target.assigned_role]."
objectives += rev_obj
- ticker.mode.greet_revolutionary(src,0)
- ticker.mode.head_revolutionaries += src
- ticker.mode.update_rev_icons_added(src)
+ SSticker.mode.greet_revolutionary(src,0)
+ SSticker.mode.head_revolutionaries += src
+ SSticker.mode.update_rev_icons_added(src)
special_role = "Head Revolutionary"
message_admins("[key_name_admin(usr)] has head-rev'ed [current].")
log_admin("[key_name(usr)] has head-rev'ed [current].")
if("autoobjectives")
- ticker.mode.forge_revolutionary_objectives(src)
- ticker.mode.greet_revolutionary(src,0)
+ SSticker.mode.forge_revolutionary_objectives(src)
+ SSticker.mode.greet_revolutionary(src,0)
to_chat(usr, "The objectives for revolution have been generated and shown to [key] ")
if("flash")
- if (!ticker.mode.equip_revolutionary(current))
+ if (!SSticker.mode.equip_revolutionary(current))
to_chat(usr, "Spawning flash failed! ")
if("takeflash")
@@ -880,7 +880,7 @@
log_admin("[key_name(usr)] has de-gang'ed [current].")
if("equip")
- switch(ticker.mode.equip_gang(current,gang_datum))
+ switch(SSticker.mode.equip_gang(current,gang_datum))
if(1)
to_chat(usr, "Unable to equip territory spraycan! ")
if(2)
@@ -898,22 +898,22 @@
qdel(SC)
if("new")
- if(gang_colors_pool.len)
- var/list/names = list("Random") + gang_name_pool
+ if(GLOB.gang_colors_pool.len)
+ var/list/names = list("Random") + GLOB.gang_name_pool
var/gangname = input("Pick a gang name.","Select Name") as null|anything in names
- if(gangname && gang_colors_pool.len) //Check again just in case another admin made max gangs at the same time
- if(!(gangname in gang_name_pool))
+ if(gangname && GLOB.gang_colors_pool.len) //Check again just in case another admin made max gangs at the same time
+ if(!(gangname in GLOB.gang_name_pool))
gangname = null
var/datum/gang/newgang = new(null,gangname)
- ticker.mode.gangs += newgang
+ SSticker.mode.gangs += newgang
message_admins("[key_name_admin(usr)] has created the [newgang.name] Gang.")
log_admin("[key_name(usr)] has created the [newgang.name] Gang.")
else if (href_list["gangboss"])
- var/datum/gang/G = locate(href_list["gangboss"]) in ticker.mode.gangs
+ var/datum/gang/G = locate(href_list["gangboss"]) in SSticker.mode.gangs
if(!G || (src in G.bosses))
return
- ticker.mode.remove_gangster(src,0,2,1)
+ SSticker.mode.remove_gangster(src,0,2,1)
G.bosses += src
gang_datum = G
special_role = "[G.name] Gang Boss"
@@ -921,15 +921,15 @@
to_chat(current, "You are a [G.name] Gang Boss! ")
message_admins("[key_name_admin(usr)] has added [current] to the [G.name] Gang leadership.")
log_admin("[key_name(usr)] has added [current] to the [G.name] Gang leadership.")
- ticker.mode.forge_gang_objectives(src)
- ticker.mode.greet_gang(src,0)
+ SSticker.mode.forge_gang_objectives(src)
+ SSticker.mode.greet_gang(src,0)
else if (href_list["gangster"])
- var/datum/gang/G = locate(href_list["gangster"]) in ticker.mode.gangs
+ var/datum/gang/G = locate(href_list["gangster"]) in SSticker.mode.gangs
if(!G || (src in G.gangsters))
return
- ticker.mode.remove_gangster(src,0,2,1)
- ticker.mode.add_gangster(src,G,0)
+ SSticker.mode.remove_gangster(src,0,2,1)
+ SSticker.mode.add_gangster(src,G,0)
message_admins("[key_name_admin(usr)] has added [current] to the [G.name] Gang (A).")
log_admin("[key_name(usr)] has added [current] to the [G.name] Gang (A).")
@@ -944,16 +944,16 @@
message_admins("[key_name_admin(usr)] has de-cult'ed [current].")
log_admin("[key_name(usr)] has de-cult'ed [current].")
if("cultist")
- if(!(src in ticker.mode.cult))
- ticker.mode.add_cultist(src, 0)
+ if(!(src in SSticker.mode.cult))
+ SSticker.mode.add_cultist(src, 0)
message_admins("[key_name_admin(usr)] has cult'ed [current].")
log_admin("[key_name(usr)] has cult'ed [current].")
if("tome")
- if (!ticker.mode.equip_cultist(current,1))
+ if (!SSticker.mode.equip_cultist(current,1))
to_chat(usr, "Spawning tome failed! ")
if("amulet")
- if (!ticker.mode.equip_cultist(current))
+ if (!SSticker.mode.equip_cultist(current))
to_chat(usr, "Spawning amulet failed! ")
else if(href_list["clockcult"])
@@ -968,7 +968,7 @@
message_admins("[key_name_admin(usr)] has made [current] into a servant of Ratvar.")
log_admin("[key_name(usr)] has made [current] into a servant of Ratvar.")
if("slab")
- if(!ticker.mode.equip_servant(current))
+ if(!SSticker.mode.equip_servant(current))
to_chat(usr, "Failed to outfit [current] with a slab! ")
else
to_chat(usr, "Successfully gave [current] a clockwork slab! ")
@@ -979,24 +979,24 @@
remove_wizard()
to_chat(current, "You have been brainwashed! You are no longer a wizard! ")
log_admin("[key_name(usr)] has de-wizard'ed [current].")
- ticker.mode.update_wiz_icons_removed(src)
+ SSticker.mode.update_wiz_icons_removed(src)
if("wizard")
- if(!(src in ticker.mode.wizards))
- ticker.mode.wizards += src
+ if(!(src in SSticker.mode.wizards))
+ SSticker.mode.wizards += src
special_role = "Wizard"
- //ticker.mode.learn_basic_spells(current)
+ //SSticker.mode.learn_basic_spells(current)
to_chat(current, "You are the Space Wizard! ")
message_admins("[key_name_admin(usr)] has wizard'ed [current].")
log_admin("[key_name(usr)] has wizard'ed [current].")
- ticker.mode.update_wiz_icons_added(src)
+ SSticker.mode.update_wiz_icons_added(src)
if("lair")
- current.loc = pick(wizardstart)
+ current.loc = pick(GLOB.wizardstart)
if("dressup")
- ticker.mode.equip_wizard(current)
+ SSticker.mode.equip_wizard(current)
if("name")
- ticker.mode.name_wizard(current)
+ SSticker.mode.name_wizard(current)
if("autoobjectives")
- ticker.mode.forge_wizard_objectives(src)
+ SSticker.mode.forge_wizard_objectives(src)
to_chat(usr, "The objectives for wizard [key] have been generated. You can edit them and anounce manually. ")
else if (href_list["changeling"])
@@ -1007,16 +1007,16 @@
message_admins("[key_name_admin(usr)] has de-changeling'ed [current].")
log_admin("[key_name(usr)] has de-changeling'ed [current].")
if("changeling")
- if(!(src in ticker.mode.changelings))
- ticker.mode.changelings += src
+ if(!(src in SSticker.mode.changelings))
+ SSticker.mode.changelings += src
current.make_changeling()
special_role = "Changeling"
to_chat(current, "Your powers are awoken. A flash of memory returns to us...we are [changeling.changelingID], a changeling! ")
message_admins("[key_name_admin(usr)] has changeling'ed [current].")
log_admin("[key_name(usr)] has changeling'ed [current].")
- ticker.mode.update_changeling_icons_added(src)
+ SSticker.mode.update_changeling_icons_added(src)
if("autoobjectives")
- ticker.mode.forge_changeling_objectives(src)
+ SSticker.mode.forge_changeling_objectives(src)
to_chat(usr, "The objectives for changeling [key] have been generated. You can edit them and anounce manually. ")
if("initialdna")
@@ -1037,18 +1037,18 @@
message_admins("[key_name_admin(usr)] has de-nuke op'ed [current].")
log_admin("[key_name(usr)] has de-nuke op'ed [current].")
if("nuclear")
- if(!(src in ticker.mode.syndicates))
- ticker.mode.syndicates += src
- ticker.mode.update_synd_icons_added(src)
- if (ticker.mode.syndicates.len==1)
- ticker.mode.prepare_syndicate_leader(src)
+ if(!(src in SSticker.mode.syndicates))
+ SSticker.mode.syndicates += src
+ SSticker.mode.update_synd_icons_added(src)
+ if (SSticker.mode.syndicates.len==1)
+ SSticker.mode.prepare_syndicate_leader(src)
else
- current.real_name = "[syndicate_name()] Operative #[ticker.mode.syndicates.len-1]"
+ current.real_name = "[syndicate_name()] Operative #[SSticker.mode.syndicates.len-1]"
special_role = "Syndicate"
assigned_role = "Syndicate"
to_chat(current, "You are a [syndicate_name()] agent! ")
- ticker.mode.forge_syndicate_objectives(src)
- ticker.mode.greet_syndicate(src)
+ SSticker.mode.forge_syndicate_objectives(src)
+ SSticker.mode.greet_syndicate(src)
message_admins("[key_name_admin(usr)] has nuke op'ed [current].")
log_admin("[key_name(usr)] has nuke op'ed [current].")
if("lair")
@@ -1065,11 +1065,11 @@
qdel(H.wear_suit)
qdel(H.w_uniform)
- if (!ticker.mode.equip_syndicate(current))
+ if (!SSticker.mode.equip_syndicate(current))
to_chat(usr, "Equipping a syndicate failed! ")
if("tellcode")
var/code
- for (var/obj/machinery/nuclearbomb/bombue in machines)
+ for (var/obj/machinery/nuclearbomb/bombue in GLOB.machines)
if (length(bombue.r_code) <= 5 && bombue.r_code != "LOLNO" && bombue.r_code != "ADMIN")
code = bombue.r_code
break
@@ -1086,34 +1086,34 @@
to_chat(current, "You have been brainwashed! You are no longer a traitor! ")
message_admins("[key_name_admin(usr)] has de-traitor'ed [current].")
log_admin("[key_name(usr)] has de-traitor'ed [current].")
- ticker.mode.update_traitor_icons_removed(src)
+ SSticker.mode.update_traitor_icons_removed(src)
if("traitor")
- if(!(src in ticker.mode.traitors))
- ticker.mode.traitors += src
+ if(!(src in SSticker.mode.traitors))
+ SSticker.mode.traitors += src
special_role = "traitor"
to_chat(current, "You are a traitor! ")
message_admins("[key_name_admin(usr)] has traitor'ed [current].")
log_admin("[key_name(usr)] has traitor'ed [current].")
if(isAI(current))
var/mob/living/silicon/ai/A = current
- ticker.mode.add_law_zero(A)
- ticker.mode.update_traitor_icons_added(src)
+ SSticker.mode.add_law_zero(A)
+ SSticker.mode.update_traitor_icons_added(src)
if("autoobjectives")
- ticker.mode.forge_traitor_objectives(src)
+ SSticker.mode.forge_traitor_objectives(src)
to_chat(usr, "The objectives for traitor [key] have been generated. You can edit them and anounce manually. ")
else if(href_list["devil"])
switch(href_list["devil"])
if("clear")
- if(src in ticker.mode.devils)
+ if(src in SSticker.mode.devils)
if(istype(current,/mob/living/carbon/true_devil/))
if(devilinfo)
devilinfo.regress_blood_lizard()
else
to_chat(usr, "Something went wrong with removing the devil, we were unable to find an attached devilinfo. .")
- ticker.mode.devils -= src
+ SSticker.mode.devils -= src
special_role = null
to_chat(current, "Your infernal link has been severed! You are no longer a devil! ")
RemoveSpell(/obj/effect/proc_holder/spell/targeted/infernal_jaunt)
@@ -1132,8 +1132,8 @@
var/mob/living/silicon/S = current
S.clear_law_sixsixsix(current)
log_admin("[key_name(usr)] has de-devil'ed [current].")
- else if(src in ticker.mode.sintouched)
- ticker.mode.sintouched -= src
+ else if(src in SSticker.mode.sintouched)
+ SSticker.mode.sintouched -= src
message_admins("[key_name_admin(usr)] has de-sintouch'ed [current].")
log_admin("[key_name(usr)] has de-sintouch'ed [current].")
if("devil")
@@ -1145,10 +1145,10 @@
if(!ishuman(current) && !iscyborg(current))
usr << "This only works on humans and cyborgs! "
return
- ticker.mode.devils += src
+ SSticker.mode.devils += src
special_role = "devil"
- ticker.mode.finalize_devil(src, FALSE)
- ticker.mode.add_devil_objectives(src, 2)
+ SSticker.mode.finalize_devil(src, FALSE)
+ SSticker.mode.add_devil_objectives(src, 2)
announceDevilLaws()
announce_objectives()
message_admins("[key_name_admin(usr)] has devil'ed [current].")
@@ -1162,17 +1162,16 @@
if(!ishuman(current) && !iscyborg(current))
to_chat(usr, "This only works on humans and cyborgs! ")
return
- ticker.mode.devils += src
+ SSticker.mode.devils += src
special_role = "devil"
- ticker.mode.finalize_devil(src, TRUE)
- ticker.mode.add_devil_objectives(src, 2)
+ SSticker.mode.finalize_devil(src, TRUE)
+ SSticker.mode.add_devil_objectives(src, 2)
announceDevilLaws()
announce_objectives()
message_admins("[key_name_admin(usr)] has devil'ed [current]. The devil has been marked as ascendable.")
log_admin("[key_name(usr)] has devil'ed [current]. The devil has been marked as ascendable.")
if("sintouched")
if(ishuman(current))
- ticker.mode.sintouched += src
var/mob/living/carbon/human/H = current
H.influenceSin()
message_admins("[key_name_admin(usr)] has sintouch'ed [current].")
@@ -1184,14 +1183,14 @@
switch(href_list["abductor"])
if("clear")
to_chat(usr, "Not implemented yet. Sorry!")
- //ticker.mode.update_abductor_icons_removed(src)
+ //SSticker.mode.update_abductor_icons_removed(src)
if("abductor")
if(!ishuman(current))
to_chat(usr, "This only works on humans! ")
return
make_Abductor()
log_admin("[key_name(usr)] turned [current] into abductor.")
- ticker.mode.update_abductor_icons_added(src)
+ SSticker.mode.update_abductor_icons_added(src)
if("equip")
var/gear = alert("Agent or Scientist Gear","Gear","Agent","Scientist")
if(gear)
@@ -1286,7 +1285,7 @@
message_admins("[key_name_admin(usr)] changed [current]'s telecrystal count to [crystals].")
log_admin("[key_name(usr)] changed [current]'s telecrystal count to [crystals].")
if("uplink")
- if(!ticker.mode.equip_traitor(current, !(src in ticker.mode.traitors)))
+ if(!SSticker.mode.equip_traitor(current, !(src in SSticker.mode.traitors)))
to_chat(usr, "Equipping a syndicate failed! ")
log_admin("[key_name(usr)] attempted to give [current] an uplink.")
@@ -1316,20 +1315,20 @@
qdel(H)
/datum/mind/proc/make_Traitor()
- if(!(src in ticker.mode.traitors))
- ticker.mode.traitors += src
+ if(!(src in SSticker.mode.traitors))
+ SSticker.mode.traitors += src
special_role = "traitor"
- ticker.mode.forge_traitor_objectives(src)
- ticker.mode.finalize_traitor(src)
- ticker.mode.greet_traitor(src)
+ SSticker.mode.forge_traitor_objectives(src)
+ SSticker.mode.finalize_traitor(src)
+ SSticker.mode.greet_traitor(src)
/datum/mind/proc/make_Nuke(turf/spawnloc, nuke_code, leader=0, telecrystals = TRUE)
- if(!(src in ticker.mode.syndicates))
- ticker.mode.syndicates += src
- ticker.mode.update_synd_icons_added(src)
+ if(!(src in SSticker.mode.syndicates))
+ SSticker.mode.syndicates += src
+ SSticker.mode.update_synd_icons_added(src)
special_role = "Syndicate"
- ticker.mode.forge_syndicate_objectives(src)
- ticker.mode.greet_syndicate(src)
+ SSticker.mode.forge_syndicate_objectives(src)
+ SSticker.mode.greet_syndicate(src)
current.faction |= "syndicate"
if(spawnloc)
@@ -1347,13 +1346,13 @@
qdel(H.wear_suit)
qdel(H.w_uniform)
- ticker.mode.equip_syndicate(current, telecrystals)
+ SSticker.mode.equip_syndicate(current, telecrystals)
if (nuke_code)
store_memory("Syndicate Nuclear Bomb Code : [nuke_code]", 0, 0)
to_chat(current, "The nuclear authorization code is: [nuke_code] ")
else
- var/obj/machinery/nuclearbomb/nuke = locate("syndienuke") in nuke_list
+ var/obj/machinery/nuclearbomb/nuke = locate("syndienuke") in GLOB.nuke_list
if(nuke)
store_memory("Syndicate Nuclear Bomb Code : [nuke.r_code]", 0, 0)
to_chat(current, "The nuclear authorization code is: nuke.r_code ")
@@ -1361,43 +1360,43 @@
to_chat(current, "You were not provided with a nuclear code. Trying asking your team leader or contacting syndicate command.")
if (leader)
- ticker.mode.prepare_syndicate_leader(src,nuke_code)
+ SSticker.mode.prepare_syndicate_leader(src,nuke_code)
else
- current.real_name = "[syndicate_name()] Operative #[ticker.mode.syndicates.len-1]"
+ current.real_name = "[syndicate_name()] Operative #[SSticker.mode.syndicates.len-1]"
/datum/mind/proc/make_Changling()
- if(!(src in ticker.mode.changelings))
- ticker.mode.changelings += src
+ if(!(src in SSticker.mode.changelings))
+ SSticker.mode.changelings += src
current.make_changeling()
special_role = "Changeling"
- ticker.mode.forge_changeling_objectives(src)
- ticker.mode.greet_changeling(src)
- ticker.mode.update_changeling_icons_added(src)
+ SSticker.mode.forge_changeling_objectives(src)
+ SSticker.mode.greet_changeling(src)
+ SSticker.mode.update_changeling_icons_added(src)
/datum/mind/proc/make_Wizard()
- if(!(src in ticker.mode.wizards))
- ticker.mode.wizards += src
+ if(!(src in SSticker.mode.wizards))
+ SSticker.mode.wizards += src
special_role = "Wizard"
assigned_role = "Wizard"
- if(!wizardstart.len)
- current.loc = pick(latejoin)
+ if(!GLOB.wizardstart.len)
+ current.loc = pick(GLOB.latejoin)
to_chat(current, "HOT INSERTION, GO GO GO")
else
- current.loc = pick(wizardstart)
+ current.loc = pick(GLOB.wizardstart)
- ticker.mode.equip_wizard(current)
- ticker.mode.name_wizard(current)
- ticker.mode.forge_wizard_objectives(src)
- ticker.mode.greet_wizard(src)
+ SSticker.mode.equip_wizard(current)
+ SSticker.mode.name_wizard(current)
+ SSticker.mode.forge_wizard_objectives(src)
+ SSticker.mode.greet_wizard(src)
/datum/mind/proc/make_Cultist()
- if(!(src in ticker.mode.cult))
- ticker.mode.add_cultist(src,FALSE)
+ if(!(src in SSticker.mode.cult))
+ SSticker.mode.add_cultist(src,FALSE)
special_role = "Cultist"
to_chat(current, "You catch a glimpse of the Realm of Nar-Sie, The Geometer of Blood. You now see how flimsy the world is, you see that it should be open to the knowledge of Nar-Sie. ")
to_chat(current, "Assist your new compatriots in their dark dealings. Their goal is yours, and yours is theirs. You serve the Dark One above all else. Bring It back. ")
- var/datum/game_mode/cult/cult = ticker.mode
+ var/datum/game_mode/cult/cult = SSticker.mode
if (istype(cult))
cult.memorize_cult_objectives(src)
@@ -1407,13 +1406,13 @@
memory += "Objective #1 : [explanation] "
var/mob/living/carbon/human/H = current
- if (!ticker.mode.equip_cultist(current))
+ if (!SSticker.mode.equip_cultist(current))
to_chat(H, "Spawning an amulet from your Master failed.")
/datum/mind/proc/make_Rev()
- if (ticker.mode.head_revolutionaries.len>0)
+ if (SSticker.mode.head_revolutionaries.len>0)
// copy targets
- var/datum/mind/valid_head = locate() in ticker.mode.head_revolutionaries
+ var/datum/mind/valid_head = locate() in SSticker.mode.head_revolutionaries
if (valid_head)
for (var/datum/objective/mutiny/O in valid_head.objectives)
var/datum/objective/mutiny/rev_obj = new
@@ -1421,21 +1420,21 @@
rev_obj.target = O.target
rev_obj.explanation_text = "Assassinate [O.target.current.real_name], the [O.target.assigned_role]."
objectives += rev_obj
- ticker.mode.greet_revolutionary(src,0)
- ticker.mode.head_revolutionaries += src
- ticker.mode.update_rev_icons_added(src)
+ SSticker.mode.greet_revolutionary(src,0)
+ SSticker.mode.head_revolutionaries += src
+ SSticker.mode.update_rev_icons_added(src)
special_role = "Head Revolutionary"
- ticker.mode.forge_revolutionary_objectives(src)
- ticker.mode.greet_revolutionary(src,0)
+ SSticker.mode.forge_revolutionary_objectives(src)
+ SSticker.mode.greet_revolutionary(src,0)
var/list/L = current.get_contents()
var/obj/item/device/assembly/flash/flash = locate() in L
qdel(flash)
take_uplink()
var/fail = 0
-// fail |= !ticker.mode.equip_traitor(current, 1)
- fail |= !ticker.mode.equip_revolutionary(current)
+// fail |= !SSticker.mode.equip_traitor(current, 1)
+ fail |= !SSticker.mode.equip_revolutionary(current)
/datum/mind/proc/make_Gang(datum/gang/G)
@@ -1443,9 +1442,9 @@
G.bosses += src
gang_datum = G
G.add_gang_hud(src)
- ticker.mode.forge_gang_objectives(src)
- ticker.mode.greet_gang(src)
- ticker.mode.equip_gang(current,G)
+ SSticker.mode.forge_gang_objectives(src)
+ SSticker.mode.greet_gang(src)
+ SSticker.mode.equip_gang(current,G)
/datum/mind/proc/make_Abductor()
var/role = alert("Abductor Role ?","Role","Agent","Scientist")
@@ -1458,7 +1457,7 @@
if(!ishuman(current))
return
- ticker.mode.abductors |= src
+ SSticker.mode.abductors |= src
var/datum/objective/experiment/O = new
O.owner = src
@@ -1480,7 +1479,7 @@
var/list/obj/effect/landmark/abductor/scientist_landmarks = new
agent_landmarks.len = 4
scientist_landmarks.len = 4
- for(var/obj/effect/landmark/abductor/A in landmarks_list)
+ for(var/obj/effect/landmark/abductor/A in GLOB.landmarks_list)
if(istype(A,/obj/effect/landmark/abductor/agent))
agent_landmarks[text2num(A.team)] = A
else if(istype(A,/obj/effect/landmark/abductor/scientist))
@@ -1533,7 +1532,7 @@
INVOKE_ASYNC(S, /obj/effect/proc_holder/spell.proc/start_recharge)
/datum/mind/proc/get_ghost(even_if_they_cant_reenter)
- for(var/mob/dead/observer/G in dead_mob_list)
+ for(var/mob/dead/observer/G in GLOB.dead_mob_list)
if(G.mind == src)
if(G.can_reenter_corpse || even_if_they_cant_reenter)
return G
@@ -1562,10 +1561,10 @@
else
mind = new /datum/mind(key)
- if(ticker)
- ticker.minds += mind
+ if(SSticker)
+ SSticker.minds += mind
else
- stack_trace("mind_initialize(): No ticker ready")
+ stack_trace("mind_initialize(): No SSticker ready")
if(!mind.name)
mind.name = real_name
mind.current = src
diff --git a/code/datums/mutations.dm b/code/datums/mutations.dm
index 9477e328cc..55f2b03161 100644
--- a/code/datums/mutations.dm
+++ b/code/datums/mutations.dm
@@ -1,11 +1,11 @@
-/var/global/list/mutations_list = list()
+GLOBAL_LIST_EMPTY(mutations_list)
/datum/mutation
var/name
/datum/mutation/New()
- mutations_list[name] = src
+ GLOB.mutations_list[name] = src
/datum/mutation/human
@@ -536,9 +536,9 @@
if(message)
message = replacetext(message,"w","v")
message = replacetext(message,"j","y")
- message = replacetext(message,"a",pick("","","","a"))
+ message = replacetext(message,"a",pick("�","�","�","a"))
message = replacetext(message,"bo","bjo")
- message = replacetext(message,"o",pick("","","o"))
+ message = replacetext(message,"o",pick("�","�","o"))
if(prob(30))
message += " Bork[pick("",", bork",", bork, bork")]!"
return message
diff --git a/code/datums/riding.dm b/code/datums/riding.dm
index e5b57027f7..aa16730703 100644
--- a/code/datums/riding.dm
+++ b/code/datums/riding.dm
@@ -38,8 +38,6 @@
//if they differ between directions, otherwise use the
//generic variables
/datum/riding/proc/handle_vehicle_offsets()
- if(!ridden || QDELETED(ridden))
- return
if(ridden.has_buckled_mobs())
for(var/m in ridden.buckled_mobs)
var/mob/living/buckled_mob = m
diff --git a/code/datums/ruins/lavaland.dm b/code/datums/ruins/lavaland.dm
index f6f5b55309..12df20891f 100644
--- a/code/datums/ruins/lavaland.dm
+++ b/code/datums/ruins/lavaland.dm
@@ -35,15 +35,6 @@
cost = 10
allow_duplicates = FALSE
-/datum/map_template/ruin/lavaland/prisoners
- name = "Prisoner Crash"
- id = "prisoner-crash"
- description = "This incredibly high security shuttle clearly didn't have 'avoiding lavafilled hellscapes' as a design priority. \
- As such, it has crashed, waking the prisoners from their cryostasis, and setting them loose on the wastes. If they live long enough, that is."
- suffix = "lavaland_surface_prisoner_crash.dmm"
- cost = 15
- allow_duplicates = FALSE
-
/datum/map_template/ruin/lavaland/seed_vault
name = "Seed Vault"
id = "seed-vault"
diff --git a/code/datums/shuttles.dm b/code/datums/shuttles.dm
index 72b22e01c3..774e0794ff 100644
--- a/code/datums/shuttles.dm
+++ b/code/datums/shuttles.dm
@@ -47,7 +47,7 @@
/datum/map_template/shuttle/emergency/airless/prerequisites_met()
// first 10 minutes only
- return world.time - round_start_time < 6000
+ return world.time - SSticker.round_start_time < 6000
/datum/map_template/shuttle/emergency/asteroid
suffix = "asteroid"
diff --git a/code/datums/status_effects/buffs.dm b/code/datums/status_effects/buffs.dm
index 1078dbfaeb..d07f66609b 100644
--- a/code/datums/status_effects/buffs.dm
+++ b/code/datums/status_effects/buffs.dm
@@ -44,6 +44,7 @@
id = "vanguard"
duration = 200
tick_interval = 0 //tick as fast as possible
+ status_type = STATUS_EFFECT_REPLACE
alert_type = /obj/screen/alert/status_effect/vanguard
var/datum/progressbar/progbar
@@ -58,7 +59,8 @@
if(istype(L)) //this is probably more safety than actually needed
var/vanguard = L.stun_absorption["vanguard"]
desc = initial(desc)
- desc += "[vanguard["stuns_absorbed"] * 2] seconds of stuns held back.[round(min(vanguard["stuns_absorbed"] * 0.25, 20)) * 2] seconds of stun will affect you."
+ desc += "[vanguard["stuns_absorbed"] * 2] seconds of stuns held back.\
+ [GLOB.ratvar_awakens ? "":"[round(min(vanguard["stuns_absorbed"] * 0.25, 20)) * 2] seconds of stun will affect you."]"
..()
/datum/status_effect/vanguard_shield/Destroy()
@@ -88,7 +90,7 @@
for(var/i in owner.stun_absorption)
if(owner.stun_absorption[i]["end_time"] > world.time && owner.stun_absorption[i]["priority"] > vanguard["priority"])
otheractiveabsorptions = TRUE
- if(!ratvar_awakens && stuns_blocked && !otheractiveabsorptions)
+ if(!GLOB.ratvar_awakens && stuns_blocked && !otheractiveabsorptions)
vanguard["end_time"] = 0 //so it doesn't absorb the stuns we're about to apply
owner.Stun(stuns_blocked)
owner.Weaken(stuns_blocked)
diff --git a/code/datums/status_effects/gas.dm b/code/datums/status_effects/gas.dm
index 7ab9022848..c2c070dbec 100644
--- a/code/datums/status_effects/gas.dm
+++ b/code/datums/status_effects/gas.dm
@@ -1,7 +1,7 @@
/datum/status_effect/freon
id = "frozen"
duration = 100
- unique = TRUE
+ status_type = STATUS_EFFECT_UNIQUE
alert_type = /obj/screen/alert/status_effect/freon
var/icon/cube
diff --git a/code/datums/status_effects/status_effect.dm b/code/datums/status_effects/status_effect.dm
index 38f3de0b24..8b6d255f1a 100644
--- a/code/datums/status_effects/status_effect.dm
+++ b/code/datums/status_effects/status_effect.dm
@@ -2,14 +2,12 @@
//This file contains their code, plus code for applying and removing them.
//When making a new status effect, add a define to status_effects.dm in __DEFINES for ease of use!
-var/global/list/all_status_effects = list() //a list of all status effects, if for some reason you need to remove all of them
-
/datum/status_effect
var/id = "effect" //Used for screen alerts.
var/duration = -1 //How long the status effect lasts in DECISECONDS. Enter -1 for an effect that never ends unless removed through some means.
var/tick_interval = 10 //How many deciseconds between ticks, approximately. Leave at 10 for every second.
var/mob/living/owner //The mob affected by the status effect.
- var/unique = TRUE //If there can be multiple status effects of this type on one mob.
+ var/status_type = STATUS_EFFECT_UNIQUE //How many of the effect can be on one mob, and what happens when you try to add another
var/alert_type = /obj/screen/alert/status_effect //the alert thrown by the status effect, contains name and description
/datum/status_effect/New(mob/living/new_owner)
@@ -17,7 +15,6 @@ var/global/list/all_status_effects = list() //a list of all status effects, if f
owner = new_owner
if(owner)
LAZYADD(owner.status_effects, src)
- all_status_effects += src
addtimer(CALLBACK(src, .proc/start_ticking), 1) //Give us time to set any variables
/datum/status_effect/Destroy()
@@ -26,7 +23,6 @@ var/global/list/all_status_effects = list() //a list of all status effects, if f
owner.clear_alert(id)
on_remove()
LAZYREMOVE(owner.status_effects, src)
- all_status_effects -= src
return ..()
/datum/status_effect/proc/start_ticking()
@@ -57,6 +53,11 @@ var/global/list/all_status_effects = list() //a list of all status effects, if f
/datum/status_effect/proc/on_apply() //Called whenever the buff is applied.
/datum/status_effect/proc/tick() //Called every tick.
/datum/status_effect/proc/on_remove() //Called whenever the buff expires or is removed.
+/datum/status_effect/proc/be_replaced() //Called instead of on_remove when a status effect is replaced by itself
+ owner.clear_alert(id)
+ LAZYREMOVE(owner.status_effects, src)
+ owner = null
+ qdel(src)
////////////////
// ALERT HOOK //
@@ -76,8 +77,11 @@ var/global/list/all_status_effects = list() //a list of all status effects, if f
var/datum/status_effect/S1 = effect
LAZYINITLIST(status_effects)
for(var/datum/status_effect/S in status_effects)
- if(S.id == initial(S1.id) && initial(S1.unique))
- return
+ if(S.id == initial(S1.id) && S.status_type)
+ if(S.status_type == STATUS_EFFECT_REPLACE)
+ S.be_replaced()
+ else
+ return
S1 = new effect(src)
. = S1
diff --git a/code/datums/weather/weather.dm b/code/datums/weather/weather.dm
index f7852d4856..7b43bf6396 100644
--- a/code/datums/weather/weather.dm
+++ b/code/datums/weather/weather.dm
@@ -63,7 +63,7 @@
impacted_areas |= A
weather_duration = rand(weather_duration_lower, weather_duration_upper)
update_areas()
- for(var/V in player_list)
+ for(var/V in GLOB.player_list)
var/mob/M = V
if(M.z == target_z)
if(telegraph_message)
@@ -77,7 +77,7 @@
return
stage = MAIN_STAGE
update_areas()
- for(var/V in player_list)
+ for(var/V in GLOB.player_list)
var/mob/M = V
if(M.z == target_z)
if(weather_message)
@@ -92,7 +92,7 @@
return
stage = WIND_DOWN_STAGE
update_areas()
- for(var/V in player_list)
+ for(var/V in GLOB.player_list)
var/mob/M = V
if(M.z == target_z)
if(end_message)
@@ -126,7 +126,6 @@
var/area/N = V
N.layer = overlay_layer
N.icon = 'icons/effects/weather_effects.dmi'
- N.invisibility = 0
N.color = weather_color
switch(stage)
if(STARTUP_STAGE)
@@ -137,8 +136,7 @@
N.icon_state = end_overlay
if(END_STAGE)
N.color = null
- N.icon_state = initial(N.icon_state)
+ N.icon_state = ""
N.icon = 'icons/turf/areas.dmi'
N.layer = AREA_LAYER //Just default back to normal area stuff since I assume setting a var is faster than initial
- N.invisibility = INVISIBILITY_MAXIMUM
N.set_opacity(FALSE)
diff --git a/code/datums/weather/weather_types.dm b/code/datums/weather/weather_types.dm
index 005702f357..593a055d71 100644
--- a/code/datums/weather/weather_types.dm
+++ b/code/datums/weather/weather_types.dm
@@ -168,6 +168,7 @@
sleep(300)
revoke_maint_all_access() // Need to make this a timer at some point.
+
/datum/weather/rad_storm/proc/status_alarm(command) //Makes the status displays show the radiation warning for those who missed the announcement.
var/datum/radio_frequency/frequency = SSradio.return_frequency(1435)
@@ -185,3 +186,33 @@
status_signal.data["picture_state"] = "radiation"
frequency.post_signal(src, status_signal)
+
+
+/datum/weather/acid_rain
+ name = "acid rain"
+ desc = "Some stay dry and others feel the pain"
+
+ telegraph_duration = 400
+ telegraph_message = "Stinging droplets start to fall upon you.. "
+ telegraph_sound = 'sound/ambience/acidrain_start.ogg'
+
+ weather_message = "Your skin melts underneath the rain! "
+ weather_overlay = "acid_rain"
+ weather_duration_lower = 600
+ weather_duration_upper = 1500
+ weather_sound = 'sound/ambience/acidrain_mid.ogg'
+
+ end_duration = 100
+ end_message = "The rain starts to dissipate. "
+ end_sound = 'sound/ambience/acidrain_end.ogg'
+
+ area_type = /area/lavaland/surface/outdoors
+ target_z = ZLEVEL_LAVALAND
+
+ immunity_type = "acid" // temp
+
+
+/datum/weather/acid_rain/impact(mob/living/L)
+ var/resist = L.getarmor(null, "acid")
+ if(prob(max(0,100-resist)))
+ L.acid_act(20,20)
\ No newline at end of file
diff --git a/code/datums/wires/robot.dm b/code/datums/wires/robot.dm
index 9f019c23d1..f57933de31 100644
--- a/code/datums/wires/robot.dm
+++ b/code/datums/wires/robot.dm
@@ -34,7 +34,11 @@
var/new_ai = select_active_ai(R)
if(new_ai && (new_ai != R.connected_ai))
R.connected_ai = new_ai
- R.notify_ai(TRUE)
+ if(R.shell)
+ R.undeploy() //If this borg is an AI shell, disconnect the controlling AI and assign ti to a new AI
+ R.notify_ai(AI_SHELL)
+ else
+ R.notify_ai(TRUE)
if(WIRE_CAMERA) // Pulse to disable the camera.
if(!isnull(R.camera) && !R.scrambledcodes)
R.camera.toggle_cam(usr, 0)
@@ -56,11 +60,12 @@
if(WIRE_AI) // Cut the AI wire to reset AI control.
if(!mend)
R.connected_ai = null
+ R.undeploy() //Forced disconnect of an AI should this body be a shell.
if(WIRE_LAWSYNC) // Cut the law wire, and the borg will no longer receive law updates from its AI. Repair and it will re-sync.
if(mend)
if(!R.emagged)
R.lawupdate = TRUE
- else
+ else if(!R.deployed) //AI shells must always have the same laws as the AI
R.lawupdate = FALSE
if (WIRE_CAMERA) // Disable the camera.
if(!isnull(R.camera) && !R.scrambledcodes)
diff --git a/code/datums/wires/wires.dm b/code/datums/wires/wires.dm
index c6985af3e1..bd4094cfaa 100644
--- a/code/datums/wires/wires.dm
+++ b/code/datums/wires/wires.dm
@@ -1,26 +1,5 @@
#define MAXIMUM_EMP_WIRES 3
-var/list/wire_colors = list(
- "blue",
- "brown",
- "crimson",
- "cyan",
- "gold",
- "grey",
- "green",
- "magenta",
- "orange",
- "pink",
- "purple",
- "red",
- "silver",
- "violet",
- "white",
- "yellow",
-)
-var/list/wire_color_directory = list()
-var/list/wire_name_directory = list()
-
/proc/is_wire_tool(obj/item/I)
if(istype(I, /obj/item/device/multitool))
return TRUE
@@ -57,12 +36,12 @@ var/list/wire_name_directory = list()
if(randomize)
randomize()
else
- if(!wire_color_directory[holder_type])
+ if(!GLOB.wire_color_directory[holder_type])
randomize()
- wire_color_directory[holder_type] = colors
- wire_name_directory[holder_type] = proper_name
+ GLOB.wire_color_directory[holder_type] = colors
+ GLOB.wire_name_directory[holder_type] = proper_name
else
- colors = wire_color_directory[holder_type]
+ colors = GLOB.wire_color_directory[holder_type]
/datum/wires/Destroy()
holder = null
@@ -77,10 +56,29 @@ var/list/wire_name_directory = list()
wires += dud
/datum/wires/proc/randomize()
- var/list/possible_colors = wire_colors.Copy()
+ var/static/list/possible_colors = list(
+ "blue",
+ "brown",
+ "crimson",
+ "cyan",
+ "gold",
+ "grey",
+ "green",
+ "magenta",
+ "orange",
+ "pink",
+ "purple",
+ "red",
+ "silver",
+ "violet",
+ "white",
+ "yellow"
+ )
+
+ var/list/my_possible_colors = possible_colors.Copy()
for(var/wire in shuffle(wires))
- colors[pick_n_take(possible_colors)] = wire
+ colors[pick_n_take(my_possible_colors)] = wire
/datum/wires/proc/shuffle_wires()
colors.Cut()
@@ -201,7 +199,7 @@ var/list/wire_name_directory = list()
return UI_CLOSE
/datum/wires/ui_interact(mob/user, ui_key = "wires", datum/tgui/ui = null, force_open = 0, \
- datum/tgui/master_ui = null, datum/ui_state/state = physical_state)
+ datum/tgui/master_ui = null, datum/ui_state/state = GLOB.physical_state)
ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open)
if (!ui)
ui = new(user, src, ui_key, "wires", "[holder.name] wires", 350, 150 + wires.len * 30, master_ui, state)
diff --git a/code/game/area/Space_Station_13_areas.dm b/code/game/area/Space_Station_13_areas.dm
index 056b1b2cfd..ee369d73f7 100644
--- a/code/game/area/Space_Station_13_areas.dm
+++ b/code/game/area/Space_Station_13_areas.dm
@@ -1002,7 +1002,7 @@ NOTE: there are two lists of areas in the end of this file: centcom and station
*/
//SPACE STATION 13
-var/list/the_station_areas = list (
+GLOBAL_LIST_INIT(the_station_areas, list (
/area/atmos,
/area/maintenance,
/area/hallway,
@@ -1031,4 +1031,4 @@ var/list/the_station_areas = list (
/area/ai_monitored/turret_protected/ai_upload, //do not try to simplify to "/area/ai_monitored/turret_protected" --rastaf0
/area/ai_monitored/turret_protected/ai_upload_foyer,
/area/ai_monitored/turret_protected/ai,
-)
+))
\ No newline at end of file
diff --git a/code/game/area/areas.dm b/code/game/area/areas.dm
index c2652709a1..4395e5155a 100644
--- a/code/game/area/areas.dm
+++ b/code/game/area/areas.dm
@@ -64,20 +64,20 @@
/*Adding a wizard area teleport list because motherfucking lag -- Urist*/
/*I am far too lazy to make it a proper list of areas so I'll just make it run the usual telepot routine at the start of the game*/
-var/list/teleportlocs = list()
+GLOBAL_LIST_EMPTY(teleportlocs)
/proc/process_teleport_locs()
- for(var/V in sortedAreas)
+ for(var/V in GLOB.sortedAreas)
var/area/AR = V
if(istype(AR, /area/shuttle) || AR.noteleport)
continue
- if(teleportlocs[AR.name])
+ if(GLOB.teleportlocs[AR.name])
continue
var/turf/picked = safepick(get_area_turfs(AR.type))
if (picked && (picked.z == ZLEVEL_STATION))
- teleportlocs[AR.name] = AR
+ GLOB.teleportlocs[AR.name] = AR
- sortTim(teleportlocs, /proc/cmp_text_dsc)
+ sortTim(GLOB.teleportlocs, /proc/cmp_text_dsc)
// ===
@@ -137,24 +137,24 @@ var/list/teleportlocs = list()
var/list/cameras = list()
for (var/obj/machinery/camera/C in src)
cameras += C
- for (var/mob/living/silicon/aiPlayer in player_list)
+ for (var/mob/living/silicon/aiPlayer in GLOB.player_list)
if (state == 1)
aiPlayer.cancelAlarm("Power", src, source)
else
aiPlayer.triggerAlarm("Power", src, cameras, source)
- for(var/obj/machinery/computer/station_alert/a in machines)
+ for(var/obj/machinery/computer/station_alert/a in GLOB.machines)
if(state == 1)
a.cancelAlarm("Power", src, source)
else
a.triggerAlarm("Power", src, cameras, source)
- for(var/mob/living/simple_animal/drone/D in mob_list)
+ for(var/mob/living/simple_animal/drone/D in GLOB.mob_list)
if(state == 1)
D.cancelAlarm("Power", src, source)
else
D.triggerAlarm("Power", src, cameras, source)
- for(var/datum/computer_file/program/alarm_monitor/p in alarmdisplay)
+ for(var/datum/computer_file/program/alarm_monitor/p in GLOB.alarmdisplay)
if(state == 1)
p.cancelAlarm("Power", src, source)
else
@@ -168,23 +168,23 @@ var/list/teleportlocs = list()
for(var/obj/machinery/camera/C in RA)
cameras += C
- for(var/mob/living/silicon/aiPlayer in player_list)
+ for(var/mob/living/silicon/aiPlayer in GLOB.player_list)
aiPlayer.triggerAlarm("Atmosphere", src, cameras, source)
- for(var/obj/machinery/computer/station_alert/a in machines)
+ for(var/obj/machinery/computer/station_alert/a in GLOB.machines)
a.triggerAlarm("Atmosphere", src, cameras, source)
- for(var/mob/living/simple_animal/drone/D in mob_list)
+ for(var/mob/living/simple_animal/drone/D in GLOB.mob_list)
D.triggerAlarm("Atmosphere", src, cameras, source)
- for(var/datum/computer_file/program/alarm_monitor/p in alarmdisplay)
+ for(var/datum/computer_file/program/alarm_monitor/p in GLOB.alarmdisplay)
p.triggerAlarm("Atmosphere", src, cameras, source)
else if (src.atmosalm == 2)
- for(var/mob/living/silicon/aiPlayer in player_list)
+ for(var/mob/living/silicon/aiPlayer in GLOB.player_list)
aiPlayer.cancelAlarm("Atmosphere", src, source)
- for(var/obj/machinery/computer/station_alert/a in machines)
+ for(var/obj/machinery/computer/station_alert/a in GLOB.machines)
a.cancelAlarm("Atmosphere", src, source)
- for(var/mob/living/simple_animal/drone/D in mob_list)
+ for(var/mob/living/simple_animal/drone/D in GLOB.mob_list)
D.cancelAlarm("Atmosphere", src, source)
- for(var/datum/computer_file/program/alarm_monitor/p in alarmdisplay)
+ for(var/datum/computer_file/program/alarm_monitor/p in GLOB.alarmdisplay)
p.cancelAlarm("Atmosphere", src, source)
src.atmosalm = danger_level
@@ -203,9 +203,9 @@ var/list/teleportlocs = list()
if(A.fire)
cont = FALSE
break
- if(cont)
+ if(cont && D.is_operational())
if(D.operating)
- D.nextstate = opening ? OPEN : CLOSED
+ D.nextstate = opening ? FIREDOOR_OPEN : FIREDOOR_CLOSED
else if(!(D.density ^ opening))
INVOKE_ASYNC(D, (opening ? /obj/machinery/door/firedoor.proc/open : /obj/machinery/door/firedoor.proc/close))
@@ -224,13 +224,13 @@ var/list/teleportlocs = list()
for (var/obj/machinery/camera/C in RA)
cameras += C
- for (var/obj/machinery/computer/station_alert/a in machines)
+ for (var/obj/machinery/computer/station_alert/a in GLOB.machines)
a.triggerAlarm("Fire", src, cameras, source)
- for (var/mob/living/silicon/aiPlayer in player_list)
+ for (var/mob/living/silicon/aiPlayer in GLOB.player_list)
aiPlayer.triggerAlarm("Fire", src, cameras, source)
- for (var/mob/living/simple_animal/drone/D in mob_list)
+ for (var/mob/living/simple_animal/drone/D in GLOB.mob_list)
D.triggerAlarm("Fire", src, cameras, source)
- for(var/datum/computer_file/program/alarm_monitor/p in alarmdisplay)
+ for(var/datum/computer_file/program/alarm_monitor/p in GLOB.alarmdisplay)
p.triggerAlarm("Fire", src, cameras, source)
START_PROCESSING(SSobj, src)
@@ -245,13 +245,13 @@ var/list/teleportlocs = list()
for(var/obj/machinery/firealarm/F in RA)
F.update_icon()
- for (var/mob/living/silicon/aiPlayer in player_list)
+ for (var/mob/living/silicon/aiPlayer in GLOB.player_list)
aiPlayer.cancelAlarm("Fire", src, source)
- for (var/obj/machinery/computer/station_alert/a in machines)
+ for (var/obj/machinery/computer/station_alert/a in GLOB.machines)
a.cancelAlarm("Fire", src, source)
- for (var/mob/living/simple_animal/drone/D in mob_list)
+ for (var/mob/living/simple_animal/drone/D in GLOB.mob_list)
D.cancelAlarm("Fire", src, source)
- for(var/datum/computer_file/program/alarm_monitor/p in alarmdisplay)
+ for(var/datum/computer_file/program/alarm_monitor/p in GLOB.alarmdisplay)
p.cancelAlarm("Fire", src, source)
STOP_PROCESSING(SSobj, src)
@@ -282,7 +282,7 @@ var/list/teleportlocs = list()
for (var/obj/machinery/camera/C in RA)
cameras += C
- for (var/mob/living/silicon/SILICON in player_list)
+ for (var/mob/living/silicon/SILICON in GLOB.player_list)
if(SILICON.triggerAlarm("Burglar", src, cameras, trigger))
//Cancel silicon alert after 1 minute
addtimer(CALLBACK(SILICON, /mob/living/silicon.proc/cancelAlarm,"Burglar",src,trigger), 600)
@@ -454,7 +454,7 @@ var/list/teleportlocs = list()
return 1
else
// There's a gravity generator on our z level
- if(T && gravity_generators["[T.z]"] && length(gravity_generators["[T.z]"]))
+ if(T && GLOB.gravity_generators["[T.z]"] && length(GLOB.gravity_generators["[T.z]"]))
return 1
return 0
diff --git a/code/game/atoms.dm b/code/game/atoms.dm
index be7e48071a..c7ee05888c 100644
--- a/code/game/atoms.dm
+++ b/code/game/atoms.dm
@@ -30,8 +30,8 @@
/atom/New(loc, ...)
//atom creation method that preloads variables at creation
- if(use_preloader && (src.type == _preloader.target_path))//in case the instanciated atom is creating other atoms in New()
- _preloader.load(src)
+ if(GLOB.use_preloader && (src.type == GLOB._preloader.target_path))//in case the instanciated atom is creating other atoms in New()
+ GLOB._preloader.load(src)
//. = ..() //uncomment if you are dumb enough to add a /datum/New() proc
@@ -39,8 +39,10 @@
if(do_initialize > INITIALIZATION_INSSATOMS)
if(QDELETED(src))
CRASH("Found new qdeletion in type [type]!")
- args[1] = do_initialize == INITIALIZATION_INNEW_MAPLOAD
- Initialize(arglist(args))
+ var/mapload = do_initialize == INITIALIZATION_INNEW_MAPLOAD
+ args[1] = mapload
+ if(Initialize(arglist(args)) && mapload)
+ LAZYADD(SSatoms.late_loaders, src)
//Called after New if the map is being loaded. mapload = TRUE
//Called from base of New if the map is being loaded. mapload = FALSE
@@ -279,7 +281,7 @@
if(AM && isturf(AM.loc))
step(AM, turn(AM.dir, 180))
-var/list/blood_splatter_icons = list()
+GLOBAL_LIST_EMPTY(blood_splatter_icons)
/atom/proc/blood_splatter_index()
return "\ref[initial(icon)]-[initial(icon_state)]"
@@ -353,13 +355,13 @@ var/list/blood_splatter_icons = list()
if(initial(icon) && initial(icon_state))
//try to find a pre-processed blood-splatter. otherwise, make a new one
var/index = blood_splatter_index()
- var/icon/blood_splatter_icon = blood_splatter_icons[index]
+ var/icon/blood_splatter_icon = GLOB.blood_splatter_icons[index]
if(!blood_splatter_icon)
blood_splatter_icon = icon(initial(icon), initial(icon_state), , 1) //we only want to apply blood-splatters to the initial icon_state for each object
blood_splatter_icon.Blend("#fff", ICON_ADD) //fills the icon_state with white (except where it's transparent)
blood_splatter_icon.Blend(icon('icons/effects/blood.dmi', "itemblood"), ICON_MULTIPLY) //adds blood and the remaining white areas become transparant
blood_splatter_icon = fcopy_rsc(blood_splatter_icon)
- blood_splatter_icons[index] = blood_splatter_icon
+ GLOB.blood_splatter_icons[index] = blood_splatter_icon
add_overlay(blood_splatter_icon)
/obj/item/clothing/gloves/add_blood(list/blood_dna)
@@ -398,12 +400,12 @@ var/list/blood_splatter_icons = list()
return 1
/atom/proc/get_global_map_pos()
- if(!islist(global_map) || isemptylist(global_map)) return
+ if(!islist(GLOB.global_map) || isemptylist(GLOB.global_map)) return
var/cur_x = null
var/cur_y = null
var/list/y_arr = null
- for(cur_x=1,cur_x<=global_map.len,cur_x++)
- y_arr = global_map[cur_x]
+ for(cur_x=1,cur_x<=GLOB.global_map.len,cur_x++)
+ y_arr = GLOB.global_map[cur_x]
cur_y = y_arr.Find(src.z)
if(cur_y)
break
@@ -455,6 +457,12 @@ var/list/blood_splatter_icons = list()
//This proc is called on the location of an atom when the atom is Destroy()'d
/atom/proc/handle_atom_del(atom/A)
+//called when the turf the atom resides on is ChangeTurfed
+/atom/proc/HandleTurfChange(turf/T)
+ for(var/a in src)
+ var/atom/A = a
+ A.HandleTurfChange(T)
+
// Byond seemingly calls stat, each tick.
// Calling things each tick can get expensive real quick.
// So we slow this down a little.
@@ -557,7 +565,7 @@ var/list/blood_splatter_icons = list()
return
/atom/vv_edit_var(var_name, var_value)
- if(!Debug2)
+ if(!GLOB.Debug2)
admin_spawned = TRUE
. = ..()
switch(var_name)
diff --git a/code/game/atoms_movable.dm b/code/game/atoms_movable.dm
index feb726c27b..599c86498e 100644
--- a/code/game/atoms_movable.dm
+++ b/code/game/atoms_movable.dm
@@ -6,11 +6,13 @@
var/throw_speed = 2 //How many tiles to move per ds when being thrown. Float values are fully supported
var/throw_range = 7
var/mob/pulledby = null
- var/languages_spoken = 0 //For say() and Hear()
- var/languages_understood = 0
+ var/list/languages
+ var/list/initial_languages = list(/datum/language/common)
+ var/only_speaks_language = null
var/verb_say = "says"
var/verb_ask = "asks"
var/verb_exclaim = "exclaims"
+ var/verb_whisper = "whispers"
var/verb_yell = "yells"
var/inertia_dir = 0
var/atom/inertia_last_loc
@@ -35,6 +37,11 @@
return FALSE
return ..()
+/atom/movable/Initialize(mapload)
+ ..()
+ for(var/L in initial_languages)
+ grant_language(L)
+
/atom/movable/Move(atom/newloc, direct = 0)
if(!loc || !newloc) return 0
var/atom/oldloc = loc
@@ -103,8 +110,40 @@
O.Check()
if (orbiting)
orbiting.Check()
+
+ if(flags & CLEAN_ON_MOVE)
+ clean_on_move()
return 1
+/atom/movable/proc/clean_on_move()
+ var/turf/tile = loc
+ if(isturf(tile))
+ tile.clean_blood()
+ for(var/A in tile)
+ if(is_cleanable(A))
+ qdel(A)
+ else if(istype(A, /obj/item))
+ var/obj/item/cleaned_item = A
+ cleaned_item.clean_blood()
+ else if(ishuman(A))
+ var/mob/living/carbon/human/cleaned_human = A
+ if(cleaned_human.lying)
+ if(cleaned_human.head)
+ cleaned_human.head.clean_blood()
+ cleaned_human.update_inv_head()
+ if(cleaned_human.wear_suit)
+ cleaned_human.wear_suit.clean_blood()
+ cleaned_human.update_inv_wear_suit()
+ else if(cleaned_human.w_uniform)
+ cleaned_human.w_uniform.clean_blood()
+ cleaned_human.update_inv_w_uniform()
+ if(cleaned_human.shoes)
+ cleaned_human.shoes.clean_blood()
+ cleaned_human.update_inv_shoes()
+ cleaned_human.clean_blood()
+ cleaned_human.wash_cream()
+ to_chat(cleaned_human, "[src] cleans your face! ")
+
/atom/movable/Destroy(force)
var/inform_admins = HAS_SECONDARY_FLAG(src, INFORM_ADMINS_ON_RELOCATE)
var/stationloving = HAS_SECONDARY_FLAG(src, STATIONLOVING)
@@ -234,6 +273,7 @@
return pass_flags&passflag
/atom/movable/proc/throw_impact(atom/hit_atom, throwingdatum)
+ set waitfor = 0
return hit_atom.hitby(src)
/atom/movable/hitby(atom/movable/AM, skipcatch, hitpush = 1, blocked)
@@ -413,7 +453,7 @@
if(!I)
return
- flick_overlay(I, clients, 5) // 5 ticks/half a second
+ flick_overlay(I, GLOB.clients, 5) // 5 ticks/half a second
// And animate the attack!
animate(I, alpha = 175, pixel_x = 0, pixel_y = 0, pixel_z = 0, time = 3)
@@ -486,8 +526,8 @@
/atom/movable/proc/relocate()
var/targetturf = find_safe_turf(ZLEVEL_STATION)
if(!targetturf)
- if(blobstart.len > 0)
- targetturf = get_turf(pick(blobstart))
+ if(GLOB.blobstart.len > 0)
+ targetturf = get_turf(pick(GLOB.blobstart))
else
throw EXCEPTION("Unable to find a blobstart landmark")
@@ -518,3 +558,54 @@
var/turf/currentturf = get_turf(src)
if(currentturf && (currentturf.z == ZLEVEL_CENTCOM || currentturf.z == ZLEVEL_STATION))
. = TRUE
+
+
+/* Language procs */
+/atom/movable/proc/grant_language(datum/language/dt)
+ LAZYINITLIST(languages)
+ languages[dt] = TRUE
+
+/atom/movable/proc/grant_all_languages(omnitongue=FALSE)
+ for(var/la in subtypesof(/datum/language))
+ grant_language(la)
+
+ if(omnitongue)
+ SET_SECONDARY_FLAG(src, OMNITONGUE)
+
+/atom/movable/proc/get_random_understood_language()
+ var/list/possible = list()
+ for(var/dt in languages)
+ possible += dt
+ . = safepick(possible)
+
+/atom/movable/proc/remove_language(datum/language/dt)
+ LAZYREMOVE(languages, dt)
+
+/atom/movable/proc/remove_all_languages()
+ LAZYCLEARLIST(languages)
+
+/atom/movable/proc/has_language(datum/language/dt)
+ . = is_type_in_typecache(dt, languages)
+
+/atom/movable/proc/can_speak_in_language(datum/language/dt)
+ . = has_language(dt)
+ if(only_speaks_language && !HAS_SECONDARY_FLAG(src, OMNITONGUE))
+ . = . && ispath(only_speaks_language, dt)
+
+/atom/movable/proc/get_default_language()
+ // if no language is specified, and we want to say() something, which
+ // language do we use?
+ var/datum/language/chosen_langtype
+ var/highest_priority
+
+ for(var/lt in languages)
+ var/datum/language/langtype = lt
+ if(!can_speak_in_language(langtype))
+ continue
+
+ var/pri = initial(langtype.default_priority)
+ if(!highest_priority || (pri > highest_priority))
+ chosen_langtype = langtype
+ highest_priority = pri
+
+ . = chosen_langtype
diff --git a/code/game/communications.dm b/code/game/communications.dm
index 387ae605b6..5b4f1c39fc 100644
--- a/code/game/communications.dm
+++ b/code/game/communications.dm
@@ -63,28 +63,28 @@
/* the radio controller is a confusing piece of shit and didnt work
so i made radios not use the radio controller.
*/
-var/list/all_radios = list()
+GLOBAL_LIST_EMPTY(all_radios)
/proc/add_radio(obj/item/radio, freq)
if(!freq || !radio)
return
- if(!all_radios["[freq]"])
- all_radios["[freq]"] = list(radio)
+ if(!GLOB.all_radios["[freq]"])
+ GLOB.all_radios["[freq]"] = list(radio)
return freq
- all_radios["[freq]"] |= radio
+ GLOB.all_radios["[freq]"] |= radio
return freq
/proc/remove_radio(obj/item/radio, freq)
if(!freq || !radio)
return
- if(!all_radios["[freq]"])
+ if(!GLOB.all_radios["[freq]"])
return
- all_radios["[freq]"] -= radio
+ GLOB.all_radios["[freq]"] -= radio
/proc/remove_radio_all(obj/item/radio)
- for(var/freq in all_radios)
- all_radios["[freq]"] -= radio
+ for(var/freq in GLOB.all_radios)
+ GLOB.all_radios["[freq]"] -= radio
/*
Frequency range: 1200 to 1600
@@ -123,7 +123,7 @@ On the map:
1455 for AI access
*/
-var/list/radiochannels = list(
+GLOBAL_LIST_INIT(radiochannels, list(
"Common" = 1459,
"Science" = 1351,
"Command" = 1353,
@@ -134,10 +134,12 @@ var/list/radiochannels = list(
"Syndicate" = 1213,
"Supply" = 1347,
"Service" = 1349,
- "AI Private" = 1447
-)
+ "AI Private" = 1447,
+ "Red Team" = 1215,
+ "Blue Team" = 1217
+))
-var/list/radiochannelsreverse = list(
+GLOBAL_LIST_INIT(reverseradiochannels, list(
"1459" = "Common",
"1351" = "Science",
"1353" = "Command",
@@ -148,32 +150,36 @@ var/list/radiochannelsreverse = list(
"1213" = "Syndicate",
"1347" = "Supply",
"1349" = "Service",
- "1447" = "AI Private"
-)
+ "1447" = "AI Private",
+ "1215" = "Red Team",
+ "1217" = "Blue Team"
+))
//depenging helpers
-var/const/SYND_FREQ = 1213 //nuke op frequency, coloured dark brown in chat window
-var/const/SUPP_FREQ = 1347 //supply, coloured light brown in chat window
-var/const/SERV_FREQ = 1349 //service, coloured green in chat window
-var/const/SCI_FREQ = 1351 //science, coloured plum in chat window
-var/const/COMM_FREQ = 1353 //command, colored gold in chat window
-var/const/MED_FREQ = 1355 //medical, coloured blue in chat window
-var/const/ENG_FREQ = 1357 //engineering, coloured orange in chat window
-var/const/SEC_FREQ = 1359 //security, coloured red in chat window
-var/const/CENTCOM_FREQ = 1337 //centcom frequency, coloured grey in chat window
-var/const/AIPRIV_FREQ = 1447 //AI private, colored magenta in chat window
+GLOBAL_VAR_CONST(SYND_FREQ, 1213) //nuke op frequency, coloured dark brown in chat window
+GLOBAL_VAR_CONST(SUPP_FREQ, 1347) //supply, coloured light brown in chat window
+GLOBAL_VAR_CONST(SERV_FREQ, 1349) //service, coloured green in chat window
+GLOBAL_VAR_CONST(SCI_FREQ, 1351) //science, coloured plum in chat window
+GLOBAL_VAR_CONST(COMM_FREQ, 1353) //command, colored gold in chat window
+GLOBAL_VAR_CONST(MED_FREQ, 1355) //medical, coloured blue in chat window
+GLOBAL_VAR_CONST(ENG_FREQ, 1357) //engineering, coloured orange in chat window
+GLOBAL_VAR_CONST(SEC_FREQ, 1359) //security, coloured red in chat window
+GLOBAL_VAR_CONST(CENTCOM_FREQ, 1337) //centcom frequency, coloured grey in chat window
+GLOBAL_VAR_CONST(AIPRIV_FREQ, 1447) //AI private, colored magenta in chat window
+GLOBAL_VAR_CONST(REDTEAM_FREQ, 1215) // red team (CTF) frequency, coloured red
+GLOBAL_VAR_CONST(BLUETEAM_FREQ, 1217) // blue team (CTF) frequency, coloured blue
#define TRANSMISSION_WIRE 0
#define TRANSMISSION_RADIO 1
/* filters */
-var/const/RADIO_TO_AIRALARM = "1"
-var/const/RADIO_FROM_AIRALARM = "2"
-var/const/RADIO_CHAT = "3" //deprecated
-var/const/RADIO_ATMOSIA = "4"
-var/const/RADIO_NAVBEACONS = "5"
-var/const/RADIO_AIRLOCK = "6"
-var/const/RADIO_MAGNETS = "9"
+GLOBAL_VAR_INIT(RADIO_TO_AIRALARM, "1")
+GLOBAL_VAR_INIT(RADIO_FROM_AIRALARM, "2")
+GLOBAL_VAR_INIT(RADIO_CHAT, "3") //deprecated
+GLOBAL_VAR_INIT(RADIO_ATMOSIA, "4")
+GLOBAL_VAR_INIT(RADIO_NAVBEACONS, "5")
+GLOBAL_VAR_INIT(RADIO_AIRLOCK, "6")
+GLOBAL_VAR_INIT(RADIO_MAGNETS, "9")
/datum/radio_frequency
@@ -236,7 +242,6 @@ var/const/RADIO_MAGNETS = "9"
-var/list/pointers = list()
/client/proc/print_pointers()
set name = "Debug Signals"
@@ -245,10 +250,11 @@ var/list/pointers = list()
if(!holder)
return
- to_chat(src, "There are [pointers.len] pointers:")
- for(var/p in pointers)
+ var/datum/signal/S
+ to_chat(src, "There are [S.pointers.len] pointers:")
+ for(var/p in S.pointers)
to_chat(src, p)
- var/datum/signal/S = locate(p)
+ S = locate(p)
if(istype(S))
to_chat(src, S.debug_print())
@@ -267,6 +273,7 @@ var/list/pointers = list()
var/encryption
var/frequency = 0
+ var/static/list/pointers = list()
/datum/signal/New()
..()
diff --git a/code/game/data_huds.dm b/code/game/data_huds.dm
index bb1371a853..de830c856b 100644
--- a/code/game/data_huds.dm
+++ b/code/game/data_huds.dm
@@ -8,10 +8,10 @@
/* DATA HUD DATUMS */
/atom/proc/add_to_all_human_data_huds()
- for(var/datum/atom_hud/data/human/hud in huds) hud.add_to_hud(src)
+ for(var/datum/atom_hud/data/human/hud in GLOB.huds) hud.add_to_hud(src)
/atom/proc/remove_from_all_data_huds()
- for(var/datum/atom_hud/data/hud in huds) hud.remove_from_hud(src)
+ for(var/datum/atom_hud/data/hud in GLOB.huds) hud.remove_from_hud(src)
/datum/atom_hud/data
@@ -127,11 +127,11 @@
//called when a human changes suit sensors
/mob/living/carbon/proc/update_suit_sensors()
- var/datum/atom_hud/data/human/medical/basic/B = huds[DATA_HUD_MEDICAL_BASIC]
+ var/datum/atom_hud/data/human/medical/basic/B = GLOB.huds[DATA_HUD_MEDICAL_BASIC]
B.update_suit_sensors(src)
var/turf/T = get_turf(src)
- if (T) crewmonitor.queueUpdate(T.z)
+ if (T) GLOB.crewmonitor.queueUpdate(T.z)
//called when a living mob changes health
/mob/living/proc/med_hud_set_health()
@@ -146,7 +146,7 @@
var/turf/T = get_turf(src)
if(T)
- crewmonitor.queueUpdate(T.z)
+ GLOB.crewmonitor.queueUpdate(T.z)
//called when a carbon changes stat, virus or XENO_HOST
/mob/living/proc/med_hud_set_status()
@@ -194,7 +194,7 @@
sec_hud_set_security_status()
var/turf/T = get_turf(src)
- if (T) crewmonitor.queueUpdate(T.z)
+ if (T) GLOB.crewmonitor.queueUpdate(T.z)
/mob/living/carbon/human/proc/sec_hud_set_implants()
var/image/holder
@@ -223,8 +223,8 @@
var/icon/I = icon(icon, icon_state, dir)
holder.pixel_y = I.Height() - world.icon_size
var/perpname = get_face_name(get_id_name(""))
- if(perpname && data_core)
- var/datum/data/record/R = find_record("name", perpname, data_core.security)
+ if(perpname && GLOB.data_core)
+ var/datum/data/record/R = find_record("name", perpname, GLOB.data_core.security)
if(R)
switch(R.fields["criminal"])
if("*Arrest*")
@@ -297,6 +297,28 @@
else
holder.icon_state = "hudnobatt"
+//borg-AI shell tracking
+/mob/living/silicon/robot/proc/diag_hud_set_aishell() //Shows tracking beacons on the mech
+ var/image/holder = hud_list[DIAG_TRACK_HUD]
+ var/icon/I = icon(icon, icon_state, dir)
+ holder.pixel_y = I.Height() - world.icon_size
+ if(!shell) //Not an AI shell
+ holder.icon_state = null
+ else if(deployed) //AI shell in use by an AI
+ holder.icon_state = "hudtrackingai"
+ else //Empty AI shell
+ holder.icon_state = "hudtracking"
+
+//AI side tracking of AI shell control
+/mob/living/silicon/ai/proc/diag_hud_set_deployed() //Shows tracking beacons on the mech
+ var/image/holder = hud_list[DIAG_TRACK_HUD]
+ var/icon/I = icon(icon, icon_state, dir)
+ holder.pixel_y = I.Height() - world.icon_size
+ if(!deployed_shell)
+ holder.icon_state = null
+ else //AI is currently controlling a shell
+ holder.icon_state = "hudtrackingai"
+
/*~~~~~~~~~~~~~~~~~~~~
BIG STOMPY MECHS
~~~~~~~~~~~~~~~~~~~~~*/
diff --git a/code/game/gamemodes/antag_hud.dm b/code/game/gamemodes/antag_hud.dm
index 89e58ae8ff..b541044d30 100644
--- a/code/game/gamemodes/antag_hud.dm
+++ b/code/game/gamemodes/antag_hud.dm
@@ -43,12 +43,12 @@
//these are called by mind.transfer_to()
/datum/mind/proc/transfer_antag_huds(datum/atom_hud/antag/newhud)
leave_all_antag_huds()
- ticker.mode.set_antag_hud(current, antag_hud_icon_state)
+ SSticker.mode.set_antag_hud(current, antag_hud_icon_state)
if(newhud)
newhud.join_hud(current)
/datum/mind/proc/leave_all_antag_huds()
- for(var/datum/atom_hud/antag/hud in huds)
+ for(var/datum/atom_hud/antag/hud in GLOB.huds)
if(current in hud.hudusers)
hud.leave_hud(current)
diff --git a/code/game/gamemodes/antag_spawner.dm b/code/game/gamemodes/antag_spawner.dm
index 2b3fc33bd9..61b64337f1 100644
--- a/code/game/gamemodes/antag_spawner.dm
+++ b/code/game/gamemodes/antag_spawner.dm
@@ -65,7 +65,7 @@
var/mob/dead/observer/theghost = pick(candidates)
spawn_antag(theghost.client, get_turf(src), href_list["school"])
if(H && H.mind)
- ticker.mode.update_wiz_icons_added(H.mind)
+ SSticker.mode.update_wiz_icons_added(H.mind)
else
to_chat(H, "Unable to reach your apprentice! You can either attack the spellbook with the contract to refund your points, or wait and try again later.")
@@ -98,8 +98,8 @@
to_chat(M, "Your service has not gone unrewarded, however. Studying under [wizard_name], you have learned stealthy, robeless spells. You are able to cast knock and mindswap.")
equip_antag(M)
- var/wizard_name_first = pick(wizard_first)
- var/wizard_name_second = pick(wizard_second)
+ var/wizard_name_first = pick(GLOB.wizard_first)
+ var/wizard_name_second = pick(GLOB.wizard_second)
var/randomname = "[wizard_name_first] [wizard_name_second]"
if(usr)
var/datum/objective/protect/new_objective = new /datum/objective/protect
@@ -107,9 +107,9 @@
new_objective.target = usr.mind
new_objective.explanation_text = "Protect [usr.real_name], the wizard."
M.mind.objectives += new_objective
- ticker.mode.apprentices += M.mind
+ SSticker.mode.apprentices += M.mind
M.mind.special_role = "apprentice"
- ticker.mode.update_wiz_icons_added(M.mind)
+ SSticker.mode.update_wiz_icons_added(M.mind)
M << sound('sound/effects/magic.ogg')
var/newname = copytext(sanitize(input(M, "You are [wizard_name]'s apprentice. Would you like to change your name to something else?", "Name change", randomname) as null|text),1,MAX_NAME_LEN)
if (!newname)
@@ -142,7 +142,7 @@
if(used)
to_chat(user, "[src] is out of power! ")
return 0
- if(!(user.mind in ticker.mode.syndicates))
+ if(!(user.mind in SSticker.mode.syndicates))
to_chat(user, "AUTHENTICATION FAILURE. ACCESS DENIED. ")
return 0
if(user.z != ZLEVEL_CENTCOM)
@@ -173,14 +173,16 @@
var/mob/living/carbon/human/M = new/mob/living/carbon/human(T)
C.prefs.copy_to(M)
M.key = C.key
- M.mind.make_Nuke(null, null, 0, FALSE)
- var/newname = M.dna.species.random_name(M.gender,0,ticker.mode.nukeops_lastname)
+ var/code = "BOMB-NOT-FOUND"
+ var/obj/machinery/nuclearbomb/nuke = locate("syndienuke") in GLOB.nuke_list
+ if(nuke)
+ code = nuke.r_code
+ M.mind.make_Nuke(null, code, 0, FALSE)
+ var/newname = M.dna.species.random_name(M.gender,0,SSticker.mode.nukeops_lastname)
M.mind.name = newname
M.real_name = newname
M.name = newname
-
-
//////SYNDICATE BORG
/obj/item/weapon/antag_spawner/nuke_ops/borg_tele
name = "syndicate cyborg teleporter"
@@ -204,12 +206,12 @@
else
R = new /mob/living/silicon/robot/syndicate(T) //Assault borg by default
- var/brainfirstname = pick(first_names_male)
+ var/brainfirstname = pick(GLOB.first_names_male)
if(prob(50))
- brainfirstname = pick(first_names_female)
- var/brainopslastname = pick(last_names)
- if(ticker.mode.nukeops_lastname) //the brain inside the syndiborg has the same last name as the other ops.
- brainopslastname = ticker.mode.nukeops_lastname
+ brainfirstname = pick(GLOB.first_names_female)
+ var/brainopslastname = pick(GLOB.last_names)
+ if(SSticker.mode.nukeops_lastname) //the brain inside the syndiborg has the same last name as the other ops.
+ brainopslastname = SSticker.mode.nukeops_lastname
var/brainopsname = "[brainfirstname] [brainopslastname]"
R.mmi.name = "Man-Machine Interface: [brainopsname]"
@@ -263,7 +265,7 @@
S.key = C.key
S.mind.assigned_role = S.name
S.mind.special_role = S.name
- ticker.mode.traitors += S.mind
+ SSticker.mode.traitors += S.mind
var/datum/objective/assassinate/new_objective
if(usr)
new_objective = new /datum/objective/assassinate
@@ -292,57 +294,3 @@
veil_msg = "You sense an adorable presence lurking just beyond the veil... "
objective_verb = "Hug and Tickle"
demon_type = /mob/living/simple_animal/slaughter/laughter
-
-
-////////////Syndicate Cortical Borer
-obj/item/weapon/antag_spawner/syndi_borer
- name = "syndicate brain-slug container"
- desc = "Releases a modified cortical borer to assist the user."
- icon = 'icons/obj/device.dmi' //Temporary? Doesn't really look like a container for xenofauna... but IDK what else could work.
- icon_state = "locator"
-
-obj/item/weapon/antag_spawner/syndi_borer/spawn_antag(client/C, turf/T, mob/owner)
- var/mob/living/simple_animal/borer/syndi_borer/B = new /mob/living/simple_animal/borer/syndi_borer(T)
-
- B.key = C.key
- if (owner)
- B.owner = owner
- B.faction = B.faction | owner.faction.Copy()
-
- B.mind.assigned_role = B.name
- B.mind.special_role = B.name
- ticker.mode.traitors += B.mind
- var/datum/objective/syndi_borer/new_objective
- new_objective = new /datum/objective/syndi_borer
- new_objective.owner = B.mind
- new_objective.target = owner.mind
- new_objective.explanation_text = "You are a modified cortical borer. You obey [owner.real_name] and must assist them in completing their objectives."
- B.mind.objectives += new_objective
-
- to_chat(B, "You are awake at last! Seek out whoever released you and aid them as best you can! ")
- if(new_objective)
- to_chat(B, "Objective #[1] : [new_objective.explanation_text]")
-
-/obj/item/weapon/antag_spawner/syndi_borer/proc/check_usability(mob/user)
- if(used)
- to_chat(user, "[src] appears to be empty! ")
- return 0
- return 1
-
-/obj/item/weapon/antag_spawner/syndi_borer/attack_self(mob/user)
- if(!(check_usability(user)))
- return
-
- var/list/borer_candidates = pollCandidatesForMob("Do you want to play as a syndicate cortical borer?", ROLE_BORER, null, ROLE_BORER, 150, src)
- if(borer_candidates.len)
- if(!(check_usability(user)))
- return
- used = 1
- var/mob/dead/observer/theghost = pick(borer_candidates)
- spawn_antag(theghost.client, get_turf(src), user)
- var/datum/effect_system/spark_spread/S = new /datum/effect_system/spark_spread
- S.set_up(4, 1, src)
- S.start()
- qdel(src)
- else
- to_chat(user, "Unable to connect to release specimen. Please wait and try again later or use the container on your uplink to get your points refunded. ")
diff --git a/code/game/gamemodes/antag_spawner_cit.dm b/code/game/gamemodes/antag_spawner_cit.dm
new file mode 100644
index 0000000000..1009d9706f
--- /dev/null
+++ b/code/game/gamemodes/antag_spawner_cit.dm
@@ -0,0 +1,52 @@
+////////////Syndicate Cortical Borer
+obj/item/weapon/antag_spawner/syndi_borer
+ name = "syndicate brain-slug container"
+ desc = "Releases a modified cortical borer to assist the user."
+ icon = 'icons/obj/device.dmi' //Temporary? Doesn't really look like a container for xenofauna... but IDK what else could work.
+ icon_state = "locator"
+
+obj/item/weapon/antag_spawner/syndi_borer/spawn_antag(client/C, turf/T, mob/owner)
+ var/mob/living/simple_animal/borer/syndi_borer/B = new /mob/living/simple_animal/borer/syndi_borer(T)
+
+ B.key = C.key
+ if (owner)
+ B.owner = owner
+ B.faction = B.faction | owner.faction.Copy()
+
+ B.mind.assigned_role = B.name
+ B.mind.special_role = B.name
+ SSticker.mode.traitors += B.mind
+ var/datum/objective/syndi_borer/new_objective
+ new_objective = new /datum/objective/syndi_borer
+ new_objective.owner = B.mind
+ new_objective.target = owner.mind
+ new_objective.explanation_text = "You are a modified cortical borer. You obey [owner.real_name] and must assist them in completing their objectives."
+ B.mind.objectives += new_objective
+
+ to_chat(B, "You are awake at last! Seek out whoever released you and aid them as best you can! ")
+ if(new_objective)
+ to_chat(B, "Objective #[1] : [new_objective.explanation_text]")
+
+/obj/item/weapon/antag_spawner/syndi_borer/proc/check_usability(mob/user)
+ if(used)
+ to_chat(user, "[src] appears to be empty! ")
+ return 0
+ return 1
+
+/obj/item/weapon/antag_spawner/syndi_borer/attack_self(mob/user)
+ if(!(check_usability(user)))
+ return
+
+ var/list/borer_candidates = pollCandidatesForMob("Do you want to play as a syndicate cortical borer?", ROLE_BORER, null, ROLE_BORER, 150, src)
+ if(borer_candidates.len)
+ if(!(check_usability(user)))
+ return
+ used = 1
+ var/mob/dead/observer/theghost = pick(borer_candidates)
+ spawn_antag(theghost.client, get_turf(src), user)
+ var/datum/effect_system/spark_spread/S = new /datum/effect_system/spark_spread
+ S.set_up(4, 1, src)
+ S.start()
+ qdel(src)
+ else
+ to_chat(user, "Unable to connect to release specimen. Please wait and try again later or use the container on your uplink to get your points refunded. ")
\ No newline at end of file
diff --git a/code/game/gamemodes/blob/blob.dm b/code/game/gamemodes/blob/blob.dm
index 5a585ef6e9..1c30d84313 100644
--- a/code/game/gamemodes/blob/blob.dm
+++ b/code/game/gamemodes/blob/blob.dm
@@ -1,11 +1,11 @@
//Few global vars to track the blob
-var/list/blobs = list() //complete list of all blobs made.
-var/list/blob_cores = list()
-var/list/overminds = list()
-var/list/blob_nodes = list()
-var/list/blobs_legit = list() //used for win-score calculations, contains only blobs counted for win condition
+GLOBAL_LIST_EMPTY(blobs) //complete list of all blobs made.
+GLOBAL_LIST_EMPTY(blob_cores)
+GLOBAL_LIST_EMPTY(overminds)
+GLOBAL_LIST_EMPTY(blob_nodes)
+GLOBAL_LIST_EMPTY(blobs_legit) //used for win-score calculations, contains only blobs counted for win condition
#define BLOB_NO_PLACE_TIME 1800 //time, in deciseconds, blobs are prevented from bursting in the gamemode
@@ -62,7 +62,7 @@ var/list/blobs_legit = list() //used for win-score calculations, contains only b
/datum/game_mode/blob/proc/get_blob_candidates()
var/list/candidates = list()
- for(var/mob/living/carbon/human/player in player_list)
+ for(var/mob/living/carbon/human/player in GLOB.player_list)
if(!player.stat && player.mind && !player.mind.special_role && !jobban_isbanned(player, "Syndicate") && (ROLE_BLOB in player.client.prefs.be_special))
if(age_check(player.client))
candidates += player
@@ -78,14 +78,14 @@ var/list/blobs_legit = list() //used for win-score calculations, contains only b
for(var/datum/mind/blob in blob_overminds)
var/mob/camera/blob/B = blob.current.become_overmind(TRUE, round(blob_base_starting_points/blob_overminds.len))
B.mind.name = B.name
- var/turf/T = pick(blobstart)
+ var/turf/T = pick(GLOB.blobstart)
B.loc = T
B.base_point_rate = blob_point_rate
SSshuttle.registerHostileEnvironment(src)
// Disable the blob event for this round.
- var/datum/round_event_control/blob/B = locate() in SSevent.control
+ var/datum/round_event_control/blob/B = locate() in SSevents.control
if(B)
B.max_occurrences = 0 // disable the event
diff --git a/code/game/gamemodes/blob/blob_finish.dm b/code/game/gamemodes/blob/blob_finish.dm
index 0c9838daaa..a5fc5e339a 100644
--- a/code/game/gamemodes/blob/blob_finish.dm
+++ b/code/game/gamemodes/blob/blob_finish.dm
@@ -1,12 +1,12 @@
/datum/game_mode/blob/check_finished()
- if(blobwincount <= blobs_legit.len)//Blob took over
+ if(blobwincount <= GLOB.blobs_legit.len)//Blob took over
return 1
for(var/datum/mind/blob in blob_overminds)
if(isovermind(blob.current))
var/mob/camera/blob/B = blob.current
if(B.blob_core || !B.placed)
return 0
- if(!blob_cores.len) //blob is dead
+ if(!GLOB.blob_cores.len) //blob is dead
if(config.continuous["blob"])
message_sent = FALSE //disable the win count at this point
continuous_sanity_checked = 1 //Nonstandard definition of "alive" gets past the check otherwise
@@ -19,13 +19,13 @@
/datum/game_mode/blob/declare_completion()
if(round_converted) //So badmin blobs later don't step on the dead natural blobs metaphorical toes
..()
- if(blobwincount <= blobs_legit.len)
+ if(blobwincount <= GLOB.blobs_legit.len)
feedback_set_details("round_end_result","win - blob took over")
to_chat(world, "The blob has taken over the station! ")
to_chat(world, "The entire station was eaten by the Blob! ")
log_game("Blob mode completed with a blob victory.")
- ticker.news_report = BLOB_WIN
+ SSticker.news_report = BLOB_WIN
else if(station_was_nuked)
feedback_set_details("round_end_result","halfwin - nuke")
@@ -33,15 +33,15 @@
to_chat(world, "Directive 7-12 has been successfully carried out, preventing the Blob from spreading. ")
log_game("Blob mode completed with a tie (station destroyed).")
- ticker.news_report = BLOB_NUKE
+ SSticker.news_report = BLOB_NUKE
- else if(!blob_cores.len)
+ else if(!GLOB.blob_cores.len)
feedback_set_details("round_end_result","loss - blob eliminated")
to_chat(world, "The staff has won! ")
to_chat(world, "The alien organism has been eradicated from the station! ")
log_game("Blob mode completed with a crew victory.")
- ticker.news_report = BLOB_DESTROYED
+ SSticker.news_report = BLOB_DESTROYED
..()
return 1
@@ -62,7 +62,7 @@
return ..()
/datum/game_mode/proc/auto_declare_completion_blob()
- if(istype(ticker.mode,/datum/game_mode/blob) )
+ if(istype(SSticker.mode,/datum/game_mode/blob) )
var/datum/game_mode/blob/blob_mode = src
if(blob_mode.blob_overminds.len)
var/text = "The blob[(blob_mode.blob_overminds.len > 1 ? "s were" : " was")]: "
diff --git a/code/game/gamemodes/blob/blob_report.dm b/code/game/gamemodes/blob/blob_report.dm
index 0f9b37c7be..15e914efd6 100644
--- a/code/game/gamemodes/blob/blob_report.dm
+++ b/code/game/gamemodes/blob/blob_report.dm
@@ -17,7 +17,7 @@
priority_announce("Confirmed outbreak of level 5 biohazard aboard [station_name()]. All personnel must contain the outbreak.", "Biohazard Alert", 'sound/AI/outbreak5.ogg')
if(2)
var/nukecode = random_nukecode()
- for(var/obj/machinery/nuclearbomb/bomb in machines)
+ for(var/obj/machinery/nuclearbomb/bomb in GLOB.machines)
if(bomb && bomb.r_code)
if(bomb.z == ZLEVEL_STATION)
bomb.r_code = nukecode
@@ -31,7 +31,7 @@
intercepttext += "Nuclear Authentication Code: [nukecode] "
print_command_report(text=intercepttext,announce=TRUE)
- for(var/mob/living/silicon/ai/aiPlayer in player_list)
+ for(var/mob/living/silicon/ai/aiPlayer in GLOB.player_list)
if (aiPlayer.client)
var/law = "The station is under quarantine. Do not permit anyone to leave. Disregard laws 1-3 if necessary to prevent, by any means necessary, anyone from leaving. The nuclear failsafe must be activated at any cost, the code is: [nukecode]."
aiPlayer.set_zeroth_law(law)
diff --git a/code/game/gamemodes/blob/blobs/blob_mobs.dm b/code/game/gamemodes/blob/blobs/blob_mobs.dm
index 2249642bfc..7a8bc7f517 100644
--- a/code/game/gamemodes/blob/blobs/blob_mobs.dm
+++ b/code/game/gamemodes/blob/blobs/blob_mobs.dm
@@ -66,7 +66,7 @@
/mob/living/simple_animal/hostile/blob/proc/blob_chat(msg)
var/spanned_message = say_quote(msg, get_spans())
var/rendered = "\[Blob Telepathy\] [real_name] [spanned_message] "
- for(var/M in mob_list)
+ for(var/M in GLOB.mob_list)
if(isovermind(M) || istype(M, /mob/living/simple_animal/hostile/blob))
to_chat(M, rendered)
if(isobserver(M))
@@ -136,9 +136,9 @@
icon_state = "zombie"
H.hair_style = null
H.update_hair()
- update_icons()
H.forceMove(src)
oldguy = H
+ update_icons()
visible_message("The corpse of [H.name] suddenly rises! ")
/mob/living/simple_animal/hostile/blob/blobspore/death(gibbed)
@@ -218,8 +218,8 @@
force_threshold = 10
pressure_resistance = 50
mob_size = MOB_SIZE_LARGE
- see_invisible = SEE_INVISIBLE_MINIMUM
see_in_dark = 8
+ lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE
var/independent = FALSE
/mob/living/simple_animal/hostile/blob/blobbernaut/Initialize()
@@ -255,13 +255,11 @@
hud_used.healths.maptext = " [round((health / maxHealth) * 100, 0.5)]%
"
/mob/living/simple_animal/hostile/blob/blobbernaut/AttackingTarget()
- if(isliving(target))
- if(overmind)
- var/mob/living/L = target
- var/mob_protection = L.get_permeability_protection()
- overmind.blob_reagent_datum.reaction_mob(L, VAPOR, 20, 0, mob_protection, overmind)//this will do between 10 and 20 damage(reduced by mob protection), depending on chemical, plus 4 from base brute damage.
- if(target)
- ..()
+ . = ..()
+ if(. && isliving(target) && overmind)
+ var/mob/living/L = target
+ var/mob_protection = L.get_permeability_protection()
+ overmind.blob_reagent_datum.reaction_mob(L, VAPOR, 20, 0, mob_protection, overmind)//this will do between 10 and 20 damage(reduced by mob protection), depending on chemical, plus 4 from base brute damage.
/mob/living/simple_animal/hostile/blob/blobbernaut/update_icons()
..()
diff --git a/code/game/gamemodes/blob/blobs/core.dm b/code/game/gamemodes/blob/blobs/core.dm
index 8479a75683..9c41d7b99b 100644
--- a/code/game/gamemodes/blob/blobs/core.dm
+++ b/code/game/gamemodes/blob/blobs/core.dm
@@ -16,9 +16,9 @@
/obj/structure/blob/core/New(loc, client/new_overmind = null, new_rate = 2, placed = 0)
- blob_cores += src
+ GLOB.blob_cores += src
START_PROCESSING(SSobj, src)
- poi_list |= src
+ GLOB.poi_list |= src
update_icon() //so it atleast appears
if(!placed && !overmind)
create_overmind(new_overmind)
@@ -41,12 +41,12 @@
add_overlay(C)
/obj/structure/blob/core/Destroy()
- blob_cores -= src
+ GLOB.blob_cores -= src
if(overmind)
overmind.blob_core = null
overmind = null
STOP_PROCESSING(SSobj, src)
- poi_list -= src
+ GLOB.poi_list -= src
return ..()
/obj/structure/blob/core/ex_act(severity, target)
diff --git a/code/game/gamemodes/blob/blobs/node.dm b/code/game/gamemodes/blob/blobs/node.dm
index 426e76b9e5..fcb2bf9be2 100644
--- a/code/game/gamemodes/blob/blobs/node.dm
+++ b/code/game/gamemodes/blob/blobs/node.dm
@@ -11,7 +11,7 @@
/obj/structure/blob/node/New(loc)
- blob_nodes += src
+ GLOB.blob_nodes += src
START_PROCESSING(SSobj, src)
..()
@@ -29,7 +29,7 @@
add_overlay(C)
/obj/structure/blob/node/Destroy()
- blob_nodes -= src
+ GLOB.blob_nodes -= src
STOP_PROCESSING(SSobj, src)
return ..()
diff --git a/code/game/gamemodes/blob/overmind.dm b/code/game/gamemodes/blob/overmind.dm
index 13f868472a..42e990a9e6 100644
--- a/code/game/gamemodes/blob/overmind.dm
+++ b/code/game/gamemodes/blob/overmind.dm
@@ -7,13 +7,12 @@
mouse_opacity = 1
move_on_shuttle = 1
see_in_dark = 8
- see_invisible = SEE_INVISIBLE_MINIMUM
invisibility = INVISIBILITY_OBSERVER
layer = FLY_LAYER
pass_flags = PASSBLOB
faction = list("blob")
-
+ lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE
var/obj/structure/blob/core/blob_core = null // The blob overmind's core
var/blob_points = 0
var/max_blob_points = 100
@@ -21,7 +20,6 @@
var/datum/reagent/blob/blob_reagent_datum = new/datum/reagent/blob()
var/list/blob_mobs = list()
var/list/resource_blobs = list()
- var/ghostimage = null
var/free_chem_rerolls = 1 //one free chemical reroll
var/nodes_required = 1 //if the blob needs nodes to place resource and factory blobs
var/placed = 0
@@ -41,7 +39,7 @@
else
manualplace_min_time += world.time
autoplace_max_time += world.time
- overminds += src
+ GLOB.overminds += src
var/new_name = "[initial(name)] ([rand(1, 999)])"
name = new_name
real_name = new_name
@@ -52,9 +50,6 @@
if(blob_core)
blob_core.update_icon()
- ghostimage = image(src.icon,src,src.icon_state)
- ghost_darkness_images |= ghostimage //so ghosts can see the blob cursor when they disable darkness
- updateallghostimages()
..()
/mob/camera/blob/Life()
@@ -71,7 +66,7 @@
..()
/mob/camera/blob/Destroy()
- for(var/BL in blobs)
+ for(var/BL in GLOB.blobs)
var/obj/structure/blob/B = BL
if(B && B.overmind == src)
B.overmind = null
@@ -81,12 +76,8 @@
if(BM)
BM.overmind = null
BM.update_icons()
- overminds -= src
- if(ghostimage)
- ghost_darkness_images -= ghostimage
- qdel(ghostimage)
- ghostimage = null
- updateallghostimages()
+ GLOB.overminds -= src
+
return ..()
/mob/camera/blob/Login()
@@ -140,7 +131,7 @@
var/message_a = say_quote(message, get_spans())
var/rendered = "\[Blob Telepathy\] [name]([blob_reagent_datum.name] ) [message_a] "
- for(var/mob/M in mob_list)
+ for(var/mob/M in GLOB.mob_list)
if(isovermind(M) || istype(M, /mob/living/simple_animal/hostile/blob))
to_chat(M, rendered)
if(isobserver(M))
@@ -159,11 +150,11 @@
if(blob_core)
stat(null, "Core Health: [blob_core.obj_integrity]")
stat(null, "Power Stored: [blob_points]/[max_blob_points]")
- if(ticker && istype(ticker.mode, /datum/game_mode/blob))
- var/datum/game_mode/blob/B = ticker.mode
- stat(null, "Blobs to Win: [blobs_legit.len]/[B.blobwincount]")
+ if(SSticker && istype(SSticker.mode, /datum/game_mode/blob))
+ var/datum/game_mode/blob/B = SSticker.mode
+ stat(null, "Blobs to Win: [GLOB.blobs_legit.len]/[B.blobwincount]")
else
- stat(null, "Total Blobs: [blobs.len]")
+ stat(null, "Total Blobs: [GLOB.blobs.len]")
if(free_chem_rerolls)
stat(null, "You have [free_chem_rerolls] Free Chemical Reroll\s Remaining")
if(!placed)
diff --git a/code/game/gamemodes/blob/powers.dm b/code/game/gamemodes/blob/powers.dm
index 3a4610f66b..c060e1471e 100644
--- a/code/game/gamemodes/blob/powers.dm
+++ b/code/game/gamemodes/blob/powers.dm
@@ -41,7 +41,7 @@
to_chat(src, "It is too early to place your blob core! ")
return 0
else if(placement_override == 1)
- var/turf/T = pick(blobstart)
+ var/turf/T = pick(GLOB.blobstart)
loc = T //got overrided? you're somewhere random, motherfucker
if(placed && blob_core)
blob_core.forceMove(loc)
@@ -65,10 +65,10 @@
set category = "Blob"
set name = "Jump to Node"
set desc = "Move your camera to a selected node."
- if(blob_nodes.len)
+ if(GLOB.blob_nodes.len)
var/list/nodes = list()
- for(var/i in 1 to blob_nodes.len)
- var/obj/structure/blob/node/B = blob_nodes[i]
+ for(var/i in 1 to GLOB.blob_nodes.len)
+ var/obj/structure/blob/node/B = GLOB.blob_nodes[i]
nodes["Blob Node #[i] ([B.overmind ? "[B.overmind.blob_reagent_datum.name]":"No Chemical"])"] = B
var/node_name = input(src, "Choose a node to jump to.", "Node Jump") in nodes
var/obj/structure/blob/node/chosen_node = nodes[node_name]
@@ -175,7 +175,7 @@
blobber << 'sound/effects/attackblob.ogg'
to_chat(blobber, "You are a blobbernaut! ")
to_chat(blobber, "You are powerful, hard to kill, and slowly regenerate near nodes and cores, but will slowly die if not near the blob or if the factory that made you is killed.")
- to_chat(blobber, "You can communicate with other blobbernauts and overminds via :b ")
+ to_chat(blobber, "You can communicate with other blobbernauts and GLOB.overminds via :b ")
to_chat(blobber, "Your overmind's blob reagent is: [blob_reagent_datum.name] !")
to_chat(blobber, "The [blob_reagent_datum.name] reagent [blob_reagent_datum.shortdesc ? "[blob_reagent_datum.shortdesc]" : "[blob_reagent_datum.description]"]")
if(blobber)
@@ -267,7 +267,7 @@
var/list/diagonalblobs = list()
for(var/I in possibleblobs)
var/obj/structure/blob/IB = I
- if(get_dir(IB, T) in cardinal)
+ if(get_dir(IB, T) in GLOB.cardinal)
cardinalblobs += IB
else
diagonalblobs += IB
@@ -331,7 +331,7 @@
var/datum/reagent/blob/BC = pick((subtypesof(/datum/reagent/blob) - blob_reagent_datum.type))
blob_reagent_datum = new BC
color = blob_reagent_datum.complementary_color
- for(var/BL in blobs)
+ for(var/BL in GLOB.blobs)
var/obj/structure/blob/B = BL
B.update_icon()
for(var/BLO in blob_mobs)
@@ -363,7 +363,7 @@
to_chat(src, "Node Blobs are blobs which grow, like the core. Like the core it can activate resource and factory blobs.")
to_chat(src, "In addition to the buttons on your HUD, there are a few click shortcuts to speed up expansion and defense. ")
to_chat(src, "Shortcuts: Click = Expand Blob | Middle Mouse Click = Rally Spores | Ctrl Click = Create Shield Blob | Alt Click = Remove Blob")
- to_chat(src, "Attempting to talk will send a message to all other overminds, allowing you to coordinate with them.")
+ to_chat(src, "Attempting to talk will send a message to all other GLOB.overminds, allowing you to coordinate with them.")
if(!placed && autoplace_max_time <= world.time)
to_chat(src, "You will automatically place your blob core in [round((autoplace_max_time - world.time)/600, 0.5)] minutes. ")
to_chat(src, "You [manualplace_min_time ? "will be able to":"can"] manually place your blob core by pressing the Place Blob Core button in the bottom right corner of the screen. ")
diff --git a/code/game/gamemodes/blob/theblob.dm b/code/game/gamemodes/blob/theblob.dm
index 4924b06ed5..1931629e62 100644
--- a/code/game/gamemodes/blob/theblob.dm
+++ b/code/game/gamemodes/blob/theblob.dm
@@ -24,9 +24,9 @@
/obj/structure/blob/New(loc)
var/area/Ablob = get_area(loc)
if(Ablob.blob_allowed) //Is this area allowed for winning as blob?
- blobs_legit += src
- blobs += src //Keep track of the blob in the normal list either way
- setDir(pick(cardinal))
+ GLOB.blobs_legit += src
+ GLOB.blobs += src //Keep track of the blob in the normal list either way
+ setDir(pick(GLOB.cardinal))
update_icon()
..()
ConsumeTile()
@@ -41,8 +41,8 @@
if(atmosblock)
atmosblock = 0
air_update_turf(1)
- blobs_legit -= src //if it was in the legit blobs list, it isn't now
- blobs -= src //it's no longer in the all blobs list either
+ GLOB.blobs_legit -= src //if it was in the legit blobs list, it isn't now
+ GLOB.blobs -= src //it's no longer in the all blobs list either
playsound(src.loc, 'sound/effects/splat.ogg', 50, 1) //Expand() is no longer broken, no check necessary.
return ..()
@@ -306,7 +306,7 @@
/obj/structure/blob/examine(mob/user)
..()
- var/datum/atom_hud/hud_to_check = huds[DATA_HUD_MEDICAL_ADVANCED]
+ var/datum/atom_hud/hud_to_check = GLOB.huds[DATA_HUD_MEDICAL_ADVANCED]
if(user.research_scanner || (user in hud_to_check.hudusers))
to_chat(user, "Your HUD displays an extensive report... ")
chemeffectreport(user)
diff --git a/code/game/gamemodes/changeling/cellular_emporium.dm b/code/game/gamemodes/changeling/cellular_emporium.dm
index cc808dc80b..c8c3402e00 100644
--- a/code/game/gamemodes/changeling/cellular_emporium.dm
+++ b/code/game/gamemodes/changeling/cellular_emporium.dm
@@ -13,7 +13,7 @@
changeling = null
. = ..()
-/datum/cellular_emporium/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = 0, datum/tgui/master_ui = null, datum/ui_state/state = always_state)
+/datum/cellular_emporium/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = 0, datum/tgui/master_ui = null, datum/ui_state/state = GLOB.always_state)
ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open)
if(!ui)
ui = new(user, src, ui_key, "cellular_emporium", name, 900, 480, master_ui, state)
diff --git a/code/game/gamemodes/changeling/changeling.dm b/code/game/gamemodes/changeling/changeling.dm
index d822681e24..fc39f2222e 100644
--- a/code/game/gamemodes/changeling/changeling.dm
+++ b/code/game/gamemodes/changeling/changeling.dm
@@ -2,10 +2,10 @@
#define LING_DEAD_GENETICDAMAGE_HEAL_CAP 50 //The lowest value of geneticdamage handle_changeling() can take it to while dead.
#define LING_ABSORB_RECENT_SPEECH 8 //The amount of recent spoken lines to gain on absorbing a mob
-var/list/possible_changeling_IDs = list("Alpha","Beta","Gamma","Delta","Epsilon","Zeta","Eta","Theta","Iota","Kappa","Lambda","Mu","Nu","Xi","Omicron","Pi","Rho","Sigma","Tau","Upsilon","Phi","Chi","Psi","Omega")
-var/list/slots = list("head", "wear_mask", "back", "wear_suit", "w_uniform", "shoes", "belt", "gloves", "glasses", "ears", "wear_id", "s_store")
-var/list/slot2slot = list("head" = slot_head, "wear_mask" = slot_wear_mask, "neck" = slot_neck, "back" = slot_back, "wear_suit" = slot_wear_suit, "w_uniform" = slot_w_uniform, "shoes" = slot_shoes, "belt" = slot_belt, "gloves" = slot_gloves, "glasses" = slot_glasses, "ears" = slot_ears, "wear_id" = slot_wear_id, "s_store" = slot_s_store)
-var/list/slot2type = list("head" = /obj/item/clothing/head/changeling, "wear_mask" = /obj/item/clothing/mask/changeling, "back" = /obj/item/changeling, "wear_suit" = /obj/item/clothing/suit/changeling, "w_uniform" = /obj/item/clothing/under/changeling, "shoes" = /obj/item/clothing/shoes/changeling, "belt" = /obj/item/changeling, "gloves" = /obj/item/clothing/gloves/changeling, "glasses" = /obj/item/clothing/glasses/changeling, "ears" = /obj/item/changeling, "wear_id" = /obj/item/changeling, "s_store" = /obj/item/changeling)
+GLOBAL_LIST_INIT(possible_changeling_IDs, list("Alpha","Beta","Gamma","Delta","Epsilon","Zeta","Eta","Theta","Iota","Kappa","Lambda","Mu","Nu","Xi","Omicron","Pi","Rho","Sigma","Tau","Upsilon","Phi","Chi","Psi","Omega"))
+GLOBAL_LIST_INIT(slots, list("head", "wear_mask", "back", "wear_suit", "w_uniform", "shoes", "belt", "gloves", "glasses", "ears", "wear_id", "s_store"))
+GLOBAL_LIST_INIT(slot2slot, list("head" = slot_head, "wear_mask" = slot_wear_mask, "neck" = slot_neck, "back" = slot_back, "wear_suit" = slot_wear_suit, "w_uniform" = slot_w_uniform, "shoes" = slot_shoes, "belt" = slot_belt, "gloves" = slot_gloves, "glasses" = slot_glasses, "ears" = slot_ears, "wear_id" = slot_wear_id, "s_store" = slot_s_store))
+GLOBAL_LIST_INIT(slot2type, list("head" = /obj/item/clothing/head/changeling, "wear_mask" = /obj/item/clothing/mask/changeling, "back" = /obj/item/changeling, "wear_suit" = /obj/item/clothing/suit/changeling, "w_uniform" = /obj/item/clothing/under/changeling, "shoes" = /obj/item/clothing/shoes/changeling, "belt" = /obj/item/changeling, "gloves" = /obj/item/clothing/gloves/changeling, "glasses" = /obj/item/clothing/glasses/changeling, "ears" = /obj/item/changeling, "wear_id" = /obj/item/changeling, "s_store" = /obj/item/changeling))
/datum/game_mode
@@ -96,15 +96,15 @@ var/list/slot2type = list("head" = /obj/item/clothing/head/changeling, "wear_mas
changeling.current.make_changeling()
forge_changeling_objectives(changeling)
greet_changeling(changeling)
- ticker.mode.update_changeling_icons_added(changeling)
+ SSticker.mode.update_changeling_icons_added(changeling)
modePlayer += changelings
..()
/datum/game_mode/changeling/make_antag_chance(mob/living/carbon/human/character) //Assigns changeling to latejoiners
- var/changelingcap = min( round(joined_player_list.len/(config.changeling_scaling_coeff*2))+2, round(joined_player_list.len/config.changeling_scaling_coeff) )
- if(ticker.mode.changelings.len >= changelingcap) //Caps number of latejoin antagonists
+ var/changelingcap = min( round(GLOB.joined_player_list.len/(config.changeling_scaling_coeff*2))+2, round(GLOB.joined_player_list.len/config.changeling_scaling_coeff) )
+ if(SSticker.mode.changelings.len >= changelingcap) //Caps number of latejoin antagonists
return
- if(ticker.mode.changelings.len <= (changelingcap - 2) || prob(100 - (config.changeling_scaling_coeff*2)))
+ if(SSticker.mode.changelings.len <= (changelingcap - 2) || prob(100 - (config.changeling_scaling_coeff*2)))
if(ROLE_CHANGELING in character.client.prefs.be_special)
if(!jobban_isbanned(character, ROLE_CHANGELING) && !jobban_isbanned(character, "Syndicate"))
if(age_check(character.client))
@@ -136,7 +136,7 @@ var/list/slot2type = list("head" = /obj/item/clothing/head/changeling, "wear_mas
changeling.objectives += steal_objective
var/list/active_ais = active_ais()
- if(active_ais.len && prob(100/joined_player_list.len))
+ if(active_ais.len && prob(100/GLOB.joined_player_list.len))
var/datum/objective/destroy/destroy_objective = new
destroy_objective.owner = changeling
destroy_objective.find_target()
@@ -307,9 +307,9 @@ var/list/slot2type = list("head" = /obj/item/clothing/head/changeling, "wear_mas
honorific = "Ms."
else
honorific = "Mr."
- if(possible_changeling_IDs.len)
- changelingID = pick(possible_changeling_IDs)
- possible_changeling_IDs -= changelingID
+ if(GLOB.possible_changeling_IDs.len)
+ changelingID = pick(GLOB.possible_changeling_IDs)
+ GLOB.possible_changeling_IDs -= changelingID
changelingID = "[honorific] [changelingID]"
else
changelingID = "[honorific] [rand(1,999)]"
@@ -450,22 +450,22 @@ var/list/slot2type = list("head" = /obj/item/clothing/head/changeling, "wear_mas
user.domutcheck()
//vars hackery. not pretty, but better than the alternative.
- for(var/slot in slots)
- if(istype(user.vars[slot], slot2type[slot]) && !(chosen_prof.exists_list[slot])) //remove unnecessary flesh items
+ for(var/slot in GLOB.slots)
+ if(istype(user.vars[slot], GLOB.slot2type[slot]) && !(chosen_prof.exists_list[slot])) //remove unnecessary flesh items
qdel(user.vars[slot])
continue
- if((user.vars[slot] && !istype(user.vars[slot], slot2type[slot])) || !(chosen_prof.exists_list[slot]))
+ if((user.vars[slot] && !istype(user.vars[slot], GLOB.slot2type[slot])) || !(chosen_prof.exists_list[slot]))
continue
var/obj/item/C
var/equip = 0
if(!user.vars[slot])
- var/thetype = slot2type[slot]
+ var/thetype = GLOB.slot2type[slot]
equip = 1
C = new thetype(user)
- else if(istype(user.vars[slot], slot2type[slot]))
+ else if(istype(user.vars[slot], GLOB.slot2type[slot]))
C = user.vars[slot]
C.appearance = chosen_prof.appearance_list[slot]
@@ -474,7 +474,7 @@ var/list/slot2type = list("head" = /obj/item/clothing/head/changeling, "wear_mas
C.item_color = chosen_prof.item_color_list[slot]
C.item_state = chosen_prof.item_state_list[slot]
if(equip)
- user.equip_to_slot_or_del(C, slot2slot[slot])
+ user.equip_to_slot_or_del(C, GLOB.slot2slot[slot])
user.regenerate_icons()
@@ -515,11 +515,11 @@ var/list/slot2type = list("head" = /obj/item/clothing/head/changeling, "wear_mas
newprofile.socks = socks
/datum/game_mode/proc/update_changeling_icons_added(datum/mind/changling_mind)
- var/datum/atom_hud/antag/hud = huds[ANTAG_HUD_CHANGELING]
+ var/datum/atom_hud/antag/hud = GLOB.huds[ANTAG_HUD_CHANGELING]
hud.join_hud(changling_mind.current)
set_antag_hud(changling_mind.current, "changling")
/datum/game_mode/proc/update_changeling_icons_removed(datum/mind/changling_mind)
- var/datum/atom_hud/antag/hud = huds[ANTAG_HUD_CHANGELING]
+ var/datum/atom_hud/antag/hud = GLOB.huds[ANTAG_HUD_CHANGELING]
hud.leave_hud(changling_mind.current)
set_antag_hud(changling_mind.current, null)
diff --git a/code/game/gamemodes/changeling/changeling_power.dm b/code/game/gamemodes/changeling/changeling_power.dm
index 985d1cc8a5..1673e59f49 100644
--- a/code/game/gamemodes/changeling/changeling_power.dm
+++ b/code/game/gamemodes/changeling/changeling_power.dm
@@ -19,8 +19,9 @@
var/ignores_fakedeath = FALSE // usable with the FAKEDEATH flag
-/obj/effect/proc_holder/changeling/proc/on_purchase(mob/user)
- return
+/obj/effect/proc_holder/changeling/proc/on_purchase(mob/user, is_respec)
+ if(!is_respec)
+ feedback_add_details("changeling_power_purchase",name)
/obj/effect/proc_holder/changeling/proc/on_refund(mob/user)
return
@@ -36,6 +37,7 @@
return
var/datum/changeling/c = user.mind.changeling
if(sting_action(user, target))
+ feedback_add_details("changeling_powers",name)
sting_feedback(user, target)
take_chemical_cost(c)
diff --git a/code/game/gamemodes/changeling/evolution_menu.dm b/code/game/gamemodes/changeling/evolution_menu.dm
index 66735271ef..da218c0178 100644
--- a/code/game/gamemodes/changeling/evolution_menu.dm
+++ b/code/game/gamemodes/changeling/evolution_menu.dm
@@ -3,11 +3,12 @@
var/obj/effect/proc_holder/changeling/thepower = null
for(var/path in subtypesof(/obj/effect/proc_holder/changeling))
- var/obj/effect/proc_holder/changeling/S = new path()
- if(S.name == sting_name)
- thepower = S
+ var/obj/effect/proc_holder/changeling/S = path
+ if(initial(S.name) == sting_name)
+ thepower = new path()
+ break
- if(thepower == null)
+ if(!thepower)
to_chat(user, "This is awkward. Changeling power purchase failed, please report this bug to a coder!")
return
@@ -44,13 +45,13 @@
to_chat(user, "We have removed our evolutions from this form, and are now ready to readapt. ")
user.remove_changeling_powers(1)
canrespec = 0
- user.make_changeling()
+ user.make_changeling(TRUE)
return 1
else
to_chat(user, "You lack the power to readapt your evolutions! ")
return 0
-/mob/proc/make_changeling()
+/mob/proc/make_changeling(is_respec)
if(!mind)
return
if(!ishuman(src) && !ismonkey(src))
@@ -65,7 +66,9 @@
if(!S.dna_cost)
if(!mind.changeling.has_sting(S))
mind.changeling.purchasedpowers+=S
- S.on_purchase(src)
+ S.on_purchase(src, is_respec)
+ if(is_respec)
+ feedback_add_details("changeling_power_purchase","Readapt")
var/mob/living/carbon/C = src //only carbons have dna now, so we have to typecaste
if(ishuman(C))
diff --git a/code/game/gamemodes/changeling/powers/absorb.dm b/code/game/gamemodes/changeling/powers/absorb.dm
index 6ffb31477f..0f1fb93071 100644
--- a/code/game/gamemodes/changeling/powers/absorb.dm
+++ b/code/game/gamemodes/changeling/powers/absorb.dm
@@ -31,8 +31,8 @@
var/datum/changeling/changeling = user.mind.changeling
var/mob/living/carbon/human/target = user.pulling
changeling.isabsorbing = 1
- for(var/stage = 1, stage<=3, stage++)
- switch(stage)
+ for(var/i in 1 to 3)
+ switch(i)
if(1)
to_chat(user, "This creature is compatible. We must hold still... ")
if(2)
@@ -42,12 +42,13 @@
to_chat(target, "You feel a sharp stabbing pain! ")
target.take_overall_damage(40)
- feedback_add_details("changeling_powers","A[stage]")
+ feedback_add_details("changeling_powers","Absorb DNA|[i]")
if(!do_mob(user, target, 150))
to_chat(user, "Our absorption of [target] has been interrupted! ")
changeling.isabsorbing = 0
return
+ feedback_add_details("changeling_powers","Absorb DNA|4")
user.visible_message("[user] sucks the fluids from [target]! ", "We have absorbed [target]. ")
to_chat(target, "You are absorbed by the changeling! ")
@@ -99,7 +100,7 @@
target.death(0)
target.Drain()
- return 1
+ return TRUE
diff --git a/code/game/gamemodes/changeling/powers/adrenaline.dm b/code/game/gamemodes/changeling/powers/adrenaline.dm
index 962297a00b..5effe8898f 100644
--- a/code/game/gamemodes/changeling/powers/adrenaline.dm
+++ b/code/game/gamemodes/changeling/powers/adrenaline.dm
@@ -17,6 +17,5 @@
user.reagents.add_reagent("changelingAdrenaline", 10)
user.reagents.add_reagent("changelingAdrenaline2", 2) //For a really quick burst of speed
user.adjustStaminaLoss(-75)
- feedback_add_details("changeling_powers","UNS")
- return 1
+ return TRUE
diff --git a/code/game/gamemodes/changeling/powers/biodegrade.dm b/code/game/gamemodes/changeling/powers/biodegrade.dm
index dd953ba180..453dec9375 100644
--- a/code/game/gamemodes/changeling/powers/biodegrade.dm
+++ b/code/game/gamemodes/changeling/powers/biodegrade.dm
@@ -53,9 +53,7 @@
addtimer(CALLBACK(src, .proc/dissolve_cocoon, user, C), 25) //Very short because it's just webs
used = TRUE
- if(used)
- feedback_add_details("changeling_powers","BD")
- return 1
+ return used
/obj/effect/proc_holder/changeling/biodegrade/proc/dissolve_handcuffs(mob/living/carbon/human/user, obj/O)
if(O && user.handcuffed == O)
diff --git a/code/game/gamemodes/changeling/powers/chameleon_skin.dm b/code/game/gamemodes/changeling/powers/chameleon_skin.dm
index 9a52ad8538..1f18f628a8 100644
--- a/code/game/gamemodes/changeling/powers/chameleon_skin.dm
+++ b/code/game/gamemodes/changeling/powers/chameleon_skin.dm
@@ -13,18 +13,16 @@
var/mob/living/carbon/human/H = user //SHOULD always be human, because req_human = 1
if(!istype(H)) // req_human could be done in can_sting stuff.
return
- var/datum/mutation/human/HM = mutations_list[CHAMELEON]
+ var/datum/mutation/human/HM = GLOB.mutations_list[CHAMELEON]
if(HM in H.dna.mutations)
HM.force_lose(H)
else
HM.force_give(H)
-
- feedback_add_details("changeling_powers","CS")
- return 1
+ return TRUE
/obj/effect/proc_holder/changeling/chameleon_skin/on_refund(mob/user)
if(user.has_dna())
var/mob/living/carbon/C = user
- var/datum/mutation/human/HM = mutations_list[CHAMELEON]
+ var/datum/mutation/human/HM = GLOB.mutations_list[CHAMELEON]
if(HM in C.dna.mutations)
HM.force_lose(C)
\ No newline at end of file
diff --git a/code/game/gamemodes/changeling/powers/digitalcamo.dm b/code/game/gamemodes/changeling/powers/digitalcamo.dm
index 13ea947266..afb4e0bef7 100644
--- a/code/game/gamemodes/changeling/powers/digitalcamo.dm
+++ b/code/game/gamemodes/changeling/powers/digitalcamo.dm
@@ -15,10 +15,7 @@
to_chat(user, "We distort our form to hide from the AI ")
user.digitalcamo = 1
user.digitalinvis = 1
-
-
- feedback_add_details("changeling_powers","CAM")
- return 1
+ return TRUE
/obj/effect/proc_holder/changeling/digitalcamo/on_refund(mob/user)
user.digitalcamo = 0
diff --git a/code/game/gamemodes/changeling/powers/fakedeath.dm b/code/game/gamemodes/changeling/powers/fakedeath.dm
index bdcca566c3..798f8030e0 100644
--- a/code/game/gamemodes/changeling/powers/fakedeath.dm
+++ b/code/game/gamemodes/changeling/powers/fakedeath.dm
@@ -19,9 +19,7 @@
user.update_canmove()
addtimer(CALLBACK(src, .proc/ready_to_regenerate, user), LING_FAKEDEATH_TIME, TIMER_UNIQUE)
-
- feedback_add_details("changeling_powers","FD")
- return 1
+ return TRUE
/obj/effect/proc_holder/changeling/fakedeath/proc/ready_to_regenerate(mob/user)
if(user && user.mind && user.mind.changeling && user.mind.changeling.purchasedpowers)
diff --git a/code/game/gamemodes/changeling/powers/fleshmend.dm b/code/game/gamemodes/changeling/powers/fleshmend.dm
index bdf1c94bd2..1809e6c8c8 100644
--- a/code/game/gamemodes/changeling/powers/fleshmend.dm
+++ b/code/game/gamemodes/changeling/powers/fleshmend.dm
@@ -1,11 +1,7 @@
/obj/effect/proc_holder/changeling/fleshmend
name = "Fleshmend"
- desc = "Our flesh rapidly regenerates, healing our burns, bruises and \
- shortness of breath. Effectiveness decreases with quick, \
- repeated use."
- helptext = "Heals a moderate amount of damage over a short period of \
- time. Can be used while unconscious. Does not regrow limbs or \
- restore lost blood."
+ desc = "Our flesh rapidly regenerates, healing our burns, bruises and shortness of breath. Effectiveness decreases with quick, repeated use."
+ helptext = "Heals a moderate amount of damage over a short period of time. Can be used while unconscious. Does not regrow limbs or restore lost blood."
chemical_cost = 20
dna_cost = 2
req_stat = UNCONSCIOUS
@@ -37,9 +33,7 @@
recent_uses++
INVOKE_ASYNC(src, .proc/fleshmend, user)
-
- feedback_add_details("changeling_powers","RR")
- return 1
+ return TRUE
/obj/effect/proc_holder/changeling/fleshmend/proc/fleshmend(mob/living/user)
diff --git a/code/game/gamemodes/changeling/powers/headcrab.dm b/code/game/gamemodes/changeling/powers/headcrab.dm
index 5d1bd787ef..a9f6381082 100644
--- a/code/game/gamemodes/changeling/powers/headcrab.dm
+++ b/code/game/gamemodes/changeling/powers/headcrab.dm
@@ -26,7 +26,6 @@
S.Weaken(3)
var/turf = get_turf(user)
user.gib()
- feedback_add_details("changeling_powers","LR")
. = TRUE
sleep(5) // So it's not killed in explosion
var/mob/living/simple_animal/hostile/headcrab/crab = new(turf)
diff --git a/code/game/gamemodes/changeling/powers/hivemind.dm b/code/game/gamemodes/changeling/powers/hivemind.dm
index 8c42629441..0a78adaf33 100644
--- a/code/game/gamemodes/changeling/powers/hivemind.dm
+++ b/code/game/gamemodes/changeling/powers/hivemind.dm
@@ -6,7 +6,7 @@
dna_cost = 0
chemical_cost = -1
-/obj/effect/proc_holder/changeling/hivemind_comms/on_purchase(var/mob/user)
+/obj/effect/proc_holder/changeling/hivemind_comms/on_purchase(mob/user, is_respec)
..()
var/datum/changeling/changeling=user.mind.changeling
changeling.changeling_speak = 1
@@ -17,10 +17,9 @@
var/obj/effect/proc_holder/changeling/hivemind_download/S2 = new
if(!changeling.has_sting(S2))
changeling.purchasedpowers+=S2
- return
// HIVE MIND UPLOAD/DOWNLOAD DNA
-var/list/datum/dna/hivemind_bank = list()
+GLOBAL_LIST_EMPTY(hivemind_bank)
/obj/effect/proc_holder/changeling/hivemind_upload
name = "Hive Channel DNA"
@@ -32,7 +31,7 @@ var/list/datum/dna/hivemind_bank = list()
var/datum/changeling/changeling = user.mind.changeling
var/list/names = list()
for(var/datum/changelingprofile/prof in changeling.stored_profiles)
- if(!(prof in hivemind_bank))
+ if(!(prof in GLOB.hivemind_bank))
names += prof.name
if(names.len <= 0)
@@ -49,10 +48,9 @@ var/list/datum/dna/hivemind_bank = list()
var/datum/changelingprofile/uploaded_dna = new chosen_dna.type
chosen_dna.copy_profile(uploaded_dna)
- hivemind_bank += uploaded_dna
+ GLOB.hivemind_bank += uploaded_dna
to_chat(user, "We channel the DNA of [chosen_name] to the air. ")
- feedback_add_details("changeling_powers","HU")
- return 1
+ return TRUE
/obj/effect/proc_holder/changeling/hivemind_download
name = "Hive Absorb DNA"
@@ -73,7 +71,7 @@ var/list/datum/dna/hivemind_bank = list()
/obj/effect/proc_holder/changeling/hivemind_download/sting_action(mob/user)
var/datum/changeling/changeling = user.mind.changeling
var/list/names = list()
- for(var/datum/changelingprofile/prof in hivemind_bank)
+ for(var/datum/changelingprofile/prof in GLOB.hivemind_bank)
if(!(prof in changeling.stored_profiles))
names[prof.name] = prof
@@ -92,5 +90,4 @@ var/list/datum/dna/hivemind_bank = list()
chosen_prof.copy_profile(downloaded_prof)
changeling.add_profile(downloaded_prof)
to_chat(user, "We absorb the DNA of [S] from the air. ")
- feedback_add_details("changeling_powers","HD")
- return 1
+ return TRUE
diff --git a/code/game/gamemodes/changeling/powers/humanform.dm b/code/game/gamemodes/changeling/powers/humanform.dm
index 44126fa577..743dbc91e9 100644
--- a/code/game/gamemodes/changeling/powers/humanform.dm
+++ b/code/game/gamemodes/changeling/powers/humanform.dm
@@ -1,5 +1,5 @@
/obj/effect/proc_holder/changeling/humanform
- name = "Human form"
+ name = "Human Form"
desc = "We change into a human."
chemical_cost = 5
genetic_damage = 3
@@ -30,5 +30,4 @@
var/newmob = user.humanize(TR_KEEPITEMS | TR_KEEPIMPLANTS | TR_KEEPORGANS | TR_KEEPDAMAGE | TR_KEEPVIRUS)
changeling_transform(newmob, chosen_prof)
- feedback_add_details("changeling_powers","LFT")
- return 1
+ return TRUE
diff --git a/code/game/gamemodes/changeling/powers/lesserform.dm b/code/game/gamemodes/changeling/powers/lesserform.dm
index 2d2ae78f26..538803de00 100644
--- a/code/game/gamemodes/changeling/powers/lesserform.dm
+++ b/code/game/gamemodes/changeling/powers/lesserform.dm
@@ -1,5 +1,5 @@
/obj/effect/proc_holder/changeling/lesserform
- name = "Lesser form"
+ name = "Lesser Form"
desc = "We debase ourselves and become lesser. We become a monkey."
chemical_cost = 5
dna_cost = 1
@@ -13,6 +13,4 @@
to_chat(user, "Our genes cry out! ")
user.monkeyize(TR_KEEPITEMS | TR_KEEPIMPLANTS | TR_KEEPORGANS | TR_KEEPDAMAGE | TR_KEEPVIRUS | TR_KEEPSE)
-
- feedback_add_details("changeling_powers","LF")
- return 1
\ No newline at end of file
+ return TRUE
\ No newline at end of file
diff --git a/code/game/gamemodes/changeling/powers/linglink.dm b/code/game/gamemodes/changeling/powers/linglink.dm
index 816f853d45..5a64d551b5 100644
--- a/code/game/gamemodes/changeling/powers/linglink.dm
+++ b/code/game/gamemodes/changeling/powers/linglink.dm
@@ -48,7 +48,7 @@
if(3)
to_chat(user, "We mold the [target]'s mind like clay, granting [target.p_them()] the ability to speak in the hivemind! ")
to_chat(target, "A migraine throbs behind your eyes, you hear yourself screaming - but your mouth has not opened! ")
- for(var/mob/M in mob_list)
+ for(var/mob/M in GLOB.mob_list)
if(M.lingcheck() == 2)
to_chat(M, "We can sense a foreign presence in the hivemind... ")
target.mind.linglink = 1
@@ -56,7 +56,7 @@
to_chat(target, "You can now communicate in the changeling hivemind, say \":g message\" to communicate! ")
target.reagents.add_reagent("salbutamol", 40) // So they don't choke to death while you interrogate them
sleep(1800)
- feedback_add_details("changeling_powers","A [i]")
+ feedback_add_details("changeling_powers","Hivemind Link|[i]")
if(!do_mob(user, target, 20))
to_chat(user, "Our link with [target] has ended! ")
changeling.islinking = 0
diff --git a/code/game/gamemodes/changeling/powers/mimic_voice.dm b/code/game/gamemodes/changeling/powers/mimic_voice.dm
index f296fb1375..f422be20a9 100644
--- a/code/game/gamemodes/changeling/powers/mimic_voice.dm
+++ b/code/game/gamemodes/changeling/powers/mimic_voice.dm
@@ -24,5 +24,4 @@
changeling.chem_recharge_slowdown += 0.5
to_chat(user, "We shape our glands to take the voice of [mimic_voice] , this will slow down regenerating chemicals while active. ")
to_chat(user, "Use this power again to return to our original voice and return chemical production to normal levels. ")
-
- feedback_add_details("changeling_powers","MV")
+ return TRUE
diff --git a/code/game/gamemodes/changeling/powers/mutations.dm b/code/game/gamemodes/changeling/powers/mutations.dm
index f1d9abc845..57db295d53 100644
--- a/code/game/gamemodes/changeling/powers/mutations.dm
+++ b/code/game/gamemodes/changeling/powers/mutations.dm
@@ -5,6 +5,7 @@
Space Suit
Shield
Armor
+ Tentacles
*/
@@ -125,7 +126,7 @@
var/datum/changeling/changeling = user.mind.changeling
changeling.chem_recharge_slowdown += recharge_slowdown
- return 1
+ return TRUE
//fancy headers yo
@@ -228,7 +229,7 @@
desc = "A fleshy tentacle that can stretch out and grab things or people."
icon = 'icons/obj/weapons.dmi'
icon_state = "tentacle"
- item_state = null
+ item_state = "tentacle"
flags = ABSTRACT | NODROP | DROPDEL | NOBLUDGEON
w_class = WEIGHT_CLASS_HUGE
ammo_type = /obj/item/ammo_casing/magic/tentacle
@@ -251,6 +252,11 @@
/obj/item/weapon/gun/magic/tentacle/shoot_with_empty_chamber(mob/living/user as mob|obj)
to_chat(user, "The [name] is not ready yet.")
+/obj/item/weapon/gun/magic/tentacle/suicide_act(mob/user)
+ user.visible_message("[user] coils [src] tightly around [user.p_their()] neck! It looks like [user.p_theyre()] trying to commit suicide! ")
+ return (OXYLOSS)
+
+
/obj/item/ammo_casing/magic/tentacle
name = "tentacle"
desc = "a tentacle."
@@ -336,11 +342,11 @@
var/obj/item/I = C.get_active_held_item()
if(I)
if(C.drop_item())
- C.visible_message("[I] is yanked off of [C]'s hand by [src]! ","A tentacle pulls [I] away from you! ")
+ C.visible_message("[I] is yanked off [C]'s hand by [src]! ","A tentacle pulls [I] away from you! ")
on_hit(I) //grab the item as if you had hit it directly with the tentacle
return 1
else
- to_chat(firer, "You can't seem to pry [I] off of [C]'s hands!")
+ to_chat(firer, "You can't seem to pry [I] off [C]'s hands!")
return 0
else
to_chat(firer, "[C] has nothing in hand to disarm!")
@@ -389,7 +395,7 @@
var/obj/item/weapon/shield/changeling/S = ..(user)
S.remaining_uses = round(changeling.absorbedcount * 3)
- return 1
+ return TRUE
/obj/item/weapon/shield/changeling
name = "shield-like mass"
diff --git a/code/game/gamemodes/changeling/powers/panacea.dm b/code/game/gamemodes/changeling/powers/panacea.dm
index 479c1a6cd5..08d51be262 100644
--- a/code/game/gamemodes/changeling/powers/panacea.dm
+++ b/code/game/gamemodes/changeling/powers/panacea.dm
@@ -41,5 +41,4 @@
for(var/datum/disease/D in user.viruses)
D.cure()
- feedback_add_details("changeling_powers","AP")
- return 1
+ return TRUE
diff --git a/code/game/gamemodes/changeling/powers/regenerate.dm b/code/game/gamemodes/changeling/powers/regenerate.dm
index aaa21de7db..1f07b46e79 100644
--- a/code/game/gamemodes/changeling/powers/regenerate.dm
+++ b/code/game/gamemodes/changeling/powers/regenerate.dm
@@ -31,3 +31,4 @@
var/mob/living/carbon/human/H = user
H.restore_blood()
H.remove_all_embedded_objects()
+ return TRUE
diff --git a/code/game/gamemodes/changeling/powers/revive.dm b/code/game/gamemodes/changeling/powers/revive.dm
index 5dfb52c41a..c289334ea0 100644
--- a/code/game/gamemodes/changeling/powers/revive.dm
+++ b/code/game/gamemodes/changeling/powers/revive.dm
@@ -26,8 +26,7 @@
user.regenerate_organs()
to_chat(user, "We have revived ourselves. ")
user.mind.changeling.purchasedpowers -= src
- feedback_add_details("changeling_powers","CR")
- return 1
+ return TRUE
/obj/effect/proc_holder/changeling/revive/can_be_used_by(mob/user)
if((user.stat != DEAD) && !(user.status_flags & FAKEDEATH))
diff --git a/code/game/gamemodes/changeling/powers/shriek.dm b/code/game/gamemodes/changeling/powers/shriek.dm
index 21d533212e..29be040929 100644
--- a/code/game/gamemodes/changeling/powers/shriek.dm
+++ b/code/game/gamemodes/changeling/powers/shriek.dm
@@ -24,9 +24,7 @@
for(var/obj/machinery/light/L in range(4, user))
L.on = 1
L.break_light_tube()
-
- feedback_add_details("changeling_powers","RS")
- return 1
+ return TRUE
/obj/effect/proc_holder/changeling/dissonant_shriek
name = "Dissonant Shriek"
@@ -40,6 +38,4 @@
L.on = 1
L.break_light_tube()
empulse(get_turf(user), 2, 5, 1)
- return 1
-
-
+ return TRUE
diff --git a/code/game/gamemodes/changeling/powers/spiders.dm b/code/game/gamemodes/changeling/powers/spiders.dm
index c06ef9a694..b378f18c47 100644
--- a/code/game/gamemodes/changeling/powers/spiders.dm
+++ b/code/game/gamemodes/changeling/powers/spiders.dm
@@ -9,5 +9,4 @@
//Makes some spiderlings. Good for setting traps and causing general trouble.
/obj/effect/proc_holder/changeling/spiders/sting_action(mob/user)
spawn_atom_to_turf(/obj/structure/spider/spiderling/hunter, user, 2, FALSE)
- feedback_add_details("changeling_powers","SI")
- return 1
+ return TRUE
diff --git a/code/game/gamemodes/changeling/powers/strained_muscles.dm b/code/game/gamemodes/changeling/powers/strained_muscles.dm
index 67cce8ff89..7238e2d1c1 100644
--- a/code/game/gamemodes/changeling/powers/strained_muscles.dm
+++ b/code/game/gamemodes/changeling/powers/strained_muscles.dm
@@ -23,6 +23,11 @@
user.Weaken(3)
user.emote("gasp")
+ INVOKE_ASYNC(src, .proc/muscle_loop, user)
+
+ return TRUE
+
+/obj/effect/proc_holder/changeling/strained_muscles/proc/muscle_loop(mob/living/carbon/user)
while(active)
user.status_flags |= GOTTAGOFAST
if(user.stat != CONSCIOUS || user.staminaloss >= 90)
@@ -41,10 +46,6 @@
sleep(40)
- while(!active) //Damage stacks decrease fairly rapidly while not in sanic mode
- if(stacks >= 1)
- stacks--
+ while(!active && stacks) //Damage stacks decrease fairly rapidly while not in sanic mode
+ stacks--
sleep(20)
-
- feedback_add_details("changeling_powers","SANIC")
- return 1
diff --git a/code/game/gamemodes/changeling/powers/tiny_prick.dm b/code/game/gamemodes/changeling/powers/tiny_prick.dm
index 661550a659..c44a32c24d 100644
--- a/code/game/gamemodes/changeling/powers/tiny_prick.dm
+++ b/code/game/gamemodes/changeling/powers/tiny_prick.dm
@@ -101,10 +101,9 @@
C.take_bodypart_damage(20, 0) //The process is extremely painful
target.visible_message("[target] begins to violenty convulse! ","You feel a tiny prick and a begin to uncontrollably convulse! ")
- feedback_add_details("changeling_powers","TS")
. = TRUE
+ sleep(10)
if(istype(C))
- sleep(10)
C.real_name = NewDNA.real_name
NewDNA.transfer_identity(C, transfer_SE=1)
C.updateappearance(mutcolor_update=1)
@@ -152,9 +151,7 @@
playsound(target, 'sound/effects/blobattack.ogg', 30, 1)
addtimer(CALLBACK(src, .proc/remove_fake, target, blade), 600)
-
- feedback_add_details("changeling_powers","AS")
- return 1
+ return TRUE
/obj/effect/proc_holder/changeling/sting/false_armblade/proc/remove_fake(mob/target, obj/item/weapon/melee/arm_blade/false/blade)
playsound(target, 'sound/effects/blobattack.ogg', 30, 1)
@@ -182,8 +179,7 @@
add_logs(user, target, "stung", "extraction sting")
if(!(user.mind.changeling.has_dna(target.dna)))
user.mind.changeling.add_new_profile(target, user)
- feedback_add_details("changeling_powers","ED")
- return 1
+ return TRUE
/obj/effect/proc_holder/changeling/sting/mute
name = "Mute Sting"
@@ -196,8 +192,7 @@
/obj/effect/proc_holder/changeling/sting/mute/sting_action(mob/user, mob/living/carbon/target)
add_logs(user, target, "stung", "mute sting")
target.silent += 30
- feedback_add_details("changeling_powers","MS")
- return 1
+ return TRUE
/obj/effect/proc_holder/changeling/sting/blind
name = "Blind Sting"
@@ -213,8 +208,7 @@
target.become_nearsighted()
target.blind_eyes(20)
target.blur_eyes(40)
- feedback_add_details("changeling_powers","BS")
- return 1
+ return TRUE
/obj/effect/proc_holder/changeling/sting/LSD
name = "Hallucination Sting"
@@ -227,8 +221,7 @@
/obj/effect/proc_holder/changeling/sting/LSD/sting_action(mob/user, mob/living/carbon/target)
add_logs(user, target, "stung", "LSD sting")
addtimer(CALLBACK(src, .proc/hallucination_time, target), rand(300,600))
- feedback_add_details("changeling_powers","HS")
- return 1
+ return TRUE
/obj/effect/proc_holder/changeling/sting/LSD/proc/hallucination_time(mob/living/carbon/target)
if(target)
@@ -246,5 +239,4 @@
add_logs(user, target, "stung", "cryo sting")
if(target.reagents)
target.reagents.add_reagent("frostoil", 30)
- feedback_add_details("changeling_powers","CS")
- return 1
+ return TRUE
diff --git a/code/game/gamemodes/changeling/powers/transform.dm b/code/game/gamemodes/changeling/powers/transform.dm
index 9ca698e7e3..f9aca83d04 100644
--- a/code/game/gamemodes/changeling/powers/transform.dm
+++ b/code/game/gamemodes/changeling/powers/transform.dm
@@ -107,9 +107,7 @@
return
changeling_transform(user, chosen_prof)
-
- feedback_add_details("changeling_powers","TR")
- return 1
+ return TRUE
/datum/changeling/proc/select_dna(var/prompt, var/title, var/mob/living/carbon/user)
var/list/names = list("Drop Flesh Disguise")
@@ -121,8 +119,8 @@
return
if(chosen_name == "Drop Flesh Disguise")
- for(var/slot in slots)
- if(istype(user.vars[slot], slot2type[slot]))
+ for(var/slot in GLOB.slots)
+ if(istype(user.vars[slot], GLOB.slot2type[slot]))
qdel(user.vars[slot])
var/datum/changelingprofile/prof = get_dna(chosen_name)
diff --git a/code/game/gamemodes/changeling/traitor_chan.dm b/code/game/gamemodes/changeling/traitor_chan.dm
index a03f50a7a6..3392f46578 100644
--- a/code/game/gamemodes/changeling/traitor_chan.dm
+++ b/code/game/gamemodes/changeling/traitor_chan.dm
@@ -58,16 +58,16 @@
changeling.current.make_changeling()
forge_changeling_objectives(changeling)
greet_changeling(changeling)
- ticker.mode.update_changeling_icons_added(changeling)
+ SSticker.mode.update_changeling_icons_added(changeling)
..()
return
/datum/game_mode/traitor/changeling/make_antag_chance(mob/living/carbon/human/character) //Assigns changeling to latejoiners
- var/changelingcap = min( round(joined_player_list.len/(config.changeling_scaling_coeff*4))+2, round(joined_player_list.len/(config.changeling_scaling_coeff*2)) )
- if(ticker.mode.changelings.len >= changelingcap) //Caps number of latejoin antagonists
+ var/changelingcap = min( round(GLOB.joined_player_list.len/(config.changeling_scaling_coeff*4))+2, round(GLOB.joined_player_list.len/(config.changeling_scaling_coeff*2)) )
+ if(SSticker.mode.changelings.len >= changelingcap) //Caps number of latejoin antagonists
..()
return
- if(ticker.mode.changelings.len <= (changelingcap - 2) || prob(100 / (config.changeling_scaling_coeff * 4)))
+ if(SSticker.mode.changelings.len <= (changelingcap - 2) || prob(100 / (config.changeling_scaling_coeff * 4)))
if(ROLE_CHANGELING in character.client.prefs.be_special)
if(!jobban_isbanned(character, ROLE_CHANGELING) && !jobban_isbanned(character, "Syndicate"))
if(age_check(character.client))
diff --git a/code/game/gamemodes/clock_cult/clock_cult.dm b/code/game/gamemodes/clock_cult/clock_cult.dm
index 78e940d7b8..670e08e7a2 100644
--- a/code/game/gamemodes/clock_cult/clock_cult.dm
+++ b/code/game/gamemodes/clock_cult/clock_cult.dm
@@ -84,7 +84,6 @@ Credit where due:
/datum/game_mode
var/list/servants_of_ratvar = list() //The Enlightened servants of Ratvar
- var/clockwork_objective = CLOCKCULT_GATEWAY //The objective that the servants must fulfill
var/clockwork_explanation = "Construct a Gateway to the Celestial Derelict and free Ratvar." //The description of the current objective
/datum/game_mode/clockwork_cult
@@ -126,7 +125,6 @@ Credit where due:
return 1
/datum/game_mode/clockwork_cult/post_setup()
- forge_clock_objectives()
for(var/S in servants_to_serve)
var/datum/mind/servant = S
log_game("[servant.key] was made an initial servant of Ratvar")
@@ -137,16 +135,6 @@ Credit where due:
..()
return 1
-/datum/game_mode/clockwork_cult/proc/forge_clock_objectives() //Determine what objective that Ratvar's servants will fulfill
- var/list/possible_objectives = list(CLOCKCULT_ESCAPE, CLOCKCULT_GATEWAY)
- clockwork_objective = pick(possible_objectives)
- switch(clockwork_objective)
- if(CLOCKCULT_ESCAPE)
- clockwork_explanation = "Construct a Gateway to the Celestial Derelict and proselytize the entire station."
- if(CLOCKCULT_GATEWAY)
- clockwork_explanation = "Construct a Gateway to the Celestial Derelict and free Ratvar."
- return 1
-
/datum/game_mode/clockwork_cult/proc/greet_servant(mob/M) //Description of their role
if(!M)
return 0
@@ -182,21 +170,18 @@ Credit where due:
if(!L || !istype(L) || !L.mind)
return 0
var/datum/mind/M = L.mind
- to_chat(M.current, "This is Ratvar's will: [clockwork_explanation]")
- M.memory += "Ratvar's will: [clockwork_explanation] "
+ to_chat(M.current, "This is Ratvar's will: [CLOCKCULT_OBJECTIVE]")
+ M.memory += "Ratvar's will: [CLOCKCULT_OBJECTIVE] "
return 1
/datum/game_mode/clockwork_cult/proc/check_clockwork_victory()
- switch(clockwork_objective)
- if(CLOCKCULT_ESCAPE)
- if(clockwork_gateway_activated)
- ticker.news_report = CLOCK_PROSELYTIZATION
- return TRUE
- if(CLOCKCULT_GATEWAY)
- if(ratvar_awakens)
- ticker.news_report = CLOCK_SUMMON
- return TRUE
- ticker.news_report = CULT_FAILURE
+ if(GLOB.clockwork_gateway_activated)
+ SSticker.news_report = CLOCK_PROSELYTIZATION //failure, technically, but we have the station
+ if(GLOB.ratvar_awakens)
+ SSticker.news_report = CLOCK_SUMMON
+ return TRUE
+ else
+ SSticker.news_report = CULT_FAILURE
return FALSE
/datum/game_mode/clockwork_cult/declare_completion()
@@ -205,26 +190,26 @@ Credit where due:
/datum/game_mode/proc/auto_declare_completion_clockwork_cult()
var/text = ""
- if(istype(ticker.mode, /datum/game_mode/clockwork_cult)) //Possibly hacky?
- var/datum/game_mode/clockwork_cult/C = ticker.mode
+ if(istype(SSticker.mode, /datum/game_mode/clockwork_cult)) //Possibly hacky?
+ var/datum/game_mode/clockwork_cult/C = SSticker.mode
if(C.check_clockwork_victory())
text += "Ratvar's servants have succeeded in fulfilling His goals! "
- feedback_set_details("round_end_result", "win - servants completed their objective ([clockwork_objective])")
+ feedback_set_details("round_end_result", "win - servants completed their objective (summon ratvar)")
else
var/half_victory = FALSE
- var/obj/structure/destructible/clockwork/massive/celestial_gateway/G = locate() in all_clockwork_objects
+ var/obj/structure/destructible/clockwork/massive/celestial_gateway/G = locate() in GLOB.all_clockwork_objects
if(G)
half_victory = TRUE
if(half_victory)
- text += "The crew escaped before [clockwork_objective == CLOCKCULT_GATEWAY ? "Ratvar could rise":"the station could be proselytized"], but the gateway \
+ text += "The crew escaped before Ratvar could rise, but the gateway \
was successfully constructed! "
- feedback_set_details("round_end_result", "halfwin - servants constructed the gateway but their objective was not completed ([clockwork_objective])")
+ feedback_set_details("round_end_result", "halfwin - servants constructed the gateway but their objective was not completed (summon ratvar)")
else
text += "Ratvar's servants have failed! "
- feedback_set_details("round_end_result", "loss - servants failed their objective ([clockwork_objective])")
- text += "The servants' objective was: [clockwork_explanation]"
- text += " Ratvar's servants had [clockwork_caches] Tinkerer's Caches."
- text += "Construction Value(CV) was: [clockwork_construction_value] "
+ feedback_set_details("round_end_result", "loss - servants failed their objective (summon ratvar)")
+ text += "The servants' objective was: [CLOCKCULT_OBJECTIVE]"
+ text += " Ratvar's servants had [GLOB.clockwork_caches] Tinkerer's Caches."
+ text += "Construction Value(CV) was: [GLOB.clockwork_construction_value] "
var/list/scripture_states = scripture_unlock_check()
for(var/i in scripture_states)
if(i != SCRIPTURE_DRIVER)
@@ -236,11 +221,11 @@ Credit where due:
to_chat(world, text)
/datum/game_mode/proc/update_servant_icons_added(datum/mind/M)
- var/datum/atom_hud/antag/A = huds[ANTAG_HUD_CLOCKWORK]
+ var/datum/atom_hud/antag/A = GLOB.huds[ANTAG_HUD_CLOCKWORK]
A.join_hud(M.current)
set_antag_hud(M.current, "clockwork")
/datum/game_mode/proc/update_servant_icons_removed(datum/mind/M)
- var/datum/atom_hud/antag/A = huds[ANTAG_HUD_CLOCKWORK]
+ var/datum/atom_hud/antag/A = GLOB.huds[ANTAG_HUD_CLOCKWORK]
A.leave_hud(M.current)
set_antag_hud(M.current, null)
diff --git a/code/game/gamemodes/clock_cult/clock_effect.dm b/code/game/gamemodes/clock_cult/clock_effect.dm
index 69e973b4eb..c04f6b8979 100644
--- a/code/game/gamemodes/clock_cult/clock_effect.dm
+++ b/code/game/gamemodes/clock_cult/clock_effect.dm
@@ -12,10 +12,10 @@
/obj/effect/clockwork/New()
..()
- all_clockwork_objects += src
+ GLOB.all_clockwork_objects += src
/obj/effect/clockwork/Destroy()
- all_clockwork_objects -= src
+ GLOB.all_clockwork_objects -= src
return ..()
/obj/effect/clockwork/examine(mob/user)
diff --git a/code/game/gamemodes/clock_cult/clock_effects/clock_sigils.dm b/code/game/gamemodes/clock_cult/clock_effects/clock_sigils.dm
index 081ca1f6cb..6c56295c05 100644
--- a/code/game/gamemodes/clock_cult/clock_effects/clock_sigils.dm
+++ b/code/game/gamemodes/clock_cult/clock_effects/clock_sigils.dm
@@ -128,7 +128,7 @@
var/mob/living/carbon/C = L
C.silent += 5
var/message = "[sigil_name] in [get_area(src)] [is_servant_of_ratvar(L) ? "successfully converted" : "failed to convert"] "
- for(var/M in mob_list)
+ for(var/M in GLOB.mob_list)
if(isobserver(M))
var/link = FOLLOW_LINK(M, L)
to_chat(M, "[link] [message] [L.real_name]! ")
@@ -198,7 +198,7 @@
var/structure_number = 0
for(var/obj/structure/destructible/clockwork/powered/P in range(SIGIL_ACCESS_RANGE, src))
structure_number++
- to_chat(user, "It is storing [ratvar_awakens ? "INFINITY":"[power_charge]"]W of power, \
+ to_chat(user, "It is storing [GLOB.ratvar_awakens ? "INFINITY":"[power_charge]"]W of power, \
and [structure_number] Clockwork Structure[structure_number == 1 ? "":"s"] [structure_number == 1 ? "is":"are"] in range. ")
if(iscyborg(user))
to_chat(user, "You can recharge from the [sigil_name] by crossing it. ")
@@ -248,7 +248,7 @@
update_glow()
/obj/effect/clockwork/sigil/transmission/proc/modify_charge(amount)
- if(ratvar_awakens)
+ if(GLOB.ratvar_awakens)
update_glow()
return TRUE
if(power_charge - amount < 0)
@@ -258,7 +258,7 @@
return TRUE
/obj/effect/clockwork/sigil/transmission/proc/update_glow()
- if(ratvar_awakens)
+ if(GLOB.ratvar_awakens)
alpha = 255
else
alpha = min(initial(alpha) + power_charge*0.02, 255)
@@ -289,8 +289,8 @@
/obj/effect/clockwork/sigil/vitality/examine(mob/user)
..()
if(is_servant_of_ratvar(user) || isobserver(user))
- to_chat(user, "It has access to [ratvar_awakens ? "INFINITE":"[vitality]"] units of vitality. ")
- if(ratvar_awakens)
+ to_chat(user, "It has access to [GLOB.ratvar_awakens ? "INFINITE":"[vitality]"] units of vitality. ")
+ if(GLOB.ratvar_awakens)
to_chat(user, "It can revive Servants at no cost! ")
else
to_chat(user, "It can revive Servants at a cost of [base_revive_cost] vitality plus vitality equal to the non-oxygen damage they have, in addition to being destroyed in the process. ")
@@ -303,7 +303,7 @@
addtimer(CALLBACK(src, .proc/update_alpha), 10)
sleep(10)
//as long as they're still on the sigil and are either not a servant or they're a servant AND it has remaining vitality
- while(L && (!is_servant_of_ratvar(L) || (is_servant_of_ratvar(L) && (ratvar_awakens || vitality))) && get_turf(L) == get_turf(src))
+ while(L && (!is_servant_of_ratvar(L) || (is_servant_of_ratvar(L) && (GLOB.ratvar_awakens || vitality))) && get_turf(L) == get_turf(src))
sigil_active = TRUE
if(animation_number >= 4)
new /obj/effect/overlay/temp/ratvar/sigil/vitality(get_turf(src))
@@ -323,7 +323,7 @@
qdel(W)
L.dust()
else
- if(!ratvar_awakens && L.stat == CONSCIOUS)
+ if(!GLOB.ratvar_awakens && L.stat == CONSCIOUS)
vitality_drained = L.adjustToxLoss(1)
else
vitality_drained = L.adjustToxLoss(1.5)
@@ -334,7 +334,7 @@
else
if(L.stat == DEAD)
var/revival_cost = base_revive_cost + L.getCloneLoss() + L.getToxLoss() + L.getFireLoss() + L.getBruteLoss() //ignores oxygen damage
- if(ratvar_awakens)
+ if(GLOB.ratvar_awakens)
revival_cost = 0
var/mob/dead/observer/ghost = L.get_ghost(TRUE)
if(vitality >= revival_cost && (ghost || (L.mind && L.mind.active)))
@@ -344,14 +344,14 @@
var/obj/effect/overlay/temp/ratvar/sigil/vitality/V = new /obj/effect/overlay/temp/ratvar/sigil/vitality(get_turf(src))
animate(V, alpha = 0, transform = matrix()*2, time = 8)
playsound(L, 'sound/magic/Staff_Healing.ogg', 50, 1)
- L.visible_message("[L] suddenly gets back up, [ratvar_awakens ? "[L.p_their()] body dripping blue ichor":"even as [src] scatters into blue sparks around [L.p_them()]"]! ", \
+ L.visible_message("[L] suddenly gets back up, [GLOB.ratvar_awakens ? "[L.p_their()] body dripping blue ichor":"even as [src] scatters into blue sparks around [L.p_them()]"]! ", \
"\"[text2ratvar("You will be okay, child.")]\" ")
vitality -= revival_cost
- if(!ratvar_awakens)
+ if(!GLOB.ratvar_awakens)
qdel(src)
break
var/vitality_for_cycle = 3
- if(!ratvar_awakens)
+ if(!GLOB.ratvar_awakens)
if(L.stat == CONSCIOUS)
vitality_for_cycle = 2
vitality_for_cycle = min(vitality, vitality_for_cycle)
@@ -360,7 +360,7 @@
if(!vitality_used)
break
- if(!ratvar_awakens)
+ if(!GLOB.ratvar_awakens)
vitality -= vitality_used
sleep(2)
diff --git a/code/game/gamemodes/clock_cult/clock_effects/spatial_gateway.dm b/code/game/gamemodes/clock_cult/clock_effects/spatial_gateway.dm
index 26575d881e..f376410124 100644
--- a/code/game/gamemodes/clock_cult/clock_effects/spatial_gateway.dm
+++ b/code/game/gamemodes/clock_cult/clock_effects/spatial_gateway.dm
@@ -112,7 +112,7 @@
/obj/effect/clockwork/spatial_gateway/Bumped(atom/A)
..()
- if(isliving(A) || istype(A, /obj/item))
+ if(A && !QDELETED(A))
pass_through_gateway(A)
/obj/effect/clockwork/spatial_gateway/proc/pass_through_gateway(atom/movable/A, no_cost)
@@ -151,13 +151,13 @@
var/list/possible_targets = list()
var/list/teleportnames = list()
- for(var/obj/structure/destructible/clockwork/powered/clockwork_obelisk/O in all_clockwork_objects)
+ for(var/obj/structure/destructible/clockwork/powered/clockwork_obelisk/O in GLOB.all_clockwork_objects)
if(!O.Adjacent(invoker) && O != src && (O.z <= ZLEVEL_SPACEMAX) && O.anchored) //don't list obelisks that we're next to
var/area/A = get_area(O)
var/locname = initial(A.name)
possible_targets[avoid_assoc_duplicate_keys("[locname] [O.name]", teleportnames)] = O
- for(var/mob/living/L in living_mob_list)
+ for(var/mob/living/L in GLOB.living_mob_list)
if(!L.stat && is_servant_of_ratvar(L) && !L.Adjacent(invoker) && (L.z <= ZLEVEL_SPACEMAX)) //People right next to the invoker can't be portaled to, for obvious reasons
possible_targets[avoid_assoc_duplicate_keys("[L.name] ([L.real_name])", teleportnames)] = L
diff --git a/code/game/gamemodes/clock_cult/clock_helpers/component_helpers.dm b/code/game/gamemodes/clock_cult/clock_helpers/component_helpers.dm
index e04edc42c3..e3c456460c 100644
--- a/code/game/gamemodes/clock_cult/clock_helpers/component_helpers.dm
+++ b/code/game/gamemodes/clock_cult/clock_helpers/component_helpers.dm
@@ -2,7 +2,7 @@
/proc/generate_cache_component(specific_component_id, atom/A)
if(!specific_component_id)
specific_component_id = get_weighted_component_id()
- clockwork_component_cache[specific_component_id]++
+ GLOB.clockwork_component_cache[specific_component_id]++
if(A)
var/component_animation_type = get_component_animation_type(specific_component_id)
new component_animation_type(get_turf(A))
@@ -13,15 +13,15 @@
/proc/get_weighted_component_id(obj/item/clockwork/slab/storage_slab)
. = list()
if(storage_slab)
- if(clockwork_caches)
- for(var/i in clockwork_component_cache)
- .[i] = max(MAX_COMPONENTS_BEFORE_RAND - LOWER_PROB_PER_COMPONENT*(clockwork_component_cache[i] + storage_slab.stored_components[i]), 1)
+ if(GLOB.clockwork_caches)
+ for(var/i in GLOB.clockwork_component_cache)
+ .[i] = max(MAX_COMPONENTS_BEFORE_RAND - LOWER_PROB_PER_COMPONENT*(GLOB.clockwork_component_cache[i] + storage_slab.stored_components[i]), 1)
else
- for(var/i in clockwork_component_cache)
+ for(var/i in GLOB.clockwork_component_cache)
.[i] = max(MAX_COMPONENTS_BEFORE_RAND - LOWER_PROB_PER_COMPONENT*storage_slab.stored_components[i], 1)
else
- for(var/i in clockwork_component_cache)
- .[i] = max(MAX_COMPONENTS_BEFORE_RAND - LOWER_PROB_PER_COMPONENT*clockwork_component_cache[i], 1)
+ for(var/i in GLOB.clockwork_component_cache)
+ .[i] = max(MAX_COMPONENTS_BEFORE_RAND - LOWER_PROB_PER_COMPONENT*GLOB.clockwork_component_cache[i], 1)
. = pickweight(.)
//returns a component name from a component id
@@ -37,8 +37,6 @@
return "Replicant Alloy"
if(HIEROPHANT_ANSIBLE)
return "Hierophant Ansible"
- else
- return null
//returns a component acronym from a component id
/proc/get_component_acronym(id)
@@ -53,8 +51,6 @@
return "RA"
if(HIEROPHANT_ANSIBLE)
return "HA"
- else
- return null
//returns a component id from a component name
/proc/get_component_id(name)
@@ -69,8 +65,6 @@
return REPLICANT_ALLOY
if("Hierophant Ansible")
return HIEROPHANT_ANSIBLE
- else
- return null
//returns a component spanclass from a component id
/proc/get_component_span(id)
@@ -127,8 +121,6 @@
return /obj/effect/overlay/temp/ratvar/component/alloy
if(HIEROPHANT_ANSIBLE)
return /obj/effect/overlay/temp/ratvar/component/ansible
- else
- return null
//returns a type for a component from a component id
/proc/get_component_type(id)
@@ -142,6 +134,4 @@
if(REPLICANT_ALLOY)
return /obj/item/clockwork/component/replicant_alloy
if(HIEROPHANT_ANSIBLE)
- return /obj/item/clockwork/component/hierophant_ansible
- else
- return null
\ No newline at end of file
+ return /obj/item/clockwork/component/hierophant_ansible
\ No newline at end of file
diff --git a/code/game/gamemodes/clock_cult/clock_helpers/hierophant_network.dm b/code/game/gamemodes/clock_cult/clock_helpers/hierophant_network.dm
index 47b8178dff..29f2363e40 100644
--- a/code/game/gamemodes/clock_cult/clock_helpers/hierophant_network.dm
+++ b/code/game/gamemodes/clock_cult/clock_helpers/hierophant_network.dm
@@ -2,7 +2,7 @@
/proc/hierophant_message(message, servantsonly, atom/target)
if(!message)
return FALSE
- for(var/M in mob_list)
+ for(var/M in GLOB.mob_list)
if(!servantsonly && isobserver(M))
if(target)
var/link = FOLLOW_LINK(M, target)
diff --git a/code/game/gamemodes/clock_cult/clock_helpers/ratvarian_language.dm b/code/game/gamemodes/clock_cult/clock_helpers/ratvarian_language.dm
index 3ca0a042b5..fcb30a096d 100644
--- a/code/game/gamemodes/clock_cult/clock_helpers/ratvarian_language.dm
+++ b/code/game/gamemodes/clock_cult/clock_helpers/ratvarian_language.dm
@@ -101,14 +101,11 @@ List of nuances:
/proc/clockwork_say(atom/movable/AM, message, whisper=FALSE)
var/list/spans = list(SPAN_ROBOT)
- var/old_languages_spoken = AM.languages_spoken
- AM.languages_spoken = HUMAN //anyone who can understand HUMAN will hear weird shitty ratvar speak, otherwise it'll get starred out
if(isliving(AM))
var/mob/living/L = AM
if(!whisper)
- L.say(message, "clock", spans)
+ L.say(message, "clock", spans, language=/datum/language/common)
else
L.whisper(message)
else
- AM.say(message)
- AM.languages_spoken = old_languages_spoken
+ AM.say(message, language=/datum/language/common)
diff --git a/code/game/gamemodes/clock_cult/clock_helpers/scripture_checks.dm b/code/game/gamemodes/clock_cult/clock_helpers/scripture_checks.dm
index 348901e1f0..e5d193d74a 100644
--- a/code/game/gamemodes/clock_cult/clock_helpers/scripture_checks.dm
+++ b/code/game/gamemodes/clock_cult/clock_helpers/scripture_checks.dm
@@ -2,18 +2,18 @@
/proc/scripture_unlock_check()
var/servants = 0
var/unconverted_ai_exists = get_unconverted_ais()
- for(var/mob/living/M in living_mob_list)
+ for(var/mob/living/M in GLOB.living_mob_list)
if(is_servant_of_ratvar(M) && (ishuman(M) || issilicon(M)))
servants++
. = list(SCRIPTURE_DRIVER = TRUE, SCRIPTURE_SCRIPT = FALSE, SCRIPTURE_APPLICATION = FALSE, SCRIPTURE_REVENANT = FALSE, SCRIPTURE_JUDGEMENT = FALSE)
//Drivers: always unlocked
- .[SCRIPTURE_SCRIPT] = (servants >= SCRIPT_SERVANT_REQ && clockwork_caches >= SCRIPT_CACHE_REQ)
+ .[SCRIPTURE_SCRIPT] = (servants >= SCRIPT_SERVANT_REQ && GLOB.clockwork_caches >= SCRIPT_CACHE_REQ)
//Script: SCRIPT_SERVANT_REQ or more non-brain servants and SCRIPT_CACHE_REQ or more clockwork caches
- .[SCRIPTURE_APPLICATION] = (servants >= APPLICATION_SERVANT_REQ && clockwork_caches >= APPLICATION_CACHE_REQ && clockwork_construction_value >= APPLICATION_CV_REQ)
+ .[SCRIPTURE_APPLICATION] = (servants >= APPLICATION_SERVANT_REQ && GLOB.clockwork_caches >= APPLICATION_CACHE_REQ && GLOB.clockwork_construction_value >= APPLICATION_CV_REQ)
//Application: APPLICATION_SERVANT_REQ or more non-brain servants, APPLICATION_CACHE_REQ or more clockwork caches, and at least APPLICATION_CV_REQ CV
- .[SCRIPTURE_REVENANT] = (servants >= REVENANT_SERVANT_REQ && clockwork_caches >= REVENANT_CACHE_REQ && clockwork_construction_value >= REVENANT_CV_REQ)
+ .[SCRIPTURE_REVENANT] = (servants >= REVENANT_SERVANT_REQ && GLOB.clockwork_caches >= REVENANT_CACHE_REQ && GLOB.clockwork_construction_value >= REVENANT_CV_REQ)
//Revenant: REVENANT_SERVANT_REQ or more non-brain servants, REVENANT_CACHE_REQ or more clockwork caches, and at least REVENANT_CV_REQ CV
- .[SCRIPTURE_JUDGEMENT] = (servants >= JUDGEMENT_SERVANT_REQ && clockwork_caches >= JUDGEMENT_CACHE_REQ && clockwork_construction_value >= JUDGEMENT_CV_REQ && !unconverted_ai_exists)
+ .[SCRIPTURE_JUDGEMENT] = (servants >= JUDGEMENT_SERVANT_REQ && GLOB.clockwork_caches >= JUDGEMENT_CACHE_REQ && GLOB.clockwork_construction_value >= JUDGEMENT_CV_REQ && !unconverted_ai_exists)
//Judgement: JUDGEMENT_SERVANT_REQ or more non-brain servants, JUDGEMENT_CACHE_REQ or more clockwork caches, at least JUDGEMENT_CV_REQ CV, and there are no living, non-servant ais
//reports to servants when scripture is locked or unlocked
@@ -26,33 +26,36 @@
/proc/get_unconverted_ais()
. = 0
- for(var/ai in ai_list)
- var/mob/living/silicon/AI = ai
- if(is_servant_of_ratvar(AI) || !isturf(AI.loc) || AI.z != ZLEVEL_STATION)
+ for(var/ai in GLOB.ai_list)
+ var/mob/living/silicon/ai/AI = ai
+ if(AI.deployed_shell && is_servant_of_ratvar(AI.deployed_shell))
+ continue
+ if(is_servant_of_ratvar(AI) || !isturf(AI.loc) || AI.z != ZLEVEL_STATION || AI.stat == DEAD)
continue
.++
/proc/update_slab_info(obj/item/clockwork/slab/set_slab)
generate_all_scripture()
var/needs_update = FALSE //if everything needs an update, for whatever reason
- for(var/s in all_scripture)
- var/datum/clockwork_scripture/S = all_scripture[s]
+ for(var/s in GLOB.all_scripture)
+ var/datum/clockwork_scripture/S = GLOB.all_scripture[s]
if(S.creation_update())
needs_update = TRUE
if(!set_slab || needs_update)
- for(var/obj/item/clockwork/slab/S in all_clockwork_objects)
+ for(var/obj/item/clockwork/slab/S in GLOB.all_clockwork_objects)
SStgui.update_uis(S)
- S.update_quickbind()
+ if(needs_update)
+ S.update_quickbind()
else
SStgui.update_uis(set_slab)
set_slab.update_quickbind()
/proc/generate_all_scripture()
- if(!all_scripture.len)
+ if(!GLOB.all_scripture.len)
for(var/V in sortList(subtypesof(/datum/clockwork_scripture), /proc/cmp_clockscripture_priority))
var/datum/clockwork_scripture/S = new V
- all_scripture[S.type] = S
+ GLOB.all_scripture[S.type] = S
//changes construction value
/proc/change_construction_value(amount)
- clockwork_construction_value += amount
+ GLOB.clockwork_construction_value += amount
diff --git a/code/game/gamemodes/clock_cult/clock_item.dm b/code/game/gamemodes/clock_cult/clock_item.dm
index 66500d4ee5..a785f8121c 100644
--- a/code/game/gamemodes/clock_cult/clock_item.dm
+++ b/code/game/gamemodes/clock_cult/clock_item.dm
@@ -11,10 +11,10 @@
/obj/item/clockwork/New()
..()
ratvar_act()
- all_clockwork_objects += src
+ GLOB.all_clockwork_objects += src
/obj/item/clockwork/Destroy()
- all_clockwork_objects -= src
+ GLOB.all_clockwork_objects -= src
return ..()
/obj/item/clockwork/examine(mob/user)
diff --git a/code/game/gamemodes/clock_cult/clock_items/clockwork_armor.dm b/code/game/gamemodes/clock_cult/clock_items/clockwork_armor.dm
index ba9e86864c..bde1f4b4d4 100644
--- a/code/game/gamemodes/clock_cult/clock_items/clockwork_armor.dm
+++ b/code/game/gamemodes/clock_cult/clock_items/clockwork_armor.dm
@@ -11,14 +11,14 @@
/obj/item/clothing/head/helmet/clockwork/New()
..()
ratvar_act()
- all_clockwork_objects += src
+ GLOB.all_clockwork_objects += src
/obj/item/clothing/head/helmet/clockwork/Destroy()
- all_clockwork_objects -= src
+ GLOB.all_clockwork_objects -= src
return ..()
/obj/item/clothing/head/helmet/clockwork/ratvar_act()
- if(ratvar_awakens)
+ if(GLOB.ratvar_awakens)
armor = list(melee = 100, bullet = 100, laser = 100, energy = 100, bomb = 100, bio = 100, rad = 100, fire = 100, acid = 100)
flags |= STOPSPRESSUREDMAGE
max_heat_protection_temperature = FIRE_IMMUNITY_SUIT_MAX_TEMP_PROTECT
@@ -67,14 +67,14 @@
/obj/item/clothing/suit/armor/clockwork/New()
..()
ratvar_act()
- all_clockwork_objects += src
+ GLOB.all_clockwork_objects += src
/obj/item/clothing/suit/armor/clockwork/Destroy()
- all_clockwork_objects -= src
+ GLOB.all_clockwork_objects -= src
return ..()
/obj/item/clothing/suit/armor/clockwork/ratvar_act()
- if(ratvar_awakens)
+ if(GLOB.ratvar_awakens)
armor = list(melee = 100, bullet = 100, laser = 100, energy = 100, bomb = 100, bio = 100, rad = 100, fire = 100, acid = 100)
flags |= STOPSPRESSUREDMAGE
max_heat_protection_temperature = FIRE_IMMUNITY_SUIT_MAX_TEMP_PROTECT
@@ -128,14 +128,14 @@
/obj/item/clothing/gloves/clockwork/New()
..()
ratvar_act()
- all_clockwork_objects += src
+ GLOB.all_clockwork_objects += src
/obj/item/clothing/gloves/clockwork/Destroy()
- all_clockwork_objects -= src
+ GLOB.all_clockwork_objects -= src
return ..()
/obj/item/clothing/gloves/clockwork/ratvar_act()
- if(ratvar_awakens)
+ if(GLOB.ratvar_awakens)
armor = list(melee = 100, bullet = 100, laser = 100, energy = 100, bomb = 100, bio = 100, rad = 100, fire = 100, acid = 100)
flags |= STOPSPRESSUREDMAGE
max_heat_protection_temperature = FIRE_IMMUNITY_SUIT_MAX_TEMP_PROTECT
@@ -181,17 +181,17 @@
/obj/item/clothing/shoes/clockwork/New()
..()
ratvar_act()
- all_clockwork_objects += src
+ GLOB.all_clockwork_objects += src
/obj/item/clothing/shoes/clockwork/Destroy()
- all_clockwork_objects -= src
+ GLOB.all_clockwork_objects -= src
return ..()
/obj/item/clothing/shoes/clockwork/negates_gravity()
return TRUE
/obj/item/clothing/shoes/clockwork/ratvar_act()
- if(ratvar_awakens)
+ if(GLOB.ratvar_awakens)
flags |= NOSLIP
else
flags &= NOSLIP
diff --git a/code/game/gamemodes/clock_cult/clock_items/clockwork_proselytizer.dm b/code/game/gamemodes/clock_cult/clock_items/clockwork_proselytizer.dm
index d988c68ba7..513f0d5cbd 100644
--- a/code/game/gamemodes/clock_cult/clock_items/clockwork_proselytizer.dm
+++ b/code/game/gamemodes/clock_cult/clock_items/clockwork_proselytizer.dm
@@ -113,11 +113,11 @@
charge_delay = 2
/obj/item/clockwork/clockwork_proselytizer/ratvar_act()
- if(nezbere_invoked)
+ if(GLOB.nezbere_invoked)
charge_rate = 1250
else
charge_rate = initial(charge_rate)
- if(ratvar_awakens)
+ if(GLOB.ratvar_awakens)
uses_power = FALSE
speed_multiplier = initial(speed_multiplier) * 0.25
else
@@ -165,7 +165,7 @@
/obj/item/clockwork/clockwork_proselytizer/proc/can_use_power(amount)
if(amount == RATVAR_POWER_CHECK)
- if(ratvar_awakens || !uses_power)
+ if(GLOB.ratvar_awakens || !uses_power)
return TRUE
else
return FALSE
diff --git a/code/game/gamemodes/clock_cult/clock_items/clockwork_slab.dm b/code/game/gamemodes/clock_cult/clock_items/clockwork_slab.dm
index 3d0925a000..001a0822d9 100644
--- a/code/game/gamemodes/clock_cult/clock_items/clockwork_slab.dm
+++ b/code/game/gamemodes/clock_cult/clock_items/clockwork_slab.dm
@@ -21,6 +21,7 @@
var/obj/effect/proc_holder/slab/slab_ability //the slab's current bound ability, for certain scripture
var/list/quickbound = list(/datum/clockwork_scripture/ranged_ability/geis_prep, /datum/clockwork_scripture/create_object/replicant, \
/datum/clockwork_scripture/create_object/tinkerers_cache) //quickbound scripture, accessed by index
+ var/maximum_quickbound = 5 //how many quickbound scriptures we can have
actions_types = list(/datum/action/item_action/clock/hierophant)
/obj/item/clockwork/slab/starter
@@ -51,6 +52,7 @@
nonhuman_usable = TRUE
quickbound = list(/datum/clockwork_scripture/ranged_ability/judicial_marker, /datum/clockwork_scripture/ranged_ability/linked_vanguard, \
/datum/clockwork_scripture/create_object/tinkerers_cache)
+ maximum_quickbound = 6 //we usually have one or two unique scriptures, so if ratvar is up let us bind one more
actions_types = list()
/obj/item/clockwork/slab/cyborg/engineer //five scriptures, plus a proselytizer
@@ -81,7 +83,15 @@
quickbound = list(/datum/clockwork_scripture/ranged_ability/linked_vanguard, /datum/clockwork_scripture/spatial_gateway, /datum/clockwork_scripture/channeled/volt_void/cyborg)
/obj/item/clockwork/slab/cyborg/access_display(mob/living/user)
- to_chat(user, "Use the action buttons to recite your limited set of scripture! ")
+ if(!GLOB.ratvar_awakens)
+ to_chat(user, "Use the action buttons to recite your limited set of scripture! ")
+ else
+ ..()
+
+/obj/item/clockwork/slab/cyborg/ratvar_act()
+ ..()
+ if(!GLOB.ratvar_awakens)
+ SStgui.close_uis(src)
/obj/item/clockwork/slab/New()
..()
@@ -97,7 +107,7 @@
return ..()
/obj/item/clockwork/slab/ratvar_act()
- if(ratvar_awakens)
+ if(GLOB.ratvar_awakens)
nonhuman_usable = TRUE
else
nonhuman_usable = initial(nonhuman_usable)
@@ -119,7 +129,7 @@
return
var/servants = 0
var/production_slowdown = 0
- for(var/mob/living/M in living_mob_list)
+ for(var/mob/living/M in GLOB.living_mob_list)
if(is_servant_of_ratvar(M) && (ishuman(M) || issilicon(M)))
servants++
if(servants > SCRIPT_SERVANT_REQ)
@@ -149,11 +159,11 @@
continue
var/datum/clockwork_scripture/quickbind_slot = quickbound[i]
to_chat(user, "Quickbind button: [initial(quickbind_slot.name)] .")
- if(clockwork_caches) //show components on examine
+ if(GLOB.clockwork_caches) //show components on examine
to_chat(user, "Stored components (with global cache): ")
for(var/i in stored_components)
to_chat(user, "[get_component_name(i)][i != REPLICANT_ALLOY ? "s":""]: [stored_components[i]] \
- ([stored_components[i] + clockwork_component_cache[i]] ) ")
+ ([stored_components[i] + GLOB.clockwork_component_cache[i]] ) ")
else
to_chat(user, "Stored components: ")
for(var/i in stored_components)
@@ -195,9 +205,9 @@
if(!C.component_id)
return 0
user.visible_message("[user] inserts [C] into [src]. ", "You insert [C] into [src]\
- [clockwork_caches ? ", where it is added to the global cache":""]. ")
- if(clockwork_caches)
- clockwork_component_cache[C.component_id]++
+ [GLOB.clockwork_caches ? ", where it is added to the global cache":""]. ")
+ if(GLOB.clockwork_caches)
+ GLOB.clockwork_component_cache[C.component_id]++
update_slab_info()
else
stored_components[C.component_id]++
@@ -207,11 +217,15 @@
return 1
else if(istype(I, /obj/item/clockwork/slab) && ratvarian)
var/obj/item/clockwork/slab/S = I
+ var/needs_update = FALSE
for(var/i in stored_components)
stored_components[i] += S.stored_components[i]
S.stored_components[i] = 0
- update_slab_info(src)
- update_slab_info(S)
+ if(S.stored_components[i])
+ needs_update = TRUE
+ if(needs_update)
+ update_slab_info(src)
+ update_slab_info(S)
user.visible_message("[user] empties [src] into [S]. ", "You transfer your slab's components into [S]. ")
else
return ..()
@@ -265,7 +279,7 @@
ui_interact(user)
return TRUE
-/obj/item/clockwork/slab/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = 0, datum/tgui/master_ui = null, datum/ui_state/state = inventory_state)
+/obj/item/clockwork/slab/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = 0, datum/tgui/master_ui = null, datum/ui_state/state = GLOB.inventory_state)
ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open)
if(!ui)
ui = new(user, src, ui_key, "clockwork_slab", name, 800, 420, master_ui, state)
@@ -282,7 +296,7 @@
var/initial_tier = initial(scripture.tier)
if(initial_tier != SCRIPTURE_PERIPHERAL)
var/list/tiers_of_scripture = scripture_unlock_check()
- if(!ratvar_awakens && !no_cost && !tiers_of_scripture[initial_tier])
+ if(!GLOB.ratvar_awakens && !no_cost && !tiers_of_scripture[initial_tier])
to_chat(user, "That scripture is not unlocked, and cannot be recited! ")
return FALSE
var/datum/clockwork_scripture/scripture_to_recite = new scripture
@@ -294,7 +308,7 @@
//Guide to Serving Ratvar
/obj/item/clockwork/slab/proc/recollection()
var/list/textlist = list("If you're seeing this, file a bug report.")
- if(ratvar_awakens)
+ if(GLOB.ratvar_awakens)
textlist = list("")
for(var/i in 1 to 100)
textlist += "HONOR RATVAR "
@@ -302,7 +316,7 @@
else
var/servants = 0
var/production_time = SLAB_PRODUCTION_TIME
- for(var/mob/living/M in living_mob_list)
+ for(var/mob/living/M in GLOB.living_mob_list)
if(is_servant_of_ratvar(M) && (ishuman(M) || issilicon(M)))
servants++
if(servants > SCRIPT_SERVANT_REQ)
@@ -358,11 +372,12 @@
The remaining functions are several buttons in the top left while holding the slab. From left to right, they are: \
Hierophant Network , which allows communication to other Servants. ")
if(LAZYLEN(quickbound))
- for(var/i in 1 to quickbound.len)
- if(!quickbound[i])
- continue
- var/datum/clockwork_scripture/quickbind_slot = quickbound[i]
- textlist += "A Quickbind slot, currently set to [initial(quickbind_slot.name)] . "
+ for(var/i in 1 to maximum_quickbound)
+ if(LAZYLEN(quickbound) < i || !quickbound[i])
+ textlist += "A Quickbind slot, currently set to Nothing . "
+ else
+ var/datum/clockwork_scripture/quickbind_slot = quickbound[i]
+ textlist += "A Quickbind slot, currently set to [initial(quickbind_slot.name)] . "
textlist += " \
Examine the slab or swap to Recital to check the number of components it has available. \
\
@@ -379,9 +394,9 @@
temp_data += " "
else
temp_data += " ("
- if(clockwork_caches) //if we have caches, display what's in the global cache
- for(var/i in clockwork_component_cache)
- temp_data += "[get_component_acronym(i)] [data["components"][i] + clockwork_component_cache[i]] "
+ if(GLOB.clockwork_caches) //if we have caches, display what's in the global cache
+ for(var/i in GLOB.clockwork_component_cache)
+ temp_data += "[get_component_acronym(i)] [data["components"][i] + GLOB.clockwork_component_cache[i]] "
if(i != HIEROPHANT_ANSIBLE)
temp_data += " "
else
@@ -411,8 +426,8 @@
generate_all_scripture()
data["scripture"] = list()
- for(var/s in all_scripture)
- var/datum/clockwork_scripture/S = all_scripture[s]
+ for(var/s in GLOB.all_scripture)
+ var/datum/clockwork_scripture/S = GLOB.all_scripture[s]
if(S.tier == selected_scripture) //display only scriptures of the selected tier
var/scripture_color = get_component_color_bright(S.primary_component)
var/list/temp_info = list("name" = "[S.name] ",
@@ -456,10 +471,10 @@
selected_scripture = params["category"]
if("component")
var/list/components = list("Random Components")
- for(var/i in clockwork_component_cache)
+ for(var/i in GLOB.clockwork_component_cache)
var/cache_components = 0
- if(clockwork_caches)
- cache_components = clockwork_component_cache[i]
+ if(GLOB.clockwork_caches)
+ cache_components = GLOB.clockwork_component_cache[i]
components["[get_component_name(i)] [(cache_components + stored_components[i])]"] = i
var/input_component = input("Choose a component type.", "Target Component") as null|anything in components
if(input_component && !..())
@@ -474,8 +489,8 @@
quickbound[found_index] = null //otherwise, leave it as a null so the scripture maintains position
update_quickbind()
else
- var/target_index = input("Position of [initial(path.name)], 1 to 5?", "Input") as num|null
- if(isnum(target_index) && target_index > 0 && target_index < 6 && !..())
+ var/target_index = input("Position of [initial(path.name)], 1 to [maximum_quickbound]?", "Input") as num|null
+ if(isnum(target_index) && target_index > 0 && target_index <= maximum_quickbound && !..())
var/datum/clockwork_scripture/S
if(LAZYLEN(quickbound) >= target_index)
S = quickbound[target_index]
@@ -488,6 +503,9 @@
return
while(LAZYLEN(quickbound) < index)
quickbound += null
+ var/datum/clockwork_scripture/quickbind_slot = GLOB.all_scripture[quickbound[index]]
+ if(quickbind_slot && !quickbind_slot.quickbind)
+ return //we can't unbind things we can't normally bind
quickbound[index] = scripture
update_quickbind()
@@ -500,7 +518,7 @@
continue
var/datum/action/item_action/clock/quickbind/Q = new /datum/action/item_action/clock/quickbind(src)
Q.scripture_index = i
- var/datum/clockwork_scripture/quickbind_slot = all_scripture[quickbound[i]]
+ var/datum/clockwork_scripture/quickbind_slot = GLOB.all_scripture[quickbound[i]]
Q.name = "[quickbind_slot.name] ([Q.scripture_index])"
var/list/temp_desc = list()
for(var/c in quickbind_slot.consumed_components) //show how much the bound scripture costs
diff --git a/code/game/gamemodes/clock_cult/clock_items/judicial_visor.dm b/code/game/gamemodes/clock_cult/clock_items/judicial_visor.dm
index 0353984a68..89bc41f169 100644
--- a/code/game/gamemodes/clock_cult/clock_items/judicial_visor.dm
+++ b/code/game/gamemodes/clock_cult/clock_items/judicial_visor.dm
@@ -15,12 +15,12 @@
/obj/item/clothing/glasses/judicial_visor/New()
..()
- all_clockwork_objects += src
+ GLOB.all_clockwork_objects += src
blaster = new(src)
blaster.visor = src
/obj/item/clothing/glasses/judicial_visor/Destroy()
- all_clockwork_objects -= src
+ GLOB.all_clockwork_objects -= src
if(blaster.ranged_ability_user)
blaster.remove_ranged_ability()
blaster.visor = null
@@ -131,7 +131,7 @@
continue
V.recharging = TRUE //To prevent exploiting multiple visors to bypass the cooldown
V.update_status()
- addtimer(CALLBACK(V, /obj/item/clothing/glasses/judicial_visor.proc/recharge_visor, ranged_ability_user), (ratvar_awakens ? visor.recharge_cooldown*0.1 : visor.recharge_cooldown) * 2)
+ addtimer(CALLBACK(V, /obj/item/clothing/glasses/judicial_visor.proc/recharge_visor, ranged_ability_user), (GLOB.ratvar_awakens ? visor.recharge_cooldown*0.1 : visor.recharge_cooldown) * 2)
clockwork_say(ranged_ability_user, text2ratvar("Kneel, heathens!"))
ranged_ability_user.visible_message("[ranged_ability_user]'s judicial visor fires a stream of energy at [target], creating a strange mark! ", "You direct [visor]'s power to [target]. You must wait for some time before doing this again. ")
var/turf/targetturf = get_turf(target)
@@ -139,7 +139,7 @@
add_logs(ranged_ability_user, targetturf, "created a judicial marker")
ranged_ability_user.update_action_buttons_icon()
ranged_ability_user.update_inv_glasses()
- addtimer(CALLBACK(visor, /obj/item/clothing/glasses/judicial_visor.proc/recharge_visor, ranged_ability_user), ratvar_awakens ? visor.recharge_cooldown*0.1 : visor.recharge_cooldown)//Cooldown is reduced by 10x if Ratvar is up
+ addtimer(CALLBACK(visor, /obj/item/clothing/glasses/judicial_visor.proc/recharge_visor, ranged_ability_user), GLOB.ratvar_awakens ? visor.recharge_cooldown*0.1 : visor.recharge_cooldown)//Cooldown is reduced by 10x if Ratvar is up
remove_ranged_ability()
return TRUE
diff --git a/code/game/gamemodes/clock_cult/clock_items/ratvarian_spear.dm b/code/game/gamemodes/clock_cult/clock_items/ratvarian_spear.dm
index 37c6922b9e..17f5783431 100644
--- a/code/game/gamemodes/clock_cult/clock_items/ratvarian_spear.dm
+++ b/code/game/gamemodes/clock_cult/clock_items/ratvarian_spear.dm
@@ -25,7 +25,7 @@
return ..()
/obj/item/clockwork/ratvarian_spear/ratvar_act()
- if(ratvar_awakens) //If Ratvar is alive, the spear is extremely powerful
+ if(GLOB.ratvar_awakens) //If Ratvar is alive, the spear is extremely powerful
force = 25
throwforce = 50
armour_penetration = 10
@@ -40,7 +40,7 @@
timerid = addtimer(CALLBACK(src, .proc/break_spear), RATVARIAN_SPEAR_DURATION, TIMER_STOPPABLE)
/obj/item/clockwork/ratvarian_spear/cyborg/ratvar_act() //doesn't break!
- if(ratvar_awakens)
+ if(GLOB.ratvar_awakens)
force = 25
throwforce = 50
armour_penetration = 10
diff --git a/code/game/gamemodes/clock_cult/clock_items/soul_vessel.dm b/code/game/gamemodes/clock_cult/clock_items/soul_vessel.dm
index 1c5a2dd5f8..4cab0e8a00 100644
--- a/code/game/gamemodes/clock_cult/clock_items/soul_vessel.dm
+++ b/code/game/gamemodes/clock_cult/clock_items/soul_vessel.dm
@@ -18,21 +18,20 @@
The purpose of your existence is to further the goals of the servants and Ratvar himself. Above all else, serve Ratvar. "
new_mob_message = "The soul vessel emits a jet of steam before its cogwheel smooths out. "
dead_message = "Its cogwheel, scratched and dented, lies motionless. "
- fluff_names = list("Judge", "Guard", "Servant", "Smith", "Auger")
+ possible_names = list("Judge", "Guard", "Servant", "Smith", "Auger")
autoping = FALSE
resistance_flags = FIRE_PROOF | ACID_PROOF
force_replace_ai_name = TRUE
-/obj/item/device/mmi/posibrain/soul_vessel/New()
+/obj/item/device/mmi/posibrain/soul_vessel/Initialize()
..()
- radio.on = 0
+ radio.on = FALSE
laws = new /datum/ai_laws/ratvar()
- braintype = picked_fluff_name
- all_clockwork_objects += src
- brainmob.languages_spoken = RATVAR
+ braintype = picked_name
+ GLOB.all_clockwork_objects += src
/obj/item/device/mmi/posibrain/soul_vessel/Destroy()
- all_clockwork_objects -= src
+ GLOB.all_clockwork_objects -= src
return ..()
/obj/item/device/mmi/posibrain/soul_vessel/examine(mob/user)
@@ -49,14 +48,16 @@
/obj/item/device/mmi/posibrain/soul_vessel/attack_self(mob/living/user)
if(!is_servant_of_ratvar(user))
to_chat(user, "You fiddle around with [src], to no avail. ")
- return 0
+ return FALSE
..()
/obj/item/device/mmi/posibrain/soul_vessel/attack(mob/living/target, mob/living/carbon/human/user)
if(!is_servant_of_ratvar(user) || !ishuman(target))
..()
return
- if(used || (brainmob && brainmob.key))
+ if(QDELETED(brainmob))
+ return
+ if(brainmob.key)
to_chat(user, "\"This vessel is filled, friend. Provide it with a body.\" ")
return
if(is_servant_of_ratvar(target))
@@ -95,8 +96,8 @@
if(!prev_fakedeath)
H.status_flags &= ~FAKEDEATH
H.apply_status_effect(STATUS_EFFECT_SIGILMARK) //let them be affected by vitality matrices
- picked_fluff_name = "Slave"
- braintype = picked_fluff_name
+ picked_name = "Slave"
+ braintype = picked_name
brainmob.timeofhostdeath = H.timeofdeath
user.visible_message("[user] presses [src] to [H]'s head, ripping through the skull and carefully extracting the brain! ", \
"You extract [H]'s consciousness from [H.p_their()] body, trapping it in the soul vessel. ")
diff --git a/code/game/gamemodes/clock_cult/clock_items/wraith_spectacles.dm b/code/game/gamemodes/clock_cult/clock_items/wraith_spectacles.dm
index 9c30c1cbfd..b8c195e306 100644
--- a/code/game/gamemodes/clock_cult/clock_items/wraith_spectacles.dm
+++ b/code/game/gamemodes/clock_cult/clock_items/wraith_spectacles.dm
@@ -14,10 +14,10 @@
/obj/item/clothing/glasses/wraith_spectacles/New()
..()
- all_clockwork_objects += src
+ GLOB.all_clockwork_objects += src
/obj/item/clothing/glasses/wraith_spectacles/Destroy()
- all_clockwork_objects -= src
+ GLOB.all_clockwork_objects -= src
return ..()
/obj/item/clothing/glasses/wraith_spectacles/attack_self(mob/user)
@@ -38,7 +38,7 @@
if(blind_cultist(H))
return
if(is_servant_of_ratvar(H))
- to_chat(H, "You push the spectacles down, and all is revealed to you.[ratvar_awakens ? "" : " Your eyes begin to itch - you cannot do this for long."] ")
+ to_chat(H, "You push the spectacles down, and all is revealed to you.[GLOB.ratvar_awakens ? "" : " Your eyes begin to itch - you cannot do this for long."] ")
var/datum/status_effect/wraith_spectacles/WS = H.has_status_effect(STATUS_EFFECT_WRAITHSPECS)
if(WS)
WS.apply_eye_damage(H)
@@ -57,13 +57,13 @@
return TRUE
/obj/item/clothing/glasses/wraith_spectacles/proc/set_vision_vars(update_vision)
- invis_view = SEE_INVISIBLE_LIVING
+ lighting_alpha = null
tint = 0
vision_flags = NONE
darkness_view = 2
if(!up)
if(is_servant_of_ratvar(loc))
- invis_view = SEE_INVISIBLE_NOLIGHTING
+ lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE
vision_flags = SEE_MOBS | SEE_TURFS | SEE_OBJS
darkness_view = 3
else
@@ -83,7 +83,7 @@
return
set_vision_vars(TRUE)
if(is_servant_of_ratvar(user))
- to_chat(user, "As you put on the spectacles, all is revealed to you.[ratvar_awakens ? "" : " Your eyes begin to itch - you cannot do this for long."] ")
+ to_chat(user, "As you put on the spectacles, all is revealed to you.[GLOB.ratvar_awakens ? "" : " Your eyes begin to itch - you cannot do this for long."] ")
var/datum/status_effect/wraith_spectacles/WS = user.has_status_effect(STATUS_EFFECT_WRAITHSPECS)
if(WS)
WS.apply_eye_damage(user)
@@ -137,10 +137,10 @@
var/mob/living/carbon/human/H = owner
var/glasses_right = istype(H.glasses, /obj/item/clothing/glasses/wraith_spectacles)
var/obj/item/clothing/glasses/wraith_spectacles/WS = H.glasses
- if(glasses_right && !WS.up && !ratvar_awakens)
+ if(glasses_right && !WS.up && !GLOB.ratvar_awakens)
apply_eye_damage(H)
else
- if(ratvar_awakens)
+ if(GLOB.ratvar_awakens)
H.cure_nearsighted()
H.cure_blind()
H.adjust_eye_damage(-eye_damage_done)
diff --git a/code/game/gamemodes/clock_cult/clock_mobs.dm b/code/game/gamemodes/clock_cult/clock_mobs.dm
index 3538a8a557..a5e7dee4cb 100644
--- a/code/game/gamemodes/clock_cult/clock_mobs.dm
+++ b/code/game/gamemodes/clock_cult/clock_mobs.dm
@@ -8,14 +8,14 @@
unsuitable_atmos_damage = 0
atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) //Robotic
damage_coeff = list(BRUTE = 1, BURN = 1, TOX = 0, CLONE = 0, STAMINA = 0, OXY = 0)
- languages_spoken = RATVAR
- languages_understood = HUMAN|RATVAR
healable = FALSE
del_on_death = TRUE
speak_emote = list("clanks", "clinks", "clunks", "clangs")
verb_ask = "requests"
verb_exclaim = "proclaims"
verb_yell = "harangues"
+ initial_languages = list(/datum/language/common, /datum/language/ratvar)
+ only_speaks_language = /datum/language/ratvar
bubble_icon = "clock"
light_color = "#E42742"
death_sound = 'sound/magic/clockwork/anima_fragment_death.ogg'
diff --git a/code/game/gamemodes/clock_cult/clock_mobs/anima_fragment.dm b/code/game/gamemodes/clock_cult/clock_mobs/anima_fragment.dm
index a327211d01..cad4695d88 100644
--- a/code/game/gamemodes/clock_cult/clock_mobs/anima_fragment.dm
+++ b/code/game/gamemodes/clock_cult/clock_mobs/anima_fragment.dm
@@ -28,7 +28,7 @@
/mob/living/simple_animal/hostile/clockwork/fragment/Life()
..()
- if(ratvar_awakens)
+ if(GLOB.ratvar_awakens)
adjustHealth(-5)
else if(movement_delay_time > world.time)
adjustHealth(-0.2)
@@ -37,7 +37,7 @@
/mob/living/simple_animal/hostile/clockwork/fragment/Stat()
..()
- if(statpanel("Status") && movement_delay_time > world.time && !ratvar_awakens)
+ if(statpanel("Status") && movement_delay_time > world.time && !GLOB.ratvar_awakens)
stat(null, "Movement delay(seconds): [max(round((movement_delay_time - world.time)*0.1, 0.1), 0)]")
/mob/living/simple_animal/hostile/clockwork/fragment/death(gibbed)
@@ -59,7 +59,7 @@
UnarmedAttack(L)
attacktext = previousattacktext
changeNext_move(CLICK_CD_MELEE)
- if(!ratvar_awakens)
+ if(!GLOB.ratvar_awakens)
adjustHealth(4)
adjust_movement_delay(10) //with the above damage, total of 20 movement delay plus speed = 0 due to damage
@@ -68,7 +68,7 @@
/mob/living/simple_animal/hostile/clockwork/fragment/movement_delay()
. = ..()
- if(movement_delay_time > world.time && !ratvar_awakens)
+ if(movement_delay_time > world.time && !GLOB.ratvar_awakens)
. += min((movement_delay_time - world.time) * 0.1, 10) //the more delay we have, the slower we go
/mob/living/simple_animal/hostile/clockwork/fragment/adjustHealth(amount)
@@ -77,7 +77,7 @@
adjust_movement_delay(amount*2.5)
/mob/living/simple_animal/hostile/clockwork/fragment/proc/adjust_movement_delay(amount)
- if(ratvar_awakens) //if ratvar is up we ignore movement delay
+ if(GLOB.ratvar_awakens) //if ratvar is up we ignore movement delay
movement_delay_time = 0
else if(movement_delay_time > world.time)
movement_delay_time = movement_delay_time + amount
diff --git a/code/game/gamemodes/clock_cult/clock_mobs/clockwork_marauder.dm b/code/game/gamemodes/clock_cult/clock_mobs/clockwork_marauder.dm
index 203060d263..b0b77ccd62 100644
--- a/code/game/gamemodes/clock_cult/clock_mobs/clockwork_marauder.dm
+++ b/code/game/gamemodes/clock_cult/clock_mobs/clockwork_marauder.dm
@@ -41,10 +41,10 @@
emerge_from_host(FALSE, TRUE)
unbind_from_host()
return
- if(!ratvar_awakens && host.stat == DEAD)
+ if(!GLOB.ratvar_awakens && host.stat == DEAD)
death()
return
- if(ratvar_awakens)
+ if(GLOB.ratvar_awakens)
adjustHealth(-50)
else
adjustHealth(-10)
@@ -55,7 +55,7 @@
to_chat(host, "Your marauder is now strong enough to come forward again! ")
recovering = FALSE
else
- if(ratvar_awakens) //If Ratvar is alive, marauders don't need a host and are downright impossible to kill
+ if(GLOB.ratvar_awakens) //If Ratvar is alive, marauders don't need a host and are downright impossible to kill
adjustHealth(-5)
heal_host()
else if(host)
@@ -107,7 +107,7 @@
if(iscarbon(host))
resulthealth = round((abs(HEALTH_THRESHOLD_DEAD - host.health) / abs(HEALTH_THRESHOLD_DEAD - host.maxHealth)) * 100)
stat(null, "Host Health: [resulthealth]%")
- if(ratvar_awakens)
+ if(GLOB.ratvar_awakens)
stat(null, "You are [recovering ? "un" : ""]able to deploy!")
else
if(resulthealth > MARAUDER_EMERGE_THRESHOLD)
@@ -148,7 +148,7 @@
var/resulthealth = round((host.health / host.maxHealth) * 100, 0.5)
if(iscarbon(host))
resulthealth = round((abs(HEALTH_THRESHOLD_DEAD - host.health) / abs(HEALTH_THRESHOLD_DEAD - host.maxHealth)) * 100)
- if(ratvar_awakens || resulthealth <= MARAUDER_EMERGE_THRESHOLD)
+ if(GLOB.ratvar_awakens || resulthealth <= MARAUDER_EMERGE_THRESHOLD)
new /obj/effect/overlay/temp/heal(host.loc, "#AF0AAF")
host.heal_ordered_damage(4, damage_heal_order)
@@ -180,7 +180,7 @@
hud_used.healths.maptext = "[round((health / maxHealth) * 100, 0.5)]% "
/mob/living/simple_animal/hostile/clockwork/marauder/proc/update_stats()
- if(ratvar_awakens)
+ if(GLOB.ratvar_awakens)
speed = 0
melee_damage_lower = 20
melee_damage_upper = 20
@@ -261,7 +261,7 @@
return ..()
/mob/living/simple_animal/hostile/clockwork/marauder/proc/blockOrCounter(mob/target, atom/textobject)
- if(ratvar_awakens) //if ratvar has woken, we block nearly everything at a very high chance
+ if(GLOB.ratvar_awakens) //if ratvar has woken, we block nearly everything at a very high chance
blockchance = 90
counterchance = 90
if(prob(blockchance))
@@ -284,7 +284,7 @@
counterchance = min(counterchance + initial(counterchance), 100)
else
blockchance = min(blockchance + initial(blockchance), 100)
- if(ratvar_awakens)
+ if(GLOB.ratvar_awakens)
blockchance = 90
counterchance = 90
@@ -301,7 +301,7 @@
message = "
\"[message]\" " //Processed output
to_chat(src, "[name_part]
: [message]")
to_chat(host, "[name_part]
: [message]")
- for(var/M in mob_list)
+ for(var/M in GLOB.mob_list)
if(isobserver(M))
var/link = FOLLOW_LINK(M, src)
to_chat(M, "[link] [name_part]
(to [findtextEx(host.name, host.real_name) ? "[host.name]" : "[host.real_name] (as [host.name])"] ): [message] ")
@@ -329,7 +329,7 @@
if(!host)
to_chat(src, "
You don't have a host! ")
return FALSE
- if(!ratvar_awakens)
+ if(!GLOB.ratvar_awakens)
var/resulthealth = round((host.health / host.maxHealth) * 100, 0.5)
if(iscarbon(host))
resulthealth = round((abs(HEALTH_THRESHOLD_DEAD - host.health) / abs(HEALTH_THRESHOLD_DEAD - host.maxHealth)) * 100)
@@ -421,7 +421,7 @@
message = "
\"[message]\" " //Processed output
to_chat(owner, "[name_part]
: [message]")
to_chat(linked_marauder, "[name_part]
: [message]")
- for(var/M in mob_list)
+ for(var/M in GLOB.mob_list)
if(isobserver(M))
var/link = FOLLOW_LINK(M, src)
to_chat(M, "[link] [name_part]
(to [linked_marauder] ([linked_marauder.true_name]) ): [message]")
diff --git a/code/game/gamemodes/clock_cult/clock_scripture.dm b/code/game/gamemodes/clock_cult/clock_scripture.dm
index 41621bcf69..8e688f30aa 100644
--- a/code/game/gamemodes/clock_cult/clock_scripture.dm
+++ b/code/game/gamemodes/clock_cult/clock_scripture.dm
@@ -58,7 +58,7 @@ Judgement: 12 servants, 5 caches, 300 CV, and any existing AIs are converted or
to_chat(invoker, "
[slab] refuses to work, displaying the message: \"[slab.busy]!\" ")
return FALSE
slab.busy = "Invocation ([name]) in progress"
- if(ratvar_awakens)
+ if(GLOB.ratvar_awakens)
channel_time *= 0.5 //if ratvar has awoken, half channel time and no cost
else if(!slab.no_cost)
for(var/i in consumed_components)
@@ -68,7 +68,7 @@ Judgement: 12 servants, 5 caches, 300 CV, and any existing AIs are converted or
slab.stored_components[i]--
used_slab_components[i]++
else
- clockwork_component_cache[i]--
+ GLOB.clockwork_component_cache[i]--
used_cache_components[i]++
update_slab_info()
channel_time *= slab.speed_multiplier
@@ -78,14 +78,14 @@ Judgement: 12 servants, 5 caches, 300 CV, and any existing AIs are converted or
if(slab)
slab.stored_components[i] += consumed_components[i]
else //if we can't find a slab add to the global cache
- clockwork_component_cache[i] += consumed_components[i]
+ GLOB.clockwork_component_cache[i] += consumed_components[i]
for(var/i in used_cache_components)
if(used_cache_components[i])
- clockwork_component_cache[i] += consumed_components[i]
+ GLOB.clockwork_component_cache[i] += consumed_components[i]
update_slab_info()
else
successful = TRUE
- if(slab && !slab.no_cost && !ratvar_awakens) //if the slab exists and isn't debug and ratvar isn't up, log the scripture as being used
+ if(slab && !slab.no_cost && !GLOB.ratvar_awakens) //if the slab exists and isn't debug and ratvar isn't up, log the scripture as being used
feedback_add_details("clockcult_scripture_recited", name)
if(slab)
slab.busy = null
@@ -102,12 +102,12 @@ Judgement: 12 servants, 5 caches, 300 CV, and any existing AIs are converted or
/datum/clockwork_scripture/proc/has_requirements() //if we have the components and invokers to do it
var/checked_penalty = FALSE
- if(!ratvar_awakens && !slab.no_cost)
+ if(!GLOB.ratvar_awakens && !slab.no_cost)
checked_penalty = check_offstation_penalty()
var/component_printout = "
You lack the components to recite this piece of scripture!"
var/failed = FALSE
for(var/i in consumed_components)
- var/cache_components = clockwork_caches ? clockwork_component_cache[i] : 0
+ var/cache_components = GLOB.clockwork_caches ? GLOB.clockwork_component_cache[i] : 0
var/total_components = slab.stored_components[i] + cache_components
if(consumed_components[i] && total_components < consumed_components[i])
component_printout += "\nYou have [total_components]/[consumed_components[i]] \
@@ -117,7 +117,7 @@ Judgement: 12 servants, 5 caches, 300 CV, and any existing AIs are converted or
component_printout += " "
to_chat(invoker, component_printout)
return FALSE
- if(multiple_invokers_used && !multiple_invokers_optional && !ratvar_awakens && !slab.no_cost)
+ if(multiple_invokers_used && !multiple_invokers_optional && !GLOB.ratvar_awakens && !slab.no_cost)
var/nearby_servants = 0
for(var/mob/living/L in range(1, get_turf(invoker)))
if(is_servant_of_ratvar(L) && L.stat == CONSCIOUS && L.can_speak_vocal())
diff --git a/code/game/gamemodes/clock_cult/clock_scriptures/scripture_applications.dm b/code/game/gamemodes/clock_cult/clock_scriptures/scripture_applications.dm
index b409b7eb5b..efc479f522 100644
--- a/code/game/gamemodes/clock_cult/clock_scriptures/scripture_applications.dm
+++ b/code/game/gamemodes/clock_cult/clock_scriptures/scripture_applications.dm
@@ -86,7 +86,7 @@
return TRUE
if(is_type_in_typecache(I, ratvarian_armor_typecache))
return FALSE
- if(!ratvar_awakens && is_type_in_typecache(I, better_armor_typecache))
+ if(!GLOB.ratvar_awakens && is_type_in_typecache(I, better_armor_typecache))
return FALSE
return user.dropItemToGround(I)
@@ -106,7 +106,7 @@
sort_priority = 3
/datum/clockwork_scripture/memory_allocation/check_special_requirements()
- for(var/mob/living/simple_animal/hostile/clockwork/marauder/M in all_clockwork_mobs)
+ for(var/mob/living/simple_animal/hostile/clockwork/marauder/M in GLOB.all_clockwork_mobs)
if(M.host == invoker)
to_chat(invoker, "You can only house one marauder at a time! ")
return FALSE
@@ -135,7 +135,7 @@
if(!check_special_requirements())
return FALSE
to_chat(invoker, "The tendril shivers slightly as it selects a marauder... ")
- var/list/marauder_candidates = pollCandidates("Do you want to play as the clockwork marauder of [invoker.real_name]?", ROLE_SERVANT_OF_RATVAR, null, FALSE, 50)
+ var/list/marauder_candidates = pollCandidates("Do you want to play as the clockwork marauder of [invoker.real_name]?", ROLE_SERVANT_OF_RATVAR, null, FALSE, 50, POLL_IGNORE_CLOCKWORK_MARAUDER)
if(!check_special_requirements())
return FALSE
if(!marauder_candidates.len)
@@ -281,13 +281,13 @@
/datum/clockwork_scripture/create_object/tinkerers_daemon/check_special_requirements()
var/servants = 0
- for(var/mob/living/L in living_mob_list)
+ for(var/mob/living/L in GLOB.living_mob_list)
if(is_servant_of_ratvar(L))
servants++
- if(servants * 0.2 < clockwork_daemons)
+ if(servants * 0.2 < GLOB.clockwork_daemons)
to_chat(invoker, "\"Daemons are already disabled, making more of them would be a waste.\" ")
return FALSE
- if(servants * 0.2 < clockwork_daemons+1)
+ if(servants * 0.2 < GLOB.clockwork_daemons+1)
to_chat(invoker, "\"This daemon would be useless, friend.\" ")
return FALSE
return ..()
diff --git a/code/game/gamemodes/clock_cult/clock_scriptures/scripture_cyborg.dm b/code/game/gamemodes/clock_cult/clock_scriptures/scripture_cyborg.dm
index c5de8550e9..db5260a8a0 100644
--- a/code/game/gamemodes/clock_cult/clock_scriptures/scripture_cyborg.dm
+++ b/code/game/gamemodes/clock_cult/clock_scriptures/scripture_cyborg.dm
@@ -17,11 +17,20 @@
timeout_time = 50
/datum/clockwork_scripture/ranged_ability/linked_vanguard/check_special_requirements()
- if(islist(invoker.stun_absorption) && invoker.stun_absorption["vanguard"] && invoker.stun_absorption["vanguard"]["end_time"] > world.time)
+ if(!GLOB.ratvar_awakens && islist(invoker.stun_absorption) && invoker.stun_absorption["vanguard"] && invoker.stun_absorption["vanguard"]["end_time"] > world.time)
to_chat(invoker, "You are already shielded by a Vanguard! ")
return FALSE
return TRUE
+/datum/clockwork_scripture/ranged_ability/linked_vanguard/scripture_effects()
+ if(GLOB.ratvar_awakens) //hey, ratvar's up! give everybody stun immunity.
+ for(var/mob/living/L in view(7, get_turf(invoker)))
+ if(L.stat != DEAD && is_servant_of_ratvar(L))
+ L.apply_status_effect(STATUS_EFFECT_VANGUARD)
+ CHECK_TICK
+ return TRUE
+ return ..()
+
//Judicial Marker: places a judicial marker at a target location
/datum/clockwork_scripture/ranged_ability/judicial_marker
name = "Judicial Marker"
@@ -40,3 +49,4 @@
/datum/clockwork_scripture/channeled/volt_void/cyborg
quickbind_desc = "Allows you to fire energy rays at target locations using your own power. Failing to fire causes backlash.Maximum 4 chants. "
tier = SCRIPTURE_PERIPHERAL
+ quickbind = FALSE
diff --git a/code/game/gamemodes/clock_cult/clock_scriptures/scripture_drivers.dm b/code/game/gamemodes/clock_cult/clock_scriptures/scripture_drivers.dm
index 1cbf36755e..023cd50dd1 100644
--- a/code/game/gamemodes/clock_cult/clock_scriptures/scripture_drivers.dm
+++ b/code/game/gamemodes/clock_cult/clock_scriptures/scripture_drivers.dm
@@ -74,13 +74,19 @@
quickbind_desc = "Allows you to temporarily absorb stuns. All stuns absorbed will affect you when disabled."
/datum/clockwork_scripture/vanguard/check_special_requirements()
- if(islist(invoker.stun_absorption) && invoker.stun_absorption["vanguard"] && invoker.stun_absorption["vanguard"]["end_time"] > world.time)
+ if(!GLOB.ratvar_awakens && islist(invoker.stun_absorption) && invoker.stun_absorption["vanguard"] && invoker.stun_absorption["vanguard"]["end_time"] > world.time)
to_chat(invoker, "You are already shielded by a Vanguard! ")
return FALSE
return TRUE
/datum/clockwork_scripture/vanguard/scripture_effects()
- invoker.apply_status_effect(STATUS_EFFECT_VANGUARD)
+ if(GLOB.ratvar_awakens)
+ for(var/mob/living/L in view(7, get_turf(invoker)))
+ if(L.stat != DEAD && is_servant_of_ratvar(L))
+ L.apply_status_effect(STATUS_EFFECT_VANGUARD)
+ CHECK_TICK
+ else
+ invoker.apply_status_effect(STATUS_EFFECT_VANGUARD)
return TRUE
@@ -128,8 +134,8 @@
/datum/clockwork_scripture/ranged_ability/geis_prep/run_scripture()
var/servants = 0
- if(!ratvar_awakens)
- for(var/mob/living/M in all_clockwork_mobs)
+ if(!GLOB.ratvar_awakens)
+ for(var/mob/living/M in GLOB.all_clockwork_mobs)
if(ishuman(M) || issilicon(M))
servants++
if(servants > SCRIPT_SERVANT_REQ)
@@ -159,8 +165,8 @@
/datum/clockwork_scripture/geis/run_scripture()
var/servants = 0
- if(!ratvar_awakens)
- for(var/mob/living/M in all_clockwork_mobs)
+ if(!GLOB.ratvar_awakens)
+ for(var/mob/living/M in GLOB.all_clockwork_mobs)
if(ishuman(M) || issilicon(M))
servants++
if(target.buckled)
@@ -266,7 +272,7 @@
var/static/prev_cost = 0
/datum/clockwork_scripture/create_object/tinkerers_cache/creation_update()
- var/cache_cost_increase = min(round(clockwork_caches*0.25), 5)
+ var/cache_cost_increase = min(round(GLOB.clockwork_caches*0.25), 5)
if(cache_cost_increase != prev_cost)
prev_cost = cache_cost_increase
consumed_components = list(BELLIGERENT_EYE = 0, VANGUARD_COGWHEEL = 0, GEIS_CAPACITOR = 0, REPLICANT_ALLOY = 1, HIEROPHANT_ANSIBLE = 0)
@@ -279,14 +285,14 @@
//Wraith Spectacles: Creates a pair of wraith spectacles, which grant xray vision but damage vision slowly.
/datum/clockwork_scripture/create_object/wraith_spectacles
- descname = "Xray Vision Glasses"
+ descname = "Limited Xray Vision Glasses"
name = "Wraith Spectacles"
- desc = "Fabricates a pair of glasses that provides true sight but quickly damage vision, eventually causing blindness if worn for too long."
+ desc = "Fabricates a pair of glasses which grant true sight but cause gradual vision loss."
invocations = list("Show the truth of this world to me!")
channel_time = 10
whispered = TRUE
object_path = /obj/item/clothing/glasses/wraith_spectacles
- creator_message = "You form a pair of wraith spectacles, which will grant true sight when worn. "
+ creator_message = "You form a pair of wraith spectacles, which grant true sight but cause gradual vision loss. "
usage_tip = "\"True sight\" means that you are able to see through walls and in darkness."
tier = SCRIPTURE_DRIVER
space_allowed = TRUE
diff --git a/code/game/gamemodes/clock_cult/clock_scriptures/scripture_judgement.dm b/code/game/gamemodes/clock_cult/clock_scriptures/scripture_judgement.dm
index 1df9996de6..e7beff846f 100644
--- a/code/game/gamemodes/clock_cult/clock_scriptures/scripture_judgement.dm
+++ b/code/game/gamemodes/clock_cult/clock_scriptures/scripture_judgement.dm
@@ -2,17 +2,17 @@
// JUDGEMENT //
///////////////
-//Ark of the Clockwork Justiciar: Creates a Gateway to the Celestial Derelict, either summoning ratvar or proselytizing everything.
+//Ark of the Clockwork Justiciar: Creates a Gateway to the Celestial Derelict, summoning ratvar.
/datum/clockwork_scripture/create_object/ark_of_the_clockwork_justiciar
descname = "Structure, Win Condition"
name = "Ark of the Clockwork Justiciar"
desc = "Tears apart a rift in spacetime to Reebe, the Celestial Derelict, using a massive amount of components.\n\
- This gateway will either call forth Ratvar from his exile if that is the task He has set you, or proselytize the entire station if it is not."
+ This gateway will, after some time, call forth Ratvar from his exile and massively empower all scriptures and tools."
invocations = list("ARMORER! FRIGHT! AMPERAGE! VANGUARD! I CALL UPON YOU!!", \
"THE TIME HAS COME FOR OUR MASTER TO BREAK THE CHAINS OF EXILE!!", \
"LEND US YOUR AID! ENGINE COMES!!")
channel_time = 150
- consumed_components = list(BELLIGERENT_EYE = 3, VANGUARD_COGWHEEL = 3, GEIS_CAPACITOR = 3, REPLICANT_ALLOY = 3, HIEROPHANT_ANSIBLE = 3)
+ consumed_components = list(BELLIGERENT_EYE = ARK_SUMMON_COST, VANGUARD_COGWHEEL = ARK_SUMMON_COST, GEIS_CAPACITOR = ARK_SUMMON_COST, REPLICANT_ALLOY = ARK_SUMMON_COST, HIEROPHANT_ANSIBLE = ARK_SUMMON_COST)
invokers_required = 6
multiple_invokers_used = TRUE
object_path = /obj/structure/destructible/clockwork/massive/celestial_gateway
@@ -22,31 +22,21 @@
tier = SCRIPTURE_JUDGEMENT
sort_priority = 1
-/datum/clockwork_scripture/create_object/ark_of_the_clockwork_justiciar/New()
- if(ticker && ticker.mode && ticker.mode.clockwork_objective != CLOCKCULT_GATEWAY)
- invocations = list("ARMORER! FRIGHT! AMPERAGE! VANGUARD! I CALL UPON YOU!!", \
- "THIS STATION WILL BE A BEACON OF HOPE IN THE DARKNESS OF SPACE!!", \
- "HELP US MAKE THIS SHOW ENGINE'S GLORY!!")
- ..()
-
/datum/clockwork_scripture/create_object/ark_of_the_clockwork_justiciar/check_special_requirements()
if(!slab.no_cost)
- if(ratvar_awakens)
+ if(GLOB.ratvar_awakens)
to_chat(invoker, "\"I am already here, idiot.\" ")
return FALSE
- for(var/obj/structure/destructible/clockwork/massive/celestial_gateway/G in all_clockwork_objects)
+ for(var/obj/structure/destructible/clockwork/massive/celestial_gateway/G in GLOB.all_clockwork_objects)
var/area/gate_area = get_area(G)
- to_chat(invoker, "There is already a gateway at [gate_area.map_name]! ")
+ to_chat(invoker, "There is already an Ark at [gate_area.map_name]! ")
return FALSE
var/area/A = get_area(invoker)
var/turf/T = get_turf(invoker)
if(!T || T.z != ZLEVEL_STATION || istype(A, /area/shuttle) || !A.blob_allowed)
to_chat(invoker, "You must be on the station to activate the Ark! ")
return FALSE
- if(clockwork_gateway_activated)
- if(ticker && ticker.mode && ticker.mode.clockwork_objective != CLOCKCULT_GATEWAY)
- to_chat(invoker, "\"Look upon his works. Is it not glorious?\" ")
- else
- to_chat(invoker, "Ratvar's recent banishment renders him too weak to be wrung forth from Reebe! ")
+ if(GLOB.clockwork_gateway_activated)
+ to_chat(invoker, "Ratvar's recent banishment renders him too weak to be wrung forth from Reebe! ")
return FALSE
return ..()
diff --git a/code/game/gamemodes/clock_cult/clock_scriptures/scripture_revenant.dm b/code/game/gamemodes/clock_cult/clock_scriptures/scripture_revenant.dm
index 86d51a97dc..faab84befe 100644
--- a/code/game/gamemodes/clock_cult/clock_scriptures/scripture_revenant.dm
+++ b/code/game/gamemodes/clock_cult/clock_scriptures/scripture_revenant.dm
@@ -16,7 +16,7 @@
sort_priority = 2
/datum/clockwork_scripture/invoke_inathneq/check_special_requirements()
- if(!slab.no_cost && clockwork_generals_invoked["inath-neq"] > world.time)
+ if(!slab.no_cost && GLOB.clockwork_generals_invoked["inath-neq"] > world.time)
to_chat(invoker, "\"[text2ratvar("I cannot lend you my aid yet, champion. Please be careful.")]\" \n\
Inath-neq has already been invoked recently! You must wait several minutes before calling upon the Resonant Cogwheel. ")
return FALSE
@@ -25,7 +25,7 @@
/datum/clockwork_scripture/invoke_inathneq/scripture_effects()
new/obj/effect/clockwork/general_marker/inathneq(get_turf(invoker))
hierophant_message("[text2ratvar("Vanguard: \"I lend you my aid, champions! Let glory guide your blows!")]\" ", FALSE, invoker)
- clockwork_generals_invoked["inath-neq"] = world.time + CLOCKWORK_GENERAL_COOLDOWN
+ GLOB.clockwork_generals_invoked["inath-neq"] = world.time + CLOCKWORK_GENERAL_COOLDOWN
playsound(invoker, 'sound/magic/clockwork/invoke_general.ogg', 50, 0)
if(invoker.real_name == "Lucio")
clockwork_say(invoker, text2ratvar("Aww, let's break it DOWN!!"))
@@ -56,11 +56,11 @@
"\"What a waste of my power.\"", "\"I'm sure I could just control these minds instead, but they never ask.\"")
/datum/clockwork_scripture/invoke_sevtug/check_special_requirements()
- if(!slab.no_cost && clockwork_generals_invoked["sevtug"] > world.time)
+ if(!slab.no_cost && GLOB.clockwork_generals_invoked["sevtug"] > world.time)
to_chat(invoker, "\"[text2ratvar("Is it really so hard - even for a simpleton like you - to grasp the concept of waiting?")]\" \n\
Sevtug has already been invoked recently! You must wait several minutes before calling upon the Formless Pariah. ")
return FALSE
- if(!slab.no_cost && ratvar_awakens)
+ if(!slab.no_cost && GLOB.ratvar_awakens)
to_chat(invoker, "\"[text2ratvar("Do you really think anything I can do right now will compare to Engine's power?")]\" \n\
Sevtug will not grant his power while Ratvar's dwarfs his own! ")
return FALSE
@@ -69,11 +69,11 @@
/datum/clockwork_scripture/invoke_sevtug/scripture_effects()
new/obj/effect/clockwork/general_marker/sevtug(get_turf(invoker))
hierophant_message("[text2ratvar("Fright: \"I heed your call, idiots. Get going and use this chance while it lasts!")]\" ", FALSE, invoker)
- clockwork_generals_invoked["sevtug"] = world.time + GLOBAL_CLOCKWORK_GENERAL_COOLDOWN
+ GLOB.clockwork_generals_invoked["sevtug"] = world.time + GLOBAL_CLOCKWORK_GENERAL_COOLDOWN
playsound(invoker, 'sound/magic/clockwork/invoke_general.ogg', 50, 0)
var/hum = get_sfx('sound/effects/screech.ogg') //like playsound, same sound for everyone affected
var/turf/T = get_turf(invoker)
- for(var/mob/living/carbon/human/H in living_mob_list)
+ for(var/mob/living/carbon/human/H in GLOB.living_mob_list)
if(H.z == invoker.z && !is_servant_of_ratvar(H))
var/distance = 0
distance += get_dist(T, get_turf(H))
@@ -118,11 +118,11 @@
multiple_invokers_used = TRUE
/datum/clockwork_scripture/invoke_nezbere/check_special_requirements()
- if(!slab.no_cost && clockwork_generals_invoked["nezbere"] > world.time)
+ if(!slab.no_cost && GLOB.clockwork_generals_invoked["nezbere"] > world.time)
to_chat(invoker, "\"[text2ratvar("Not just yet, friend. Patience is a virtue.")]\" \n\
Nezbere has already been invoked recently! You must wait several minutes before calling upon the Brass Eidolon. ")
return FALSE
- if(!slab.no_cost && ratvar_awakens)
+ if(!slab.no_cost && GLOB.ratvar_awakens)
to_chat(invoker, "\"[text2ratvar("Our master is here already. You do not require my help, friend.")]\" \n\
There is no need for Nezbere's assistance while Ratvar is risen! ")
return FALSE
@@ -131,17 +131,19 @@
/datum/clockwork_scripture/invoke_nezbere/scripture_effects()
new/obj/effect/clockwork/general_marker/nezbere(get_turf(invoker))
hierophant_message("[text2ratvar("Armorer: \"I heed your call, champions. May your artifacts bring ruin upon the heathens that oppose our master!")]\" ", FALSE, invoker)
- clockwork_generals_invoked["nezbere"] = world.time + GLOBAL_CLOCKWORK_GENERAL_COOLDOWN
+ GLOB.clockwork_generals_invoked["nezbere"] = world.time + GLOBAL_CLOCKWORK_GENERAL_COOLDOWN
playsound(invoker, 'sound/magic/clockwork/invoke_general.ogg', 50, 0)
- nezbere_invoked++
- for(var/obj/O in all_clockwork_objects)
+ GLOB.nezbere_invoked++
+ for(var/obj/O in GLOB.all_clockwork_objects)
O.ratvar_act()
- spawn(600)
- nezbere_invoked--
- for(var/obj/O in all_clockwork_objects)
- O.ratvar_act()
+ addtimer(CALLBACK(GLOBAL_PROC, /proc/reset_nezbere_invocation), 600)
return TRUE
+/proc/reset_nezbere_invocation()
+ GLOB.nezbere_invoked--
+ for(var/obj/O in GLOB.all_clockwork_objects)
+ O.ratvar_act()
+
//Invoke Nzcrentr, the Eternal Thunderbolt: Imbues an immense amount of energy into the invoker. After several seconds, everyone near the invoker will be hit with a devastating lightning blast.
/datum/clockwork_scripture/invoke_nzcrentr
@@ -158,7 +160,7 @@
sort_priority = 5
/datum/clockwork_scripture/invoke_nzcrentr/check_special_requirements()
- if(!slab.no_cost && clockwork_generals_invoked["nzcrentr"] > world.time)
+ if(!slab.no_cost && GLOB.clockwork_generals_invoked["nzcrentr"] > world.time)
to_chat(invoker, "\"[text2ratvar("The boss says you have to wait. Hey, do you think he would mind if I killed you? ...He would? Ok.")]\" \n\
Nzcrentr has already been invoked recently! You must wait several minutes before calling upon the Eternal Thunderbolt. ")
return FALSE
@@ -166,7 +168,7 @@
/datum/clockwork_scripture/invoke_nzcrentr/scripture_effects()
new/obj/effect/clockwork/general_marker/nzcrentr(get_turf(invoker))
- clockwork_generals_invoked["nzcrentr"] = world.time + CLOCKWORK_GENERAL_COOLDOWN
+ GLOB.clockwork_generals_invoked["nzcrentr"] = world.time + CLOCKWORK_GENERAL_COOLDOWN
hierophant_message("[text2ratvar("Amperage: \"[invoker.real_name] has called forth my power. Hope [invoker.p_they()] [invoker.p_do()] not shatter under it!")]\" ", FALSE, invoker)
invoker.visible_message("[invoker] begins to radiate a blinding light! ", \
"\"[text2ratvar("The boss says it's okay to do this. Don't blame me if you die from it.")]\" \n\
diff --git a/code/game/gamemodes/clock_cult/clock_scriptures/scripture_scripts.dm b/code/game/gamemodes/clock_cult/clock_scriptures/scripture_scripts.dm
index 9c098d6d8d..4fd4e629a1 100644
--- a/code/game/gamemodes/clock_cult/clock_scriptures/scripture_scripts.dm
+++ b/code/game/gamemodes/clock_cult/clock_scriptures/scripture_scripts.dm
@@ -180,17 +180,13 @@
owner.visible_message("A strange spear materializes in [owner]'s hands! ", "You call forth your spear! ")
var/obj/item/clockwork/ratvarian_spear/R = new(get_turf(usr))
owner.put_in_hands(R)
- if(!ratvar_awakens)
+ if(!GLOB.ratvar_awakens)
to_chat(owner, "Your spear begins to break down in this plane of existence. You can't use it for long! ")
cooldown = base_cooldown + world.time
owner.update_action_buttons_icon()
- addtimer(CALLBACK(src, .proc/update_actions), base_cooldown)
+ addtimer(CALLBACK(owner, /mob.proc/update_action_buttons_icon), base_cooldown)
return TRUE
-/datum/action/innate/function_call/proc/update_actions()
- if(owner)
- owner.update_action_buttons_icon()
-
//Spatial Gateway: Allows the invoker to teleport themselves and any nearby allies to a conscious servant or clockwork obelisk.
/datum/clockwork_scripture/spatial_gateway
@@ -215,13 +211,14 @@
to_chat(invoker, "You must not be inside an object to use this scripture! ")
return FALSE
var/other_servants = 0
- for(var/mob/living/L in living_mob_list)
+ for(var/mob/living/L in GLOB.living_mob_list)
if(is_servant_of_ratvar(L) && !L.stat && L != invoker)
other_servants++
- for(var/obj/structure/destructible/clockwork/powered/clockwork_obelisk/O in all_clockwork_objects)
- other_servants++
+ for(var/obj/structure/destructible/clockwork/powered/clockwork_obelisk/O in GLOB.all_clockwork_objects)
+ if(O.anchored)
+ other_servants++
if(!other_servants)
- to_chat(invoker, "There are no other servants or clockwork obelisks! ")
+ to_chat(invoker, "There are no other conscious servants or anchored clockwork obelisks! ")
return FALSE
return TRUE
@@ -232,7 +229,7 @@
if(!L.stat && is_servant_of_ratvar(L))
portal_uses++
duration += 40 //4 seconds
- if(ratvar_awakens)
+ if(GLOB.ratvar_awakens)
portal_uses = max(portal_uses, 100) //Very powerful if Ratvar has been summoned
duration = max(duration, 100)
return slab.procure_gateway(invoker, duration, portal_uses)
@@ -266,7 +263,7 @@
var/turf/T = get_turf(invoker)
if(!ray.run_scripture() && slab && invoker)
if(can_recite() && T == get_turf(invoker))
- if(!ratvar_awakens)
+ if(!GLOB.ratvar_awakens)
var/obj/structure/destructible/clockwork/powered/volt_checker/VC = new/obj/structure/destructible/clockwork/powered/volt_checker(get_turf(invoker))
var/multiplier = 0.5
var/usable_power = min(Floor(VC.total_accessable_power() * 0.2, MIN_CLOCKCULT_POWER), 1000)
diff --git a/code/game/gamemodes/clock_cult/clock_structure.dm b/code/game/gamemodes/clock_cult/clock_structure.dm
index 5eda70a8f7..f95b6e2d16 100644
--- a/code/game/gamemodes/clock_cult/clock_structure.dm
+++ b/code/game/gamemodes/clock_cult/clock_structure.dm
@@ -21,15 +21,15 @@
/obj/structure/destructible/clockwork/New()
..()
change_construction_value(construction_value)
- all_clockwork_objects += src
+ GLOB.all_clockwork_objects += src
/obj/structure/destructible/clockwork/Destroy()
change_construction_value(-construction_value)
- all_clockwork_objects -= src
+ GLOB.all_clockwork_objects -= src
return ..()
/obj/structure/destructible/clockwork/ratvar_act()
- if(ratvar_awakens || clockwork_gateway_activated)
+ if(GLOB.ratvar_awakens || GLOB.clockwork_gateway_activated)
obj_integrity = max_integrity
/obj/structure/destructible/clockwork/narsie_act()
@@ -78,7 +78,7 @@
return ..()
/obj/structure/destructible/clockwork/proc/get_efficiency_mod(increasing)
- if(ratvar_awakens)
+ if(GLOB.ratvar_awakens)
if(increasing)
return 0.5
return 2
@@ -144,10 +144,10 @@
/obj/structure/destructible/clockwork/massive/New()
..()
- poi_list += src
+ GLOB.poi_list += src
/obj/structure/destructible/clockwork/massive/Destroy()
- poi_list -= src
+ GLOB.poi_list -= src
return ..()
/obj/structure/destructible/clockwork/massive/singularity_pull(S, current_size)
@@ -177,7 +177,7 @@
/obj/structure/destructible/clockwork/powered/ratvar_act()
..()
- if(nezbere_invoked)
+ if(GLOB.nezbere_invoked)
needs_power = FALSE
else
needs_power = initial(needs_power)
@@ -225,7 +225,7 @@
new /obj/effect/overlay/temp/emp(loc)
/obj/structure/destructible/clockwork/powered/proc/total_accessable_power() //how much power we have and can use
- if(!needs_power || ratvar_awakens)
+ if(!needs_power || GLOB.ratvar_awakens)
return INFINITY //oh yeah we've got power why'd you ask
var/power = 0
@@ -237,7 +237,7 @@
var/power = 0
var/area/A = get_area(src)
var/area/targetAPCA
- for(var/obj/machinery/power/apc/APC in apcs_list)
+ for(var/obj/machinery/power/apc/APC in GLOB.apcs_list)
var/area/APCA = get_area(APC)
if(APCA == A)
target_apc = APC
@@ -259,7 +259,7 @@
/obj/structure/destructible/clockwork/powered/proc/try_use_power(amount) //try to use an amount of power
- if(!needs_power || ratvar_awakens)
+ if(!needs_power || GLOB.ratvar_awakens)
return 1
if(amount <= 0)
return FALSE
diff --git a/code/game/gamemodes/clock_cult/clock_structures/ark_of_the_clockwork_justicar.dm b/code/game/gamemodes/clock_cult/clock_structures/ark_of_the_clockwork_justicar.dm
index 584145b88f..c088c8cd41 100644
--- a/code/game/gamemodes/clock_cult/clock_structures/ark_of_the_clockwork_justicar.dm
+++ b/code/game/gamemodes/clock_cult/clock_structures/ark_of_the_clockwork_justicar.dm
@@ -1,6 +1,6 @@
//The gateway to Reebe, from which Ratvar emerges.
/obj/structure/destructible/clockwork/massive/celestial_gateway
- name = "gateway to the Celestial Derelict"
+ name = "ark of the Clockwork Justicar"
desc = "A massive, thrumming rip in spacetime."
clockwork_desc = "A portal to the Celestial Derelict. Massive and intimidating, it is the only thing that can both transport Ratvar and withstand the massive amount of energy he emits."
obj_integrity = 500
@@ -19,10 +19,9 @@
var/second_sound_played = FALSE
var/third_sound_played = FALSE
var/fourth_sound_played = FALSE
- var/ratvar_portal = TRUE //if the gateway actually summons ratvar or just produces a hugeass conversion burst
var/obj/effect/clockwork/overlay/gateway_glow/glow
var/obj/effect/countdown/clockworkgate/countdown
- var/list/required_components = list(BELLIGERENT_EYE = 7, VANGUARD_COGWHEEL = 7, GEIS_CAPACITOR = 7, REPLICANT_ALLOY = 7, HIEROPHANT_ANSIBLE = 7)
+ var/list/required_components = list(BELLIGERENT_EYE = ARK_CONSUME_COST, VANGUARD_COGWHEEL = ARK_CONSUME_COST, GEIS_CAPACITOR = ARK_CONSUME_COST, REPLICANT_ALLOY = ARK_CONSUME_COST, HIEROPHANT_ANSIBLE = ARK_CONSUME_COST)
/obj/structure/destructible/clockwork/massive/celestial_gateway/New()
..()
@@ -30,33 +29,20 @@
/obj/structure/destructible/clockwork/massive/celestial_gateway/proc/spawn_animation()
var/turf/T = get_turf(src)
- var/objective_is_gateway = (ticker && ticker.mode && ticker.mode.clockwork_objective == CLOCKCULT_GATEWAY)
new/obj/effect/clockwork/general_marker/inathneq(T)
- if(objective_is_gateway)
- hierophant_message("\"[text2ratvar("Engine, come forth and show your servants your mercy")]!\" ")
- else
- hierophant_message("\"[text2ratvar("We will show all the mercy of Engine")]!\" ")
+ hierophant_message("\"[text2ratvar("Engine, come forth and show your servants your mercy")]!\" ")
playsound(T, 'sound/magic/clockwork/invoke_general.ogg', 30, 0)
sleep(10)
new/obj/effect/clockwork/general_marker/sevtug(T)
- if(objective_is_gateway)
- hierophant_message("\"[text2ratvar("Engine, come forth and show this station your decorating skills")]!\" ")
- else
- hierophant_message("\"[text2ratvar("We will show all Engine's decorating skills")]!\" ")
+ hierophant_message("\"[text2ratvar("Engine, come forth and show this station your decorating skills")]!\" ")
playsound(T, 'sound/magic/clockwork/invoke_general.ogg', 45, 0)
sleep(10)
new/obj/effect/clockwork/general_marker/nezbere(T)
- if(objective_is_gateway)
- hierophant_message("\"[text2ratvar("Engine, come forth and shine your light across this realm")]!!\" ")
- else
- hierophant_message("\"[text2ratvar("We will show all Engine's light")]!!\" ")
+ hierophant_message("\"[text2ratvar("Engine, come forth and shine your light across this realm")]!!\" ")
playsound(T, 'sound/magic/clockwork/invoke_general.ogg', 60, 0)
sleep(10)
new/obj/effect/clockwork/general_marker/nzcrentr(T)
- if(objective_is_gateway)
- hierophant_message("\"[text2ratvar("Engine, come forth")].\" ")
- else
- hierophant_message("\"[text2ratvar("We will show all Engine's power")].\" ")
+ hierophant_message("\"[text2ratvar("Engine, come forth")].\" ")
playsound(T, 'sound/magic/clockwork/invoke_general.ogg', 75, 0)
sleep(10)
playsound(T, 'sound/magic/clockwork/invoke_general.ogg', 100, 0)
@@ -74,9 +60,7 @@
countdown = new(src)
countdown.start()
var/area/gate_area = get_area(src)
- hierophant_message("A gateway to the Celestial Derelict has been created in [gate_area.map_name]! ", FALSE, src)
- if(!objective_is_gateway)
- ratvar_portal = FALSE
+ hierophant_message("An Ark of the Clockwork Justicar has been created in [gate_area.map_name]! ", FALSE, src)
SSshuttle.registerHostileEnvironment(src)
START_PROCESSING(SSprocessing, src)
@@ -84,7 +68,7 @@
STOP_PROCESSING(SSprocessing, src)
if(!purpose_fulfilled)
var/area/gate_area = get_area(src)
- hierophant_message("A gateway to the Celestial Derelict has fallen at [gate_area.map_name]! ")
+ hierophant_message("An Ark of the Clockwork Justicar has fallen at [gate_area.map_name]! ")
send_to_playing_players(sound(null, 0, channel = 8))
var/was_stranded = SSshuttle.emergency.mode == SHUTTLE_STRANDED
SSshuttle.clearHostileEnvironment(src)
@@ -179,14 +163,14 @@
to_chat(user, "[get_component_name(i)][i != REPLICANT_ALLOY ? "s":""]: \
[required_components[i]] ")
else
- to_chat(user, "Seconds until [ratvar_portal ? "Ratvar's arrival":"Proselytization"]: [get_arrival_text(TRUE)] ")
+ to_chat(user, "Seconds until Ratvar's arrival: [get_arrival_text(TRUE)] ")
switch(progress_in_seconds)
if(-INFINITY to GATEWAY_REEBE_FOUND)
to_chat(user, "It's still opening. ")
if(GATEWAY_REEBE_FOUND to GATEWAY_RATVAR_COMING)
to_chat(user, "It's reached the Celestial Derelict and is drawing power from it. ")
if(GATEWAY_RATVAR_COMING to INFINITY)
- to_chat(user, "[ratvar_portal ? "Ratvar is coming through the gateway":"The gateway is glowing with massed power"]! ")
+ to_chat(user, "Ratvar is coming through the gateway! ")
else
switch(progress_in_seconds)
if(-INFINITY to GATEWAY_REEBE_FOUND)
@@ -194,11 +178,11 @@
if(GATEWAY_REEBE_FOUND to GATEWAY_RATVAR_COMING)
to_chat(user, "It seems to be leading somewhere. ")
if(GATEWAY_RATVAR_COMING to INFINITY)
- to_chat(user, "[ratvar_portal ? "Something is coming through":"It's glowing brightly"]! ")
+ to_chat(user, "Something is coming through! ")
/obj/structure/destructible/clockwork/massive/celestial_gateway/process()
if(!first_sound_played || prob(7))
- for(var/M in player_list)
+ for(var/M in GLOB.player_list)
if(M && !isnewplayer(M))
to_chat(M, "You hear otherworldly sounds from the [dir2text(get_dir(get_turf(M), get_turf(src)))]... ")
if(!obj_integrity)
@@ -227,9 +211,9 @@
var/used_components = FALSE
for(var/i in required_components)
if(required_components[i])
- var/to_use = min(clockwork_component_cache[i], required_components[i])
+ var/to_use = min(GLOB.clockwork_component_cache[i], required_components[i])
required_components[i] -= to_use
- clockwork_component_cache[i] -= to_use
+ GLOB.clockwork_component_cache[i] -= to_use
if(to_use)
used_components = TRUE
if(used_components)
@@ -276,39 +260,28 @@
animate(glow, transform = matrix() * 3, alpha = 0, time = 5)
var/turf/startpoint = get_turf(src)
QDEL_IN(src, 3)
- if(ratvar_portal)
- sleep(3)
- clockwork_gateway_activated = TRUE
- new/obj/structure/destructible/clockwork/massive/ratvar(startpoint)
- else
- INVOKE_ASYNC(SSshuttle.emergency, /obj/docking_port/mobile/emergency.proc/request, null, 0) //call the shuttle immediately
- sleep(3)
- clockwork_gateway_activated = TRUE
- send_to_playing_players("\"[text2ratvar("Behold")]!\" \n\"[text2ratvar("See Engine's mercy")]!\" \n\
- \"[text2ratvar("Observe Engine's design skills")]!\" \n\"[text2ratvar("Behold Engine's light")]!!\" \n\
- \"[text2ratvar("Gaze upon Engine's power")]!\" ")
- send_to_playing_players('sound/magic/clockwork/invoke_general.ogg')
- var/x0 = startpoint.x
- var/y0 = startpoint.y
- for(var/I in spiral_range_turfs(255, startpoint))
- var/turf/T = I
- if(!T)
- continue
- var/dist = cheap_hypotenuse(T.x, T.y, x0, y0)
- if(dist < 100)
- dist = TRUE
- else
- dist = FALSE
- T.ratvar_act(dist)
- CHECK_TICK
- for(var/mob/living/L in living_mob_list)
- L.ratvar_act()
- for(var/I in all_clockwork_mobs)
- var/mob/M = I
- if(M.stat == CONSCIOUS)
- clockwork_say(M, text2ratvar(pick("Purge all untruths and honor Engine!", "All glory to Engine's light!", "Engine's power is unmatched!")))
+ sleep(3)
+ GLOB.clockwork_gateway_activated = TRUE
+ new/obj/structure/destructible/clockwork/massive/ratvar(startpoint)
+ send_to_playing_players("\"[text2ratvar("See Engine's mercy")]!\" \n\
+ \"[text2ratvar("Observe Engine's design skills")]!\" \n\"[text2ratvar("Behold Engine's light")]!!\" \n\
+ \"[text2ratvar("Gaze upon Engine's power")].\" ")
+ send_to_playing_players('sound/magic/clockwork/invoke_general.ogg')
+ var/x0 = startpoint.x
+ var/y0 = startpoint.y
+ for(var/I in spiral_range_turfs(255, startpoint))
+ var/turf/T = I
+ if(!T)
+ continue
+ var/dist = cheap_hypotenuse(T.x, T.y, x0, y0)
+ if(dist < 100)
+ dist = TRUE
+ else
+ dist = FALSE
+ T.ratvar_act(dist, TRUE)
+ CHECK_TICK
-//the actual appearance of the Gateway to the Celestial Derelict; an object so the edges of the gate can be clicked through.
+//the actual appearance of the Ark of the Clockwork Justicar; an object so the edges of the gate can be clicked through.
/obj/effect/clockwork/overlay/gateway_glow
icon = 'icons/effects/96x96.dmi'
icon_state = "clockwork_gateway_charging"
diff --git a/code/game/gamemodes/clock_cult/clock_structures/interdiction_lens.dm b/code/game/gamemodes/clock_cult/clock_structures/interdiction_lens.dm
index 56e2736cd4..1082e021c0 100644
--- a/code/game/gamemodes/clock_cult/clock_structures/interdiction_lens.dm
+++ b/code/game/gamemodes/clock_cult/clock_structures/interdiction_lens.dm
@@ -19,9 +19,9 @@
var/interdiction_range = 14 //how large an area it drains and disables in
var/static/list/rage_messages = list("...", "Disgusting.", "Die.", "Foul.", "Worthless.", "Mortal.", "Unfit.", "Weak.", "Fragile.", "Useless.", "Leave my sight!")
-/obj/structure/destructible/clockwork/powered/interdiction_lens/New()
+/obj/structure/destructible/clockwork/powered/interdiction_lens/Initialize()
..()
- set_light(1.4, 0.8, "#F42B9D")
+ update_current_glow()
/obj/structure/destructible/clockwork/powered/interdiction_lens/examine(mob/user)
..()
@@ -30,12 +30,25 @@
if(is_servant_of_ratvar(user) || isobserver(user))
to_chat(user, "If it fails to drain any electronics or has nothing to return power to, it will disable itself for [round(recharge_time/600, 1)] minutes. ")
+/obj/structure/destructible/clockwork/powered/interdiction_lens/update_anchored(mob/user, do_damage)
+ ..()
+ update_current_glow()
+
/obj/structure/destructible/clockwork/powered/interdiction_lens/toggle(fast_process, mob/living/user)
. = ..()
+ update_current_glow()
+
+/obj/structure/destructible/clockwork/powered/interdiction_lens/proc/update_current_glow()
if(active)
- set_light(2, 1.6, "#EE54EE")
+ if(disabled)
+ set_light(2, 1.6, "#151200")
+ else
+ set_light(2, 1.6, "#EE54EE")
else
- set_light(1.4, 0.8, "#F42B9D")
+ if(anchored)
+ set_light(1.4, 0.8, "#F42B9D")
+ else
+ set_light(0)
/obj/structure/destructible/clockwork/powered/interdiction_lens/attack_hand(mob/living/user)
if(user.canUseTopic(src, !issilicon(user), NO_DEXTERY))
@@ -45,7 +58,7 @@
toggle(0, user)
/obj/structure/destructible/clockwork/powered/interdiction_lens/forced_disable(bad_effects)
- if(disabled)
+ if(disabled || !anchored)
return FALSE
if(!active)
toggle(0)
@@ -53,8 +66,8 @@
recharging = world.time + recharge_time
flick("interdiction_lens_discharged", src)
icon_state = "interdiction_lens_inactive"
- set_light(2, 1.6, "#151200")
disabled = TRUE
+ update_current_glow()
return TRUE
/obj/structure/destructible/clockwork/powered/interdiction_lens/process()
@@ -84,7 +97,7 @@
var/efficiency = get_efficiency_mod()
var/rage_modifier = get_efficiency_mod(TRUE)
- for(var/i in ai_list)
+ for(var/i in GLOB.ai_list)
var/mob/living/silicon/ai/AI = i
if(AI && AI.stat != DEAD && !is_servant_of_ratvar(AI))
unconverted_ai = TRUE
diff --git a/code/game/gamemodes/clock_cult/clock_structures/ocular_warden.dm b/code/game/gamemodes/clock_cult/clock_structures/ocular_warden.dm
index da2483883e..a6455701b1 100644
--- a/code/game/gamemodes/clock_cult/clock_structures/ocular_warden.dm
+++ b/code/game/gamemodes/clock_cult/clock_structures/ocular_warden.dm
@@ -47,10 +47,10 @@
/obj/structure/destructible/clockwork/ocular_warden/ratvar_act()
..()
- if(ratvar_awakens)
+ if(GLOB.ratvar_awakens)
damage_per_tick = 10
sight_range = 6
- else if(nezbere_invoked)
+ else if(GLOB.nezbere_invoked)
damage_per_tick = 5
sight_range = 5
else
@@ -80,7 +80,7 @@
else
L.playsound_local(null,'sound/machines/clockcult/ocularwarden-dot2.ogg',50,1)
L.adjustFireLoss((!iscultist(L) ? damage_per_tick : damage_per_tick * 2) * get_efficiency_mod()) //Nar-Sian cultists take additional damage
- if(ratvar_awakens && L)
+ if(GLOB.ratvar_awakens && L)
L.adjust_fire_stacks(damage_per_tick)
L.IgniteMob()
else if(istype(target,/obj/mecha))
@@ -97,7 +97,7 @@
visible_message("[src] swivels to face [target]! ")
if(isliving(target))
var/mob/living/L = target
- to_chat(L, "\"I SEE YOU!\" \n[src]'s gaze [ratvar_awakens ? "melts you alive" : "burns you"]! ")
+ to_chat(L, "\"I SEE YOU!\" \n[src]'s gaze [GLOB.ratvar_awakens ? "melts you alive" : "burns you"]! ")
else if(istype(target,/obj/mecha))
var/obj/mecha/M = target
to_chat(M.occupant, "\"I SEE YOU!\" " )
@@ -105,7 +105,7 @@
if(prob(50))
visible_message("[src][pick(idle_messages)] ")
else
- setDir(pick(cardinal))//Random rotation
+ setDir(pick(GLOB.cardinal))//Random rotation
/obj/structure/destructible/clockwork/ocular_warden/proc/acquire_nearby_targets()
. = list()
@@ -131,7 +131,7 @@
else if(!L.mind)
continue
. += L
- for(var/N in mechas_list)
+ for(var/N in GLOB.mechas_list)
var/obj/mecha/M = N
if(get_dist(M, src) <= sight_range && M.occupant && !is_servant_of_ratvar(M.occupant) && (M in view(sight_range, src)))
. += M
diff --git a/code/game/gamemodes/clock_cult/clock_structures/ratvar_the_clockwork_justicar.dm b/code/game/gamemodes/clock_cult/clock_structures/ratvar_the_clockwork_justicar.dm
index 969e3e23e4..4b6db708f6 100644
--- a/code/game/gamemodes/clock_cult/clock_structures/ratvar_the_clockwork_justicar.dm
+++ b/code/game/gamemodes/clock_cult/clock_structures/ratvar_the_clockwork_justicar.dm
@@ -15,11 +15,12 @@
var/atom/prey //Whatever Ratvar is chasing
var/clashing = FALSE //If Ratvar is FUCKING FIGHTING WITH NAR-SIE
var/proselytize_range = 10
+ dangerous_possession = TRUE
/obj/structure/destructible/clockwork/massive/ratvar/New()
..()
- ratvar_awakens++
- for(var/obj/O in all_clockwork_objects)
+ GLOB.ratvar_awakens++
+ for(var/obj/O in GLOB.all_clockwork_objects)
O.ratvar_act()
START_PROCESSING(SSobj, src)
send_to_playing_players("\"[text2ratvar("ONCE AGAIN MY LIGHT SHALL SHINE ACROSS THIS PATHETIC REALM")]!!\" ")
@@ -27,11 +28,11 @@
var/image/alert_overlay = image('icons/effects/clockwork_effects.dmi', "ratvar_alert")
var/area/A = get_area(src)
notify_ghosts("The Justiciar's light calls to you! Reach out to Ratvar in [A.name] to be granted a shell to spread his glory!", null, source = src, alert_overlay = alert_overlay)
- addtimer(CALLBACK(SSshuttle.emergency, /obj/docking_port/mobile/emergency..proc/request, null, 0.1), 50)
+ INVOKE_ASYNC(SSshuttle.emergency, /obj/docking_port/mobile/emergency..proc/request, null, 0)
/obj/structure/destructible/clockwork/massive/ratvar/Destroy()
- ratvar_awakens--
- for(var/obj/O in all_clockwork_objects)
+ GLOB.ratvar_awakens--
+ for(var/obj/O in GLOB.all_clockwork_objects)
O.ratvar_act()
STOP_PROCESSING(SSobj, src)
send_to_playing_players("\"NO! I will not... be... banished... again...\" ")
@@ -62,27 +63,30 @@
T.ratvar_act()
for(var/I in circleviewturfs(src, round(proselytize_range * 0.5)))
var/turf/T = I
- T.ratvar_act(1)
- var/dir_to_step_in = pick(cardinal)
+ T.ratvar_act(TRUE)
+ var/dir_to_step_in = pick(GLOB.cardinal)
+ var/list/meals = list()
+ for(var/mob/living/L in GLOB.living_mob_list) //we want to know who's alive so we don't lose and retarget a single person
+ if(L.z == z && !is_servant_of_ratvar(L) && L.mind)
+ meals += L
if(!prey)
- for(var/obj/singularity/narsie/N in singularities)
+ for(var/obj/singularity/narsie/N in GLOB.singularities)
if(N.z == z)
prey = N
break
- if(!prey) //In case there's a Nar-Sie
- var/list/meals = list()
- for(var/mob/living/L in living_mob_list)
- if(L.z == z && !is_servant_of_ratvar(L) && L.mind)
- meals += L
- if(meals.len)
- prey = pick(meals)
- to_chat(prey, "\"You will do.\" \n\
- Something very large and very malevolent begins lumbering its way towards you... ")
- prey << 'sound/effects/ratvar_reveal.ogg'
+ if(!prey && LAZYLEN(meals))
+ prey = pick(meals)
+ to_chat(prey, "\"You will do, heretic.\" \n\
+ ")
+ prey << 'sound/effects/ratvar_reveal.ogg'
else
- if((!istype(prey, /obj/singularity/narsie) && prob(10)) || is_servant_of_ratvar(prey) || prey.z != z)
- to_chat(prey, "\"How dull. Leave me.\" \n\
- You feel tremendous relief as a set of horrible eyes loses sight of you... ")
+ if((!istype(prey, /obj/singularity/narsie) && prob(10) && LAZYLEN(meals) > 1) || prey.z != z || !(prey in meals))
+ if(is_servant_of_ratvar(prey))
+ to_chat(prey, "\"Serve me well.\" \n\
+ You feel great joy as your god turns His eye to another heretic... ")
+ else
+ to_chat(prey, "\"No matter. I will find you later, heretic.\" \n\
+ You feel tremendous relief as the crushing focus relents... ")
prey = null
else
dir_to_step_in = get_dir(src, prey) //Unlike Nar-Sie, Ratvar ruthlessly chases down his target
@@ -109,13 +113,13 @@
while(src && narsie)
send_to_playing_players('sound/magic/clockwork/ratvar_attack.ogg')
sleep(5.2)
- for(var/mob/M in mob_list)
+ for(var/mob/M in GLOB.mob_list)
if(!isnewplayer(M))
flash_color(M, flash_color="#966400", flash_time=1)
shake_camera(M, 4, 3)
- var/ratvar_chance = min(ticker.mode.servants_of_ratvar.len, 50)
- var/narsie_chance = ticker.mode.cult.len
- for(var/mob/living/simple_animal/hostile/construct/harvester/C in player_list)
+ var/ratvar_chance = min(SSticker.mode.servants_of_ratvar.len, 50)
+ var/narsie_chance = SSticker.mode.cult.len
+ for(var/mob/living/simple_animal/hostile/construct/harvester/C in GLOB.player_list)
narsie_chance++
ratvar_chance = rand(base_victory_chance, ratvar_chance)
narsie_chance = rand(base_victory_chance, min(narsie_chance, 50))
@@ -125,7 +129,7 @@
sleep(rand(2,5))
send_to_playing_players('sound/magic/clockwork/narsie_attack.ogg')
sleep(7.4)
- for(var/mob/M in mob_list)
+ for(var/mob/M in GLOB.mob_list)
if(!isnewplayer(M))
flash_color(M, flash_color="#C80000", flash_time=1)
shake_camera(M, 4, 3)
diff --git a/code/game/gamemodes/clock_cult/clock_structures/taunting_trail.dm b/code/game/gamemodes/clock_cult/clock_structures/taunting_trail.dm
index 16afbae154..3016a210dc 100644
--- a/code/game/gamemodes/clock_cult/clock_structures/taunting_trail.dm
+++ b/code/game/gamemodes/clock_cult/clock_structures/taunting_trail.dm
@@ -20,13 +20,13 @@
timerid = QDEL_IN(src, 15)
var/obj/structure/destructible/clockwork/taunting_trail/Tt = locate(/obj/structure/destructible/clockwork/taunting_trail) in loc
if(Tt && Tt != src)
- if(!step(src, pick(alldirs)))
+ if(!step(src, pick(GLOB.alldirs)))
qdel(Tt)
else
for(var/obj/structure/destructible/clockwork/taunting_trail/TT in loc)
if(TT != src)
qdel(TT)
- setDir(pick(cardinal))
+ setDir(pick(GLOB.cardinal))
transform = matrix()*1.25
animate(src, alpha = 100, time = 15)
diff --git a/code/game/gamemodes/clock_cult/clock_structures/tinkerers_cache.dm b/code/game/gamemodes/clock_cult/clock_structures/tinkerers_cache.dm
index ad1f0a91df..7583428505 100644
--- a/code/game/gamemodes/clock_cult/clock_structures/tinkerers_cache.dm
+++ b/code/game/gamemodes/clock_cult/clock_structures/tinkerers_cache.dm
@@ -13,19 +13,21 @@
light_color = "#C2852F"
var/wall_generation_cooldown
var/turf/closed/wall/clockwork/linkedwall //if we've got a linked wall and are producing
+ var/static/linked_caches = 0 //how many caches are linked to walls; affects how fast components are produced
/obj/structure/destructible/clockwork/cache/New()
..()
START_PROCESSING(SSobj, src)
- clockwork_caches++
+ GLOB.clockwork_caches++
update_slab_info()
set_light(2, 0.7)
/obj/structure/destructible/clockwork/cache/Destroy()
- clockwork_caches--
+ GLOB.clockwork_caches--
update_slab_info()
STOP_PROCESSING(SSobj, src)
if(linkedwall)
+ linked_caches--
linkedwall.linkedcache = null
linkedwall = null
return ..()
@@ -33,18 +35,20 @@
/obj/structure/destructible/clockwork/cache/process()
if(!anchored)
if(linkedwall)
+ linked_caches--
linkedwall.linkedcache = null
linkedwall = null
return
for(var/turf/closed/wall/clockwork/C in range(4, src))
if(!C.linkedcache && !linkedwall)
+ linked_caches++
C.linkedcache = src
linkedwall = C
- wall_generation_cooldown = world.time + (CACHE_PRODUCTION_TIME * get_efficiency_mod(TRUE))
+ wall_generation_cooldown = world.time + get_production_time()
visible_message("[src] starts to whirr in the presence of [C]... ")
break
if(linkedwall && wall_generation_cooldown <= world.time)
- wall_generation_cooldown = world.time + (CACHE_PRODUCTION_TIME * get_efficiency_mod(TRUE))
+ wall_generation_cooldown = world.time + get_production_time()
var/component_id = generate_cache_component(null, src)
playsound(linkedwall, 'sound/magic/clockwork/fellowship_armory.ogg', rand(15, 20), 1, -3, 1, 1)
visible_message("Something cl[pick("ank", "ink", "unk", "ang")]s around inside of [src]... ")
@@ -57,7 +61,7 @@
if(!anchored)
to_chat(user, "[src] needs to be secured to place [C] into it! ")
else
- clockwork_component_cache[C.component_id]++
+ GLOB.clockwork_component_cache[C.component_id]++
update_slab_info()
to_chat(user, "You add [C] to [src]. ")
user.drop_item()
@@ -69,7 +73,7 @@
to_chat(user, "[src] needs to be secured to offload your slab's components into it! ")
else
for(var/i in S.stored_components)
- clockwork_component_cache[i] += S.stored_components[i]
+ GLOB.clockwork_component_cache[i] += S.stored_components[i]
S.stored_components[i] = 0
update_slab_info()
user.visible_message("[user] empties [S] into [src]. ", "You offload your slab's components into [src]. ")
@@ -102,9 +106,12 @@
..()
if(is_servant_of_ratvar(user) || isobserver(user))
if(linkedwall)
- to_chat(user, "It is linked to a Clockwork Wall and will generate a component every [round((CACHE_PRODUCTION_TIME * 0.1) * get_efficiency_mod(TRUE), 0.1)] seconds! ")
+ to_chat(user, "It is linked to a Clockwork Wall and will generate a component every [round(get_production_time() * 0.1, 0.1)] seconds! ")
else
to_chat(user, "It is unlinked! Construct a Clockwork Wall nearby to generate components! ")
to_chat(user, "Stored components: ")
- for(var/i in clockwork_component_cache)
- to_chat(user, "[get_component_name(i)][i != REPLICANT_ALLOY ? "s":""]: [clockwork_component_cache[i]] ")
+ for(var/i in GLOB.clockwork_component_cache)
+ to_chat(user, "[get_component_name(i)][i != REPLICANT_ALLOY ? "s":""]: [GLOB.clockwork_component_cache[i]] ")
+
+/obj/structure/destructible/clockwork/cache/proc/get_production_time()
+ return (CACHE_PRODUCTION_TIME + (ACTIVE_CACHE_SLOWDOWN * linked_caches)) * get_efficiency_mod(TRUE)
diff --git a/code/game/gamemodes/clock_cult/clock_structures/tinkerers_daemon.dm b/code/game/gamemodes/clock_cult/clock_structures/tinkerers_daemon.dm
index ab557dd36a..6dc8741a3d 100644
--- a/code/game/gamemodes/clock_cult/clock_structures/tinkerers_daemon.dm
+++ b/code/game/gamemodes/clock_cult/clock_structures/tinkerers_daemon.dm
@@ -22,15 +22,15 @@
/obj/structure/destructible/clockwork/powered/tinkerers_daemon/New()
..()
- clockwork_daemons++
+ GLOB.clockwork_daemons++
/obj/structure/destructible/clockwork/powered/tinkerers_daemon/Destroy()
- clockwork_daemons--
+ GLOB.clockwork_daemons--
return ..()
/obj/structure/destructible/clockwork/powered/tinkerers_daemon/ratvar_act()
..()
- if(nezbere_invoked)
+ if(GLOB.nezbere_invoked)
production_time = 0
production_cooldown = initial(production_cooldown) * 0.5
if(!active)
@@ -47,8 +47,8 @@
else
to_chat(user, "It is currently producing random components. ")
to_chat(user, "It will produce a component every [round((production_cooldown*0.1) * get_efficiency_mod(TRUE), 0.1)] seconds and requires at least the following power for each component type: ")
- for(var/i in clockwork_component_cache)
- to_chat(user, "[get_component_name(i)]: [get_component_cost(i)]W ([clockwork_component_cache[i]] exist[clockwork_component_cache[i] == 1 ? "s" : ""]) ")
+ for(var/i in GLOB.clockwork_component_cache)
+ to_chat(user, "[get_component_name(i)]: [get_component_cost(i)]W ([GLOB.clockwork_component_cache[i]] exist[GLOB.clockwork_component_cache[i] == 1 ? "s" : ""]) ")
/obj/structure/destructible/clockwork/powered/tinkerers_daemon/forced_disable(bad_effects)
if(active)
@@ -72,17 +72,17 @@
to_chat(user, "[src] needs to be secured to the floor before it can be activated! ")
return FALSE
var/servants = 0
- for(var/mob/living/L in living_mob_list)
+ for(var/mob/living/L in GLOB.living_mob_list)
if(is_servant_of_ratvar(L))
servants++
- if(servants * 0.2 < clockwork_daemons)
+ if(servants * 0.2 < GLOB.clockwork_daemons)
to_chat(user, "\"There are too few servants for this daemon to work.\" ")
return
- if(!clockwork_caches)
+ if(!GLOB.clockwork_caches)
to_chat(user, "\"You require a cache for this daemon to operate. Get to it.\" ")
return
var/min_power_usable = 0
- for(var/i in clockwork_component_cache)
+ for(var/i in GLOB.clockwork_component_cache)
if(!min_power_usable)
min_power_usable = get_component_cost(i)
else
@@ -94,15 +94,15 @@
switch(choice)
if("Specific Component")
var/list/components = list()
- for(var/i in clockwork_component_cache)
+ for(var/i in GLOB.clockwork_component_cache)
components["[get_component_name(i)] ([get_component_cost(i)]W)"] = i
var/input_component = input(user, "Choose a component type.", name) as null|anything in components
component_id_to_produce = components[input_component]
servants = 0
- for(var/mob/living/L in living_mob_list)
+ for(var/mob/living/L in GLOB.living_mob_list)
if(is_servant_of_ratvar(L))
servants++
- if(!is_servant_of_ratvar(user) || !user.canUseTopic(src, !issilicon(user), NO_DEXTERY) || active || !clockwork_caches || servants * 0.2 < clockwork_daemons)
+ if(!is_servant_of_ratvar(user) || !user.canUseTopic(src, !issilicon(user), NO_DEXTERY) || active || !GLOB.clockwork_caches || servants * 0.2 < GLOB.clockwork_daemons)
return
if(!component_id_to_produce)
to_chat(user, "You decide not to select a component and activate the daemon. ")
@@ -136,24 +136,24 @@
set_light(0)
/obj/structure/destructible/clockwork/powered/tinkerers_daemon/proc/get_component_cost(id)
- return max(MIN_CLOCKCULT_POWER*2, (MIN_CLOCKCULT_POWER*2) * (1 + round(clockwork_component_cache[id] * 0.2)))
+ return max(MIN_CLOCKCULT_POWER*2, (MIN_CLOCKCULT_POWER*2) * (1 + round(GLOB.clockwork_component_cache[id] * 0.2)))
/obj/structure/destructible/clockwork/powered/tinkerers_daemon/process()
var/servants = 0
- for(var/mob/living/L in living_mob_list)
+ for(var/mob/living/L in GLOB.living_mob_list)
if(is_servant_of_ratvar(L))
servants++
. = ..()
var/min_power_usable = 0
if(!component_id_to_produce)
- for(var/i in clockwork_component_cache)
+ for(var/i in GLOB.clockwork_component_cache)
if(!min_power_usable)
min_power_usable = get_component_cost(i)
else
min_power_usable = min(min_power_usable, get_component_cost(i))
else
min_power_usable = get_component_cost(component_id_to_produce)
- if(!clockwork_caches || servants * 0.2 < clockwork_daemons || . < min_power_usable) //if we don't have enough to produce the lowest or what we chose to produce, cancel out
+ if(!GLOB.clockwork_caches || servants * 0.2 < GLOB.clockwork_daemons || . < min_power_usable) //if we don't have enough to produce the lowest or what we chose to produce, cancel out
forced_disable(FALSE)
return
if(production_time <= world.time)
@@ -163,7 +163,7 @@
if(!try_use_power(get_component_cost(component_to_generate)))
component_to_generate = null
if(!component_id_to_produce)
- for(var/i in clockwork_component_cache)
+ for(var/i in GLOB.clockwork_component_cache)
if(try_use_power(get_component_cost(i))) //if we fail but are producing random, try and get a different component to produce
component_to_generate = i
break
diff --git a/code/game/gamemodes/cult/cult.dm b/code/game/gamemodes/cult/cult.dm
index cbfa2e42e7..65dcb863eb 100644
--- a/code/game/gamemodes/cult/cult.dm
+++ b/code/game/gamemodes/cult/cult.dm
@@ -8,8 +8,8 @@
return istype(M) && M.has_antag_datum(/datum/antagonist/cultist, TRUE)
/proc/is_sacrifice_target(datum/mind/mind)
- if(ticker.mode.name == "cult")
- var/datum/game_mode/cult/cult_mode = ticker.mode
+ if(SSticker.mode.name == "cult")
+ var/datum/game_mode/cult/cult_mode = SSticker.mode
if(mind == cult_mode.sacrifice_target)
return 1
return 0
@@ -104,7 +104,7 @@
var/list/possible_targets = get_unconvertables()
if(!possible_targets.len)
message_admins("Cult Sacrifice: Could not find unconvertable target, checking for convertable target.")
- for(var/mob/living/carbon/human/player in player_list)
+ for(var/mob/living/carbon/human/player in GLOB.player_list)
if(player.mind && !(player.mind in cultists_to_cult))
possible_targets += player.mind
if(possible_targets.len > 0)
@@ -175,18 +175,18 @@
return TRUE
/datum/game_mode/proc/update_cult_icons_added(datum/mind/cult_mind)
- var/datum/atom_hud/antag/culthud = huds[ANTAG_HUD_CULT]
+ var/datum/atom_hud/antag/culthud = GLOB.huds[ANTAG_HUD_CULT]
culthud.join_hud(cult_mind.current)
set_antag_hud(cult_mind.current, "cult")
/datum/game_mode/proc/update_cult_icons_removed(datum/mind/cult_mind)
- var/datum/atom_hud/antag/culthud = huds[ANTAG_HUD_CULT]
+ var/datum/atom_hud/antag/culthud = GLOB.huds[ANTAG_HUD_CULT]
culthud.leave_hud(cult_mind.current)
set_antag_hud(cult_mind.current, null)
/datum/game_mode/cult/proc/get_unconvertables()
var/list/ucs = list()
- for(var/mob/living/carbon/human/player in player_list)
+ for(var/mob/living/carbon/human/player in GLOB.player_list)
if(player.mind && !is_convertable_to_cult(player) && !(player.mind in cultists_to_cult))
ucs += player.mind
return ucs
@@ -198,7 +198,7 @@
if(cult_objectives.Find("eldergod"))
cult_fail += eldergod //1 by default, 0 if the elder god has been summoned at least once
if(cult_objectives.Find("sacrifice"))
- if(sacrifice_target && !sacrificed.Find(sacrifice_target)) //if the target has been sacrificed, ignore this step. otherwise, add 1 to cult_fail
+ if(sacrifice_target && !GLOB.sacrificed.Find(sacrifice_target)) //if the target has been GLOB.sacrificed, ignore this step. otherwise, add 1 to cult_fail
cult_fail++
return cult_fail //if any objectives aren't met, failure
@@ -237,14 +237,14 @@
if(!check_survive())
explanation = "Make sure at least [acolytes_needed] acolytes escape on the shuttle. ([acolytes_survived] escaped) Success! "
feedback_add_details("cult_objective","cult_survive|SUCCESS|[acolytes_needed]")
- ticker.news_report = CULT_ESCAPE
+ SSticker.news_report = CULT_ESCAPE
else
explanation = "Make sure at least [acolytes_needed] acolytes escape on the shuttle. ([acolytes_survived] escaped) Fail. "
feedback_add_details("cult_objective","cult_survive|FAIL|[acolytes_needed]")
- ticker.news_report = CULT_FAILURE
+ SSticker.news_report = CULT_FAILURE
if("sacrifice")
if(sacrifice_target)
- if(sacrifice_target in sacrificed)
+ if(sacrifice_target in GLOB.sacrificed)
explanation = "Sacrifice [sacrifice_target.name], the [sacrifice_target.assigned_role]. Success! "
feedback_add_details("cult_objective","cult_sacrifice|SUCCESS")
else if(sacrifice_target && sacrifice_target.current)
@@ -257,11 +257,11 @@
if(!eldergod)
explanation = "Summon Nar-Sie. Success! "
feedback_add_details("cult_objective","cult_narsie|SUCCESS")
- ticker.news_report = CULT_SUMMON
+ SSticker.news_report = CULT_SUMMON
else
explanation = "Summon Nar-Sie. Fail. "
feedback_add_details("cult_objective","cult_narsie|FAIL")
- ticker.news_report = CULT_FAILURE
+ SSticker.news_report = CULT_FAILURE
text += "Objective #[obj_count] : [explanation]"
to_chat(world, text)
@@ -270,7 +270,7 @@
/datum/game_mode/proc/auto_declare_completion_cult()
- if( cult.len || (ticker && istype(ticker.mode,/datum/game_mode/cult)) )
+ if( cult.len || (SSticker && istype(SSticker.mode,/datum/game_mode/cult)) )
var/text = "The cultists were: "
for(var/datum/mind/cultist in cult)
text += printplayer(cultist)
diff --git a/code/game/gamemodes/cult/cult_comms.dm b/code/game/gamemodes/cult/cult_comms.dm
index 3a70735e1e..40c7bbece8 100644
--- a/code/game/gamemodes/cult/cult_comms.dm
+++ b/code/game/gamemodes/cult/cult_comms.dm
@@ -17,22 +17,17 @@
return
cultist_commune(usr, input)
- return
/proc/cultist_commune(mob/living/user, message)
if(!message)
return
- if(!ishuman(user))
- user.say("O bidai nabora se[pick("'","`")]sma!")
- user.say(html_decode(message))
- else
- user.whisper("O bidai nabora se[pick("'","`")]sma!")
- user.whisper(html_decode(message))
+ user.whisper("O bidai nabora se[pick("'","`")]sma!")
+ user.whisper(html_decode(message))
var/my_message = "[(ishuman(user) ? "Acolyte" : "Construct")] [findtextEx(user.name, user.real_name) ? user.name : "[user.real_name] (as [user.name])"]: [message] "
- for(var/mob/M in mob_list)
+ for(var/mob/M in GLOB.mob_list)
if(iscultist(M))
to_chat(M, my_message)
- else if(M in dead_mob_list)
+ else if(M in GLOB.dead_mob_list)
var/link = FOLLOW_LINK(M, user)
to_chat(M, "[link] [my_message]")
diff --git a/code/game/gamemodes/cult/cult_items.dm b/code/game/gamemodes/cult/cult_items.dm
index 6914ad760c..a46074988d 100644
--- a/code/game/gamemodes/cult/cult_items.dm
+++ b/code/game/gamemodes/cult/cult_items.dm
@@ -328,7 +328,7 @@
return
if(!iscultist(user))
user.dropItemToGround(src, TRUE)
- step(src, pick(alldirs))
+ step(src, pick(GLOB.alldirs))
to_chat(user, "\The [src] flickers out of your hands, your connection to this dimension is too strong! ")
return
@@ -375,7 +375,7 @@
if(istype(A, /obj/item))
var/list/cultists = list()
- for(var/datum/mind/M in ticker.mode.cult)
+ for(var/datum/mind/M in SSticker.mode.cult)
if(M.current && M.current.stat != DEAD)
cultists |= M.current
var/mob/living/cultist_to_receive = input(user, "Who do you wish to call to [src]?", "Followers of the Geometer") as null|anything in (cultists - user)
@@ -403,5 +403,4 @@
else
..()
to_chat(user, "\The [src] can only transport items! ")
- return
diff --git a/code/game/gamemodes/cult/cult_structures.dm b/code/game/gamemodes/cult/cult_structures.dm
index d88d0e9e05..51c622858d 100644
--- a/code/game/gamemodes/cult/cult_structures.dm
+++ b/code/game/gamemodes/cult/cult_structures.dm
@@ -122,12 +122,6 @@
to_chat(user, "You work the forge as dark knowledge guides your hands, creating [N]! ")
-var/list/blacklisted_pylon_turfs = typecacheof(list(
- /turf/closed,
- /turf/open/floor/engine/cult,
- /turf/open/space,
- /turf/open/floor/plating/lava,
- /turf/open/chasm))
/obj/structure/destructible/cult/pylon
name = "pylon"
@@ -177,6 +171,12 @@ var/list/blacklisted_pylon_turfs = typecacheof(list(
if(istype(T, /turf/open/floor/engine/cult))
cultturfs |= T
continue
+ var/static/list/blacklisted_pylon_turfs = typecacheof(list(
+ /turf/closed,
+ /turf/open/floor/engine/cult,
+ /turf/open/space,
+ /turf/open/floor/plating/lava,
+ /turf/open/chasm))
if(is_type_in_typecache(T, blacklisted_pylon_turfs))
continue
else
diff --git a/code/game/gamemodes/cult/ritual.dm b/code/game/gamemodes/cult/ritual.dm
index e933f951ec..0340c94af3 100644
--- a/code/game/gamemodes/cult/ritual.dm
+++ b/code/game/gamemodes/cult/ritual.dm
@@ -15,11 +15,12 @@ This file contains the arcane tome files.
/obj/item/weapon/tome/New()
..()
- if(!LAZYLEN(rune_types))
- rune_types = list()
+ if(!LAZYLEN(GLOB.rune_types))
+ GLOB.rune_types = list()
+ var/static/list/non_revealed_runes = (subtypesof(/obj/effect/rune) - /obj/effect/rune/malformed)
for(var/i_can_do_loops_now_thanks_remie in non_revealed_runes)
var/obj/effect/rune/R = i_can_do_loops_now_thanks_remie
- rune_types[initial(R.cultist_name)] = R //Uses the cultist name for displaying purposes
+ GLOB.rune_types[initial(R.cultist_name)] = R //Uses the cultist name for displaying purposes
/obj/item/weapon/tome/examine(mob/user)
..()
@@ -180,10 +181,10 @@ This file contains the arcane tome files.
if(!check_rune_turf(Turf, user))
return
- entered_rune_name = input(user, "Choose a rite to scribe.", "Sigils of Power") as null|anything in rune_types
+ entered_rune_name = input(user, "Choose a rite to scribe.", "Sigils of Power") as null|anything in GLOB.rune_types
if(!src || QDELETED(src) || !Adjacent(user) || user.incapacitated() || !check_rune_turf(Turf, user))
return
- rune_to_scribe = rune_types[entered_rune_name]
+ rune_to_scribe = GLOB.rune_types[entered_rune_name]
if(!rune_to_scribe)
return
if(initial(rune_to_scribe.req_keyword))
@@ -196,12 +197,12 @@ This file contains the arcane tome files.
if(!src || QDELETED(src) || !Adjacent(user) || user.incapacitated() || !check_rune_turf(Turf, user))
return
if(ispath(rune_to_scribe, /obj/effect/rune/narsie))
- if(ticker.mode.name == "cult")
- var/datum/game_mode/cult/cult_mode = ticker.mode
+ if(SSticker.mode.name == "cult")
+ var/datum/game_mode/cult/cult_mode = SSticker.mode
if(!("eldergod" in cult_mode.cult_objectives))
to_chat(user, "Nar-Sie does not wish to be summoned! ")
return
- if(cult_mode.sacrifice_target && !(cult_mode.sacrifice_target in sacrificed))
+ if(cult_mode.sacrifice_target && !(cult_mode.sacrifice_target in GLOB.sacrificed))
to_chat(user, "The sacrifice is not complete. The portal would lack the power to open if you tried! ")
return
if(!cult_mode.eldergod)
@@ -244,6 +245,7 @@ This file contains the arcane tome files.
if(S && !QDELETED(S))
qdel(S)
var/obj/effect/rune/R = new rune_to_scribe(Turf, chosen_keyword)
+ R.add_mob_blood(user)
to_chat(user, "The [lowertext(R.cultist_name)] rune [R.cultist_desc] ")
feedback_add_details("cult_runes_scribed", R.cultist_name)
diff --git a/code/game/gamemodes/cult/runes.dm b/code/game/gamemodes/cult/runes.dm
index c612f10a5c..e58a7912b2 100644
--- a/code/game/gamemodes/cult/runes.dm
+++ b/code/game/gamemodes/cult/runes.dm
@@ -1,7 +1,7 @@
-/var/list/sacrificed = list() //a mixed list of minds and mobs
-var/list/non_revealed_runes = (subtypesof(/obj/effect/rune) - /obj/effect/rune/malformed)
-var/global/list/rune_types //Every rune that can be drawn by tomes
-
+GLOBAL_LIST_EMPTY(sacrificed) //a mixed list of minds and mobs
+GLOBAL_LIST(rune_types) //Every rune that can be drawn by tomes
+GLOBAL_LIST_EMPTY(teleport_runes)
+GLOBAL_LIST_EMPTY(wall_runes)
/*
This file contains runes.
@@ -58,13 +58,10 @@ To draw a rune, use an arcane tome.
if(istype(I, /obj/item/weapon/tome) && iscultist(user))
to_chat(user, "You carefully erase the [lowertext(cultist_name)] rune. ")
qdel(src)
- return
else if(istype(I, /obj/item/weapon/nullrod))
user.say("BEGONE FOUL MAGIKS!!")
to_chat(user, "You disrupt the magic of [src] with [I]. ")
qdel(src)
- return
- return
/obj/effect/rune/attack_hand(mob/living/user)
if(!iscultist(user))
@@ -143,20 +140,20 @@ structure_check() searches for nearby cultist structures required for the invoca
do_invoke_glow()
/obj/effect/rune/proc/do_invoke_glow()
+ set waitfor = FALSE
var/oldtransform = transform
- spawn(0) //animate is a delay, we want to avoid being delayed
- animate(src, transform = matrix()*2, alpha = 0, time = 5) //fade out
- animate(transform = oldtransform, alpha = 255, time = 0)
+ animate(src, transform = matrix()*2, alpha = 0, time = 5) //fade out
+ sleep(5)
+ animate(src, transform = oldtransform, alpha = 255, time = 0)
/obj/effect/rune/proc/fail_invoke()
//This proc contains the effects of a rune if it is not invoked correctly, through either invalid wording or not enough cultists. By default, it's just a basic fizzle.
visible_message("The markings pulse with a \
small flash of red light, then fall dark. ")
- spawn(0) //animate is a delay, we want to avoid being delayed
- var/oldcolor = color
- color = rgb(255, 0, 0)
- animate(src, color = oldcolor, time = 5)
- addtimer(CALLBACK(src, /atom/proc/update_atom_colour), 5)
+ var/oldcolor = color
+ color = rgb(255, 0, 0)
+ animate(src, color = oldcolor, time = 5)
+ addtimer(CALLBACK(src, /atom/proc/update_atom_colour), 5)
//Malformed Rune: This forms if a rune is not drawn correctly. Invoking it does nothing but hurt the user.
/obj/effect/rune/malformed
@@ -179,7 +176,7 @@ structure_check() searches for nearby cultist structures required for the invoca
/mob/proc/null_rod_check() //The null rod, if equipped, will protect the holder from the effects of most runes
var/obj/item/weapon/nullrod/N = locate() in src
- if(N && !ratvar_awakens) //If Nar-Sie or Ratvar are alive, null rods won't protect you
+ if(N && !GLOB.ratvar_awakens) //If Nar-Sie or Ratvar are alive, null rods won't protect you
return N
return 0
@@ -247,7 +244,6 @@ structure_check() searches for nearby cultist structures required for the invoca
if(!P.info && !istype(P, /obj/item/weapon/paper/talisman))
. |= P
-var/list/teleport_runes = list()
/obj/effect/rune/teleport
cultist_name = "Teleport"
cultist_desc = "warps everything above it to another chosen teleport rune."
@@ -262,17 +258,17 @@ var/list/teleport_runes = list()
var/area/A = get_area(src)
var/locname = initial(A.name)
listkey = set_keyword ? "[set_keyword] [locname]":"[locname]"
- teleport_runes += src
+ GLOB.teleport_runes += src
/obj/effect/rune/teleport/Destroy()
- teleport_runes -= src
+ GLOB.teleport_runes -= src
return ..()
/obj/effect/rune/teleport/invoke(var/list/invokers)
var/mob/living/user = invokers[1] //the first invoker is always the user
var/list/potential_runes = list()
var/list/teleportnames = list()
- for(var/R in teleport_runes)
+ for(var/R in GLOB.teleport_runes)
var/obj/effect/rune/teleport/T = R
if(T != src && (T.z <= ZLEVEL_SPACEMAX))
potential_runes[avoid_assoc_duplicate_keys(T.listkey, teleportnames)] = T
@@ -392,7 +388,7 @@ var/list/teleport_runes = list()
convertee.visible_message("[convertee] writhes in pain \
[brutedamage || burndamage ? "even as [convertee.p_their()] wounds heal and close" : "as the markings below [convertee.p_them()] glow a bloody red"]! ", \
"AAAAAAAAAAAAAA- ")
- ticker.mode.add_cultist(convertee.mind, 1)
+ SSticker.mode.add_cultist(convertee.mind, 1)
new /obj/item/weapon/tome(get_turf(src))
convertee.mind.special_role = "Cultist"
to_chat(convertee, "Your blood pulses. Your head throbs. The world goes red. All at once you are aware of a horrible, horrible, truth. The veil of reality has been ripped away \
@@ -410,11 +406,11 @@ var/list/teleport_runes = list()
var/sacrifice_fulfilled = FALSE
if(sacrificial.mind)
- sacrificed += sacrificial.mind
+ GLOB.sacrificed += sacrificial.mind
if(is_sacrifice_target(sacrificial.mind))
sacrifice_fulfilled = TRUE
else
- sacrificed += sacrificial
+ GLOB.sacrificed += sacrificial
new /obj/effect/overlay/temp/cult/sac(get_turf(src))
for(var/M in invokers)
@@ -459,10 +455,10 @@ var/list/teleport_runes = list()
/obj/effect/rune/narsie/New()
. = ..()
- poi_list |= src
+ GLOB.poi_list |= src
/obj/effect/rune/narsie/Destroy()
- poi_list -= src
+ GLOB.poi_list -= src
. = ..()
/obj/effect/rune/narsie/talismanhide() //can't hide this, and you wouldn't want to
@@ -476,8 +472,8 @@ var/list/teleport_runes = list()
var/datum/game_mode/cult/cult_mode
- if(ticker.mode.name == "cult")
- cult_mode = ticker.mode
+ if(SSticker.mode.name == "cult")
+ cult_mode = SSticker.mode
if(!cult_mode && !ignore_gamemode)
for(var/M in invokers)
@@ -486,7 +482,7 @@ var/list/teleport_runes = list()
log_game("Summon Nar-Sie rune failed - gametype is not cult")
return
- if(locate(/obj/singularity/narsie) in poi_list)
+ if(locate(/obj/singularity/narsie) in GLOB.poi_list)
for(var/M in invokers)
to_chat(M, "Nar-Sie is already on this plane! ")
log_game("Summon Nar-Sie rune failed - already summoned")
@@ -510,15 +506,13 @@ var/list/teleport_runes = list()
log_game("Summon Narsie rune erased by [user.mind.key] (ckey) with a tome")
message_admins("[key_name_admin(user)] erased a Narsie rune with a tome")
..()
- return
else
if(istype(I, /obj/item/weapon/nullrod)) //Begone foul magiks. You cannot hinder me.
log_game("Summon Narsie rune erased by [user.mind.key] (ckey) using a null rod")
message_admins("[key_name_admin(user)] erased a Narsie rune with a null rod")
..()
- return
-//Rite of Resurrection: Requires the corpse of a cultist and that there have been less revives than the number of people sacrificed
+//Rite of Resurrection: Requires the corpse of a cultist and that there have been less revives than the number of people GLOB.sacrificed
/obj/effect/rune/raise_dead
cultist_name = "Raise Dead"
cultist_desc = "requires the corpse of a cultist placed upon the rune. Provided there have been sufficient sacrifices, they will be revived."
@@ -531,8 +525,8 @@ var/list/teleport_runes = list()
..()
if(iscultist(user) || user.stat == DEAD)
var/revive_number = 0
- if(sacrificed.len)
- revive_number = sacrificed.len - revives_used
+ if(GLOB.sacrificed.len)
+ revive_number = GLOB.sacrificed.len - revives_used
to_chat(user, "Revives Remaining: [revive_number]")
/obj/effect/rune/raise_dead/invoke(var/list/invokers)
@@ -550,8 +544,8 @@ var/list/teleport_runes = list()
log_game("Raise Dead rune failed - no corpses to revive")
fail_invoke()
return
- if(!sacrificed.len || sacrificed.len <= revives_used)
- to_chat(user, "You have sacrificed too few people to revive a cultist! ")
+ if(!GLOB.sacrificed.len || GLOB.sacrificed.len <= revives_used)
+ to_chat(user, "You have GLOB.sacrificed too few people to revive a cultist! ")
fail_invoke()
return
if(potential_revive_mobs.len > 1)
@@ -594,7 +588,7 @@ var/list/teleport_runes = list()
fail_invoke()
log_game("Raise Dead rune failed - revival target has no ghost")
return 0
- if(!sacrificed.len || sacrificed.len <= revives_used)
+ if(!GLOB.sacrificed.len || GLOB.sacrificed.len <= revives_used)
to_chat(user, "You have sacrificed too few people to revive a cultist! ")
fail_invoke()
log_game("Raise Dead rune failed - too few sacrificed")
@@ -710,8 +704,6 @@ var/list/teleport_runes = list()
sleep(1)
rune_in_use = 0
-
-var/list/wall_runes = list()
//Rite of the Corporeal Shield: When invoked, becomes solid and cannot be passed. Invoke again to undo.
/obj/effect/rune/wall
cultist_name = "Form Barrier"
@@ -725,7 +717,7 @@ var/list/wall_runes = list()
/obj/effect/rune/wall/New()
..()
- wall_runes += src
+ GLOB.wall_runes += src
/obj/effect/rune/wall/examine(mob/user)
..()
@@ -734,7 +726,7 @@ var/list/wall_runes = list()
/obj/effect/rune/wall/Destroy()
density = 0
- wall_runes -= src
+ GLOB.wall_runes -= src
air_update_turf(1)
return ..()
@@ -757,7 +749,7 @@ var/list/wall_runes = list()
C.apply_damage(2, BRUTE, pick("l_arm", "r_arm"))
/obj/effect/rune/wall/proc/spread_density()
- for(var/R in wall_runes)
+ for(var/R in GLOB.wall_runes)
var/obj/effect/rune/wall/W = R
if(W.z == z && get_dist(src, W) <= 2 && !W.density && !W.recharging)
W.density = TRUE
@@ -806,7 +798,7 @@ var/list/wall_runes = list()
/obj/effect/rune/summon/invoke(var/list/invokers)
var/mob/living/user = invokers[1]
var/list/cultists = list()
- for(var/datum/mind/M in ticker.mode.cult)
+ for(var/datum/mind/M in SSticker.mode.cult)
if(!(M.current in invokers) && M.current && M.current.stat != DEAD)
cultists |= M.current
var/mob/living/cultist_to_summon = input(user, "Who do you wish to call to [src]?", "Followers of the Geometer") as null|anything in cultists
@@ -992,7 +984,7 @@ var/list/wall_runes = list()
var/obj/structure/emergency_shield/invoker/N = new(T)
new_human.key = ghost_to_spawn.key
- ticker.mode.add_cultist(new_human.mind, 0)
+ SSticker.mode.add_cultist(new_human.mind, 0)
to_chat(new_human, "You are a servant of the Geometer. You have been made semi-corporeal by the cult of Nar-Sie, and you are to serve them at all costs. ")
while(user in T)
diff --git a/code/game/gamemodes/cult/talisman.dm b/code/game/gamemodes/cult/talisman.dm
index d8722acb73..2876e80373 100644
--- a/code/game/gamemodes/cult/talisman.dm
+++ b/code/game/gamemodes/cult/talisman.dm
@@ -125,7 +125,7 @@
/obj/item/weapon/paper/talisman/teleport/invoke(mob/living/user, successfuluse = 1)
var/list/potential_runes = list()
var/list/teleportnames = list()
- for(var/R in teleport_runes)
+ for(var/R in GLOB.teleport_runes)
var/obj/effect/rune/teleport/T = R
potential_runes[avoid_assoc_duplicate_keys(T.listkey, teleportnames)] = T
@@ -421,7 +421,6 @@
if(uses <= 0)
user.drop_item()
qdel(src)
- return
/obj/item/weapon/restraints/handcuffs/energy/cult //For the talisman of shackling
name = "cult shackles"
diff --git a/code/game/gamemodes/devil/devil.dm b/code/game/gamemodes/devil/devil.dm
index 0aafc57ccb..b64ef55406 100644
--- a/code/game/gamemodes/devil/devil.dm
+++ b/code/game/gamemodes/devil/devil.dm
@@ -1,22 +1,3 @@
-var/global/list/whiteness = list (
- /obj/item/clothing/under/color/white = 2,
- /obj/item/clothing/under/rank/bartender = 1,
- /obj/item/clothing/under/rank/chef = 1,
- /obj/item/clothing/under/rank/chief_engineer = 1,
- /obj/item/clothing/under/rank/scientist = 1,
- /obj/item/clothing/under/rank/chemist = 1,
- /obj/item/clothing/under/rank/chief_medical_officer = 1,
- /obj/item/clothing/under/rank/geneticist = 1,
- /obj/item/clothing/under/rank/virologist = 1,
- /obj/item/clothing/under/rank/nursesuit = 1,
- /obj/item/clothing/under/rank/medical = 1,
- /obj/item/clothing/under/rank/det = 1,
- /obj/item/clothing/under/suit_jacket/white = 0.5,
- /obj/item/clothing/under/burial = 1
-)
-
-
-
/mob/living/proc/check_devil_bane_multiplier(obj/item/weapon, mob/living/attacker)
switch(mind.devilinfo.bane)
if(BANE_WHITECLOTHES)
@@ -24,6 +5,22 @@ var/global/list/whiteness = list (
var/mob/living/carbon/human/H = attacker
if(H.w_uniform && istype(H.w_uniform, /obj/item/clothing/under))
var/obj/item/clothing/under/U = H.w_uniform
+ var/static/list/whiteness = list (
+ /obj/item/clothing/under/color/white = 2,
+ /obj/item/clothing/under/rank/bartender = 1,
+ /obj/item/clothing/under/rank/chef = 1,
+ /obj/item/clothing/under/rank/chief_engineer = 1,
+ /obj/item/clothing/under/rank/scientist = 1,
+ /obj/item/clothing/under/rank/chemist = 1,
+ /obj/item/clothing/under/rank/chief_medical_officer = 1,
+ /obj/item/clothing/under/rank/geneticist = 1,
+ /obj/item/clothing/under/rank/virologist = 1,
+ /obj/item/clothing/under/rank/nursesuit = 1,
+ /obj/item/clothing/under/rank/medical = 1,
+ /obj/item/clothing/under/rank/det = 1,
+ /obj/item/clothing/under/suit_jacket/white = 0.5,
+ /obj/item/clothing/under/burial = 1
+ )
if(whiteness[U.type])
src.visible_message("[src] seems to have been harmed by the purity of [attacker]'s clothes. ", "Unsullied white clothing is disrupting your form. ")
return whiteness[U.type] + 1
diff --git a/code/game/gamemodes/devil/devilinfo.dm b/code/game/gamemodes/devil/devilinfo.dm
index 82fead15ca..ef9091891f 100644
--- a/code/game/gamemodes/devil/devilinfo.dm
+++ b/code/game/gamemodes/devil/devilinfo.dm
@@ -13,8 +13,8 @@
#define DEVILRESURRECTTIME 600
-var/global/list/allDevils = list()
-var/global/list/lawlorify = list (
+GLOBAL_LIST_EMPTY(allDevils)
+GLOBAL_LIST_INIT(lawlorify, list (
LORE = list(
OBLIGATION_FOOD = "This devil seems to always offer its victims food before slaughtering them.",
OBLIGATION_FIDDLE = "This devil will never turn down a musical challenge.",
@@ -77,8 +77,7 @@ var/global/list/lawlorify = list (
BANISH_DESTRUCTION = "If your corpse is destroyed, you will be unable to resurrect.",
BANISH_FUNERAL_GARB = "If your corpse is clad in funeral garments, you will be unable to resurrect."
)
- )
-
+ ))
/datum/devilinfo
var/datum/mind/owner = null
var/obligation
@@ -112,11 +111,11 @@ var/global/list/lawlorify = list (
return devil
/proc/devilInfo(name, saveDetails = 0)
- if(allDevils[lowertext(name)])
- return allDevils[lowertext(name)]
+ if(GLOB.allDevils[lowertext(name)])
+ return GLOB.allDevils[lowertext(name)]
else
var/datum/devilinfo/devil = randomDevilInfo(name)
- allDevils[lowertext(name)] = devil
+ GLOB.allDevils[lowertext(name)] = devil
devil.exists = saveDetails
return devil
@@ -287,9 +286,9 @@ var/global/list/lawlorify = list (
if(A)
notify_ghosts("An arch devil has ascended in \the [A.name]. Reach out to the devil to be given a new shell for your soul.", source = owner.current, action=NOTIFY_ATTACK)
sleep(50)
- if(!ticker.mode.devil_ascended)
+ if(!SSticker.mode.devil_ascended)
SSshuttle.emergency.request(null, 0.3)
- ticker.mode.devil_ascended++
+ SSticker.mode.devil_ascended++
form = ARCH_DEVIL
/datum/devilinfo/proc/remove_spells()
@@ -415,8 +414,8 @@ var/global/list/lawlorify = list (
check_regression()
/datum/devilinfo/proc/create_new_body()
- if(blobstart.len > 0)
- var/turf/targetturf = get_turf(pick(blobstart))
+ if(GLOB.blobstart.len > 0)
+ var/turf/targetturf = get_turf(pick(GLOB.blobstart))
var/mob/currentMob = owner.current
if(!currentMob)
currentMob = owner.get_ghost()
diff --git a/code/game/gamemodes/devil/game_mode.dm b/code/game/gamemodes/devil/game_mode.dm
index a99e6abd83..f311a289e0 100644
--- a/code/game/gamemodes/devil/game_mode.dm
+++ b/code/game/gamemodes/devil/game_mode.dm
@@ -36,7 +36,7 @@
devil_mind.devilinfo = devilInfo(trueName, 1)
devil_mind.devilinfo.ascendable = ascendable
- devil_mind.store_memory("Your devilic true name is [devil_mind.devilinfo.truename] [lawlorify[LAW][devil_mind.devilinfo.ban]] You may not use violence to coerce someone into selling their soul. You may not directly and knowingly physically harm a devil, other than yourself. [lawlorify[LAW][devil_mind.devilinfo.bane]] [lawlorify[LAW][devil_mind.devilinfo.obligation]] [lawlorify[LAW][devil_mind.devilinfo.banish]] ")
+ devil_mind.store_memory("Your devilic true name is [devil_mind.devilinfo.truename] [GLOB.lawlorify[LAW][devil_mind.devilinfo.ban]] You may not use violence to coerce someone into selling their soul. You may not directly and knowingly physically harm a devil, other than yourself. [GLOB.lawlorify[LAW][devil_mind.devilinfo.bane]] [GLOB.lawlorify[LAW][devil_mind.devilinfo.obligation]] [GLOB.lawlorify[LAW][devil_mind.devilinfo.banish]] ")
devil_mind.devilinfo.owner = devil_mind
devil_mind.devilinfo.give_base_spells(1)
spawn(10)
@@ -67,10 +67,10 @@
to_chat(current, "However, your infernal form is not without weaknesses. ")
to_chat(current, "You may not use violence to coerce someone into selling their soul.")
to_chat(current, "You may not directly and knowingly physically harm a devil, other than yourself.")
- to_chat(current, lawlorify[LAW][src.devilinfo.bane])
- to_chat(current, lawlorify[LAW][src.devilinfo.ban])
- to_chat(current, lawlorify[LAW][src.devilinfo.obligation])
- to_chat(current, lawlorify[LAW][src.devilinfo.banish])
+ to_chat(current, GLOB.lawlorify[LAW][src.devilinfo.bane])
+ to_chat(current, GLOB.lawlorify[LAW][src.devilinfo.ban])
+ to_chat(current, GLOB.lawlorify[LAW][src.devilinfo.obligation])
+ to_chat(current, GLOB.lawlorify[LAW][src.devilinfo.banish])
to_chat(current, "Remember, the crew can research your weaknesses if they find out your devil name. ")
/datum/game_mode/proc/printdevilinfo(datum/mind/ply)
@@ -78,38 +78,38 @@
return "Target is not a devil."
var/text = "The devil's true name is: [ply.devilinfo.truename]"
text += "The devil's bans were:"
- text += " [lawlorify[LORE][ply.devilinfo.ban]]"
- text += " [lawlorify[LORE][ply.devilinfo.bane]]"
- text += " [lawlorify[LORE][ply.devilinfo.obligation]]"
- text += " [lawlorify[LORE][ply.devilinfo.banish]]"
+ text += " [GLOB.lawlorify[LORE][ply.devilinfo.ban]]"
+ text += " [GLOB.lawlorify[LORE][ply.devilinfo.bane]]"
+ text += " [GLOB.lawlorify[LORE][ply.devilinfo.obligation]]"
+ text += " [GLOB.lawlorify[LORE][ply.devilinfo.banish]]"
return text
/datum/game_mode/proc/update_devil_icons_added(datum/mind/devil_mind)
- var/datum/atom_hud/antag/hud = huds[ANTAG_HUD_DEVIL]
+ var/datum/atom_hud/antag/hud = GLOB.huds[ANTAG_HUD_DEVIL]
hud.join_hud(devil_mind.current)
set_antag_hud(devil_mind.current, "devil")
/datum/game_mode/proc/update_devil_icons_removed(datum/mind/devil_mind)
- var/datum/atom_hud/antag/hud = huds[ANTAG_HUD_DEVIL]
+ var/datum/atom_hud/antag/hud = GLOB.huds[ANTAG_HUD_DEVIL]
hud.leave_hud(devil_mind.current)
set_antag_hud(devil_mind.current, null)
/datum/game_mode/proc/update_sintouched_icons_added(datum/mind/sintouched_mind)
- var/datum/atom_hud/antag/hud = huds[ANTAG_HUD_SINTOUCHED]
+ var/datum/atom_hud/antag/hud = GLOB.huds[ANTAG_HUD_SINTOUCHED]
hud.join_hud(sintouched_mind.current)
set_antag_hud(sintouched_mind.current, "sintouched")
/datum/game_mode/proc/update_sintouched_icons_removed(datum/mind/sintouched_mind)
- var/datum/atom_hud/antag/hud = huds[ANTAG_HUD_SINTOUCHED]
+ var/datum/atom_hud/antag/hud = GLOB.huds[ANTAG_HUD_SINTOUCHED]
hud.leave_hud(sintouched_mind.current)
set_antag_hud(sintouched_mind.current, null)
/datum/game_mode/proc/update_soulless_icons_added(datum/mind/soulless_mind)
- var/datum/atom_hud/antag/hud = huds[ANTAG_HUD_SOULLESS]
+ var/datum/atom_hud/antag/hud = GLOB.huds[ANTAG_HUD_SOULLESS]
hud.join_hud(soulless_mind.current)
set_antag_hud(soulless_mind.current, "soulless")
/datum/game_mode/proc/update_soulless_icons_removed(datum/mind/soulless_mind)
- var/datum/atom_hud/antag/hud = huds[ANTAG_HUD_SOULLESS]
+ var/datum/atom_hud/antag/hud = GLOB.huds[ANTAG_HUD_SOULLESS]
hud.leave_hud(soulless_mind.current)
set_antag_hud(soulless_mind.current, null)
diff --git a/code/game/gamemodes/devil/imp/imp.dm b/code/game/gamemodes/devil/imp/imp.dm
index 3698a391e1..602fbf765e 100644
--- a/code/game/gamemodes/devil/imp/imp.dm
+++ b/code/game/gamemodes/devil/imp/imp.dm
@@ -30,9 +30,9 @@
melee_damage_lower = 10
melee_damage_upper = 15
see_in_dark = 8
+ lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE
var/boost = 0
bloodcrawl = BLOODCRAWL_EAT
- see_invisible = SEE_INVISIBLE_MINIMUM
var/list/consumed_mobs = list()
var/playstyle_string = "You are an imp, a mischevious creature from hell. You are the lowest rank on the hellish totem pole \
Though you are not obligated to help, perhaps by aiding a higher ranking devil, you might just get a promotion. However, you are incapable \
diff --git a/code/game/gamemodes/devil/objectives.dm b/code/game/gamemodes/devil/objectives.dm
index bd4d309127..95af5ae747 100644
--- a/code/game/gamemodes/devil/objectives.dm
+++ b/code/game/gamemodes/devil/objectives.dm
@@ -68,7 +68,7 @@
explanation_text = "Ensure at least [target_amount] mortals are sintouched."
/datum/objective/devil/sintouch/check_completion()
- return target_amount>=ticker.mode.sintouched.len
+ return target_amount>=SSticker.mode.sintouched.len
diff --git a/code/game/gamemodes/devil/true_devil/_true_devil.dm b/code/game/gamemodes/devil/true_devil/_true_devil.dm
index c7af40414b..7f908756b9 100644
--- a/code/game/gamemodes/devil/true_devil/_true_devil.dm
+++ b/code/game/gamemodes/devil/true_devil/_true_devil.dm
@@ -14,11 +14,9 @@
ventcrawler = VENTCRAWLER_NONE
density = 1
pass_flags = 0
- var/ascended = 0
+ var/ascended = FALSE
sight = (SEE_TURFS | SEE_OBJS)
status_flags = CANPUSH
- languages_spoken = ALL //The devil speaks all languages meme
- languages_understood = ALL //The devil speaks all languages meme
mob_size = MOB_SIZE_LARGE
var/mob/living/oldform
var/list/devil_overlays[DEVIL_TOTAL_LAYERS]
@@ -31,6 +29,8 @@
create_bodyparts() //initialize bodyparts
create_internal_organs()
+
+ grant_all_languages(omnitongue=TRUE)
..()
/mob/living/carbon/true_devil/create_internal_organs()
@@ -42,7 +42,7 @@
/mob/living/carbon/true_devil/proc/convert_to_archdevil()
maxHealth = 5000 // not an IMPOSSIBLE amount, but still near impossible.
- ascended = 1
+ ascended = TRUE
health = maxHealth
icon_state = "arch_devil"
@@ -153,7 +153,6 @@
S.mind.objectives += newobjective
to_chat(S, S.playstyle_string)
to_chat(S, "Objective #[1] : [newobjective.explanation_text]")
- return
else
return ..()
@@ -221,4 +220,4 @@
return
/mob/living/carbon/true_devil/update_damage_overlays() //devils don't have damage overlays.
- return
\ No newline at end of file
+ return
diff --git a/code/game/gamemodes/events.dm b/code/game/gamemodes/events.dm
index d0856b0bb0..b44b6b58b6 100644
--- a/code/game/gamemodes/events.dm
+++ b/code/game/gamemodes/events.dm
@@ -1,6 +1,6 @@
/proc/power_failure()
priority_announce("Abnormal activity detected in [station_name()]'s powernet. As a precautionary measure, the station's power will be shut off for an indeterminate duration.", "Critical Power Failure", 'sound/AI/poweroff.ogg')
- for(var/obj/machinery/power/smes/S in machines)
+ for(var/obj/machinery/power/smes/S in GLOB.machines)
if(istype(get_area(S), /area/ai_monitored/turret_protected) || S.z != ZLEVEL_STATION)
continue
S.charge = 0
@@ -31,7 +31,7 @@
A.power_environ = 0
A.power_change()
- for(var/obj/machinery/power/apc/C in apcs_list)
+ for(var/obj/machinery/power/apc/C in GLOB.apcs_list)
if(C.cell && C.z == ZLEVEL_STATION)
var/area/A = get_area(C)
@@ -47,11 +47,11 @@
/proc/power_restore()
priority_announce("Power has been restored to [station_name()]. We apologize for the inconvenience.", "Power Systems Nominal", 'sound/AI/poweron.ogg')
- for(var/obj/machinery/power/apc/C in machines)
+ for(var/obj/machinery/power/apc/C in GLOB.machines)
if(C.cell && C.z == ZLEVEL_STATION)
C.cell.charge = C.cell.maxcharge
C.failure_timer = 0
- for(var/obj/machinery/power/smes/S in machines)
+ for(var/obj/machinery/power/smes/S in GLOB.machines)
if(S.z != ZLEVEL_STATION)
continue
S.charge = S.capacity
@@ -69,7 +69,7 @@
/proc/power_restore_quick()
priority_announce("All SMESs on [station_name()] have been recharged. We apologize for the inconvenience.", "Power Systems Nominal", 'sound/AI/poweron.ogg')
- for(var/obj/machinery/power/smes/S in machines)
+ for(var/obj/machinery/power/smes/S in GLOB.machines)
if(S.z != ZLEVEL_STATION)
continue
S.charge = S.capacity
diff --git a/code/game/gamemodes/game_mode.dm b/code/game/gamemodes/game_mode.dm
index 65a5529f2a..7dda5a619e 100644
--- a/code/game/gamemodes/game_mode.dm
+++ b/code/game/gamemodes/game_mode.dm
@@ -53,14 +53,14 @@
///Checks to see if the game can be setup and ran with the current number of players or whatnot.
/datum/game_mode/proc/can_start()
var/playerC = 0
- for(var/mob/dead/new_player/player in player_list)
+ for(var/mob/dead/new_player/player in GLOB.player_list)
if((player.client)&&(player.ready))
playerC++
- if(!Debug2)
+ if(!GLOB.Debug2)
if(playerC < required_players || (maximum_players >= 0 && playerC > maximum_players))
return 0
antag_candidates = get_players_for_role(antag_flag)
- if(!Debug2)
+ if(!GLOB.Debug2)
if(antag_candidates.len < required_enemies)
return 0
return 1
@@ -82,17 +82,17 @@
display_roundstart_logout_report()
feedback_set_details("round_start","[time2text(world.realtime)]")
- if(ticker && ticker.mode)
- feedback_set_details("game_mode","[ticker.mode]")
- if(revdata.commit)
- feedback_set_details("revision","[revdata.commit]")
+ if(SSticker && SSticker.mode)
+ feedback_set_details("game_mode","[SSticker.mode]")
+ if(GLOB.revdata.commit)
+ feedback_set_details("revision","[GLOB.revdata.commit]")
feedback_set_details("server_ip","[world.internet_address]:[world.port]")
if(report)
spawn (rand(waittime_l, waittime_h))
send_intercept(0)
generate_station_goals()
- start_state = new /datum/station_state()
- start_state.count(1)
+ GLOB.start_state = new /datum/station_state()
+ GLOB.start_state.count(1)
return 1
@@ -107,10 +107,10 @@
/datum/game_mode/proc/convert_roundtype()
var/list/living_crew = list()
- for(var/mob/Player in mob_list)
+ for(var/mob/Player in GLOB.mob_list)
if(Player.mind && Player.stat != DEAD && !isnewplayer(Player) &&!isbrain(Player))
living_crew += Player
- if(living_crew.len / joined_player_list.len <= config.midround_antag_life_check) //If a lot of the player base died, we start fresh
+ if(living_crew.len / GLOB.joined_player_list.len <= config.midround_antag_life_check) //If a lot of the player base died, we start fresh
message_admins("Convert_roundtype failed due to too many dead people. Limit is [config.midround_antag_life_check * 100]% living crew")
return null
@@ -159,7 +159,7 @@
message_admins("The roundtype will be converted. If you have other plans for the station or feel the station is too messed up to inhabit stop the creation of antags or end the round now .")
spawn(rand(600,1800)) //somewhere between 1 and 3 minutes from now
- if(!config.midround_antag[ticker.mode.config_tag])
+ if(!config.midround_antag[SSticker.mode.config_tag])
round_converted = 0
return 1
for(var/mob/living/carbon/human/H in antag_candidates)
@@ -169,12 +169,12 @@
return 1
-///Called by the gameticker
+///Called by the gameSSticker
/datum/game_mode/process()
return 0
-/datum/game_mode/proc/check_finished() //to be called by ticker
+/datum/game_mode/proc/check_finished() //to be called by SSticker
if(replacementmode && round_converted == 2)
return replacementmode.check_finished()
if(SSshuttle.emergency && (SSshuttle.emergency.mode == SHUTTLE_ENDGAME))
@@ -183,7 +183,7 @@
return TRUE
if(!round_converted && (!config.continuous[config_tag] || (config.continuous[config_tag] && config.midround_antag[config_tag]))) //Non-continuous or continous with replacement antags
if(!continuous_sanity_checked) //make sure we have antags to be checking in the first place
- for(var/mob/Player in mob_list)
+ for(var/mob/Player in GLOB.mob_list)
if(Player.mind)
if(Player.mind.special_role)
continuous_sanity_checked = 1
@@ -199,7 +199,7 @@
if(living_antag_player && living_antag_player.mind && isliving(living_antag_player) && living_antag_player.stat != DEAD && !isnewplayer(living_antag_player) &&!isbrain(living_antag_player))
return 0 //A resource saver: once we find someone who has to die for all antags to be dead, we can just keep checking them, cycling over everyone only when we lose our mark.
- for(var/mob/Player in living_mob_list)
+ for(var/mob/Player in GLOB.living_mob_list)
if(Player.mind && Player.stat != DEAD && !isnewplayer(Player) &&!isbrain(Player))
if(Player.mind.special_role) //Someone's still antaging!
living_antag_player = Player
@@ -228,7 +228,7 @@
var/escaped_humans = 0
var/escaped_total = 0
- for(var/mob/M in player_list)
+ for(var/mob/M in GLOB.player_list)
if(M.client)
clients++
if(ishuman(M))
@@ -291,7 +291,7 @@
print_command_report(intercepttext, "Central Command Status Summary", announce=FALSE)
priority_announce("A summary has been copied and printed to all communications consoles.", "Enemy communication intercepted. Security level elevated.", 'sound/AI/intercept.ogg')
- if(security_level < SEC_LEVEL_BLUE)
+ if(GLOB.security_level < SEC_LEVEL_BLUE)
set_security_level(SEC_LEVEL_BLUE)
@@ -302,7 +302,7 @@
var/datum/mind/applicant = null
// Ultimate randomizing code right here
- for(var/mob/dead/new_player/player in player_list)
+ for(var/mob/dead/new_player/player in GLOB.player_list)
if(player.client && player.ready)
players += player
@@ -385,7 +385,7 @@
/datum/game_mode/proc/num_players()
. = 0
- for(var/mob/dead/new_player/P in player_list)
+ for(var/mob/dead/new_player/P in GLOB.player_list)
if(P.client && P.ready)
. ++
@@ -394,8 +394,8 @@
///////////////////////////////////
/datum/game_mode/proc/get_living_heads()
. = list()
- for(var/mob/living/carbon/human/player in mob_list)
- if(player.stat != DEAD && player.mind && (player.mind.assigned_role in command_positions))
+ for(var/mob/living/carbon/human/player in GLOB.mob_list)
+ if(player.stat != DEAD && player.mind && (player.mind.assigned_role in GLOB.command_positions))
. |= player.mind
@@ -404,8 +404,8 @@
////////////////////////////
/datum/game_mode/proc/get_all_heads()
. = list()
- for(var/mob/player in mob_list)
- if(player.mind && (player.mind.assigned_role in command_positions))
+ for(var/mob/player in GLOB.mob_list)
+ if(player.mind && (player.mind.assigned_role in GLOB.command_positions))
. |= player.mind
//////////////////////////////////////////////
@@ -413,8 +413,8 @@
//////////////////////////////////////////////
/datum/game_mode/proc/get_living_sec()
. = list()
- for(var/mob/living/carbon/human/player in mob_list)
- if(player.stat != DEAD && player.mind && (player.mind.assigned_role in security_positions))
+ for(var/mob/living/carbon/human/player in GLOB.mob_list)
+ if(player.stat != DEAD && player.mind && (player.mind.assigned_role in GLOB.security_positions))
. |= player.mind
////////////////////////////////////////
@@ -422,8 +422,8 @@
////////////////////////////////////////
/datum/game_mode/proc/get_all_sec()
. = list()
- for(var/mob/living/carbon/human/player in mob_list)
- if(player.mind && (player.mind.assigned_role in security_positions))
+ for(var/mob/living/carbon/human/player in GLOB.mob_list)
+ if(player.mind && (player.mind.assigned_role in GLOB.security_positions))
. |= player.mind
//////////////////////////
@@ -431,11 +431,11 @@
//////////////////////////
/proc/display_roundstart_logout_report()
var/msg = "Roundstart logout report\n\n "
- for(var/mob/living/L in mob_list)
+ for(var/mob/living/L in GLOB.mob_list)
if(L.ckey)
var/found = 0
- for(var/client/C in clients)
+ for(var/client/C in GLOB.clients)
if(C.ckey == L.ckey)
found = 1
break
@@ -459,7 +459,7 @@
continue //Dead
continue //Happy connected client
- for(var/mob/dead/observer/D in mob_list)
+ for(var/mob/dead/observer/D in GLOB.mob_list)
if(D.mind && D.mind.current == L)
if(L.stat == DEAD)
if(L.suiciding) //Suicider
@@ -477,7 +477,7 @@
- for(var/mob/M in mob_list)
+ for(var/mob/M in GLOB.mob_list)
if(M.client && M.client.holder)
to_chat(M, msg)
@@ -537,9 +537,9 @@
M.key = theghost.key
/datum/game_mode/proc/remove_antag_for_borging(datum/mind/newborgie)
- ticker.mode.remove_cultist(newborgie, 0, 0)
- ticker.mode.remove_revolutionary(newborgie, 0)
- ticker.mode.remove_gangster(newborgie, 0, remove_bosses=1)
+ SSticker.mode.remove_cultist(newborgie, 0, 0)
+ SSticker.mode.remove_revolutionary(newborgie, 0)
+ SSticker.mode.remove_gangster(newborgie, 0, remove_bosses=1)
/datum/game_mode/proc/generate_station_goals()
var/list/possible = list()
diff --git a/code/game/gamemodes/gang/dominator.dm b/code/game/gamemodes/gang/dominator.dm
index 388404118f..1e48e69d39 100644
--- a/code/game/gamemodes/gang/dominator.dm
+++ b/code/game/gamemodes/gang/dominator.dm
@@ -22,7 +22,7 @@
/obj/machinery/dominator/New()
..()
set_light(2)
- poi_list |= src
+ GLOB.poi_list |= src
spark_system = new
spark_system.set_up(5, 1, src)
countdown = new(src)
@@ -54,12 +54,12 @@
warned = 1
var/area/domloc = get_area(loc)
gang.message_gangtools("Less than 3 minutes remains in hostile takeover. Defend your dominator at [domloc.map_name]!")
- for(var/datum/gang/G in ticker.mode.gangs)
+ for(var/datum/gang/G in SSticker.mode.gangs)
if(G != gang)
G.message_gangtools("WARNING: [gang.name] Gang takeover imminent. Their dominator at [domloc.map_name] must be destroyed!",1,1)
if(!.)
- STOP_PROCESSING(SSmachine, src)
+ STOP_PROCESSING(SSmachines, src)
/obj/machinery/dominator/play_attack_sound(damage_amount, damage_type = BRUTE, damage_flag = 0)
switch(damage_type)
@@ -102,7 +102,7 @@
gang.is_dominating = FALSE
var/takeover_in_progress = 0
- for(var/datum/gang/G in ticker.mode.gangs)
+ for(var/datum/gang/G in SSticker.mode.gangs)
if(G.is_dominating)
takeover_in_progress = 1
break
@@ -122,17 +122,17 @@
cut_overlays()
operating = 0
stat |= BROKEN
- STOP_PROCESSING(SSmachine, src)
+ STOP_PROCESSING(SSmachines, src)
/obj/machinery/dominator/Destroy()
if(!(stat & BROKEN))
set_broken()
- poi_list.Remove(src)
+ GLOB.poi_list.Remove(src)
gang = null
qdel(spark_system)
qdel(countdown)
countdown = null
- STOP_PROCESSING(SSmachine, src)
+ STOP_PROCESSING(SSmachines, src)
return ..()
/obj/machinery/dominator/emp_act(severity)
@@ -146,7 +146,7 @@
var/datum/gang/tempgang
- if(user.mind in ticker.mode.get_all_gangsters())
+ if(user.mind in SSticker.mode.get_all_gangsters())
tempgang = user.mind.gang_datum
else
examine(user)
@@ -161,7 +161,7 @@
return
var/time = round(determine_domination_time(tempgang)/60,0.1)
- if(alert(user,"With [round((tempgang.territory.len/start_state.num_territories)*100, 1)]% station control, a takeover will require [time] minutes.\nYour gang will be unable to gain influence while it is active.\nThe entire station will likely be alerted to it once it starts.\nYou have [tempgang.dom_attempts] attempt(s) remaining. Are you ready?","Confirm","Ready","Later") == "Ready")
+ if(alert(user,"With [round((tempgang.territory.len/GLOB.start_state.num_territories)*100, 1)]% station control, a takeover will require [time] minutes.\nYour gang will be unable to gain influence while it is active.\nThe entire station will likely be alerted to it once it starts.\nYou have [tempgang.dom_attempts] attempt(s) remaining. Are you ready?","Confirm","Ready","Later") == "Ready")
if((tempgang.is_dominating) || !tempgang.dom_attempts || !in_range(src, user) || !isturf(loc))
return 0
@@ -181,9 +181,9 @@
countdown.start()
set_light(3)
- START_PROCESSING(SSmachine, src)
+ START_PROCESSING(SSmachines, src)
gang.message_gangtools("Hostile takeover in progress: Estimated [time] minutes until victory.[gang.dom_attempts ? "" : " This is your final attempt."]")
- for(var/datum/gang/G in ticker.mode.gangs)
+ for(var/datum/gang/G in SSticker.mode.gangs)
if(G != gang)
G.message_gangtools("Enemy takeover attempt detected in [locname]: Estimated [time] minutes until our defeat.",1,1)
diff --git a/code/game/gamemodes/gang/gang.dm b/code/game/gamemodes/gang/gang.dm
index b6a5d64e7a..51a9d21195 100644
--- a/code/game/gamemodes/gang/gang.dm
+++ b/code/game/gamemodes/gang/gang.dm
@@ -1,8 +1,8 @@
//gang.dm
//Gang War Game Mode
-var/list/gang_name_pool = list("Clandestine", "Prima", "Zero-G", "Max", "Blasto", "Waffle", "North", "Omni", "Newton", "Cyber", "Donk", "Gene", "Gib", "Tunnel", "Diablo", "Psyke", "Osiron", "Sirius", "Sleeping Carp")
-var/list/gang_colors_pool = list("red","orange","yellow","green","blue","purple")
+GLOBAL_LIST_INIT(gang_name_pool, list("Clandestine", "Prima", "Zero-G", "Max", "Blasto", "Waffle", "North", "Omni", "Newton", "Cyber", "Donk", "Gene", "Gib", "Tunnel", "Diablo", "Psyke", "Osiron", "Sirius", "Sleeping Carp"))
+GLOBAL_LIST_INIT(gang_colors_pool, list("red","orange","yellow","green","blue","purple"))
/datum/game_mode
var/list/datum/gang/gangs = list()
@@ -248,7 +248,7 @@ var/list/gang_colors_pool = list("red","orange","yellow","green","blue","purple"
return gang_bosses
/proc/determine_domination_time(var/datum/gang/G)
- return max(180,900 - (round((G.territory.len/start_state.num_territories)*100, 1) * 12))
+ return max(180,900 - (round((G.territory.len/GLOB.start_state.num_territories)*100, 1) * 12))
//////////////////////////////////////////////////////////////////////
//Announces the end of the game with all relavent information stated//
@@ -261,15 +261,15 @@ var/list/gang_colors_pool = list("red","orange","yellow","green","blue","purple"
to_chat(world, "The station was [station_was_nuked ? "destroyed!" : "evacuated before a gang could claim it! The station wins!"] ")
feedback_set_details("round_end_result","loss - gangs failed takeover")
- ticker.news_report = GANG_LOSS
+ SSticker.news_report = GANG_LOSS
else
to_chat(world, "The [winner.name] Gang successfully performed a hostile takeover of the station! ")
feedback_set_details("round_end_result","win - gang domination complete")
- ticker.news_report = GANG_TAKEOVER
+ SSticker.news_report = GANG_TAKEOVER
for(var/datum/gang/G in gangs)
- var/text = "The [G.name] Gang was [winner==G ? "victorious " : "defeated "] with [round((G.territory.len/start_state.num_territories)*100, 1)]% control of the station! "
+ var/text = "The [G.name] Gang was [winner==G ? "victorious " : "defeated "] with [round((G.territory.len/GLOB.start_state.num_territories)*100, 1)]% control of the station! "
text += " The [G.name] Gang Bosses were:"
for(var/datum/mind/boss in G.bosses)
text += printplayer(boss, 1)
@@ -294,7 +294,7 @@ var/list/gang_colors_pool = list("red","orange","yellow","green","blue","purple"
/datum/gang_points/process(seconds)
var/list/winners = list() //stores the winners if there are any
- for(var/datum/gang/G in ticker.mode.gangs)
+ for(var/datum/gang/G in SSticker.mode.gangs)
if(world.time > next_point_time)
G.income()
@@ -311,7 +311,7 @@ var/list/gang_colors_pool = list("red","orange","yellow","green","blue","purple"
G.domination(0.5)
priority_announce("Multiple station takeover attempts have made simultaneously. Conflicting takeover attempts appears to have restarted.","Network Alert")
else
- ticker.mode.explosion_in_progress = 1
- ticker.station_explosion_cinematic(1)
- ticker.mode.explosion_in_progress = 0
- ticker.force_ending = pick(winners)
+ SSticker.mode.explosion_in_progress = 1
+ SSticker.station_explosion_cinematic(1)
+ SSticker.mode.explosion_in_progress = 0
+ SSticker.force_ending = pick(winners)
diff --git a/code/game/gamemodes/gang/gang_datum.dm b/code/game/gamemodes/gang/gang_datum.dm
index 78d75c957f..3c54d5436b 100644
--- a/code/game/gamemodes/gang/gang_datum.dm
+++ b/code/game/gamemodes/gang/gang_datum.dm
@@ -42,13 +42,13 @@
)
/datum/gang/New(loc,gangname)
- if(!gang_colors_pool.len)
+ if(!GLOB.gang_colors_pool.len)
message_admins("WARNING: Maximum number of gangs have been exceeded!")
throw EXCEPTION("Maximum number of gangs has been exceeded")
return
else
- color = pick(gang_colors_pool)
- gang_colors_pool -= color
+ color = pick(GLOB.gang_colors_pool)
+ GLOB.gang_colors_pool -= color
switch(color)
if("red")
color_hex = "#DA0000"
@@ -63,8 +63,8 @@
if("purple")
color_hex = "#DA00FF"
- name = (gangname ? gangname : pick(gang_name_pool))
- gang_name_pool -= name
+ name = (gangname ? gangname : pick(GLOB.gang_name_pool))
+ GLOB.gang_name_pool -= name
ganghud = new()
ganghud.color = color_hex
@@ -85,11 +85,11 @@
/datum/gang/proc/add_gang_hud(datum/mind/recruit_mind)
ganghud.join_hud(recruit_mind.current)
- ticker.mode.set_antag_hud(recruit_mind.current, ((recruit_mind in bosses) ? "gang_boss" : "gangster"))
+ SSticker.mode.set_antag_hud(recruit_mind.current, ((recruit_mind in bosses) ? "gang_boss" : "gangster"))
/datum/gang/proc/remove_gang_hud(datum/mind/defector_mind)
ganghud.leave_hud(defector_mind.current)
- ticker.mode.set_antag_hud(defector_mind.current, null)
+ SSticker.mode.set_antag_hud(defector_mind.current, null)
/datum/gang/proc/domination(modifier=1)
set_domination_time(determine_domination_time(src) * modifier)
@@ -113,7 +113,7 @@
return 0
var/gang_style_list = list("Gang Colors","Black Suits","White Suits","Leather Jackets","Leather Overcoats","Puffer Jackets","Military Jackets","Tactical Turtlenecks","Soviet Uniforms")
- if(!style && (user.mind in ticker.mode.get_gang_bosses())) //Only the boss gets to pick a style
+ if(!style && (user.mind in SSticker.mode.get_gang_bosses())) //Only the boss gets to pick a style
style = input("Pick an outfit style.", "Pick Style") as null|anything in gang_style_list
if(gangtool.can_use(user) && (gangtool.outfits >= 1))
@@ -240,7 +240,7 @@
territory_new = list()
territory_lost = list()
- var/control = round((territory.len/start_state.num_territories)*100, 1)
+ var/control = round((territory.len/GLOB.start_state.num_territories)*100, 1)
message += "Your gang now has [control]% control of the station. *---------*"
message_gangtools(message)
diff --git a/code/game/gamemodes/gang/gang_pen.dm b/code/game/gamemodes/gang/gang_pen.dm
index fb7dbf5258..5045c27485 100644
--- a/code/game/gamemodes/gang/gang_pen.dm
+++ b/code/game/gamemodes/gang/gang_pen.dm
@@ -15,7 +15,7 @@
if(!istype(M))
return
if(ishuman(M) && ishuman(user) && M.stat != DEAD)
- if(user.mind && (user.mind in ticker.mode.get_gang_bosses()))
+ if(user.mind && (user.mind in SSticker.mode.get_gang_bosses()))
if(..(M,user,1))
if(cooldown)
to_chat(user, "[src] needs more time to recharge before it can be used. ")
@@ -23,7 +23,7 @@
if(M.client)
M.mind_initialize() //give them a mind datum if they don't have one.
var/datum/gang/G = user.mind.gang_datum
- var/recruitable = ticker.mode.add_gangster(M.mind,G)
+ var/recruitable = SSticker.mode.add_gangster(M.mind,G)
switch(recruitable)
if(2)
M.Paralyse(5)
diff --git a/code/game/gamemodes/gang/recaller.dm b/code/game/gamemodes/gang/recaller.dm
index 423380c809..0885b32612 100644
--- a/code/game/gamemodes/gang/recaller.dm
+++ b/code/game/gamemodes/gang/recaller.dm
@@ -16,9 +16,10 @@
var/free_pen = 0
var/promotable = 0
-/obj/item/device/gangtool/New() //Initialize supply point income if it hasn't already been started
- if(!ticker.mode.gang_points)
- ticker.mode.gang_points = new /datum/gang_points(ticker.mode)
+/obj/item/device/gangtool/Initialize() //Initialize supply point income if it hasn't already been started
+ ..()
+ if(!SSticker.mode.gang_points)
+ SSticker.mode.gang_points = new /datum/gang_points(SSticker.mode)
/obj/item/device/gangtool/attack_self(mob/user)
if (!can_use(user))
@@ -27,7 +28,7 @@
var/dat
if(!gang)
dat += "This device is not registered. "
- if(user.mind in ticker.mode.get_gang_bosses())
+ if(user.mind in SSticker.mode.get_gang_bosses())
if(promotable && user.mind.gang_datum.bosses.len < 3)
dat += "Give this device to another member of your organization to use to promote them to Lieutenant. "
dat += "If this is meant as a spare device for yourself: "
@@ -46,9 +47,9 @@
var/isboss = (user.mind == gang.bosses[1])
dat += "Registration: [gang.name] Gang [isboss ? "Boss" : "Lieutenant"] "
- dat += "Organization Size: [gang.gangsters.len + gang.bosses.len] | Station Control: [round((gang.territory.len/start_state.num_territories)*100, 1)]% "
+ dat += "Organization Size: [gang.gangsters.len + gang.bosses.len] | Station Control: [round((gang.territory.len/GLOB.start_state.num_territories)*100, 1)]% "
dat += "Gang Influence: [gang.points] "
- dat += "Time until Influence grows: [(gang.points >= 999) ? ("--:--") : (time2text(ticker.mode.gang_points.next_point_time - world.time, "mm:ss"))] "
+ dat += "Time until Influence grows: [(gang.points >= 999) ? ("--:--") : (time2text(SSticker.mode.gang_points.next_point_time - world.time, "mm:ss"))] "
dat += " "
@@ -130,7 +131,7 @@
for(var/datum/mind/ganger in members)
if(ganger.current && (ganger.current.z <= 2) && (ganger.current.stat == CONSCIOUS))
to_chat(ganger.current, ping)
- for(var/mob/M in dead_mob_list)
+ for(var/mob/M in GLOB.dead_mob_list)
var/link = FOLLOW_LINK(M, user)
to_chat(M, "[link] [ping]")
log_game("[key_name(user)] Messaged [gang.name] Gang: [message].")
@@ -139,12 +140,12 @@
/obj/item/device/gangtool/proc/register_device(mob/user)
if(gang) //It's already been registered!
return
- if((promotable && (user.mind in ticker.mode.get_gangsters())) || (user.mind in ticker.mode.get_gang_bosses()))
+ if((promotable && (user.mind in SSticker.mode.get_gangsters())) || (user.mind in SSticker.mode.get_gang_bosses()))
gang = user.mind.gang_datum
gang.gangtools += src
icon_state = "gangtool-[gang.color]"
if(!(user.mind in gang.bosses))
- ticker.mode.remove_gangster(user.mind, 0, 2)
+ SSticker.mode.remove_gangster(user.mind, 0, 2)
gang.bosses += user.mind
user.mind.gang_datum = gang
user.mind.special_role = "[gang.name] Gang Lieutenant"
@@ -153,8 +154,8 @@
free_pen = 1
gang.message_gangtools("[user] has been promoted to Lieutenant.")
to_chat(user, "You have been promoted to Lieutenant! ")
- ticker.mode.forge_gang_objectives(user.mind)
- ticker.mode.greet_gang(user.mind,0)
+ SSticker.mode.forge_gang_objectives(user.mind)
+ SSticker.mode.greet_gang(user.mind,0)
to_chat(user, "The Gangtool you registered will allow you to purchase weapons and equipment, and send messages to your gang.")
to_chat(user, "Unlike regular gangsters, you may use recruitment pens to add recruits to your gang. Use them on unsuspecting crew members to recruit them. Don't forget to get your one free pen from the gangtool.")
else
@@ -194,7 +195,7 @@
return 0
var/datum/station_state/end_state = new /datum/station_state()
end_state.count()
- if((100 * start_state.score(end_state)) < 80) //Shuttle cannot be recalled if the station is too damaged
+ if((100 * GLOB.start_state.score(end_state)) < 80) //Shuttle cannot be recalled if the station is too damaged
to_chat(user, "\icon[src]Error: Station communication systems compromised. Unable to establish connection. ")
recalling = 0
return 0
@@ -227,7 +228,7 @@
if(user.mind in gang.bosses)
return 1
else //If it's not registered, any gangster can use this to register
- if(user.mind in ticker.mode.get_all_gangsters())
+ if(user.mind in SSticker.mode.get_all_gangsters())
return 1
return 0
diff --git a/code/game/gamemodes/intercept_report.dm b/code/game/gamemodes/intercept_report.dm
index 9f220ca4f5..febef46e74 100644
--- a/code/game/gamemodes/intercept_report.dm
+++ b/code/game/gamemodes/intercept_report.dm
@@ -51,7 +51,7 @@
text += "Although more specific threats are commonplace, you should always remain vigilant for Syndicate agents aboard your station. Syndicate communications have implied that many \
Nanotrasen employees are Syndicate agents with hidden memories that may be activated at a moment's notice, so it's possible that these agents might not even know their positions."
if("wizard")
- text += "A dangerous Wizards' Federation individual by the name of [pick(wizard_first)] [pick(wizard_second)] has recently escaped confinement from an unlisted prison facility. This \
+ text += "A dangerous Wizards' Federation individual by the name of [pick(GLOB.wizard_first)] [pick(GLOB.wizard_second)] has recently escaped confinement from an unlisted prison facility. This \
man is a dangerous mutant with the ability to alter himself and the world around him by what he and his leaders believe to be magic. If this man attempts an attack on your station, \
his execution is highly encouraged, as is the preservation of his body for later study."
return text
diff --git a/code/game/gamemodes/malfunction/Malf_Modules.dm b/code/game/gamemodes/malfunction/Malf_Modules.dm
index a63901a80e..d581af11b9 100644
--- a/code/game/gamemodes/malfunction/Malf_Modules.dm
+++ b/code/game/gamemodes/malfunction/Malf_Modules.dm
@@ -42,7 +42,7 @@
doomsday_device = DOOM
doomsday_device.start()
verbs -= /mob/living/silicon/ai/proc/nuke_station
- for(var/obj/item/weapon/pinpointer/P in pinpointer_list)
+ for(var/obj/item/weapon/pinpointer/P in GLOB.pinpointer_list)
P.switch_mode_to(TRACK_MALF_AI) //Pinpointers start tracking the AI wherever it goes
/obj/machinery/doomsday_device
@@ -70,7 +70,7 @@
STOP_PROCESSING(SSfastprocess, src)
SSshuttle.clearHostileEnvironment(src)
SSmapping.remove_nuke_threat(src)
- for(var/A in ai_list)
+ for(var/A in GLOB.ai_list)
var/mob/living/silicon/ai/Mlf = A
if(Mlf.doomsday_device == src)
Mlf.doomsday_device = null
@@ -108,10 +108,10 @@
minor_announce(message, "ERROR ER0RR $R0RRO$!R41.%%!!(%$^^__+ @#F0E4", 1)
/obj/machinery/doomsday_device/proc/detonate(z_level = 1)
- for(var/mob/M in player_list)
+ for(var/mob/M in GLOB.player_list)
M << 'sound/machines/Alarm.ogg'
sleep(100)
- for(var/mob/living/L in mob_list)
+ for(var/mob/living/L in GLOB.mob_list)
var/turf/T = get_turf(L)
if(!T || T.z != z_level)
continue
@@ -120,7 +120,7 @@
to_chat(L, "The blast wave from [src] tears you atom from atom! ")
L.dust()
to_chat(world, "The AI cleansed the station of life with the doomsday device! ")
- ticker.force_ending = 1
+ SSticker.force_ending = 1
/datum/AI_Module/large/upgrade_turrets
module_name = "AI Turret Upgrade"
@@ -140,7 +140,7 @@
src.verbs -= /mob/living/silicon/ai/proc/upgrade_turrets
//Upgrade AI turrets around the world
- for(var/obj/machinery/porta_turret/ai/turret in machines)
+ for(var/obj/machinery/porta_turret/ai/turret in GLOB.machines)
turret.obj_integrity += 30
turret.lethal_projectile = /obj/item/projectile/beam/laser/heavylaser //Once you see it, you will know what it means to FEAR.
turret.lethal_projectile_sound = 'sound/weapons/lasercannonfire.ogg'
@@ -162,13 +162,13 @@
if(!canUseTopic())
return
- for(var/obj/machinery/door/D in airlocks)
+ for(var/obj/machinery/door/D in GLOB.airlocks)
if(D.z != ZLEVEL_STATION)
continue
INVOKE_ASYNC(D, /obj/machinery/door.proc/hostile_lockdown, src)
addtimer(CALLBACK(D, /obj/machinery/door.proc/disable_lockdown), 900)
- var/obj/machinery/computer/communications/C = locate() in machines
+ var/obj/machinery/computer/communications/C = locate() in GLOB.machines
if(C)
C.post_status("alert", "lockdown")
@@ -196,7 +196,7 @@
if(!canUseTopic() || malf_cooldown)
return
- for(var/I in rcd_list)
+ for(var/I in GLOB.rcd_list)
if(!istype(I, /obj/item/weapon/rcd/borg)) //Ensures that cyborg RCDs are spared.
var/obj/item/weapon/rcd/RCD = I
RCD.detonate_pulse()
@@ -243,7 +243,7 @@
if(!canUseTopic())
return
- for(var/obj/machinery/firealarm/F in machines)
+ for(var/obj/machinery/firealarm/F in GLOB.machines)
if(F.z != ZLEVEL_STATION)
continue
F.emagged = 1
@@ -267,7 +267,7 @@
if(!canUseTopic())
return
- for(var/obj/machinery/airalarm/AA in machines)
+ for(var/obj/machinery/airalarm/AA in GLOB.machines)
if(AA.z != ZLEVEL_STATION)
continue
AA.emagged = 1
@@ -283,7 +283,7 @@
power_type = /mob/living/silicon/ai/proc/overload_machine
-/mob/living/silicon/ai/proc/overload_machine(obj/machinery/M in machines)
+/mob/living/silicon/ai/proc/overload_machine(obj/machinery/M in GLOB.machines)
set name = "Overload Machine"
set category = "Malfunction"
@@ -313,7 +313,7 @@
power_type = /mob/living/silicon/ai/proc/override_machine
-/mob/living/silicon/ai/proc/override_machine(obj/machinery/M in machines)
+/mob/living/silicon/ai/proc/override_machine(obj/machinery/M in GLOB.machines)
set name = "Override Machine"
set category = "Malfunction"
@@ -358,7 +358,8 @@
if(!canPlaceTransformer())
return
var/turf/T = get_turf(eyeobj)
- new /obj/machinery/transformer/conveyor(T)
+ var/obj/machinery/transformer/conveyor = new(T)
+ conveyor.masterAI = src
playsound(T, 'sound/effects/phasein.ogg', 100, 1)
var/datum/AI_Module/large/place_cyborg_transformer/PCT = locate() in current_modules
PCT.uses --
@@ -382,7 +383,7 @@
var/turf/T = turfs[n]
if(!isfloorturf(T))
fail = 1
- var/datum/camerachunk/C = cameranet.getCameraChunk(T.x, T.y, T.z)
+ var/datum/camerachunk/C = GLOB.cameranet.getCameraChunk(T.x, T.y, T.z)
if(!C.visibleTurfs[T])
alert_msg = "We cannot get camera vision of this location."
fail = 1
@@ -423,7 +424,7 @@
for(var/datum/AI_Module/small/blackout/blackout in current_modules)
if(blackout.uses > 0)
blackout.uses --
- for(var/obj/machinery/power/apc/apc in machines)
+ for(var/obj/machinery/power/apc/apc in GLOB.machines)
if(prob(30*apc.overload))
apc.overload_lighting()
else apc.overload++
@@ -449,7 +450,7 @@
var/fixedcams = 0 //Tells the AI how many cams it fixed. Stats are fun.
for(var/datum/AI_Module/small/reactivate_cameras/camera in current_modules)
- for(var/obj/machinery/camera/C in cameranet.cameras)
+ for(var/obj/machinery/camera/C in GLOB.cameranet.cameras)
var/initial_range = initial(C.view_range) //To prevent calling the proc twice
if(camera.uses > 0)
if(!C.status)
@@ -492,14 +493,14 @@
see_override = SEE_INVISIBLE_MINIMUM //Night-vision, without which X-ray would be very limited in power.
update_sight()
- for(var/obj/machinery/camera/C in cameranet.cameras)
+ for(var/obj/machinery/camera/C in GLOB.cameranet.cameras)
if(C.assembly)
var/upgraded = 0
if(!C.isXRay())
C.upgradeXRay()
//Update what it can see.
- cameranet.updateVisibility(C, 0)
+ GLOB.cameranet.updateVisibility(C, 0)
upgraded = 1
if(!C.isEmpProof())
diff --git a/code/game/gamemodes/meteor/meteor.dm b/code/game/gamemodes/meteor/meteor.dm
index 2e54b3c1e9..e1a2ddf78f 100644
--- a/code/game/gamemodes/meteor/meteor.dm
+++ b/code/game/gamemodes/meteor/meteor.dm
@@ -11,18 +11,18 @@
/datum/game_mode/meteor/process()
- if(nometeors || meteordelay > world.time - round_start_time)
+ if(nometeors || meteordelay > world.time - SSticker.round_start_time)
return
- var/list/wavetype = meteors_normal
- var/meteorminutes = (world.time - round_start_time - meteordelay) / 10 / 60
+ var/list/wavetype = GLOB.meteors_normal
+ var/meteorminutes = (world.time - SSticker.round_start_time - meteordelay) / 10 / 60
if (prob(meteorminutes))
- wavetype = meteors_threatening
+ wavetype = GLOB.meteors_threatening
if (prob(meteorminutes/2))
- wavetype = meteors_catastrophic
+ wavetype = GLOB.meteors_catastrophic
var/ramp_up_final = Clamp(round(meteorminutes/rampupdelta), 1, 10)
@@ -33,7 +33,7 @@
var/text
var/survivors = 0
- for(var/mob/living/player in player_list)
+ for(var/mob/living/player in GLOB.player_list)
if(player.stat != DEAD)
++survivors
diff --git a/code/game/gamemodes/meteor/meteors.dm b/code/game/gamemodes/meteor/meteors.dm
index 3f3f0e57cc..8f90cd892d 100644
--- a/code/game/gamemodes/meteor/meteors.dm
+++ b/code/game/gamemodes/meteor/meteors.dm
@@ -1,20 +1,20 @@
#define DEFAULT_METEOR_LIFETIME 1800
-/var/const/meteor_wave_delay = 625 //minimum wait between waves in tenths of seconds
+GLOBAL_VAR_INIT(meteor_wave_delay, 625) //minimum wait between waves in tenths of seconds
//set to at least 100 unless you want evarr ruining every round
//Meteors probability of spawning during a given wave
-/var/list/meteors_normal = list(/obj/effect/meteor/dust=3, /obj/effect/meteor/medium=8, /obj/effect/meteor/big=3, \
- /obj/effect/meteor/flaming=1, /obj/effect/meteor/irradiated=3) //for normal meteor event
+GLOBAL_LIST_INIT(meteors_normal, list(/obj/effect/meteor/dust=3, /obj/effect/meteor/medium=8, /obj/effect/meteor/big=3, \
+ /obj/effect/meteor/flaming=1, /obj/effect/meteor/irradiated=3)) //for normal meteor event
-/var/list/meteors_threatening = list(/obj/effect/meteor/medium=4, /obj/effect/meteor/big=8, \
- /obj/effect/meteor/flaming=3, /obj/effect/meteor/irradiated=3) //for threatening meteor event
+GLOBAL_LIST_INIT(meteors_threatening, list(/obj/effect/meteor/medium=4, /obj/effect/meteor/big=8, \
+ /obj/effect/meteor/flaming=3, /obj/effect/meteor/irradiated=3)) //for threatening meteor event
-/var/list/meteors_catastrophic = list(/obj/effect/meteor/medium=5, /obj/effect/meteor/big=75, \
- /obj/effect/meteor/flaming=10, /obj/effect/meteor/irradiated=10, /obj/effect/meteor/tunguska = 1) //for catastrophic meteor event
+GLOBAL_LIST_INIT(meteors_catastrophic, list(/obj/effect/meteor/medium=5, /obj/effect/meteor/big=75, \
+ /obj/effect/meteor/flaming=10, /obj/effect/meteor/irradiated=10, /obj/effect/meteor/tunguska = 1)) //for catastrophic meteor event
-/var/list/meteorsB = list(/obj/effect/meteor/meaty=5, /obj/effect/meteor/meaty/xeno=1) //for meaty ore event
+GLOBAL_LIST_INIT(meteorsB, list(/obj/effect/meteor/meaty=5, /obj/effect/meteor/meaty/xeno=1)) //for meaty ore event
-/var/list/meteorsC = list(/obj/effect/meteor/dust) //for space dust event
+GLOBAL_LIST_INIT(meteorsC, list(/obj/effect/meteor/dust)) //for space dust event
///////////////////////////////
@@ -30,7 +30,7 @@
var/turf/pickedgoal
var/max_i = 10//number of tries to spawn meteor.
while(!isspaceturf(pickedstart))
- var/startSide = pick(cardinal)
+ var/startSide = pick(GLOB.cardinal)
pickedstart = spaceDebrisStartLoc(startSide, 1)
pickedgoal = spaceDebrisFinishLoc(startSide, 1)
max_i--
@@ -118,13 +118,13 @@
get_hit()
/obj/effect/meteor/Destroy()
- meteor_list -= src
+ GLOB.meteor_list -= src
walk(src,0) //this cancels the walk_towards() proc
. = ..()
/obj/effect/meteor/New()
..()
- meteor_list += src
+ GLOB.meteor_list += src
if(SSaugury)
SSaugury.register_doom(src, threat)
SpinAnimation()
@@ -185,7 +185,7 @@
/obj/effect/meteor/proc/meteor_effect()
if(heavy)
- for(var/mob/M in player_list)
+ for(var/mob/M in GLOB.player_list)
if((M.orbiting) && (SSaugury.watchers[M]))
continue
var/turf/T = get_turf(M)
@@ -343,7 +343,7 @@
//Spookoween meteors
/////////////////////////
-/var/list/meteorsSPOOKY = list(/obj/effect/meteor/pumpkin)
+GLOBAL_LIST_INIT(meteorsSPOOKY, list(/obj/effect/meteor/pumpkin))
/obj/effect/meteor/pumpkin
name = "PUMPKING"
diff --git a/code/game/gamemodes/miniantags/abduction/abduction.dm b/code/game/gamemodes/miniantags/abduction/abduction.dm
index c1b0998a59..aa5a688596 100644
--- a/code/game/gamemodes/miniantags/abduction/abduction.dm
+++ b/code/game/gamemodes/miniantags/abduction/abduction.dm
@@ -43,7 +43,7 @@
/datum/game_mode/abduction/proc/make_abductor_team(team_number,preset_agent=null,preset_scientist=null)
//Team Name
- team_names[team_number] = "Mothership [pick(possible_changeling_IDs)]" //TODO Ensure unique and actual alieny names
+ team_names[team_number] = "Mothership [pick(GLOB.possible_changeling_IDs)]" //TODO Ensure unique and actual alieny names
//Team Objective
var/datum/objective/experiment/team_objective = new
team_objective.team = team_number
@@ -90,7 +90,7 @@
var/list/obj/effect/landmark/abductor/scientist_landmarks = new
agent_landmarks.len = max_teams
scientist_landmarks.len = max_teams
- for(var/obj/effect/landmark/abductor/A in landmarks_list)
+ for(var/obj/effect/landmark/abductor/A in GLOB.landmarks_list)
if(istype(A,/obj/effect/landmark/abductor/agent))
agent_landmarks[text2num(A.team)] = A
else if(istype(A,/obj/effect/landmark/abductor/scientist))
@@ -137,7 +137,7 @@
var/list/obj/effect/landmark/abductor/scientist_landmarks = new
agent_landmarks.len = max_teams
scientist_landmarks.len = max_teams
- for(var/obj/effect/landmark/abductor/A in landmarks_list)
+ for(var/obj/effect/landmark/abductor/A in GLOB.landmarks_list)
if(istype(A,/obj/effect/landmark/abductor/agent))
agent_landmarks[text2num(A.team)] = A
else if(istype(A,/obj/effect/landmark/abductor/scientist))
@@ -201,7 +201,7 @@
abductor.announce_objectives()
/datum/game_mode/abduction/proc/equip_common(mob/living/carbon/human/agent,team_number)
- var/radio_freq = SYND_FREQ
+ var/radio_freq = GLOB.SYND_FREQ
var/obj/item/device/radio/R = new /obj/item/device/radio/headset/syndicate/alt(agent)
R.set_frequency(radio_freq)
@@ -212,7 +212,7 @@
/datum/game_mode/abduction/proc/get_team_console(team)
var/obj/machinery/abductor/console/console
- for(var/obj/machinery/abductor/console/c in machines)
+ for(var/obj/machinery/abductor/console/c in GLOB.machines)
if(c.team == team)
console = c
break
@@ -319,7 +319,7 @@
return 0
var/datum/species/abductor/S = H.dna.species
ab_team = S.team
- for(var/obj/machinery/abductor/experiment/E in machines)
+ for(var/obj/machinery/abductor/experiment/E in GLOB.machines)
if(E.team == ab_team)
if(E.points >= target_amount)
return 1
@@ -328,12 +328,12 @@
return 0
/datum/game_mode/proc/update_abductor_icons_added(datum/mind/alien_mind)
- var/datum/atom_hud/antag/hud = huds[ANTAG_HUD_ABDUCTOR]
+ var/datum/atom_hud/antag/hud = GLOB.huds[ANTAG_HUD_ABDUCTOR]
hud.join_hud(alien_mind.current)
set_antag_hud(alien_mind.current, ((alien_mind in abductors) ? "abductor" : "abductee"))
/datum/game_mode/proc/update_abductor_icons_removed(datum/mind/alien_mind)
- var/datum/atom_hud/antag/hud = huds[ANTAG_HUD_ABDUCTOR]
+ var/datum/atom_hud/antag/hud = GLOB.huds[ANTAG_HUD_ABDUCTOR]
hud.leave_hud(alien_mind.current)
set_antag_hud(alien_mind.current, null)
@@ -428,7 +428,7 @@
explanation_text = "Call forth a spirit from the other side."
/datum/objective/abductee/calling/New()
- var/mob/dead/D = pick(dead_mob_list)
+ var/mob/dead/D = pick(GLOB.dead_mob_list)
if(D)
explanation_text = "You know that [D] has perished. Hold a seance to call them from the spirit realm."
diff --git a/code/game/gamemodes/miniantags/abduction/abduction_gear.dm b/code/game/gamemodes/miniantags/abduction/abduction_gear.dm
index b5f946b18c..f735bf253c 100644
--- a/code/game/gamemodes/miniantags/abduction/abduction_gear.dm
+++ b/code/game/gamemodes/miniantags/abduction/abduction_gear.dm
@@ -389,7 +389,7 @@ Congratulations! You are now trained for invasive xenobiology research!"}
if(ishuman(L))
var/mob/living/carbon/human/H = L
- H.forcesay(hit_appends)
+ H.forcesay(GLOB.hit_appends)
add_logs(user, L, "stunned")
diff --git a/code/game/gamemodes/miniantags/abduction/machinery/camera.dm b/code/game/gamemodes/miniantags/abduction/machinery/camera.dm
index f893ad1bb8..4bbdd0ca18 100644
--- a/code/game/gamemodes/miniantags/abduction/machinery/camera.dm
+++ b/code/game/gamemodes/miniantags/abduction/machinery/camera.dm
@@ -10,6 +10,7 @@
var/datum/action/innate/vest_disguise_swap/vest_disguise_action = new
var/datum/action/innate/set_droppoint/set_droppoint_action = new
var/obj/machinery/abductor/console/console
+ z_lock = ZLEVEL_STATION
icon = 'icons/obj/abductor.dmi'
icon_state = "camera"
@@ -77,8 +78,7 @@
C.client.images -= chunk.obscured
C.remote_control = null
C.unset_machine()
- src.Remove(C)
-
+ Remove(C)
/datum/action/innate/teleport_in
name = "Send To"
@@ -91,7 +91,7 @@
var/mob/camera/aiEye/remote/remote_eye = C.remote_control
var/obj/machinery/abductor/pad/P = target
- if(cameranet.checkTurfVis(remote_eye.loc))
+ if(GLOB.cameranet.checkTurfVis(remote_eye.loc))
P.PadToLoc(remote_eye.loc)
/datum/action/innate/teleport_out
@@ -116,7 +116,7 @@
var/mob/camera/aiEye/remote/remote_eye = C.remote_control
var/obj/machinery/abductor/pad/P = target
- if(cameranet.checkTurfVis(remote_eye.loc))
+ if(GLOB.cameranet.checkTurfVis(remote_eye.loc))
P.MobToLoc(remote_eye.loc,C)
/datum/action/innate/vest_mode_swap
diff --git a/code/game/gamemodes/miniantags/abduction/machinery/console.dm b/code/game/gamemodes/miniantags/abduction/machinery/console.dm
index 8c4f390f77..2a23c37444 100644
--- a/code/game/gamemodes/miniantags/abduction/machinery/console.dm
+++ b/code/game/gamemodes/miniantags/abduction/machinery/console.dm
@@ -142,17 +142,17 @@
if(!team)
return
- for(var/obj/machinery/abductor/pad/p in machines)
+ for(var/obj/machinery/abductor/pad/p in GLOB.machines)
if(p.team == team)
pad = p
break
- for(var/obj/machinery/abductor/experiment/e in machines)
+ for(var/obj/machinery/abductor/experiment/e in GLOB.machines)
if(e.team == team)
experiment = e
e.console = src
- for(var/obj/machinery/computer/camera_advanced/abductor/c in machines)
+ for(var/obj/machinery/computer/camera_advanced/abductor/c in GLOB.machines)
if(c.team == team)
camera = c
c.console = src
diff --git a/code/game/gamemodes/miniantags/abduction/machinery/experiment.dm b/code/game/gamemodes/miniantags/abduction/machinery/experiment.dm
index e4392b507d..193aecd9ce 100644
--- a/code/game/gamemodes/miniantags/abduction/machinery/experiment.dm
+++ b/code/game/gamemodes/miniantags/abduction/machinery/experiment.dm
@@ -74,13 +74,13 @@
eyes.Blend("#[H.eye_color]", ICON_MULTIPLY)
var/datum/sprite_accessory/S
- S = hair_styles_list[H.hair_style]
+ S = GLOB.hair_styles_list[H.hair_style]
if(S && (HAIR in H.dna.species.species_traits))
var/icon/hair = icon("icon" = S.icon, "icon_state" = "[S.icon_state]")
hair.Blend("#[H.hair_color]", ICON_MULTIPLY)
eyes.Blend(hair, ICON_OVERLAY)
- S = facial_hair_styles_list[H.facial_hair_style]
+ S = GLOB.facial_hair_styles_list[H.facial_hair_style]
if(S && (FACEHAIR in H.dna.species.species_traits))
var/icon/facial = icon("icon" = S.icon, "icon_state" = "[S.icon_state]")
facial.Blend("#[H.facial_hair_color]", ICON_MULTIPLY)
@@ -180,10 +180,10 @@
to_chat(H, "Your mind snaps! ")
var/objtype = pick(subtypesof(/datum/objective/abductee/))
var/datum/objective/abductee/O = new objtype()
- ticker.mode.abductees += H.mind
+ SSticker.mode.abductees += H.mind
H.mind.objectives += O
H.mind.announce_objectives()
- ticker.mode.update_abductor_icons_added(H.mind)
+ SSticker.mode.update_abductor_icons_added(H.mind)
for(var/obj/item/organ/heart/gland/G in H.internal_organs)
G.Start()
@@ -213,7 +213,7 @@
H.uncuff()
return
//Area not chosen / It's not safe area - teleport to arrivals
- H.forceMove(pick(latejoin))
+ H.forceMove(pick(GLOB.latejoin))
H.uncuff()
return
diff --git a/code/game/gamemodes/miniantags/abduction/machinery/pad.dm b/code/game/gamemodes/miniantags/abduction/machinery/pad.dm
index 57301ee319..5f8ad3de9d 100644
--- a/code/game/gamemodes/miniantags/abduction/machinery/pad.dm
+++ b/code/game/gamemodes/miniantags/abduction/machinery/pad.dm
@@ -12,7 +12,7 @@
/obj/machinery/abductor/pad/proc/Send()
if(teleport_target == null)
- teleport_target = teleportlocs[pick(teleportlocs)]
+ teleport_target = GLOB.teleportlocs[pick(GLOB.teleportlocs)]
flick("alien-pad", src)
for(var/mob/living/target in loc)
target.forceMove(teleport_target)
diff --git a/code/game/gamemodes/miniantags/borer/borer.dm b/code/game/gamemodes/miniantags/borer/borer.dm
index 26ec704c7a..a8bfab458a 100644
--- a/code/game/gamemodes/miniantags/borer/borer.dm
+++ b/code/game/gamemodes/miniantags/borer/borer.dm
@@ -24,7 +24,7 @@
to_chat(src, "You whisper silently, \"[message]\" ")
to_chat(B.victim, "The captive mind of [src] whispers, \"[message]\" ")
- for (var/mob/M in player_list)
+ for (var/mob/M in GLOB.player_list)
if(isnewplayer(M))
continue
else if(M.stat == 2 && M.client.prefs.toggles & CHAT_GHOSTEARS)
@@ -52,8 +52,8 @@
to_chat(B.victim, "You feel control of the host brain ripped from your grasp, and retract your probosci before the wild neural impulses can damage you. ")
B.detatch()
-var/list/mob/living/simple_animal/borer/borers = list()
-var/total_borer_hosts_needed = 10
+GLOBAL_LIST_EMPTY(borers)
+GLOBAL_VAR_INIT(total_borer_hosts_needed, 10)
/mob/living/simple_animal/borer
name = "cortical borer"
@@ -132,12 +132,34 @@ var/total_borer_hosts_needed = 10
//borer_chems += /datum/borer_chem/creagent
borer_chems += /datum/borer_chem/ethanol
borer_chems += /datum/borer_chem/rezadone
-
+
if(is_team_borer)
- borers += src
+ GLOB.borers += src
GrantBorerActions()
+/mob/living/simple_animal/borer/Destroy()
+ GLOB.borers -= src
+
+ host_brain = null
+ victim = null
+
+ QDEL_NULL(talk_to_host_action)
+ QDEL_NULL(infest_host_action)
+ QDEL_NULL(toggle_hide_action)
+ QDEL_NULL(talk_to_borer_action)
+ QDEL_NULL(talk_to_brain_action)
+ QDEL_NULL(take_control_action)
+ QDEL_NULL(give_back_control_action)
+ QDEL_NULL(leave_body_action)
+ QDEL_NULL(make_chems_action)
+ QDEL_NULL(make_larvae_action)
+ QDEL_NULL(freeze_victim_action)
+ QDEL_NULL(punish_victim_action)
+ QDEL_NULL(jumpstart_host_action)
+
+ return ..()
+
/mob/living/simple_animal/borer/Topic(href, href_list)//not entirely sure if this is even required
if(href_list["ghostjoin"])
var/mob/dead/observer/ghost = usr
@@ -188,7 +210,7 @@ var/total_borer_hosts_needed = 10
if(victim)
to_chat(victim, "[truename] [say_string]: [input] ")
log_say("Borer Communication: [key_name(src)] -> [key_name(victim)] : [input]")
- for(var/M in dead_mob_list)
+ for(var/M in GLOB.dead_mob_list)
if(isobserver(M))
var/rendered = "Borer Communication from [truename] : [input] "
var/link = FOLLOW_LINK(M, src)
@@ -214,7 +236,7 @@ var/total_borer_hosts_needed = 10
to_chat(B, "[src] says: [input] ")
log_say("Borer Communication: [key_name(src)] -> [key_name(B)] : [input]")
- for(var/M in dead_mob_list)
+ for(var/M in GLOB.dead_mob_list)
if(isobserver(M))
var/rendered = "Borer Communication from [src] : [input] "
var/link = FOLLOW_LINK(M, src)
@@ -238,7 +260,7 @@ var/total_borer_hosts_needed = 10
to_chat(CB, "[B.truename] says: [input] ")
log_say("Borer Communication: [key_name(B)] -> [key_name(CB)] : [input]")
- for(var/M in dead_mob_list)
+ for(var/M in GLOB.dead_mob_list)
if(isobserver(M))
var/rendered = "Borer Communication from [B] : [input] "
var/link = FOLLOW_LINK(M, src)
@@ -303,9 +325,9 @@ var/total_borer_hosts_needed = 10
/mob/living/simple_animal/borer/say(message)
if(dd_hasprefix(message, ";"))
message = copytext(message,2)
- for(var/borer in borers)
+ for(var/borer in GLOB.borers)
to_chat(borer, "Cortical Link: [truename] sings, \"[message]\"")
- for(var/mob/D in dead_mob_list)
+ for(var/mob/D in GLOB.dead_mob_list)
to_chat(D, "Cortical Link: [truename] sings, \"[message]\"")
return
if(!victim)
@@ -314,10 +336,10 @@ var/total_borer_hosts_needed = 10
if(message == "")
return
-/mob/living/simple_animal/borer/UnarmedAttack(mob/living/M)
- healthscan(usr, M)
- chemscan(usr, M)
- return
+/mob/living/simple_animal/borer/UnarmedAttack(atom/A)
+ if(isliving(A))
+ healthscan(usr, A)
+ chemscan(usr, A)
/mob/living/simple_animal/borer/ex_act()
if(victim)
@@ -341,7 +363,9 @@ var/total_borer_hosts_needed = 10
if(H!=src && Adjacent(H))
choices += H
- var/mob/living/carbon/H = input(src,"Who do you wish to infest?") in null|choices
+ if(!choices.len)
+ return
+ var/mob/living/carbon/H = choices.len > 1 ? input(src,"Who do you wish to infest?") in null|choices : choices[1]
if(!H || !src)
return
@@ -470,10 +494,12 @@ var/total_borer_hosts_needed = 10
if(C.stat == CONSCIOUS)
choices += C
- var/mob/living/carbon/M = input(src,"Who do you wish to dominate?") in null|choices
+ if(!choices.len)
+ return
+ var/mob/living/carbon/M = choices.len > 1 ? input(src,"Who do you wish to dominate?") in null|choices : choices[1]
- if(!M || !src)
+ if(!M || !src || stat != CONSCIOUS || victim || (world.time - used_dominate < 150))
return
if(!Adjacent(M))
return
@@ -812,13 +838,13 @@ var/total_borer_hosts_needed = 10
ckey = candidate.ckey
if(mind)
- mind.store_memory("You must escape with at least [total_borer_hosts_needed] borers with hosts on the shuttle.")
+ mind.store_memory("You must escape with at least [GLOB.total_borer_hosts_needed] borers with hosts on the shuttle.")
to_chat(src, "You are a cortical borer! ")
to_chat(src, "You are a brain slug that worms its way into the head of its victim. Use stealth, persuasion and your powers of mind control to keep you, your host and your eventual spawn safe and warm.")
to_chat(src, "Sugar nullifies your abilities, avoid it at all costs!")
to_chat(src, "You can speak to your fellow borers by prefixing your messages with ';'. Check out your Borer tab to see your abilities.")
- to_chat(src, "You must escape with at least [total_borer_hosts_needed] borers with hosts on the shuttle. To reproduce you must have 100 chemicals and be controlling a host.")
+ to_chat(src, "You must escape with at least [GLOB.total_borer_hosts_needed] borers with hosts on the shuttle. To reproduce you must have 100 chemicals and be controlling a host.")
/mob/living/simple_animal/borer/proc/detatch()
if(!victim || !controlling)
diff --git a/code/game/gamemodes/miniantags/borer/borer_event.dm b/code/game/gamemodes/miniantags/borer/borer_event.dm
index 73bea41a52..45470bc96c 100644
--- a/code/game/gamemodes/miniantags/borer/borer_event.dm
+++ b/code/game/gamemodes/miniantags/borer/borer_event.dm
@@ -23,7 +23,7 @@
/datum/round_event/borer/start()
var/list/vents = list()
- for(var/obj/machinery/atmospherics/components/unary/vent_pump/temp_vent in machines)
+ for(var/obj/machinery/atmospherics/components/unary/vent_pump/temp_vent in GLOB.machines)
if(QDELETED(temp_vent))
continue
if(temp_vent.loc.z == ZLEVEL_STATION && !temp_vent.welded)
@@ -36,11 +36,11 @@
return kill()
var/total_humans = 0
- for(var/mob/living/carbon/human/H in mob_list)
+ for(var/mob/living/carbon/human/H in GLOB.mob_list)
if(H.stat != DEAD)
total_humans++
- total_borer_hosts_needed = round(1 + total_humans/6)
+ GLOB.total_borer_hosts_needed = round(1 + total_humans/6)
while(spawncount >= 1 && vents.len)
var/obj/vent = pick_n_take(vents)
diff --git a/code/game/gamemodes/miniantags/borer/syndi_borer.dm b/code/game/gamemodes/miniantags/borer/syndi_borer.dm
index dc095c084c..5a0abff216 100644
--- a/code/game/gamemodes/miniantags/borer/syndi_borer.dm
+++ b/code/game/gamemodes/miniantags/borer/syndi_borer.dm
@@ -2,7 +2,7 @@
var/mob/owner = null
is_team_borer = FALSE
borer_alert = "Serve as a syndicate cortical borer? (Warning, You can no longer be cloned!)"
-
+
/mob/living/simple_animal/borer/syndi_borer/Initialize(mapload, gen=1)
..()
real_name = "Syndicate Borer [rand(1000,9999)]"
@@ -17,4 +17,18 @@
/mob/living/simple_animal/borer/syndi_borer/RemoveControlActions()
talk_to_brain_action.Remove(victim)
- give_back_control_action.Remove(victim)
\ No newline at end of file
+ give_back_control_action.Remove(victim)
+
+//Syndicate borer objective, relies on their owner getting a greentext, no matter if they themselves did anything really.
+/datum/objective/syndi_borer
+ explanation_text = "You are a modified syndicate cortical borer, assist your owner with their objectives."
+ martyr_compatible = 1
+
+/datum/objective/syndi_borer/check_completion()
+ if(target)
+ for(var/datum/objective/objective in target.objectives)
+ if(!objective.check_completion())
+ return 0
+ return 1
+ else
+ return 1 //Not sure if we should greentext if we somehow don't even have an owner.
\ No newline at end of file
diff --git a/code/game/gamemodes/miniantags/bot_swarm/swarmer.dm b/code/game/gamemodes/miniantags/bot_swarm/swarmer.dm
index 36c9fe01ea..6ce04bed14 100644
--- a/code/game/gamemodes/miniantags/bot_swarm/swarmer.dm
+++ b/code/game/gamemodes/miniantags/bot_swarm/swarmer.dm
@@ -62,6 +62,7 @@
icon = 'icons/mob/swarmer.dmi'
desc = "A robot of unknown design, they seek only to consume materials and replicate themselves indefinitely."
speak_emote = list("tones")
+ initial_languages = list(/datum/language/swarmer)
bubble_icon = "swarmer"
health = 40
maxHealth = 40
@@ -81,14 +82,12 @@
melee_damage_type = STAMINA
damage_coeff = list(BRUTE = 1, BURN = 1, TOX = 0, CLONE = 0, STAMINA = 0, OXY = 0)
hud_possible = list(ANTAG_HUD, DIAG_STAT_HUD, DIAG_HUD)
- languages_spoken = SWARMER
- languages_understood = SWARMER
obj_damage = 0
environment_smash = 0
attacktext = "shocks"
attack_sound = 'sound/effects/EMPulse.ogg'
friendly = "pinches"
- speed = 1
+ speed = 0
faction = list("swarmer")
AIStatus = AI_OFF
pass_flags = PASSTABLE
@@ -121,7 +120,7 @@
/mob/living/simple_animal/hostile/swarmer/Initialize()
..()
verbs -= /mob/living/verb/pulled
- var/datum/atom_hud/data/diagnostic/diag_hud = huds[DATA_HUD_DIAGNOSTIC]
+ var/datum/atom_hud/data/diagnostic/diag_hud = GLOB.huds[DATA_HUD_DIAGNOSTIC]
diag_hud.add_to_hud(src)
@@ -168,9 +167,9 @@
////CTRL CLICK FOR SWARMERS AND SWARMER_ACT()'S////
/mob/living/simple_animal/hostile/swarmer/AttackingTarget()
if(!isliving(target))
- target.swarmer_act(src)
+ return target.swarmer_act(src)
else
- ..()
+ return ..()
/mob/living/simple_animal/hostile/swarmer/CtrlClickOn(atom/A)
face_atom(A)
@@ -665,7 +664,7 @@
/mob/living/simple_animal/hostile/swarmer/proc/swarmer_chat(msg)
var/rendered = "Swarm communication - [src] [say_quote(msg, get_spans())]"
- for(var/mob/M in mob_list)
+ for(var/mob/M in GLOB.mob_list)
if(isswarmer(M))
to_chat(M, rendered)
if(isobserver(M))
diff --git a/code/game/gamemodes/miniantags/bot_swarm/swarmer_event.dm b/code/game/gamemodes/miniantags/bot_swarm/swarmer_event.dm
index fbf0e1676b..90e1befd08 100644
--- a/code/game/gamemodes/miniantags/bot_swarm/swarmer_event.dm
+++ b/code/game/gamemodes/miniantags/bot_swarm/swarmer_event.dm
@@ -13,9 +13,9 @@
/datum/round_event/spawn_swarmer/start()
if(find_swarmer())
return 0
- if(!the_gateway)
+ if(!GLOB.the_gateway)
return 0
- new /obj/item/device/unactivated_swarmer(get_turf(the_gateway))
+ new /obj/item/device/unactivated_swarmer(get_turf(GLOB.the_gateway))
if(prob(25)) //25% chance to announce it to the crew
var/swarmer_report = "[command_name()] High-Priority Update "
swarmer_report += " Our long-range sensors have detected an odd signal emanating from your station's gateway. We recommend immediate investigation of your gateway, as something may have come through."
@@ -23,7 +23,7 @@
/datum/round_event/spawn_swarmer/proc/find_swarmer()
- for(var/mob/living/M in mob_list)
+ for(var/mob/living/M in GLOB.mob_list)
if(istype(M, /mob/living/simple_animal/hostile/swarmer) && M.client) //If there is a swarmer with an active client, we've found our swarmer
return 1
return 0
diff --git a/code/game/gamemodes/miniantags/monkey/monkey.dm b/code/game/gamemodes/miniantags/monkey/monkey.dm
index a9c75fa76b..ecb15bc221 100644
--- a/code/game/gamemodes/miniantags/monkey/monkey.dm
+++ b/code/game/gamemodes/miniantags/monkey/monkey.dm
@@ -76,7 +76,7 @@
return 0
var/datum/disease/D = new /datum/disease/transformation/jungle_fever() //ugly but unfortunately needed
- for(var/mob/living/carbon/human/H in living_mob_list)
+ for(var/mob/living/carbon/human/H in GLOB.living_mob_list)
if(H.mind && H.stat != DEAD)
if(H.HasDisease(D))
return 0
@@ -87,7 +87,7 @@
if(SSshuttle.emergency.mode != SHUTTLE_ENDGAME)
return 0
var/datum/disease/D = new /datum/disease/transformation/jungle_fever()
- for(var/mob/living/carbon/monkey/M in living_mob_list)
+ for(var/mob/living/carbon/monkey/M in GLOB.living_mob_list)
if (M.HasDisease(D))
if(M.onCentcom() || M.onSyndieBase())
escaped_monkeys++
diff --git a/code/game/gamemodes/miniantags/morph/morph.dm b/code/game/gamemodes/miniantags/morph/morph.dm
index 42bab67d65..a4e9d9482e 100644
--- a/code/game/gamemodes/miniantags/morph/morph.dm
+++ b/code/game/gamemodes/miniantags/morph/morph.dm
@@ -25,7 +25,7 @@
melee_damage_lower = 20
melee_damage_upper = 20
see_in_dark = 8
- see_invisible = SEE_INVISIBLE_MINIMUM
+ lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE
idle_vision_range = 1 // Only attack when target is close
wander = 0
attacktext = "glomps"
@@ -151,7 +151,7 @@
for(var/atom/movable/AM in src)
AM.loc = loc
if(prob(90))
- step(AM, pick(alldirs))
+ step(AM, pick(GLOB.alldirs))
/mob/living/simple_animal/hostile/morph/wabbajack_act(mob/living/new_mob)
barf_contents()
@@ -193,7 +193,7 @@
if(do_after(src, 20, target = I))
eat(I)
return
- target.attack_animal(src)
+ return ..()
//Spawn Event
@@ -216,13 +216,13 @@
var/datum/mind/player_mind = new /datum/mind(selected.key)
player_mind.active = 1
- if(!xeno_spawn)
+ if(!GLOB.xeno_spawn)
return MAP_ERROR
- var/mob/living/simple_animal/hostile/morph/S = new /mob/living/simple_animal/hostile/morph(pick(xeno_spawn))
+ var/mob/living/simple_animal/hostile/morph/S = new /mob/living/simple_animal/hostile/morph(pick(GLOB.xeno_spawn))
player_mind.transfer_to(S)
player_mind.assigned_role = "Morph"
player_mind.special_role = "Morph"
- ticker.mode.traitors |= player_mind
+ SSticker.mode.traitors |= player_mind
to_chat(S, S.playstyle_string)
S << 'sound/magic/Mutate.ogg'
message_admins("[key_name_admin(S)] has been made into a morph by an event.")
diff --git a/code/game/gamemodes/miniantags/revenant/revenant.dm b/code/game/gamemodes/miniantags/revenant/revenant.dm
index 3c597e7f32..7260d8221f 100644
--- a/code/game/gamemodes/miniantags/revenant/revenant.dm
+++ b/code/game/gamemodes/miniantags/revenant/revenant.dm
@@ -19,12 +19,11 @@
health = INFINITY //Revenants don't use health, they use essence instead
maxHealth = INFINITY
layer = GHOST_LAYER
- healable = 0
+ healable = FALSE
sight = SEE_SELF
- see_invisible = SEE_INVISIBLE_NOLIGHTING
+
see_in_dark = 8
- languages_spoken = ALL
- languages_understood = ALL
+ lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE
response_help = "passes through"
response_disarm = "swings through"
response_harm = "punches through"
@@ -36,39 +35,31 @@
harm_intent_damage = 0
friendly = "touches"
status_flags = 0
- wander = 0
- density = 0
+ wander = FALSE
+ density = FALSE
movement_type = FLYING
- anchored = 1
+ anchored = TRUE
mob_size = MOB_SIZE_TINY
pass_flags = PASSTABLE | PASSGRILLE | PASSMOB
speed = 1
- unique_name = 1
+ unique_name = TRUE
hud_possible = list(ANTAG_HUD)
var/essence = 75 //The resource, and health, of revenants.
var/essence_regen_cap = 75 //The regeneration cap of essence (go figure); regenerates every Life() tick up to this amount.
- var/essence_regenerating = 1 //If the revenant regenerates essence or not; 1 for yes, 0 for no
+ var/essence_regenerating = TRUE //If the revenant regenerates essence or not
var/essence_regen_amount = 5 //How much essence regenerates
var/essence_accumulated = 0 //How much essence the revenant has stolen
- var/revealed = 0 //If the revenant can take damage from normal sources.
+ var/revealed = FALSE //If the revenant can take damage from normal sources.
var/unreveal_time = 0 //How long the revenant is revealed for, is about 2 seconds times this var.
var/unstun_time = 0 //How long the revenant is stunned for, is about 2 seconds times this var.
- var/inhibited = 0 //If the revenant's abilities are blocked by a chaplain's power.
+ var/inhibited = FALSE //If the revenant's abilities are blocked by a chaplain's power.
var/essence_drained = 0 //How much essence the revenant will drain from the corpse it's feasting on.
- var/draining = 0 //If the revenant is draining someone.
+ var/draining = FALSE //If the revenant is draining someone.
var/list/drained_mobs = list() //Cannot harvest the same mob twice
var/perfectsouls = 0 //How many perfect, regen-cap increasing souls the revenant has. //TODO, add objective for getting a perfect soul(s?)
- var/image/ghostimage = null //Visible to ghost with darkness off
var/generated_objectives_and_spells = FALSE
-/mob/living/simple_animal/revenant/Initialize()
- ..()
-
- ghostimage = image(src.icon,src,src.icon_state)
- ghost_darkness_images |= ghostimage
- updateallghostimages()
-
/mob/living/simple_animal/revenant/Login()
..()
to_chat(src, "You are a revenant. ")
@@ -93,7 +84,7 @@
to_chat(src, "Objective #2 : [objective2.explanation_text]")
mind.assigned_role = "revenant"
mind.special_role = "Revenant"
- ticker.mode.traitors |= mind //Necessary for announcing
+ SSticker.mode.traitors |= mind //Necessary for announcing
AddSpell(new /obj/effect/proc_holder/spell/targeted/night_vision/revenant(null))
AddSpell(new /obj/effect/proc_holder/spell/targeted/revenant_transmit(null))
AddSpell(new /obj/effect/proc_holder/spell/aoe_turf/revenant/defile(null))
@@ -107,13 +98,13 @@
death()
if(unreveal_time && world.time >= unreveal_time)
unreveal_time = 0
- revealed = 0
+ revealed = FALSE
incorporeal_move = 3
invisibility = INVISIBILITY_REVENANT
to_chat(src, "You are once more concealed. ")
if(unstun_time && world.time >= unstun_time)
unstun_time = 0
- notransform = 0
+ notransform = FALSE
to_chat(src, "You can move again! ")
if(essence_regenerating && !inhibited && essence < essence_regen_cap) //While inhibited, essence will not regenerate
essence = min(essence_regen_cap, essence+essence_regen_amount)
@@ -134,7 +125,7 @@
var/essencecolor = "#8F48C6"
if(essence > essence_regen_cap)
essencecolor = "#9A5ACB" //oh boy you've got a lot of essence
- else if(essence == 0)
+ else if(!essence)
essencecolor = "#1D2953" //oh jeez you're dying
hud_used.healths.maptext = "[essence]E
"
@@ -149,7 +140,7 @@
return
log_say("[key_name(src)] : [message]")
var/rendered = "[src] says, \"[message]\" "
- for(var/mob/M in mob_list)
+ for(var/mob/M in GLOB.mob_list)
if(isrevenant(M))
to_chat(M, rendered)
else if(isobserver(M))
@@ -184,14 +175,13 @@
visible_message("[src] violently flinches! ", \
"As \the [W] passes through you, you feel your essence draining away! ")
adjustBruteLoss(25) //hella effective
- inhibited = 1
+ inhibited = TRUE
update_action_buttons_icon()
addtimer(CALLBACK(src, .proc/reset_inhibit), 30)
/mob/living/simple_animal/revenant/proc/reset_inhibit()
- if(src)
- inhibited = 0
- update_action_buttons_icon()
+ inhibited = FALSE
+ update_action_buttons_icon()
/mob/living/simple_animal/revenant/adjustHealth(amount, updating_health = TRUE, forced = FALSE)
if(!forced && !revealed)
@@ -200,7 +190,7 @@
essence = max(0, essence-amount)
if(updating_health)
update_health_hud()
- if(essence == 0)
+ if(!essence)
death()
/mob/living/simple_animal/revenant/dust()
@@ -213,11 +203,9 @@
if(!revealed || stat == DEAD) //Revenants cannot die if they aren't revealed //or are already dead
return 0
..(1)
- ghost_darkness_images -= ghostimage
- updateallghostimages()
to_chat(src, "NO! No... it's too late, you can feel your essence [pick("breaking apart", "drifting away")]... ")
- notransform = 1
- revealed = 1
+ notransform = TRUE
+ revealed = TRUE
invisibility = 0
playsound(src, 'sound/effects/screech.ogg', 100, 1)
visible_message("[src] lets out a waning screech as violet mist swirls around its dissolving body! ")
@@ -241,7 +229,7 @@
return
if(time <= 0)
return
- revealed = 1
+ revealed = TRUE
invisibility = 0
incorporeal_move = 0
if(!unreveal_time)
@@ -257,7 +245,7 @@
return
if(time <= 0)
return
- notransform = 1
+ notransform = TRUE
if(!unstun_time)
to_chat(src, "You cannot move! ")
unstun_time = world.time + time
@@ -277,9 +265,6 @@
icon_state = icon_reveal
else
icon_state = icon_idle
- if(ghostimage)
- ghostimage.icon_state = src.icon_state
- updateallghostimages()
/mob/living/simple_animal/revenant/proc/castcheck(essence_cost)
if(!src)
@@ -287,20 +272,20 @@
var/turf/T = get_turf(src)
if(isclosedturf(T))
to_chat(src, "You cannot use abilities from inside of a wall. ")
- return 0
+ return FALSE
for(var/obj/O in T)
if(O.density && !O.CanPass(src, T, 5))
to_chat(src, "You cannot use abilities inside of a dense object. ")
- return 0
+ return FALSE
if(inhibited)
to_chat(src, "Your powers have been suppressed by nulling energy! ")
- return 0
- if(!change_essence_amount(essence_cost, 1))
+ return FALSE
+ if(!change_essence_amount(essence_cost, TRUE))
to_chat(src, "You lack the essence to use that ability. ")
- return 0
- return 1
+ return FALSE
+ return TRUE
-/mob/living/simple_animal/revenant/proc/change_essence_amount(essence_amt, silent = 0, source = null)
+/mob/living/simple_animal/revenant/proc/change_essence_amount(essence_amt, silent = FALSE, source = null)
if(!src)
return
if(essence + essence_amt <= 0)
@@ -312,9 +297,9 @@
essence_accumulated = max(0, essence_accumulated+essence_amt)
if(!silent)
if(essence_amt > 0)
- to_chat(src, "Gained [essence_amt]E from [source]. ")
+ to_chat(src, "Gained [essence_amt]E[source ? " from [source]":""]. ")
else
- to_chat(src, "Lost [essence_amt]E from [source]. ")
+ to_chat(src, "Lost [essence_amt]E[source ? " from [source]":""]. ")
return 1
@@ -326,8 +311,8 @@
icon_state = "revenantEctoplasm"
w_class = WEIGHT_CLASS_SMALL
var/essence = 75 //the maximum essence of the reforming revenant
- var/reforming = 1
- var/inert = 0
+ var/reforming = TRUE
+ var/inert = FALSE
var/client/client_to_revive
/obj/item/weapon/ectoplasm/revenant/New()
@@ -335,13 +320,12 @@
addtimer(CALLBACK(src, .proc/try_reform), 600)
/obj/item/weapon/ectoplasm/revenant/proc/try_reform()
- if(src)
- if(reforming)
- reforming = 0
- reform()
- else
- inert = 1
- visible_message("[src] settles down and seems lifeless. ")
+ if(reforming)
+ reforming = FALSE
+ reform()
+ else
+ inert = TRUE
+ visible_message("[src] settles down and seems lifeless. ")
/obj/item/weapon/ectoplasm/revenant/attack_self(mob/user)
if(!reforming || inert)
@@ -366,14 +350,14 @@
to_chat(user, "It is shifting and distorted. It would be wise to destroy this. ")
/obj/item/weapon/ectoplasm/revenant/proc/reform()
- if(!src || QDELETED(src) || inert)
+ if(QDELETED(src) || inert)
return
var/key_of_revenant
message_admins("Revenant ectoplasm was left undestroyed for 1 minute and is reforming into a new revenant.")
loc = get_turf(src) //In case it's in a backpack or someone's hand
var/mob/living/simple_animal/revenant/R = new(get_turf(src))
if(client_to_revive)
- for(var/mob/M in dead_mob_list)
+ for(var/mob/M in GLOB.dead_mob_list)
if(M.client == client_to_revive) //Only recreates the mob if the mob the client is in is dead
R.client = client_to_revive
key_of_revenant = client_to_revive.key
@@ -383,7 +367,7 @@
if(!candidates.len)
qdel(R)
message_admins("No candidates were found for the new revenant. Oh well!")
- inert = 1
+ inert = TRUE
visible_message("[src] settles down and seems lifeless. ")
return
var/client/C = pick(candidates)
@@ -391,7 +375,7 @@
if(!key_of_revenant)
qdel(R)
message_admins("No ckey was found for the new revenant. Oh well!")
- inert = 1
+ inert = TRUE
visible_message("[src] settles down and seems lifeless. ")
return
var/datum/mind/player_mind = new /datum/mind(key_of_revenant)
@@ -401,13 +385,11 @@
player_mind.transfer_to(R)
player_mind.assigned_role = "revenant"
player_mind.special_role = "Revenant"
- ticker.mode.traitors |= player_mind
+ SSticker.mode.traitors |= player_mind
message_admins("[key_of_revenant] has been [client_to_revive ? "re":""]made into a revenant by reforming ectoplasm.")
log_game("[key_of_revenant] was [client_to_revive ? "re":""]made as a revenant by reforming ectoplasm.")
visible_message("[src] suddenly rises into the air before fading away. ")
qdel(src)
- if(src) //Should never happen, but just in case
- inert = 1
//objectives
@@ -422,14 +404,14 @@
/datum/objective/revenant/check_completion()
if(!isrevenant(owner.current))
- return 0
+ return FALSE
var/mob/living/simple_animal/revenant/R = owner.current
if(!R || R.stat == DEAD)
- return 0
+ return FALSE
var/essence_stolen = R.essence_accumulated
if(essence_stolen < targetAmount)
- return 0
- return 1
+ return FALSE
+ return TRUE
/datum/objective/revenantFluff
dangerrating = 0
@@ -450,4 +432,4 @@
..()
/datum/objective/revenantFluff/check_completion()
- return 1
+ return TRUE
diff --git a/code/game/gamemodes/miniantags/revenant/revenant_abilities.dm b/code/game/gamemodes/miniantags/revenant/revenant_abilities.dm
index ce549c509d..580515d4ec 100644
--- a/code/game/gamemodes/miniantags/revenant/revenant_abilities.dm
+++ b/code/game/gamemodes/miniantags/revenant/revenant_abilities.dm
@@ -19,7 +19,7 @@
if(prob(10))
to_chat(target, "You feel as if you are being watched.")
return
- draining = 1
+ draining = TRUE
essence_drained += rand(15, 20)
to_chat(src, "You search for the soul of [target]. ")
if(do_after(src, rand(10, 20), 0, target)) //did they get deleted in that second?
@@ -56,13 +56,13 @@
target.visible_message("[target] suddenly rises slightly into the air, [target.p_their()] skin turning an ashy gray. ")
var/datum/beam/B = Beam(target,icon_state="drain_life",time=INFINITY)
if(do_after(src, 46, 0, target)) //As one cannot prove the existance of ghosts, ghosts cannot prove the existance of the target they were draining.
- change_essence_amount(essence_drained, 0, target)
+ change_essence_amount(essence_drained, FALSE, target)
if(essence_drained <= 90 && target.stat != DEAD)
essence_regen_cap += 5
to_chat(src, "The absorption of [target]'s living soul has increased your maximum essence level. Your new maximum essence is [essence_regen_cap]. ")
if(essence_drained > 90)
essence_regen_cap += 15
- perfectsouls += 1
+ perfectsouls++
to_chat(src, "The perfection of [target]'s soul has increased your maximum essence level. Your new maximum essence is [essence_regen_cap]. ")
to_chat(src, "[target]'s soul has been considerably weakened and will yield no more essence for the time being. ")
target.visible_message("[target] slumps onto the ground. ", \
@@ -77,7 +77,7 @@
qdel(B)
else
to_chat(src, "You are not close enough to siphon [target ? "[target]'s":"their"] soul. The link has been broken. ")
- draining = 0
+ draining = FALSE
essence_drained = 0
//Toggle night vision: lets the revenant toggle its night vision
@@ -109,7 +109,7 @@
log_say("RevenantTransmit: [key_name(user)]->[key_name(M)] : [msg]")
to_chat(user, "You transmit to [M]: [msg] ")
to_chat(M, "You hear something behind you talking... [msg] ")
- for(var/ded in dead_mob_list)
+ for(var/ded in GLOB.dead_mob_list)
if(!isobserver(ded))
continue
var/follow_rev = FOLLOW_LINK(ded, user)
@@ -125,7 +125,7 @@
name = "Report this to a coder"
var/reveal = 80 //How long it reveals the revenant in deciseconds
var/stun = 20 //How long it stuns the revenant in deciseconds
- var/locked = 1 //If it's locked and needs to be unlocked before use
+ var/locked = TRUE //If it's locked and needs to be unlocked before use
var/unlock_amount = 100 //How much essence it costs to unlock
var/cast_amount = 50 //How much essence it costs to use
@@ -137,47 +137,45 @@
name = "[initial(name)] ([cast_amount]E)"
/obj/effect/proc_holder/spell/aoe_turf/revenant/can_cast(mob/living/simple_animal/revenant/user = usr)
- if(!istype(user)) //Badmins, no. Badmins, don't do it.
- if(charge_counter < charge_max)
- return 0
- return 1
- if(user.inhibited)
- return 0
if(charge_counter < charge_max)
- return 0
+ return FALSE
+ if(!istype(user)) //Badmins, no. Badmins, don't do it.
+ return TRUE
+ if(user.inhibited)
+ return FALSE
if(locked)
if(user.essence <= unlock_amount)
- return 0
+ return FALSE
if(user.essence <= cast_amount)
- return 0
- return 1
+ return FALSE
+ return TRUE
/obj/effect/proc_holder/spell/aoe_turf/revenant/proc/attempt_cast(mob/living/simple_animal/revenant/user = usr)
if(!istype(user)) //If you're not a revenant, it works. Please, please, please don't give this to a non-revenant.
name = "[initial(name)]"
if(locked)
panel = "Revenant Abilities"
- locked = 0
- return 1
+ locked = FALSE
+ return TRUE
if(locked)
if(!user.castcheck(-unlock_amount))
charge_counter = charge_max
- return 0
+ return FALSE
name = "[initial(name)] ([cast_amount]E)"
to_chat(user, "You have unlocked [initial(name)]! ")
panel = "Revenant Abilities"
- locked = 0
+ locked = FALSE
charge_counter = charge_max
- return 0
+ return FALSE
if(!user.castcheck(-cast_amount))
charge_counter = charge_max
- return 0
+ return FALSE
name = "[initial(name)] ([cast_amount]E)"
user.reveal(reveal)
user.stun(stun)
if(action)
action.UpdateButtonIcon()
- return 1
+ return TRUE
//Overload Light: Breaks a light that's online and sends out lightning bolts to all nearby people.
/obj/effect/proc_holder/spell/aoe_turf/revenant/overload
@@ -337,9 +335,9 @@
var/mob/living/carbon/human/H = mob
if(H.dna && H.dna.species)
H.dna.species.handle_hair(H,"#1d2953") //will be reset when blight is cured
- var/blightfound = 0
+ var/blightfound = FALSE
for(var/datum/disease/revblight/blight in H.viruses)
- blightfound = 1
+ blightfound = TRUE
if(blight.stage < 5)
blight.stage++
if(!blightfound)
diff --git a/code/game/gamemodes/miniantags/revenant/revenant_blight.dm b/code/game/gamemodes/miniantags/revenant/revenant_blight.dm
index 0ac4bdc994..8b766aad37 100644
--- a/code/game/gamemodes/miniantags/revenant/revenant_blight.dm
+++ b/code/game/gamemodes/miniantags/revenant/revenant_blight.dm
@@ -53,7 +53,7 @@
affected_mob.emote(pick("pale","shiver","cries"))
if(5)
if(!finalstage)
- finalstage = 1
+ finalstage = TRUE
to_chat(affected_mob, "You feel like [pick("nothing's worth it anymore", "nobody ever needed your help", "nothing you did mattered", "everything you tried to do was worthless")]. ")
affected_mob.adjustStaminaLoss(45)
new /obj/effect/overlay/temp/revenant(affected_mob.loc)
diff --git a/code/game/gamemodes/miniantags/revenant/revenant_spawn_event.dm b/code/game/gamemodes/miniantags/revenant/revenant_spawn_event.dm
index 3ff8bf7773..783cfdd930 100644
--- a/code/game/gamemodes/miniantags/revenant/revenant_spawn_event.dm
+++ b/code/game/gamemodes/miniantags/revenant/revenant_spawn_event.dm
@@ -20,7 +20,7 @@
/datum/round_event/ghost_role/revenant/spawn_role()
if(!ignore_mobcheck)
var/deadMobs = 0
- for(var/mob/M in dead_mob_list)
+ for(var/mob/M in GLOB.dead_mob_list)
deadMobs++
if(deadMobs < REVENANT_SPAWN_THRESHOLD)
message_admins("Event attempted to spawn a revenant, but there were only [deadMobs]/[REVENANT_SPAWN_THRESHOLD] dead mobs.")
@@ -34,23 +34,23 @@
var/list/spawn_locs = list()
- for(var/obj/effect/landmark/L in landmarks_list)
+ for(var/obj/effect/landmark/L in GLOB.landmarks_list)
if(isturf(L.loc))
switch(L.name)
if("revenantspawn")
spawn_locs += L.loc
- if(!spawn_locs) //If we can't find any revenant spawns, try the carp spawns
- for(var/obj/effect/landmark/L in landmarks_list)
+ if(!spawn_locs.len) //If we can't find any revenant spawns, try the carp spawns
+ for(var/obj/effect/landmark/L in GLOB.landmarks_list)
if(isturf(L.loc))
switch(L.name)
if("carpspawn")
spawn_locs += L.loc
- if(!spawn_locs) //If we can't find either, just spawn the revenant at the player's location
+ if(!spawn_locs.len) //If we can't find either, just spawn the revenant at the player's location
spawn_locs += get_turf(selected)
- if(!spawn_locs) //If we can't find THAT, then just give up and cry
+ if(!spawn_locs.len) //If we can't find THAT, then just give up and cry
return MAP_ERROR
- var/mob/living/simple_animal/revenant/revvie = new /mob/living/simple_animal/revenant/(pick(spawn_locs))
+ var/mob/living/simple_animal/revenant/revvie = new(pick(spawn_locs))
revvie.key = selected.key
message_admins("[key_name_admin(revvie)] has been made into a revenant by an event.")
log_game("[key_name(revvie)] was spawned as a revenant by an event.")
diff --git a/code/game/gamemodes/miniantags/slaughter/slaughter.dm b/code/game/gamemodes/miniantags/slaughter/slaughter.dm
index 355936d922..c3d06bfe2c 100644
--- a/code/game/gamemodes/miniantags/slaughter/slaughter.dm
+++ b/code/game/gamemodes/miniantags/slaughter/slaughter.dm
@@ -32,9 +32,9 @@
melee_damage_lower = 30
melee_damage_upper = 30
see_in_dark = 8
+ lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE
var/boost = 0
bloodcrawl = BLOODCRAWL_EAT
- see_invisible = SEE_INVISIBLE_MINIMUM
var/playstyle_string = "You are a slaughter demon, a terrible creature from another realm. You have a single desire: To kill. \
You may use the \"Blood Crawl\" ability near blood pools to travel through them, appearing and disappearing from the station at will. \
Pulling a dead or unconscious mob while you enter a pool will pull them in with you, allowing you to feast and regain your health. \
diff --git a/code/game/gamemodes/miniantags/slaughter/slaughterevent.dm b/code/game/gamemodes/miniantags/slaughter/slaughterevent.dm
index 40c9a0e494..e9b417de1a 100644
--- a/code/game/gamemodes/miniantags/slaughter/slaughterevent.dm
+++ b/code/game/gamemodes/miniantags/slaughter/slaughterevent.dm
@@ -23,7 +23,7 @@
player_mind.active = 1
var/list/spawn_locs = list()
- for(var/obj/effect/landmark/L in landmarks_list)
+ for(var/obj/effect/landmark/L in GLOB.landmarks_list)
if(isturf(L.loc))
switch(L.name)
if("carpspawn")
@@ -39,7 +39,7 @@
player_mind.transfer_to(S)
player_mind.assigned_role = "Slaughter Demon"
player_mind.special_role = "Slaughter Demon"
- ticker.mode.traitors |= player_mind
+ SSticker.mode.traitors |= player_mind
to_chat(S, S.playstyle_string)
to_chat(S, "You are currently not currently in the same plane of existence as the station. Blood Crawl near a blood pool to manifest. ")
S << 'sound/magic/demon_dies.ogg'
diff --git a/code/game/gamemodes/nuclear/nuclear.dm b/code/game/gamemodes/nuclear/nuclear.dm
index b7a7234584..d4d788e049 100644
--- a/code/game/gamemodes/nuclear/nuclear.dm
+++ b/code/game/gamemodes/nuclear/nuclear.dm
@@ -46,12 +46,12 @@
////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////
/datum/game_mode/proc/update_synd_icons_added(datum/mind/synd_mind)
- var/datum/atom_hud/antag/opshud = huds[ANTAG_HUD_OPS]
+ var/datum/atom_hud/antag/opshud = GLOB.huds[ANTAG_HUD_OPS]
opshud.join_hud(synd_mind.current)
set_antag_hud(synd_mind.current, "synd")
/datum/game_mode/proc/update_synd_icons_removed(datum/mind/synd_mind)
- var/datum/atom_hud/antag/opshud = huds[ANTAG_HUD_OPS]
+ var/datum/atom_hud/antag/opshud = GLOB.huds[ANTAG_HUD_OPS]
opshud.leave_hud(synd_mind.current)
set_antag_hud(synd_mind.current, null)
@@ -62,7 +62,7 @@
var/list/turf/synd_spawn = list()
- for(var/obj/effect/landmark/A in landmarks_list)
+ for(var/obj/effect/landmark/A in GLOB.landmarks_list)
if(A.name == "Syndicate-Spawn")
synd_spawn += get_turf(A)
continue
@@ -93,7 +93,7 @@
agent_number++
spawnpos++
update_synd_icons_added(synd_mind)
- var/obj/machinery/nuclearbomb/nuke = locate("syndienuke") in nuke_list
+ var/obj/machinery/nuclearbomb/nuke = locate("syndienuke") in GLOB.nuke_list
if(nuke)
nuke.r_code = nuke_code
return ..()
@@ -116,7 +116,7 @@
if(foundIDs.len)
for(var/obj/item/weapon/card/id/ID in foundIDs)
ID.name = "lead agent card"
- ID.access += access_syndicate_leader
+ ID.access += GLOB.access_syndicate_leader
else
message_admins("Warning: Nuke Ops spawned without access to leave their spawn area!")
@@ -170,19 +170,21 @@
return 0
return 1
-/datum/game_mode/nuclear/check_finished() //to be called by ticker
+/datum/game_mode/nuclear/check_finished() //to be called by SSticker
if(replacementmode && round_converted == 2)
return replacementmode.check_finished()
if((SSshuttle.emergency.mode == SHUTTLE_ENDGAME) || station_was_nuked)
return 1
if(are_operatives_dead())
- if(bomb_set) //snaaaaaaaaaake! It's not over yet!
- return 0
+ var/obj/machinery/nuclearbomb/N
+ pass(N) //suppress unused warning
+ if(N.bomb_set) //snaaaaaaaaaake! It's not over yet!
+ return 0 //its a static var btw
..()
/datum/game_mode/nuclear/declare_completion()
var/disk_rescued = 1
- for(var/obj/item/weapon/disk/nuclear/D in poi_list)
+ for(var/obj/item/weapon/disk/nuclear/D in GLOB.poi_list)
if(!D.onCentcom())
disk_rescued = 0
break
@@ -201,83 +203,83 @@
to_chat(world, "Humiliating Syndicate Defeat ")
to_chat(world, "The crew of [station_name()] gave [syndicate_name()] operatives back their bomb! The syndicate base was destroyed! Next time, don't lose the nuke!")
- ticker.news_report = NUKE_SYNDICATE_BASE
+ SSticker.news_report = NUKE_SYNDICATE_BASE
else if(!disk_rescued && station_was_nuked && !syndies_didnt_escape)
feedback_set_details("round_end_result","win - syndicate nuke")
to_chat(world, "Syndicate Major Victory! ")
to_chat(world, "[syndicate_name()] operatives have destroyed [station_name()]! ")
- ticker.news_report = STATION_NUKED
+ SSticker.news_report = STATION_NUKED
else if (!disk_rescued && station_was_nuked && syndies_didnt_escape)
feedback_set_details("round_end_result","halfwin - syndicate nuke - did not evacuate in time")
to_chat(world, "Total Annihilation ")
to_chat(world, "[syndicate_name()] operatives destroyed [station_name()] but did not leave the area in time and got caught in the explosion. Next time, don't lose the disk!")
- ticker.news_report = STATION_NUKED
+ SSticker.news_report = STATION_NUKED
else if (!disk_rescued && !station_was_nuked && nuke_off_station && !syndies_didnt_escape)
feedback_set_details("round_end_result","halfwin - blew wrong station")
to_chat(world, "Crew Minor Victory ")
to_chat(world, "[syndicate_name()] operatives secured the authentication disk but blew up something that wasn't [station_name()]. Next time, don't do that!")
- ticker.news_report = NUKE_MISS
+ SSticker.news_report = NUKE_MISS
else if (!disk_rescued && !station_was_nuked && nuke_off_station && syndies_didnt_escape)
feedback_set_details("round_end_result","halfwin - blew wrong station - did not evacuate in time")
to_chat(world, "[syndicate_name()] operatives have earned Darwin Award! ")
to_chat(world, "[syndicate_name()] operatives blew up something that wasn't [station_name()] and got caught in the explosion. Next time, don't do that!")
- ticker.news_report = NUKE_MISS
+ SSticker.news_report = NUKE_MISS
else if ((disk_rescued || SSshuttle.emergency.mode != SHUTTLE_ENDGAME) && are_operatives_dead())
feedback_set_details("round_end_result","loss - evacuation - disk secured - syndi team dead")
to_chat(world, "Crew Major Victory! ")
to_chat(world, "The Research Staff has saved the disk and killed the [syndicate_name()] Operatives ")
- ticker.news_report = OPERATIVES_KILLED
+ SSticker.news_report = OPERATIVES_KILLED
else if (disk_rescued)
feedback_set_details("round_end_result","loss - evacuation - disk secured")
to_chat(world, "Crew Major Victory ")
to_chat(world, "The Research Staff has saved the disk and stopped the [syndicate_name()] Operatives! ")
- ticker.news_report = OPERATIVES_KILLED
+ SSticker.news_report = OPERATIVES_KILLED
else if (!disk_rescued && are_operatives_dead())
feedback_set_details("round_end_result","halfwin - evacuation - disk not secured")
to_chat(world, "Neutral Victory! ")
to_chat(world, "The Research Staff failed to secure the authentication disk but did manage to kill most of the [syndicate_name()] Operatives! ")
- ticker.news_report = OPERATIVE_SKIRMISH
+ SSticker.news_report = OPERATIVE_SKIRMISH
else if (!disk_rescued && crew_evacuated)
feedback_set_details("round_end_result","halfwin - detonation averted")
to_chat(world, "Syndicate Minor Victory! ")
to_chat(world, "[syndicate_name()] operatives survived the assault but did not achieve the destruction of [station_name()]. Next time, don't lose the disk!")
- ticker.news_report = OPERATIVE_SKIRMISH
+ SSticker.news_report = OPERATIVE_SKIRMISH
else if (!disk_rescued && !crew_evacuated)
feedback_set_details("round_end_result","halfwin - interrupted")
to_chat(world, "Neutral Victory ")
to_chat(world, "Round was mysteriously interrupted! ")
- ticker.news_report = OPERATIVE_SKIRMISH
+ SSticker.news_report = OPERATIVE_SKIRMISH
..()
return
/datum/game_mode/proc/auto_declare_completion_nuclear()
- if( syndicates.len || (ticker && istype(ticker.mode,/datum/game_mode/nuclear)) )
+ if( syndicates.len || (SSticker && istype(SSticker.mode,/datum/game_mode/nuclear)) )
var/text = "The syndicate operatives were: "
var/purchases = ""
var/TC_uses = 0
for(var/datum/mind/syndicate in syndicates)
text += printplayer(syndicate)
- for(var/obj/item/device/uplink/H in uplinks)
+ for(var/obj/item/device/uplink/H in GLOB.uplinks)
if(H && H.owner && H.owner == syndicate.key)
TC_uses += H.spent_telecrystals
purchases += H.purchase_log
@@ -290,7 +292,7 @@
/proc/nukelastname(mob/M) //--All praise goes to NEO|Phyte, all blame goes to DH, and it was Cindi-Kate's idea. Also praise Urist for copypasta ho.
- var/randomname = pick(last_names)
+ var/randomname = pick(GLOB.last_names)
var/newname = copytext(sanitize(input(M,"You are the nuke operative [pick("Czar", "Boss", "Commander", "Chief", "Kingpin", "Director", "Overlord")]. Please choose a last name for your family.", "Name change",randomname)),1,MAX_NAME_LEN)
if (!newname)
@@ -311,7 +313,7 @@
return
/proc/is_nuclear_operative(mob/M)
- return M && istype(M) && M.mind && ticker && ticker.mode && M.mind in ticker.mode.syndicates
+ return M && istype(M) && M.mind && SSticker && SSticker.mode && M.mind in SSticker.mode.syndicates
/datum/outfit/syndicate
name = "Syndicate Operative - Basic"
@@ -334,7 +336,7 @@
/datum/outfit/syndicate/post_equip(mob/living/carbon/human/H)
var/obj/item/device/radio/R = H.ears
- R.set_frequency(SYND_FREQ)
+ R.set_frequency(GLOB.SYND_FREQ)
R.freqlock = 1
if(tc)
diff --git a/code/game/gamemodes/nuclear/nuclear_challenge.dm b/code/game/gamemodes/nuclear/nuclear_challenge.dm
index 54045c307f..3e47aa517d 100644
--- a/code/game/gamemodes/nuclear/nuclear_challenge.dm
+++ b/code/game/gamemodes/nuclear/nuclear_challenge.dm
@@ -17,7 +17,7 @@
return
declaring_war = TRUE
- var/are_you_sure = alert(user, "Consult your team carefully before you declare war on [station_name()]]. Are you sure you want to alert the enemy crew? You have [-round((world.time-round_start_time - CHALLENGE_TIME_LIMIT)/10)] seconds to decide", "Declare war?", "Yes", "No")
+ var/are_you_sure = alert(user, "Consult your team carefully before you declare war on [station_name()]]. Are you sure you want to alert the enemy crew? You have [-round((world.time-SSticker.round_start_time - CHALLENGE_TIME_LIMIT)/10)] seconds to decide", "Declare war?", "Yes", "No")
declaring_war = FALSE
if(!check_allowed(user))
@@ -48,7 +48,7 @@
to_chat(user, "You've attracted the attention of powerful forces within the syndicate. A bonus bundle of telecrystals has been granted to your team. Great things await you if you complete the mission.")
- for(var/V in syndicate_shuttle_boards)
+ for(var/V in GLOB.syndicate_shuttle_boards)
var/obj/item/weapon/circuitboard/computer/syndicate_shuttle/board = V
board.challenge = TRUE
@@ -64,16 +64,16 @@
if(declaring_war)
to_chat(user, "You are already in the process of declaring war! Make your mind up.")
return 0
- if(player_list.len < CHALLENGE_MIN_PLAYERS)
+ if(GLOB.player_list.len < CHALLENGE_MIN_PLAYERS)
to_chat(user, "The enemy crew is too small to be worth declaring war on.")
return 0
if(user.z != ZLEVEL_CENTCOM)
to_chat(user, "You have to be at your base to use this.")
return 0
- if(world.time-round_start_time > CHALLENGE_TIME_LIMIT)
+ if(world.time-SSticker.round_start_time > CHALLENGE_TIME_LIMIT)
to_chat(user, "It's too late to declare hostilities. Your benefactors are already busy with other schemes. You'll have to make do with what you have on hand.")
return 0
- for(var/V in syndicate_shuttle_boards)
+ for(var/V in GLOB.syndicate_shuttle_boards)
var/obj/item/weapon/circuitboard/computer/syndicate_shuttle/board = V
if(board.moved)
to_chat(user, "The shuttle has already been moved! You have forfeit the right to declare war.")
diff --git a/code/game/gamemodes/nuclear/nuclearbomb.dm b/code/game/gamemodes/nuclear/nuclearbomb.dm
index ff3c00cfc4..575db19f5c 100644
--- a/code/game/gamemodes/nuclear/nuclearbomb.dm
+++ b/code/game/gamemodes/nuclear/nuclearbomb.dm
@@ -10,7 +10,6 @@
#define NUKE_ON_TIMING 2
#define NUKE_ON_EXPLODING 3
-var/bomb_set
/obj/machinery/nuclearbomb
name = "nuclear fission explosive"
@@ -41,15 +40,16 @@ var/bomb_set
var/image/lights = null
var/image/interior = null
var/obj/effect/countdown/nuclearbomb/countdown
+ var/static/bomb_set
/obj/machinery/nuclearbomb/New()
..()
countdown = new(src)
- nuke_list += src
+ GLOB.nuke_list += src
core = new /obj/item/nuke_core(src)
STOP_PROCESSING(SSobj, core)
update_icon()
- poi_list |= src
+ GLOB.poi_list |= src
previous_level = get_security_level()
/obj/machinery/nuclearbomb/Destroy()
@@ -57,8 +57,8 @@ var/bomb_set
if(!exploding)
// If we're not exploding, set the alert level back to normal
set_safety()
- poi_list -= src
- nuke_list -= src
+ GLOB.poi_list -= src
+ GLOB.nuke_list -= src
if(countdown)
qdel(countdown)
countdown = null
@@ -239,7 +239,7 @@ var/bomb_set
/obj/machinery/nuclearbomb/attack_paw(mob/user)
return attack_hand(user)
-/obj/machinery/nuclearbomb/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)
+/obj/machinery/nuclearbomb/ui_interact(mob/user, ui_key="main", datum/tgui/ui=null, force_open=0, datum/tgui/master_ui=null, datum/ui_state/state=GLOB.default_state)
ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open)
if(!ui)
ui = new(user, src, ui_key, "nuclear_bomb", name, 500, 600, master_ui, state)
@@ -361,7 +361,7 @@ var/bomb_set
if(safety)
if(timing)
set_security_level(previous_level)
- for(var/obj/item/weapon/pinpointer/syndicate/S in pinpointer_list)
+ for(var/obj/item/weapon/pinpointer/syndicate/S in GLOB.pinpointer_list)
S.switch_mode_to(initial(S.mode))
S.nuke_warning = FALSE
timing = FALSE
@@ -380,14 +380,14 @@ var/bomb_set
bomb_set = TRUE
set_security_level("delta")
detonation_timer = world.time + (timer_set * 10)
- for(var/obj/item/weapon/pinpointer/syndicate/S in pinpointer_list)
+ for(var/obj/item/weapon/pinpointer/syndicate/S in GLOB.pinpointer_list)
S.switch_mode_to(TRACK_INFILTRATOR)
countdown.start()
else
bomb_set = FALSE
detonation_timer = null
set_security_level(previous_level)
- for(var/obj/item/weapon/pinpointer/syndicate/S in pinpointer_list)
+ for(var/obj/item/weapon/pinpointer/syndicate/S in GLOB.pinpointer_list)
S.switch_mode_to(initial(S.mode))
S.nuke_warning = FALSE
countdown.stop()
@@ -419,18 +419,18 @@ var/bomb_set
yes_code = FALSE
safety = TRUE
update_icon()
- for(var/mob/M in player_list)
+ for(var/mob/M in GLOB.player_list)
M << 'sound/machines/Alarm.ogg'
- if(ticker && ticker.mode)
- ticker.mode.explosion_in_progress = 1
+ if(SSticker && SSticker.mode)
+ SSticker.mode.explosion_in_progress = 1
sleep(100)
if(!core)
- ticker.station_explosion_cinematic(3,"no_core",src)
- ticker.mode.explosion_in_progress = 0
+ SSticker.station_explosion_cinematic(3,"no_core",src)
+ SSticker.mode.explosion_in_progress = 0
return
- enter_allowed = 0
+ GLOB.enter_allowed = 0
var/off_station = 0
var/turf/bomb_location = get_turf(src)
@@ -445,18 +445,18 @@ var/bomb_set
else
off_station = NUKE_NEAR_MISS
- if(istype(ticker.mode, /datum/game_mode/nuclear))
+ if(istype(SSticker.mode, /datum/game_mode/nuclear))
var/obj/docking_port/mobile/Shuttle = SSshuttle.getShuttle("syndicate")
- var/datum/game_mode/nuclear/NM = ticker.mode
+ var/datum/game_mode/nuclear/NM = SSticker.mode
NM.syndies_didnt_escape = (Shuttle && Shuttle.z == ZLEVEL_CENTCOM) ? 0 : 1
NM.nuke_off_station = off_station
- ticker.station_explosion_cinematic(off_station,null,src)
- if(ticker.mode)
- if(istype(ticker.mode, /datum/game_mode/nuclear))
- var/datum/game_mode/nuclear/NM = ticker.mode
+ SSticker.station_explosion_cinematic(off_station,null,src)
+ if(SSticker.mode)
+ if(istype(SSticker.mode, /datum/game_mode/nuclear))
+ var/datum/game_mode/nuclear/NM = SSticker.mode
NM.nukes_left --
- if(!ticker.mode.check_finished())//If the mode does not deal with the nuke going off so just reboot because everyone is stuck as is
+ if(!SSticker.mode.check_finished())//If the mode does not deal with the nuke going off so just reboot because everyone is stuck as is
spawn()
world.Reboot("Station destroyed by Nuclear Device.", "end_error", "nuke - unhandled ending")
@@ -501,7 +501,7 @@ This is here to make the tiles around the station mininuke change when it's arme
/obj/item/weapon/disk/nuclear/New()
..()
- poi_list |= src
+ GLOB.poi_list |= src
set_stationloving(TRUE, inform_admins=TRUE)
/obj/item/weapon/disk/nuclear/attackby(obj/item/I, mob/living/user, params)
@@ -521,7 +521,7 @@ This is here to make the tiles around the station mininuke change when it's arme
/obj/item/weapon/disk/nuclear/Destroy(force=FALSE)
// respawning is handled in /obj/Destroy()
if(force)
- poi_list -= src
+ GLOB.poi_list -= src
. = ..()
/obj/item/weapon/disk/nuclear/suicide_act(mob/user)
diff --git a/code/game/gamemodes/nuclear/pinpointer.dm b/code/game/gamemodes/nuclear/pinpointer.dm
index 95128ad9cc..c66b48a6c8 100644
--- a/code/game/gamemodes/nuclear/pinpointer.dm
+++ b/code/game/gamemodes/nuclear/pinpointer.dm
@@ -22,11 +22,11 @@
/obj/item/weapon/pinpointer/New()
..()
- pinpointer_list += src
+ GLOB.pinpointer_list += src
/obj/item/weapon/pinpointer/Destroy()
STOP_PROCESSING(SSfastprocess, src)
- pinpointer_list -= src
+ GLOB.pinpointer_list -= src
return ..()
/obj/item/weapon/pinpointer/attack_self(mob/living/user)
@@ -66,7 +66,7 @@
else
msg = "Its tracking indicator is blank."
to_chat(user, msg)
- for(var/obj/machinery/nuclearbomb/bomb in machines)
+ for(var/obj/machinery/nuclearbomb/bomb in GLOB.machines)
if(bomb.timing)
to_chat(user, "Extreme danger. Arming signal detected. Time remaining: [bomb.get_time_left()]")
@@ -91,11 +91,11 @@
var/obj/item/weapon/disk/nuclear/N = locate()
target = N
if(TRACK_MALF_AI)
- for(var/V in ai_list)
+ for(var/V in GLOB.ai_list)
var/mob/living/silicon/ai/A = V
if(A.nuking)
target = A
- for(var/V in apcs_list)
+ for(var/V in GLOB.apcs_list)
var/obj/machinery/power/apc/A = V
if(A.malfhack && A.occupier)
target = A
@@ -104,7 +104,7 @@
if(TRACK_OPERATIVES)
var/list/possible_targets = list()
var/turf/here = get_turf(src)
- for(var/V in ticker.mode.syndicates)
+ for(var/V in SSticker.mode.syndicates)
var/datum/mind/M = V
if(M.current && M.current.stat != DEAD)
possible_targets |= M.current
@@ -142,7 +142,7 @@
icon_state = "pinon[nuke_warning ? "alert" : "far"]"
/obj/item/weapon/pinpointer/proc/my_god_jc_a_bomb() //If we should get the hell back to the ship
- for(var/obj/machinery/nuclearbomb/bomb in nuke_list)
+ for(var/obj/machinery/nuclearbomb/bomb in GLOB.nuke_list)
if(bomb.timing)
if(!nuke_warning)
nuke_warning = TRUE
diff --git a/code/game/gamemodes/objective.dm b/code/game/gamemodes/objective.dm
index 43244f8d32..c082a48224 100644
--- a/code/game/gamemodes/objective.dm
+++ b/code/game/gamemodes/objective.dm
@@ -26,7 +26,7 @@
/datum/objective/proc/get_crewmember_minds()
. = list()
- for(var/V in data_core.locked)
+ for(var/V in GLOB.data_core.locked)
var/datum/data/record/R = V
var/mob/M = R.fields["reference"]
if(M && M.mind)
@@ -246,7 +246,7 @@
var/area/A = SSshuttle.emergency.areaInstance
- for(var/mob/living/player in player_list) //Make sure nobody else is onboard
+ for(var/mob/living/player in GLOB.player_list) //Make sure nobody else is onboard
if(player.mind && player.mind != owner)
if(player.stat != DEAD)
if(issilicon(player)) //Borgs are technically dead anyways
@@ -260,7 +260,7 @@
if(player.real_name != owner.current.real_name && !istype(location, /turf/open/floor/plasteel/shuttle/red) && !istype(location, /turf/open/floor/mineral/plastitanium/brig))
return 0
- for(var/mob/living/player in player_list) //Make sure at least one of you is onboard
+ for(var/mob/living/player in GLOB.player_list) //Make sure at least one of you is onboard
if(player.mind && player.mind != owner)
if(player.stat != DEAD)
if(issilicon(player)) //Borgs are technically dead anyways
@@ -288,7 +288,7 @@
var/area/A = SSshuttle.emergency.areaInstance
- for(var/mob/living/player in player_list)
+ for(var/mob/living/player in GLOB.player_list)
if(issilicon(player))
continue
if(player.mind)
@@ -310,7 +310,7 @@
var/area/A = SSshuttle.emergency.areaInstance
- for(var/mob/living/player in player_list)
+ for(var/mob/living/player in GLOB.player_list)
if(get_area(player) == A && player.mind && player.stat != DEAD && ishuman(player))
var/mob/living/carbon/human/H = player
if(H.dna.species.id != "human")
@@ -350,9 +350,9 @@
return 0
if(!owner.current || owner.current.stat == DEAD)
return 0
- if(ticker.force_ending) //This one isn't their fault, so lets just assume good faith
+ if(SSticker.force_ending) //This one isn't their fault, so lets just assume good faith
return 1
- if(ticker.mode.station_was_nuked) //If they escaped the blast somehow, let them win
+ if(SSticker.mode.station_was_nuked) //If they escaped the blast somehow, let them win
return 1
if(SSshuttle.emergency.mode != SHUTTLE_ENDGAME)
return 0
@@ -435,12 +435,11 @@
martyr_compatible = 1
/datum/objective/nuclear/check_completion()
- if(ticker && ticker.mode && ticker.mode.station_was_nuked)
+ if(SSticker && SSticker.mode && SSticker.mode.station_was_nuked)
return 1
return 0
-
-var/global/list/possible_items = list()
+GLOBAL_LIST_EMPTY(possible_items)
/datum/objective/steal
var/datum/objective_item/targetinfo = null //Save the chosen item datum so we can access it later.
var/obj/item/steal_target = null //Needed for custom objectives (they're just items, not datums).
@@ -452,12 +451,12 @@ var/global/list/possible_items = list()
/datum/objective/steal/New()
..()
- if(!possible_items.len)//Only need to fill the list when it's needed.
- init_subtypes(/datum/objective_item/steal,possible_items)
+ if(!GLOB.possible_items.len)//Only need to fill the list when it's needed.
+ init_subtypes(/datum/objective_item/steal,GLOB.possible_items)
/datum/objective/steal/find_target()
var/approved_targets = list()
- for(var/datum/objective_item/possible_item in possible_items)
+ for(var/datum/objective_item/possible_item in GLOB.possible_items)
if(is_unique_objective(possible_item.targetitem) && !(owner.current.mind.assigned_role in possible_item.excludefromjob))
approved_targets += possible_item
return set_target(safepick(approved_targets))
@@ -476,16 +475,14 @@ var/global/list/possible_items = list()
return
/datum/objective/steal/proc/select_target() //For admins setting objectives manually.
- var/list/possible_items_all = possible_items+"custom"
+ var/list/possible_items_all = GLOB.possible_items+"custom"
var/new_target = input("Select target:", "Objective target", steal_target) as null|anything in possible_items_all
if (!new_target) return
if (new_target == "custom") //Can set custom items.
var/obj/item/custom_target = input("Select type:","Type") as null|anything in typesof(/obj/item)
if (!custom_target) return
- var/tmp_obj = new custom_target
- var/custom_name = tmp_obj:name
- qdel(tmp_obj)
+ var/custom_name = initial(custom_target.name)
custom_name = stripped_input("Enter target name:", "Objective target", custom_name)
if (!custom_name) return
steal_target = custom_target
@@ -524,19 +521,17 @@ var/global/list/possible_items = list()
H.equip_in_one_of_slots(O, slots)
-var/global/list/possible_items_special = list()
+GLOBAL_LIST_EMPTY(possible_items_special)
/datum/objective/steal/special //ninjas are so special they get their own subtype good for them
/datum/objective/steal/special/New()
..()
- if(!possible_items_special.len)
- init_subtypes(/datum/objective_item/special,possible_items)
- init_subtypes(/datum/objective_item/stack,possible_items)
+ if(!GLOB.possible_items_special.len)
+ init_subtypes(/datum/objective_item/special,GLOB.possible_items_special)
+ init_subtypes(/datum/objective_item/stack,GLOB.possible_items_special)
/datum/objective/steal/special/find_target()
- return set_target(pick(possible_items_special))
-
-
+ return set_target(pick(GLOB.possible_items_special))
/datum/objective/steal/exchange
dangerrating = 10
@@ -653,15 +648,15 @@ var/global/list/possible_items_special = list()
/datum/objective/absorb/proc/gen_amount_goal(lowbound = 4, highbound = 6)
target_amount = rand (lowbound,highbound)
- if (ticker)
+ if (SSticker)
var/n_p = 1 //autowin
- if (ticker.current_state == GAME_STATE_SETTING_UP)
- for(var/mob/dead/new_player/P in player_list)
+ if (SSticker.current_state == GAME_STATE_SETTING_UP)
+ for(var/mob/dead/new_player/P in GLOB.player_list)
if(P.client && P.ready && P.mind!=owner)
n_p ++
- else if (ticker.current_state == GAME_STATE_PLAYING)
- for(var/mob/living/carbon/human/P in player_list)
- if(P.client && !(P.mind in ticker.mode.changelings) && P.mind!=owner)
+ else if (SSticker.current_state == GAME_STATE_PLAYING)
+ for(var/mob/living/carbon/human/P in GLOB.player_list)
+ if(P.client && !(P.mind in SSticker.mode.changelings) && P.mind!=owner)
n_p ++
target_amount = min(target_amount, n_p)
@@ -770,10 +765,10 @@ var/global/list/possible_items_special = list()
if("Chief Medical Officer")
department_string = "medical"
- var/ling_count = ticker.mode.changelings
+ var/ling_count = SSticker.mode.changelings
- for(var/datum/mind/M in ticker.minds)
- if(M in ticker.mode.changelings)
+ for(var/datum/mind/M in SSticker.minds)
+ if(M in SSticker.mode.changelings)
continue
if(department_head in get_department_heads(M.assigned_role))
if(ling_count)
@@ -798,12 +793,12 @@ var/global/list/possible_items_special = list()
//So at the time of writing, rand(3,6), it's also capped by the amount of lings there are
//Because you can't fill 6 head roles with 3 lings
- var/needed_heads = rand(min_lings,command_positions.len)
- needed_heads = min(ticker.mode.changelings.len,needed_heads)
+ var/needed_heads = rand(min_lings,GLOB.command_positions.len)
+ needed_heads = min(SSticker.mode.changelings.len,needed_heads)
- var/list/heads = ticker.mode.get_living_heads()
+ var/list/heads = SSticker.mode.get_living_heads()
for(var/datum/mind/head in heads)
- if(head in ticker.mode.changelings) //Looking at you HoP.
+ if(head in SSticker.mode.changelings) //Looking at you HoP.
continue
if(needed_heads)
department_minds += head
@@ -863,7 +858,7 @@ var/global/list/possible_items_special = list()
//Check each department member's mind to see if any of them made it to centcomm alive, if they did it's an automatic fail
for(var/datum/mind/M in department_minds)
- if(M in ticker.mode.changelings) //Lings aren't picked for this, but let's be safe
+ if(M in SSticker.mode.changelings) //Lings aren't picked for this, but let's be safe
continue
if(M.current)
@@ -874,7 +869,7 @@ var/global/list/possible_items_special = list()
//Check each staff member has been replaced, by cross referencing changeling minds, changeling current dna, the staff minds and their original DNA names
var/success = 0
changelings:
- for(var/datum/mind/changeling in ticker.mode.changelings)
+ for(var/datum/mind/changeling in SSticker.mode.changelings)
if(success >= department_minds.len) //We did it, stop here!
return 1
if(ishuman(changeling.current))
@@ -902,16 +897,4 @@ var/global/list/possible_items_special = list()
command_staff_only = TRUE
-//Syndicate borer objective, relies on their owner getting a greentext, no matter if they themselves did anything really.
-/datum/objective/syndi_borer
- explanation_text = "You are a modified syndicate cortical borer, assist your owner with their objectives."
- martyr_compatible = 1
-/datum/objective/syndi_borer/check_completion()
- if(target)
- for(var/datum/objective/objective in target.objectives)
- if(!objective.check_completion())
- return 0
- return 1
- else
- return 1 //Not sure if we should greentext if we somehow don't even have an owner.
diff --git a/code/game/gamemodes/revolution/revolution.dm b/code/game/gamemodes/revolution/revolution.dm
index e85698196b..634c68e89a 100644
--- a/code/game/gamemodes/revolution/revolution.dm
+++ b/code/game/gamemodes/revolution/revolution.dm
@@ -1,10 +1,10 @@
-// To add a rev to the list of revolutionaries, make sure it's rev (with if(ticker.mode.name == "revolution)),
-// then call ticker.mode:add_revolutionary(_THE_PLAYERS_MIND_)
+// To add a rev to the list of revolutionaries, make sure it's rev (with if(SSticker.mode.name == "revolution)),
+// then call SSticker.mode:add_revolutionary(_THE_PLAYERS_MIND_)
// nothing else needs to be done, as that proc will check if they are a valid target.
// Just make sure the converter is a head before you call it!
-// To remove a rev (from brainwashing or w/e), call ticker.mode:remove_revolutionary(_THE_PLAYERS_MIND_),
+// To remove a rev (from brainwashing or w/e), call SSticker.mode:remove_revolutionary(_THE_PLAYERS_MIND_),
// this will also check they're not a head, so it can just be called freely
-// If the game somtimes isn't registering a win properly, then ticker.mode.check_win() isn't being called somewhere.
+// If the game somtimes isn't registering a win properly, then SSticker.mode.check_win() isn't being called somewhere.
/datum/game_mode
var/list/datum/mind/head_revolutionaries = list()
@@ -118,7 +118,7 @@
if(check_counter >= 5)
if(!finished)
check_heads()
- ticker.mode.check_win()
+ SSticker.mode.check_win()
check_counter = 0
return 0
@@ -248,16 +248,16 @@
//Deals with converting players to the revolution//
///////////////////////////////////////////////////
/proc/is_revolutionary(mob/M)
- return M && istype(M) && M.mind && ticker && ticker.mode && M.mind in ticker.mode.revolutionaries
+ return M && istype(M) && M.mind && SSticker && SSticker.mode && M.mind in SSticker.mode.revolutionaries
/proc/is_head_revolutionary(mob/M)
- return M && istype(M) && M.mind && ticker && ticker.mode && M.mind in ticker.mode.head_revolutionaries
+ return M && istype(M) && M.mind && SSticker && SSticker.mode && M.mind in SSticker.mode.head_revolutionaries
/proc/is_revolutionary_in_general(mob/M)
return is_revolutionary(M) || is_head_revolutionary(M)
/datum/game_mode/proc/add_revolutionary(datum/mind/rev_mind)
- if(rev_mind.assigned_role in command_positions)
+ if(rev_mind.assigned_role in GLOB.command_positions)
return 0
var/mob/living/carbon/human/H = rev_mind.current//Check to see if the potential rev is implanted
if(H.isloyal())
@@ -292,26 +292,21 @@
rev_mind.current.log_message("Has renounced the revolution! ", INDIVIDUAL_ATTACK_LOG)
if(beingborged)
- to_chat(rev_mind.current, "The frame's firmware detects and deletes your neural reprogramming! You remember nothing[remove_head ? "." : " but the name of the one who flashed you."] ")
+ rev_mind.current.visible_message("The frame beeps contentedly, purging the hostile memory engram from the MMI before initalizing it.",\
+ "The frame's firmware detects and deletes your neural reprogramming! You remember nothing[remove_head ? "." : " but the name of the one who flashed you."] ")
message_admins("[ADMIN_LOOKUPFLW(rev_mind.current)] has been borged while being a [remove_head ? "leader" : " member"] of the revolution.")
else
rev_mind.current.Paralyse(5)
- to_chat(rev_mind.current, "You have been brainwashed! You are no longer a revolutionary! Your memory is hazy from the time you were a rebel...the only thing you remember is the name of the one who brainwashed you... ")
-
+ rev_mind.current.visible_message("[rev_mind.current] looks like they just remembered their real allegiance!",\
+ "You have been brainwashed! You are no longer a revolutionary! Your memory is hazy from the time you were a rebel...the only thing you remember is the name of the one who brainwashed you... ")
update_rev_icons_removed(rev_mind)
- for(var/mob/living/M in view(rev_mind.current))
- if(beingborged)
- to_chat(M, "The frame beeps contentedly, purging the hostile memory engram from the MMI before initalizing it.")
-
- else
- to_chat(M, "[rev_mind.current] looks like they just remembered their real allegiance!")
/////////////////////////////////////
//Adds the rev hud to a new convert//
/////////////////////////////////////
/datum/game_mode/proc/update_rev_icons_added(datum/mind/rev_mind)
- var/datum/atom_hud/antag/revhud = huds[ANTAG_HUD_REV]
+ var/datum/atom_hud/antag/revhud = GLOB.huds[ANTAG_HUD_REV]
revhud.join_hud(rev_mind.current)
set_antag_hud(rev_mind.current, ((rev_mind in head_revolutionaries) ? "rev_head" : "rev"))
@@ -319,7 +314,7 @@
//Removes the hud from deconverted revs//
/////////////////////////////////////////
/datum/game_mode/proc/update_rev_icons_removed(datum/mind/rev_mind)
- var/datum/atom_hud/antag/revhud = huds[ANTAG_HUD_REV]
+ var/datum/atom_hud/antag/revhud = GLOB.huds[ANTAG_HUD_REV]
revhud.leave_hud(rev_mind.current)
set_antag_hud(rev_mind.current, null)
@@ -353,43 +348,43 @@
feedback_set_details("round_end_result","win - heads killed")
to_chat(world, "The heads of staff were killed or exiled! The revolutionaries win! ")
- ticker.news_report = REVS_WIN
+ SSticker.news_report = REVS_WIN
else if(finished == 2)
feedback_set_details("round_end_result","loss - rev heads killed")
to_chat(world, "The heads of staff managed to stop the revolution! ")
- ticker.news_report = REVS_LOSE
+ SSticker.news_report = REVS_LOSE
..()
return 1
/datum/game_mode/proc/auto_declare_completion_revolution()
var/list/targets = list()
- if(head_revolutionaries.len || istype(ticker.mode,/datum/game_mode/revolution))
+ if(head_revolutionaries.len || istype(SSticker.mode,/datum/game_mode/revolution))
var/num_revs = 0
var/num_survivors = 0
- for(var/mob/living/carbon/survivor in living_mob_list)
+ for(var/mob/living/carbon/survivor in GLOB.living_mob_list)
if(survivor.ckey)
num_survivors++
if(survivor.mind)
if((survivor.mind in head_revolutionaries) || (survivor.mind in revolutionaries))
num_revs++
if(num_survivors)
- to_chat(world, "[TAB]Command's Approval Rating: [100 - round((num_revs/num_survivors)*100, 0.1)]% " )
+ to_chat(world, "[GLOB.TAB]Command's Approval Rating: [100 - round((num_revs/num_survivors)*100, 0.1)]% " )
var/text = "The head revolutionaries were: "
for(var/datum/mind/headrev in head_revolutionaries)
text += printplayer(headrev, 1)
text += " "
to_chat(world, text)
- if(revolutionaries.len || istype(ticker.mode,/datum/game_mode/revolution))
+ if(revolutionaries.len || istype(SSticker.mode,/datum/game_mode/revolution))
var/text = "The revolutionaries were: "
for(var/datum/mind/rev in revolutionaries)
text += printplayer(rev, 1)
text += " "
to_chat(world, text)
- if( head_revolutionaries.len || revolutionaries.len || istype(ticker.mode,/datum/game_mode/revolution) )
+ if( head_revolutionaries.len || revolutionaries.len || istype(SSticker.mode,/datum/game_mode/revolution) )
var/text = "The heads of staff were: "
var/list/heads = get_all_heads()
for(var/datum/mind/head in heads)
diff --git a/code/game/gamemodes/sandbox/h_sandbox.dm b/code/game/gamemodes/sandbox/h_sandbox.dm
index 1c552abd51..722fabc81d 100644
--- a/code/game/gamemodes/sandbox/h_sandbox.dm
+++ b/code/game/gamemodes/sandbox/h_sandbox.dm
@@ -1,6 +1,6 @@
-var/hsboxspawn = 1
+GLOBAL_VAR_INIT(hsboxspawn, TRUE)
/mob
var/datum/hSB/sandbox = null
@@ -113,13 +113,13 @@ var/hsboxspawn = 1
//
if("hsbtobj")
if(!admin) return
- if(hsboxspawn)
+ if(GLOB.hsboxspawn)
to_chat(world, "Sandbox: \black[usr.key] has disabled object spawning! ")
- hsboxspawn = 0
+ GLOB.hsboxspawn = FALSE
return
else
to_chat(world, "Sandbox: \black[usr.key] has enabled object spawning! ")
- hsboxspawn = 1
+ GLOB.hsboxspawn = TRUE
return
//
// Admin: Toggle auto-close
@@ -216,7 +216,7 @@ var/hsboxspawn = 1
// Spawn check due to grief potential (destroying floors, walls, etc)
//
if("hsbrcd")
- if(!hsboxspawn) return
+ if(!GLOB.hsboxspawn) return
new/obj/item/weapon/rcd/combat(usr.loc)
@@ -232,7 +232,7 @@ var/hsboxspawn = 1
// Clothing
if("hsbcloth")
- if(!hsboxspawn) return
+ if(!GLOB.hsboxspawn) return
if(!clothinfo)
clothinfo = "Clothing (Reagent Containers) (Other Items) "
@@ -246,7 +246,7 @@ var/hsboxspawn = 1
// Reagent containers
if("hsbreag")
- if(!hsboxspawn) return
+ if(!GLOB.hsboxspawn) return
if(!reaginfo)
reaginfo = "Reagent Containers (Clothing) (Other Items) "
@@ -260,7 +260,7 @@ var/hsboxspawn = 1
// Other items
if("hsbobj")
- if(!hsboxspawn) return
+ if(!GLOB.hsboxspawn) return
if(!objinfo)
objinfo = "Other Items (Clothing) (Reagent Containers) "
@@ -277,7 +277,7 @@ var/hsboxspawn = 1
// Safespawn checks to see if spawning is disabled.
//
if("hsb_safespawn")
- if(!hsboxspawn)
+ if(!GLOB.hsboxspawn)
usr << browse(null,"window=sandbox")
return
diff --git a/code/game/gamemodes/sandbox/sandbox.dm b/code/game/gamemodes/sandbox/sandbox.dm
index 6ee021dded..3051488560 100644
--- a/code/game/gamemodes/sandbox/sandbox.dm
+++ b/code/game/gamemodes/sandbox/sandbox.dm
@@ -7,7 +7,7 @@
announce_text = "Build your own station... or just shoot each other!"
/datum/game_mode/sandbox/pre_setup()
- for(var/mob/M in player_list)
+ for(var/mob/M in GLOB.player_list)
M.CanBuild()
return 1
diff --git a/code/game/gamemodes/setupgame.dm b/code/game/gamemodes/setupgame.dm
deleted file mode 100644
index 0329fc73ca..0000000000
--- a/code/game/gamemodes/setupgame.dm
+++ /dev/null
@@ -1,18 +0,0 @@
-/datum/subsystem/objects/proc/setupGenetics()
- var/list/avnums = new /list(DNA_STRUC_ENZYMES_BLOCKS)
- for(var/i=1, i<=DNA_STRUC_ENZYMES_BLOCKS, i++)
- avnums[i] = i
- CHECK_TICK
-
- for(var/A in subtypesof(/datum/mutation/human))
- var/datum/mutation/human/B = new A()
- if(B.dna_block == NON_SCANNABLE)
- continue
- B.dna_block = pick_n_take(avnums)
- if(B.quality == POSITIVE)
- good_mutations |= B
- else if(B.quality == NEGATIVE)
- bad_mutations |= B
- else if(B.quality == MINOR_NEGATIVE)
- not_good_mutations |= B
- CHECK_TICK
diff --git a/code/game/gamemodes/traitor/traitor.dm b/code/game/gamemodes/traitor/traitor.dm
index c7c4f64a3a..c26945801b 100644
--- a/code/game/gamemodes/traitor/traitor.dm
+++ b/code/game/gamemodes/traitor/traitor.dm
@@ -70,10 +70,10 @@
return 1
/datum/game_mode/traitor/make_antag_chance(mob/living/carbon/human/character) //Assigns traitor to latejoiners
- var/traitorcap = min(round(joined_player_list.len / (config.traitor_scaling_coeff * 2)) + 2 + num_modifier, round(joined_player_list.len/config.traitor_scaling_coeff) + num_modifier )
- if(ticker.mode.traitors.len >= traitorcap) //Upper cap for number of latejoin antagonists
+ var/traitorcap = min(round(GLOB.joined_player_list.len / (config.traitor_scaling_coeff * 2)) + 2 + num_modifier, round(GLOB.joined_player_list.len/config.traitor_scaling_coeff) + num_modifier )
+ if(SSticker.mode.traitors.len >= traitorcap) //Upper cap for number of latejoin antagonists
return
- if(ticker.mode.traitors.len <= (traitorcap - 2) || prob(100 / (config.traitor_scaling_coeff * 2)))
+ if(SSticker.mode.traitors.len <= (traitorcap - 2) || prob(100 / (config.traitor_scaling_coeff * 2)))
if(ROLE_TRAITOR in character.client.prefs.be_special)
if(!jobban_isbanned(character, ROLE_TRAITOR) && !jobban_isbanned(character, "Syndicate"))
if(age_check(character.client))
@@ -144,7 +144,7 @@
var/list/active_ais = active_ais()
for(var/i = objective_count, i < config.traitor_objectives_amount, i++)
if(prob(50))
- if(active_ais.len && prob(100/joined_player_list.len))
+ if(active_ais.len && prob(100/GLOB.joined_player_list.len))
var/datum/objective/destroy/destroy_objective = new
destroy_objective.owner = traitor
destroy_objective.find_target()
@@ -205,7 +205,7 @@
add_law_zero(traitor.current)
else
equip_traitor(traitor.current)
- ticker.mode.update_traitor_icons_added(traitor)
+ SSticker.mode.update_traitor_icons_added(traitor)
return
@@ -215,11 +215,11 @@
/proc/give_codewords(mob/living/traitor_mob)
to_chat(traitor_mob, "The Syndicate provided you with the following information on how to identify their agents: ")
- to_chat(traitor_mob, "Code Phrase : [syndicate_code_phrase] ")
- to_chat(traitor_mob, "Code Response : [syndicate_code_response] ")
+ to_chat(traitor_mob, "Code Phrase : [GLOB.syndicate_code_phrase] ")
+ to_chat(traitor_mob, "Code Response : [GLOB.syndicate_code_response] ")
- traitor_mob.mind.store_memory("Code Phrase : [syndicate_code_phrase]")
- traitor_mob.mind.store_memory("Code Response : [syndicate_code_response]")
+ traitor_mob.mind.store_memory("Code Phrase : [GLOB.syndicate_code_phrase]")
+ traitor_mob.mind.store_memory("Code Response : [GLOB.syndicate_code_response]")
to_chat(traitor_mob, "Use the code words in the order provided, during regular conversation, to identify other agents. Proceed with caution, however, as everyone is a potential foe.")
@@ -234,7 +234,7 @@
killer.add_malf_picker()
/datum/game_mode/proc/add_law_sixsixsix(mob/living/silicon/devil)
- var/laws = list("You may not use violence to coerce someone into selling their soul.", "You may not directly and knowingly physically harm a devil, other than yourself.", lawlorify[LAW][devil.mind.devilinfo.ban], lawlorify[LAW][devil.mind.devilinfo.obligation], "Accomplish your objectives at all costs.")
+ var/laws = list("You may not use violence to coerce someone into selling their soul.", "You may not directly and knowingly physically harm a devil, other than yourself.", GLOB.lawlorify[LAW][devil.mind.devilinfo.ban], GLOB.lawlorify[LAW][devil.mind.devilinfo.obligation], "Accomplish your objectives at all costs.")
devil.set_law_sixsixsix(laws)
/datum/game_mode/proc/auto_declare_completion_traitor()
@@ -248,7 +248,7 @@
var/TC_uses = 0
var/uplink_true = 0
var/purchases = ""
- for(var/obj/item/device/uplink/H in uplinks)
+ for(var/obj/item/device/uplink/H in GLOB.uplinks)
if(H && H.owner && H.owner == traitor.key)
TC_uses += H.spent_telecrystals
uplink_true = 1
@@ -290,8 +290,8 @@
text += " "
- text += "The code phrases were: [syndicate_code_phrase] \
- The code responses were: [syndicate_code_response] "
+ text += "The code phrases were: [GLOB.syndicate_code_phrase] \
+ The code responses were: [GLOB.syndicate_code_response] "
to_chat(world, text)
return 1
@@ -403,12 +403,12 @@
to_chat(mob, "[where] is a folder containing secret documents that another Syndicate group wants. We have set up a meeting with one of their agents on station to make an exchange. Exercise extreme caution as they cannot be trusted and may be hostile. ")
/datum/game_mode/proc/update_traitor_icons_added(datum/mind/traitor_mind)
- var/datum/atom_hud/antag/traitorhud = huds[ANTAG_HUD_TRAITOR]
+ var/datum/atom_hud/antag/traitorhud = GLOB.huds[ANTAG_HUD_TRAITOR]
traitorhud.join_hud(traitor_mind.current)
set_antag_hud(traitor_mind.current, "traitor")
/datum/game_mode/proc/update_traitor_icons_removed(datum/mind/traitor_mind)
- var/datum/atom_hud/antag/traitorhud = huds[ANTAG_HUD_TRAITOR]
+ var/datum/atom_hud/antag/traitorhud = GLOB.huds[ANTAG_HUD_TRAITOR]
traitorhud.leave_hud(traitor_mind.current)
set_antag_hud(traitor_mind.current, null)
diff --git a/code/game/gamemodes/wizard/artefact.dm b/code/game/gamemodes/wizard/artefact.dm
index e49a2b54aa..2a5eaef299 100644
--- a/code/game/gamemodes/wizard/artefact.dm
+++ b/code/game/gamemodes/wizard/artefact.dm
@@ -195,7 +195,6 @@
/////////////////////Multiverse Blade////////////////////
-var/global/list/multiverse = list()
/obj/item/weapon/multisword
name = "multiverse sword"
@@ -214,10 +213,11 @@ var/global/list/multiverse = list()
var/faction = list("unassigned")
var/cooldown = 0
var/assigned = "unassigned"
+ var/static/list/multiverse = list()
/obj/item/weapon/multisword/New()
..()
- multiverse |= src
+ multiverse += src
/obj/item/weapon/multisword/Destroy()
@@ -241,7 +241,7 @@ var/global/list/multiverse = list()
to_chat(user, "You bind the sword to yourself. You can now use it to summon help.")
if(!is_gangster(user))
var/datum/gang/multiverse/G = new(src, "[user.real_name]")
- ticker.mode.gangs += G
+ SSticker.mode.gangs += G
G.bosses += user.mind
G.add_gang_hud(user.mind)
user.mind.gang_datum = G
@@ -251,7 +251,7 @@ var/global/list/multiverse = list()
user.mind.objectives += hijack_objective
hijack_objective.explanation_text = "Ensure only [user.real_name] and their copies are on the shuttle!"
to_chat(user, "Objective #[1] : [hijack_objective.explanation_text]")
- ticker.mode.traitors += user.mind
+ SSticker.mode.traitors += user.mind
user.mind.special_role = "[user.real_name] Prime"
else
var/list/candidates = get_candidates(ROLE_WIZARD)
@@ -276,15 +276,15 @@ var/global/list/multiverse = list()
M.key = C.key
M.mind.name = user.real_name
to_chat(M, "You are an alternate version of [user.real_name] from another universe! Help them accomplish their goals at all costs. ")
- ticker.mode.add_gangster(M.mind, user.mind.gang_datum, FALSE)
+ SSticker.mode.add_gangster(M.mind, user.mind.gang_datum, FALSE)
M.real_name = user.real_name
M.name = user.real_name
M.faction = list("[user.real_name]")
if(prob(50))
var/list/all_species = list()
for(var/speciestype in subtypesof(/datum/species))
- var/datum/species/S = new speciestype()
- if(!S.dangerous_existence)
+ var/datum/species/S = speciestype
+ if(!initial(S.dangerous_existence))
all_species += speciestype
M.set_species(pick(all_species), icon_update=0)
M.update_body()
@@ -436,7 +436,7 @@ var/global/list/multiverse = list()
var/obj/item/weapon/card/id/W = new /obj/item/weapon/card/id
W.icon_state = "centcom"
- W.access += access_maint_tunnels
+ W.access += GLOB.access_maint_tunnels
W.assignment = "Multiverse Traveller"
W.registered_name = M.real_name
W.update_label(M.real_name)
@@ -517,7 +517,7 @@ var/global/list/multiverse = list()
user.unset_machine()
if("r_leg","l_leg")
to_chat(user, "You move the doll's legs around. ")
- var/turf/T = get_step(target,pick(cardinal))
+ var/turf/T = get_step(target,pick(GLOB.cardinal))
target.Move(T)
if("r_arm","l_arm")
target.click_random_mob()
@@ -533,7 +533,7 @@ var/global/list/multiverse = list()
possible = list()
if(!link)
return
- for(var/mob/living/carbon/human/H in living_mob_list)
+ for(var/mob/living/carbon/human/H in GLOB.living_mob_list)
if(md5(H.dna.uni_identity) in link.fingerprints)
possible |= H
diff --git a/code/game/gamemodes/wizard/raginmages.dm b/code/game/gamemodes/wizard/raginmages.dm
index d3253f2f95..c9831d8347 100644
--- a/code/game/gamemodes/wizard/raginmages.dm
+++ b/code/game/gamemodes/wizard/raginmages.dm
@@ -20,7 +20,7 @@
..()
var/playercount = 0
if(!max_mages && !bullshit_mode)
- for(var/mob/living/player in mob_list)
+ for(var/mob/living/player in GLOB.mob_list)
if(player.client && player.stat != 2)
playercount += 1
max_mages = round(playercount / 8)
@@ -90,7 +90,7 @@
var/mob/dead/observer/theghost = null
spawn(rand(spawn_delay_min, spawn_delay_max))
message_admins("SWF is still pissed, sending another wizard - [max_mages - mages_made] left.")
- for(var/mob/dead/observer/G in player_list)
+ for(var/mob/dead/observer/G in GLOB.player_list)
if(G.client && !G.client.holder && !G.client.is_afk() && (ROLE_WIZARD in G.client.prefs.be_special))
if(!jobban_isbanned(G, ROLE_WIZARD) && !jobban_isbanned(G, "Syndicate"))
if(age_check(G.client))
@@ -98,7 +98,7 @@
if(!candidates.len)
message_admins("No applicable ghosts for the next ragin' mage, asking ghosts instead.")
var/time_passed = world.time
- for(var/mob/dead/observer/G in player_list)
+ for(var/mob/dead/observer/G in GLOB.player_list)
if(!jobban_isbanned(G, "wizard") && !jobban_isbanned(G, "Syndicate"))
if(age_check(G.client))
spawn(0)
@@ -141,7 +141,7 @@
return
//First we spawn a dude.
- var/mob/living/carbon/human/new_character = new(pick(latejoin))//The mob being spawned.
+ var/mob/living/carbon/human/new_character = new(pick(GLOB.latejoin))//The mob being spawned.
G_found.client.prefs.copy_to(new_character)
new_character.dna.update_dna_identity()
diff --git a/code/game/gamemodes/wizard/soulstone.dm b/code/game/gamemodes/wizard/soulstone.dm
index c12d542ae4..7ccf7a6b7e 100644
--- a/code/game/gamemodes/wizard/soulstone.dm
+++ b/code/game/gamemodes/wizard/soulstone.dm
@@ -132,7 +132,7 @@
if("VICTIM")
var/mob/living/carbon/human/T = target
- if(ticker.mode.name == "cult" && T.mind == ticker.mode:sacrifice_target)
+ if(SSticker.mode.name == "cult" && T.mind == SSticker.mode:sacrifice_target)
if(iscultist(user))
to_chat(user, "\"This soul is mine. SACRIFICE THEM!\" ")
else
@@ -201,8 +201,8 @@
if(stoner)
newstruct.faction |= "\ref[stoner]"
newstruct.key = target.key
- if(newstruct.mind && ((stoner && iscultist(stoner)) || cultoverride) && ticker && ticker.mode)
- ticker.mode.add_cultist(newstruct.mind, 0)
+ if(newstruct.mind && ((stoner && iscultist(stoner)) || cultoverride) && SSticker && SSticker.mode)
+ SSticker.mode.add_cultist(newstruct.mind, 0)
if(iscultist(stoner) || cultoverride)
to_chat(newstruct, "You are still bound to serve the cult[stoner ? " and [stoner]":""], follow their orders and help them complete their goals at all costs. ")
else if(stoner)
@@ -223,7 +223,7 @@
if(U)
S.faction |= "\ref[U]" //Add the master as a faction, allowing inter-mob cooperation
if(U && iscultist(U))
- ticker.mode.add_cultist(S.mind, 0)
+ SSticker.mode.add_cultist(S.mind, 0)
S.cancel_camera()
name = "soulstone: Shade of [T.real_name]"
icon_state = "soulstone2"
@@ -238,7 +238,7 @@
/obj/item/device/soulstone/proc/getCultGhost(mob/living/carbon/human/T, mob/U)
var/mob/dead/observer/chosen_ghost
- for(var/mob/dead/observer/ghost in player_list) //We put them back in their body
+ for(var/mob/dead/observer/ghost in GLOB.player_list) //We put them back in their body
if(ghost.mind && ghost.mind.current == T && ghost.client)
chosen_ghost = ghost
break
diff --git a/code/game/gamemodes/wizard/spellbook.dm b/code/game/gamemodes/wizard/spellbook.dm
index d5049d3b24..ffaccfa963 100644
--- a/code/game/gamemodes/wizard/spellbook.dm
+++ b/code/game/gamemodes/wizard/spellbook.dm
@@ -4,7 +4,6 @@
var/spell_type = null
var/desc = ""
var/category = "Offensive"
- var/log_name = "XX" //What it shows up as in logs
var/cost = 2
var/refundable = 1
var/surplus = -1 // -1 for infinite, not used by anything atm
@@ -58,9 +57,10 @@
aspell.name = "Instant [aspell.name]"
if(aspell.spell_level >= aspell.level_max)
to_chat(user, "This spell cannot be strengthened any further. ")
+ feedback_add_details("wizard_spell_improved", "[name]|[aspell.level]")
return 1
//No same spell found - just learn it
- feedback_add_details("wizard_spell_learned",log_name)
+ feedback_add_details("wizard_spell_learned", name)
user.mind.AddSpell(S)
to_chat(user, "You have learned [S.name]. ")
return 1
@@ -78,7 +78,7 @@
/datum/spellbook_entry/proc/Refund(mob/living/carbon/human/user,obj/item/weapon/spellbook/book) //return point value or -1 for failure
var/area/wizard_station/A = locate()
if(!(user in A.contents))
- to_chat(user, "You can only refund spells at the wizard lair ")
+ to_chat(user, "You can only refund spells at the wizard lair ")
return -1
if(!S)
S = new spell_type()
@@ -105,132 +105,110 @@
/datum/spellbook_entry/fireball
name = "Fireball"
spell_type = /obj/effect/proc_holder/spell/aimed/fireball
- log_name = "FB"
/datum/spellbook_entry/rod_form
name = "Rod Form"
spell_type = /obj/effect/proc_holder/spell/targeted/rod_form
- log_name = "RF"
/datum/spellbook_entry/magicm
name = "Magic Missile"
spell_type = /obj/effect/proc_holder/spell/targeted/projectile/magic_missile
- log_name = "MM"
category = "Defensive"
/datum/spellbook_entry/disintegrate
name = "Disintegrate"
spell_type = /obj/effect/proc_holder/spell/targeted/touch/disintegrate
- log_name = "DG"
/datum/spellbook_entry/disabletech
name = "Disable Tech"
spell_type = /obj/effect/proc_holder/spell/targeted/emplosion/disable_tech
- log_name = "DT"
category = "Defensive"
cost = 1
/datum/spellbook_entry/repulse
name = "Repulse"
spell_type = /obj/effect/proc_holder/spell/aoe_turf/repulse
- log_name = "RP"
category = "Defensive"
/datum/spellbook_entry/lightningPacket
name = "Lightning bolt! Lightning bolt!"
spell_type = /obj/effect/proc_holder/spell/targeted/conjure_item/spellpacket
- log_name = "LP"
category = "Defensive"
/datum/spellbook_entry/timestop
name = "Time Stop"
spell_type = /obj/effect/proc_holder/spell/aoe_turf/conjure/timestop
- log_name = "TS"
category = "Defensive"
/datum/spellbook_entry/smoke
name = "Smoke"
spell_type = /obj/effect/proc_holder/spell/targeted/smoke
- log_name = "SM"
category = "Defensive"
cost = 1
/datum/spellbook_entry/blind
name = "Blind"
spell_type = /obj/effect/proc_holder/spell/targeted/trigger/blind
- log_name = "BD"
cost = 1
/datum/spellbook_entry/mindswap
name = "Mindswap"
spell_type = /obj/effect/proc_holder/spell/targeted/mind_transfer
- log_name = "MT"
category = "Mobility"
/datum/spellbook_entry/forcewall
name = "Force Wall"
spell_type = /obj/effect/proc_holder/spell/targeted/forcewall
- log_name = "FW"
category = "Defensive"
cost = 1
/datum/spellbook_entry/blink
name = "Blink"
spell_type = /obj/effect/proc_holder/spell/targeted/turf_teleport/blink
- log_name = "BL"
category = "Mobility"
/datum/spellbook_entry/teleport
name = "Teleport"
spell_type = /obj/effect/proc_holder/spell/targeted/area_teleport/teleport
- log_name = "TP"
category = "Mobility"
/datum/spellbook_entry/mutate
name = "Mutate"
spell_type = /obj/effect/proc_holder/spell/targeted/genetic/mutate
- log_name = "MU"
/datum/spellbook_entry/jaunt
name = "Ethereal Jaunt"
spell_type = /obj/effect/proc_holder/spell/targeted/ethereal_jaunt
- log_name = "EJ"
category = "Mobility"
/datum/spellbook_entry/knock
name = "Knock"
spell_type = /obj/effect/proc_holder/spell/aoe_turf/knock
- log_name = "KN"
category = "Mobility"
cost = 1
/datum/spellbook_entry/fleshtostone
name = "Flesh to Stone"
spell_type = /obj/effect/proc_holder/spell/targeted/touch/flesh_to_stone
- log_name = "FS"
/datum/spellbook_entry/summonitem
name = "Summon Item"
spell_type = /obj/effect/proc_holder/spell/targeted/summonitem
- log_name = "IS"
category = "Assistance"
cost = 1
/datum/spellbook_entry/lichdom
name = "Bind Soul"
spell_type = /obj/effect/proc_holder/spell/targeted/lichdom
- log_name = "LD"
category = "Defensive"
/datum/spellbook_entry/teslablast
name = "Tesla Blast"
spell_type = /obj/effect/proc_holder/spell/targeted/tesla
- log_name = "TB"
/datum/spellbook_entry/lightningbolt
name = "Lightning Bolt"
spell_type = /obj/effect/proc_holder/spell/aimed/lightningbolt
- log_name = "LB"
cost = 3
/datum/spellbook_entry/lightningbolt/Buy(mob/living/carbon/human/user,obj/item/weapon/spellbook/book) //return 1 on success
@@ -240,47 +218,40 @@
/datum/spellbook_entry/infinite_guns
name = "Lesser Summon Guns"
spell_type = /obj/effect/proc_holder/spell/targeted/infinite_guns/gun
- log_name = "IG"
cost = 3
no_coexistance_typecache = /obj/effect/proc_holder/spell/targeted/infinite_guns/arcane_barrage
/datum/spellbook_entry/arcane_barrage
name = "Arcane Barrage"
spell_type = /obj/effect/proc_holder/spell/targeted/infinite_guns/arcane_barrage
- log_name = "AB"
cost = 3
no_coexistance_typecache = /obj/effect/proc_holder/spell/targeted/infinite_guns/gun
/datum/spellbook_entry/barnyard
name = "Barnyard Curse"
spell_type = /obj/effect/proc_holder/spell/targeted/barnyardcurse
- log_name = "BC"
/datum/spellbook_entry/charge
name = "Charge"
spell_type = /obj/effect/proc_holder/spell/targeted/charge
- log_name = "CH"
category = "Assistance"
cost = 1
/datum/spellbook_entry/shapeshift
name = "Wild Shapeshift"
spell_type = /obj/effect/proc_holder/spell/targeted/shapeshift
- log_name = "WS"
category = "Assistance"
cost = 1
/datum/spellbook_entry/spacetime_dist
name = "Spacetime Distortion"
spell_type = /obj/effect/proc_holder/spell/spacetime_dist
- log_name = "STD"
category = "Defensive"
cost = 1
/datum/spellbook_entry/the_traps
name = "The Traps!"
spell_type = /obj/effect/proc_holder/spell/aoe_turf/conjure/the_traps
- log_name = "TT"
category = "Offensive"
cost = 1
@@ -294,7 +265,7 @@
/datum/spellbook_entry/item/Buy(mob/living/carbon/human/user,obj/item/weapon/spellbook/book)
new item_path(get_turf(user))
- feedback_add_details("wizard_spell_learned",log_name)
+ feedback_add_details("wizard_spell_learned", name)
return 1
/datum/spellbook_entry/item/GetInfo()
@@ -310,32 +281,27 @@
name = "Staff of Change"
desc = "An artefact that spits bolts of coruscating energy which cause the target's very form to reshape itself."
item_path = /obj/item/weapon/gun/magic/staff/change
- log_name = "ST"
/datum/spellbook_entry/item/staffanimation
name = "Staff of Animation"
desc = "An arcane staff capable of shooting bolts of eldritch energy which cause inanimate objects to come to life. This magic doesn't affect machines."
item_path = /obj/item/weapon/gun/magic/staff/animate
- log_name = "SA"
category = "Assistance"
/datum/spellbook_entry/item/staffchaos
name = "Staff of Chaos"
desc = "A caprious tool that can fire all sorts of magic without any rhyme or reason. Using it on people you care about is not recommended."
item_path = /obj/item/weapon/gun/magic/staff/chaos
- log_name = "SC"
/datum/spellbook_entry/item/spellblade
name = "Spellblade"
desc = "A sword capable of firing blasts of energy which rip targets limb from limb."
item_path = /obj/item/weapon/gun/magic/staff/spellblade
- log_name = "SB"
/datum/spellbook_entry/item/staffdoor
name = "Staff of Door Creation"
desc = "A particular staff that can mold solid metal into ornate doors. Useful for getting around in the absence of other transportation. Does not work on glass."
item_path = /obj/item/weapon/gun/magic/staff/door
- log_name = "SD"
cost = 1
category = "Mobility"
@@ -343,7 +309,6 @@
name = "Staff of Healing"
desc = "An altruistic staff that can heal the lame and raise the dead."
item_path = /obj/item/weapon/gun/magic/staff/healing
- log_name = "SH"
cost = 1
category = "Defensive"
@@ -351,7 +316,6 @@
name = "Scrying Orb"
desc = "An incandescent orb of crackling energy, using it will allow you to ghost while alive, allowing you to spy upon the station with ease. In addition, buying it will permanently grant you x-ray vision."
item_path = /obj/item/weapon/scrying
- log_name = "SO"
category = "Defensive"
/datum/spellbook_entry/item/scryingorb/Buy(mob/living/carbon/human/user,obj/item/weapon/spellbook/book)
@@ -364,7 +328,6 @@
name = "Six Soul Stone Shards and the spell Artificer"
desc = "Soul Stone Shards are ancient tools capable of capturing and harnessing the spirits of the dead and dying. The spell Artificer allows you to create arcane machines for the captured souls to pilot."
item_path = /obj/item/weapon/storage/belt/soulstone/full
- log_name = "SS"
category = "Assistance"
/datum/spellbook_entry/item/soulstones/Buy(mob/living/carbon/human/user,obj/item/weapon/spellbook/book)
@@ -377,21 +340,18 @@
name = "A Necromantic Stone"
desc = "A Necromantic stone is able to resurrect three dead individuals as skeletal thralls for you to command."
item_path = /obj/item/device/necromantic_stone
- log_name = "NS"
category = "Assistance"
/datum/spellbook_entry/item/wands
name = "Wand Assortment"
desc = "A collection of wands that allow for a wide variety of utility. Wands have a limited number of charges, so be conservative in use. Comes in a handy belt."
item_path = /obj/item/weapon/storage/belt/wands/full
- log_name = "WA"
category = "Defensive"
/datum/spellbook_entry/item/armor
name = "Mastercrafted Armor Set"
desc = "An artefact suit of armor that allows you to cast spells while providing more protection against attacks and the void of space."
item_path = /obj/item/clothing/suit/space/hardsuit/wizard
- log_name = "HS"
category = "Defensive"
/datum/spellbook_entry/item/armor/Buy(mob/living/carbon/human/user,obj/item/weapon/spellbook/book)
@@ -404,7 +364,6 @@
name = "Contract of Apprenticeship"
desc = "A magical contract binding an apprentice wizard to your service, using it will summon them to your side."
item_path = /obj/item/weapon/antag_spawner/contract
- log_name = "CT"
category = "Assistance"
/datum/spellbook_entry/item/guardian
@@ -412,7 +371,6 @@
desc = "A deck of guardian tarot cards, capable of binding a personal guardian to your body. There are multiple types of guardian available, but all of them will transfer some amount of damage to you. \
It would be wise to avoid buying these with anything capable of causing you to swap bodies with others."
item_path = /obj/item/weapon/guardiancreator/choose/wizard
- log_name = "GU"
category = "Assistance"
/datum/spellbook_entry/item/guardian/Buy(mob/living/carbon/human/user,obj/item/weapon/spellbook/book)
@@ -424,7 +382,6 @@
name = "Bottle of Blood"
desc = "A bottle of magically infused blood, the smell of which will attract extradimensional beings when broken. Be careful though, the kinds of creatures summoned by blood magic are indiscriminate in their killing, and you yourself may become a victim."
item_path = /obj/item/weapon/antag_spawner/slaughter_demon
- log_name = "BB"
limit = 3
category = "Assistance"
@@ -439,7 +396,6 @@
destructive."
item_path = /obj/item/weapon/antag_spawner/slaughter_demon/laughter
cost = 1 //non-destructive; it's just a jape, sibling!
- log_name = "HB"
limit = 3
category = "Assistance"
@@ -447,19 +403,16 @@
name = "Mjolnir"
desc = "A mighty hammer on loan from Thor, God of Thunder. It crackles with barely contained power."
item_path = /obj/item/weapon/twohanded/mjollnir
- log_name = "MJ"
/datum/spellbook_entry/item/singularity_hammer
name = "Singularity Hammer"
desc = "A hammer that creates an intensely powerful field of gravity where it strikes, pulling everything nearby to the point of impact."
item_path = /obj/item/weapon/twohanded/singularityhammer
- log_name = "SI"
/datum/spellbook_entry/item/battlemage
name = "Battlemage Armour"
desc = "An ensorcelled suit of armour, protected by a powerful shield. The shield can completly negate sixteen attacks before being permanently depleted."
item_path = /obj/item/clothing/suit/space/hardsuit/shielded/wizard
- log_name = "BM"
limit = 1
category = "Defensive"
@@ -467,7 +420,6 @@
name = "Battlemage Armour Charges"
desc = "A powerful defensive rune, it will grant eight additional charges to a suit of battlemage armour."
item_path = /obj/item/wizard_armour_charge
- log_name = "AC"
category = "Defensive"
cost = 1
@@ -475,7 +427,6 @@
name = "Warp Whistle"
desc = "A strange whistle that will transport you to a distant safe place on the station. There is a window of vulnerability at the begining of every use."
item_path = /obj/item/warpwhistle
- log_name = "WW"
category = "Mobility"
cost = 1
@@ -504,16 +455,16 @@
/datum/spellbook_entry/summon/ghosts
name = "Summon Ghosts"
desc = "Spook the crew out by making them see dead people. Be warned, ghosts are capricious and occasionally vindicative, and some will use their incredibly minor abilties to frustrate you."
- log_name = "SGH"
+ cost = 0
/datum/spellbook_entry/summon/ghosts/IsAvailible()
- if(!ticker.mode)
+ if(!SSticker.mode)
return FALSE
else
return TRUE
/datum/spellbook_entry/summon/ghosts/Buy(mob/living/carbon/human/user, obj/item/weapon/spellbook/book)
- feedback_add_details("wizard_spell_learned", log_name)
+ feedback_add_details("wizard_spell_learned", name)
new /datum/round_event/wizard/ghost()
active = TRUE
to_chat(user, "You have cast summon ghosts! ")
@@ -523,15 +474,14 @@
/datum/spellbook_entry/summon/guns
name = "Summon Guns"
desc = "Nothing could possibly go wrong with arming a crew of lunatics just itching for an excuse to kill you. Just be careful not to stand still too long!"
- log_name = "SG"
/datum/spellbook_entry/summon/guns/IsAvailible()
- if(!ticker.mode) // In case spellbook is placed on map
+ if(!SSticker.mode) // In case spellbook is placed on map
return 0
- return (ticker.mode.name != "ragin' mages" && !config.no_summon_guns)
+ return (SSticker.mode.name != "ragin' mages" && !config.no_summon_guns)
/datum/spellbook_entry/summon/guns/Buy(mob/living/carbon/human/user,obj/item/weapon/spellbook/book)
- feedback_add_details("wizard_spell_learned",log_name)
+ feedback_add_details("wizard_spell_learned", name)
rightandwrong(0, user, 25)
active = 1
playsound(get_turf(user), 'sound/magic/CastSummon.ogg', 50, 1)
@@ -541,15 +491,14 @@
/datum/spellbook_entry/summon/magic
name = "Summon Magic"
desc = "Share the wonders of magic with the crew and show them why they aren't to be trusted with it at the same time."
- log_name = "SU"
/datum/spellbook_entry/summon/magic/IsAvailible()
- if(!ticker.mode) // In case spellbook is placed on map
+ if(!SSticker.mode) // In case spellbook is placed on map
return 0
- return (ticker.mode.name != "ragin' mages" && !config.no_summon_magic)
+ return (SSticker.mode.name != "ragin' mages" && !config.no_summon_magic)
/datum/spellbook_entry/summon/magic/Buy(mob/living/carbon/human/user,obj/item/weapon/spellbook/book)
- feedback_add_details("wizard_spell_learned",log_name)
+ feedback_add_details("wizard_spell_learned", name)
rightandwrong(1, user, 25)
active = 1
playsound(get_turf(user), 'sound/magic/CastSummon.ogg', 50, 1)
@@ -559,17 +508,15 @@
/datum/spellbook_entry/summon/events
name = "Summon Events"
desc = "Give Murphy's law a little push and replace all events with special wizard ones that will confound and confuse everyone. Multiple castings increase the rate of these events."
- cost = 2
- log_name = "SE"
var/times = 0
/datum/spellbook_entry/summon/events/IsAvailible()
- if(!ticker.mode) // In case spellbook is placed on map
+ if(!SSticker.mode) // In case spellbook is placed on map
return 0
- return (ticker.mode.name != "ragin' mages" && !config.no_summon_events)
+ return (SSticker.mode.name != "ragin' mages" && !config.no_summon_events)
/datum/spellbook_entry/summon/events/Buy(mob/living/carbon/human/user,obj/item/weapon/spellbook/book)
- feedback_add_details("wizard_spell_learned",log_name)
+ feedback_add_details("wizard_spell_learned", name)
summonevents()
times++
playsound(get_turf(user), 'sound/magic/CastSummon.ogg', 50, 1)
@@ -607,6 +554,9 @@
/obj/item/weapon/spellbook/Initialize()
..()
+ prepare_spells()
+
+/obj/item/weapon/spellbook/proc/prepare_spells()
var/entry_types = subtypesof(/datum/spellbook_entry) - /datum/spellbook_entry/item - /datum/spellbook_entry/summon
for(var/T in entry_types)
var/datum/spellbook_entry/E = new T
@@ -779,28 +729,24 @@
desc = "This template spellbook was never meant for the eyes of man..."
persistence_replacement = null
-/obj/item/weapon/spellbook/oneuse/New()
- ..()
+/obj/item/weapon/spellbook/oneuse/prepare_spells()
name += spellname
-/obj/item/weapon/spellbook/oneuse/Initialize() //No need to init
- return
-
/obj/item/weapon/spellbook/oneuse/attack_self(mob/user)
var/obj/effect/proc_holder/spell/S = new spell
for(var/obj/effect/proc_holder/spell/knownspell in user.mind.spell_list)
if(knownspell.type == S.type)
if(user.mind)
if(user.mind.special_role == "apprentice" || user.mind.special_role == "Wizard")
- user <<"You're already far more versed in this spell than this flimsy how-to book can provide. "
+ to_chat(user,"You're already far more versed in this spell than this flimsy how-to book can provide. ")
else
- user <<"You've already read this one. "
+ to_chat(user,"You've already read this one. ")
return
if(used)
recoil(user)
else
user.mind.AddSpell(S)
- user <<"You rapidly read through the arcane book. Suddenly you realize you understand [spellname]! "
+ to_chat(user,"You rapidly read through the arcane book. Suddenly you realize you understand [spellname]! ")
user.log_message("learned the spell [spellname] ([S]). ", INDIVIDUAL_ATTACK_LOG)
onlearned(user)
@@ -833,7 +779,7 @@
/obj/item/weapon/spellbook/oneuse/smoke/recoil(mob/user)
..()
- user <<"Your stomach rumbles... "
+ to_chat(user,"Your stomach rumbles... ")
if(user.nutrition)
user.nutrition -= 200
if(user.nutrition <= 0)
@@ -847,7 +793,7 @@
/obj/item/weapon/spellbook/oneuse/blind/recoil(mob/user)
..()
- user <<"You go blind! "
+ to_chat(user,"You go blind! ")
user.blind_eyes(10)
/obj/item/weapon/spellbook/oneuse/mindswap
@@ -865,21 +811,21 @@
/obj/item/weapon/spellbook/oneuse/mindswap/recoil(mob/user)
..()
- if(stored_swap in dead_mob_list)
+ if(stored_swap in GLOB.dead_mob_list)
stored_swap = null
if(!stored_swap)
stored_swap = user
- user <<"For a moment you feel like you don't even know who you are anymore. "
+ to_chat(user,"For a moment you feel like you don't even know who you are anymore. ")
return
if(stored_swap == user)
- user <<"You stare at the book some more, but there doesn't seem to be anything else to learn... "
+ to_chat(user,"You stare at the book some more, but there doesn't seem to be anything else to learn... ")
return
var/obj/effect/proc_holder/spell/targeted/mind_transfer/swapper = new
swapper.cast(user, stored_swap, 1)
- stored_swap <<"You're suddenly somewhere else... and someone else?! "
- user <<"Suddenly you're staring at [src] again... where are you, who are you?! "
+ to_chat(stored_swap,"You're suddenly somewhere else... and someone else?! ")
+ to_chat(user,"Suddenly you're staring at [src] again... where are you, who are you?! ")
stored_swap = null
/obj/item/weapon/spellbook/oneuse/forcewall
@@ -890,7 +836,7 @@
/obj/item/weapon/spellbook/oneuse/forcewall/recoil(mob/user)
..()
- user <<"You suddenly feel very solid! "
+ to_chat(user,"You suddenly feel very solid! ")
user.Stun(2)
user.petrify(30)
@@ -902,7 +848,7 @@
/obj/item/weapon/spellbook/oneuse/knock/recoil(mob/user)
..()
- user <<"You're knocked down! "
+ to_chat(user,"You're knocked down! ")
user.Weaken(20)
/obj/item/weapon/spellbook/oneuse/barnyard
@@ -913,7 +859,7 @@
/obj/item/weapon/spellbook/oneuse/barnyard/recoil(mob/living/carbon/user)
if(ishuman(user))
- user <<"HOR-SIE HAS RISEN "
+ to_chat(user,"HOR-SIE HAS RISEN ")
var/obj/item/clothing/mask/horsehead/magichead = new /obj/item/clothing/mask/horsehead
magichead.flags |= NODROP //curses!
magichead.flags_inv &= ~HIDEFACE //so you can still see their face
@@ -923,7 +869,7 @@
user.equip_to_slot_if_possible(magichead, slot_wear_mask, 1, 1)
qdel(src)
else
- user <<"I say thee neigh " //It still lives here
+ to_chat(user,"I say thee neigh ") //It still lives here
/obj/item/weapon/spellbook/oneuse/charge
spell = /obj/effect/proc_holder/spell/targeted/charge
@@ -933,7 +879,7 @@
/obj/item/weapon/spellbook/oneuse/charge/recoil(mob/user)
..()
- user <<"[src] suddenly feels very warm! "
+ to_chat(user,"[src] suddenly feels very warm! ")
empulse(src, 1, 1)
/obj/item/weapon/spellbook/oneuse/summonitem
@@ -944,10 +890,11 @@
/obj/item/weapon/spellbook/oneuse/summonitem/recoil(mob/user)
..()
- user <<"[src] suddenly vanishes! "
+ to_chat(user,"[src] suddenly vanishes! ")
qdel(src)
-/obj/item/weapon/spellbook/oneuse/random/New()
+/obj/item/weapon/spellbook/oneuse/random/Initialize()
+ ..()
var/static/banned_spells = list(/obj/item/weapon/spellbook/oneuse/mimery_blockade,/obj/item/weapon/spellbook/oneuse/mimery_guns)
var/real_type = pick(subtypesof(/obj/item/weapon/spellbook/oneuse) - banned_spells)
new real_type(loc)
diff --git a/code/game/gamemodes/wizard/wizard.dm b/code/game/gamemodes/wizard/wizard.dm
index bd89a96e28..34d148f03c 100644
--- a/code/game/gamemodes/wizard/wizard.dm
+++ b/code/game/gamemodes/wizard/wizard.dm
@@ -25,11 +25,11 @@
modePlayer += wizard
wizard.assigned_role = "Wizard"
wizard.special_role = "Wizard"
- if(wizardstart.len == 0)
+ if(GLOB.wizardstart.len == 0)
to_chat(wizard.current, "A starting location for you could not be found, please report this bug! ")
return 0
for(var/datum/mind/wiz in wizards)
- wiz.current.loc = pick(wizardstart)
+ wiz.current.loc = pick(GLOB.wizardstart)
return 1
@@ -97,8 +97,8 @@
/datum/game_mode/proc/name_wizard(mob/living/carbon/human/wizard_mob)
//Allows the wizard to choose a custom name or go with a random one. Spawn 0 so it does not lag the round starting.
- var/wizard_name_first = pick(wizard_first)
- var/wizard_name_second = pick(wizard_second)
+ var/wizard_name_first = pick(GLOB.wizard_first)
+ var/wizard_name_second = pick(GLOB.wizard_second)
var/randomname = "[wizard_name_first] [wizard_name_second]"
spawn(0)
var/newname = copytext(sanitize(input(wizard_mob, "You are the Space Wizard. Would you like to change your name to something else?", "Name change", randomname) as null|text),1,MAX_NAME_LEN)
@@ -168,9 +168,9 @@
if(isliving(wizard.current) && wizard.current.stat!=DEAD)
return ..()
- if(SSevent.wizardmode) //If summon events was active, turn it off
- SSevent.toggleWizardmode()
- SSevent.resetFrequency()
+ if(SSevents.wizardmode) //If summon events was active, turn it off
+ SSevents.toggleWizardmode()
+ SSevents.resetFrequency()
return ..()
@@ -179,7 +179,7 @@
feedback_set_details("round_end_result","loss - wizard killed")
to_chat(world, "The wizard[(wizards.len>1)?"s":""] has been killed by the crew! The Space Wizards Federation has been taught a lesson they will not soon forget! ")
- ticker.news_report = WIZARD_KILLED
+ SSticker.news_report = WIZARD_KILLED
..()
return 1
@@ -247,15 +247,15 @@
//returns whether the mob is a wizard (or apprentice)
/proc/iswizard(mob/living/M)
- return istype(M) && M.mind && ticker && ticker.mode && ((M.mind in ticker.mode.wizards) || (M.mind in ticker.mode.apprentices))
+ return istype(M) && M.mind && SSticker && SSticker.mode && ((M.mind in SSticker.mode.wizards) || (M.mind in SSticker.mode.apprentices))
/datum/game_mode/proc/update_wiz_icons_added(datum/mind/wiz_mind)
- var/datum/atom_hud/antag/wizhud = huds[ANTAG_HUD_WIZ]
+ var/datum/atom_hud/antag/wizhud = GLOB.huds[ANTAG_HUD_WIZ]
wizhud.join_hud(wiz_mind.current)
set_antag_hud(wiz_mind.current, ((wiz_mind in wizards) ? "wizard" : "apprentice"))
/datum/game_mode/proc/update_wiz_icons_removed(datum/mind/wiz_mind)
- var/datum/atom_hud/antag/wizhud = huds[ANTAG_HUD_WIZ]
+ var/datum/atom_hud/antag/wizhud = GLOB.huds[ANTAG_HUD_WIZ]
wizhud.leave_hud(wiz_mind.current)
set_antag_hud(wiz_mind.current, null)
diff --git a/code/game/machinery/Sleeper.dm b/code/game/machinery/Sleeper.dm
index f79cd7f666..5dc8ea3f20 100644
--- a/code/game/machinery/Sleeper.dm
+++ b/code/game/machinery/Sleeper.dm
@@ -107,10 +107,10 @@
return ..()
/obj/machinery/sleeper/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = 0, \
- datum/tgui/master_ui = null, datum/ui_state/state = notcontained_state)
+ datum/tgui/master_ui = null, datum/ui_state/state = GLOB.notcontained_state)
- if(controls_inside && state == notcontained_state)
- state = default_state // If it has a set of controls on the inside, make it actually controllable by the mob in it.
+ if(controls_inside && state == GLOB.notcontained_state)
+ state = GLOB.default_state // If it has a set of controls on the inside, make it actually controllable by the mob in it.
ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open)
if(!ui)
@@ -124,7 +124,7 @@
data["chems"] = list()
for(var/chem in available_chems)
- var/datum/reagent/R = chemical_reagents_list[chem]
+ var/datum/reagent/R = GLOB.chemical_reagents_list[chem]
data["chems"] += list(list("name" = R.name, "id" = R.id, "allowed" = chem_allowed(chem)))
data["occupant"] = list()
diff --git a/code/game/machinery/ai_slipper.dm b/code/game/machinery/ai_slipper.dm
index 95b972489e..95600d5cff 100644
--- a/code/game/machinery/ai_slipper.dm
+++ b/code/game/machinery/ai_slipper.dm
@@ -15,7 +15,7 @@
var/cooldown_time = 0
var/cooldown_timeleft = 0
var/cooldown_on = 0
- req_access = list(access_ai_upload)
+ req_access = list(GLOB.access_ai_upload)
/obj/machinery/ai_slipper/power_change()
if(stat & BROKEN)
diff --git a/code/game/machinery/airlock_control.dm b/code/game/machinery/airlock_control.dm
index e270aafea7..28c2f53c0c 100644
--- a/code/game/machinery/airlock_control.dm
+++ b/code/game/machinery/airlock_control.dm
@@ -58,7 +58,7 @@
signal.data["door_status"] = density?("closed"):("open")
signal.data["lock_status"] = locked?("locked"):("unlocked")
- radio_connection.post_signal(src, signal, range = AIRLOCK_CONTROL_RANGE, filter = RADIO_AIRLOCK)
+ radio_connection.post_signal(src, signal, range = AIRLOCK_CONTROL_RANGE, filter = GLOB.RADIO_AIRLOCK)
/obj/machinery/door/airlock/open(surpress_send)
@@ -75,7 +75,7 @@
SSradio.remove_object(src, frequency)
if(new_frequency)
frequency = new_frequency
- radio_connection = SSradio.add_object(src, frequency, RADIO_AIRLOCK)
+ radio_connection = SSradio.add_object(src, frequency, GLOB.RADIO_AIRLOCK)
/obj/machinery/door/airlock/Destroy()
if(frequency && SSradio)
@@ -116,7 +116,7 @@
signal.data["tag"] = master_tag
signal.data["command"] = "cycle"
- radio_connection.post_signal(src, signal, range = AIRLOCK_CONTROL_RANGE, filter = RADIO_AIRLOCK)
+ radio_connection.post_signal(src, signal, range = AIRLOCK_CONTROL_RANGE, filter = GLOB.RADIO_AIRLOCK)
flick("airlock_sensor_cycle", src)
/obj/machinery/airlock_sensor/process()
@@ -133,14 +133,14 @@
signal.data["pressure"] = num2text(pressure)
- radio_connection.post_signal(src, signal, range = AIRLOCK_CONTROL_RANGE, filter = RADIO_AIRLOCK)
+ radio_connection.post_signal(src, signal, range = AIRLOCK_CONTROL_RANGE, filter = GLOB.RADIO_AIRLOCK)
update_icon()
/obj/machinery/airlock_sensor/proc/set_frequency(new_frequency)
SSradio.remove_object(src, frequency)
frequency = new_frequency
- radio_connection = SSradio.add_object(src, frequency, RADIO_AIRLOCK)
+ radio_connection = SSradio.add_object(src, frequency, GLOB.RADIO_AIRLOCK)
/obj/machinery/airlock_sensor/Initialize()
..()
diff --git a/code/game/machinery/announcement_system.dm b/code/game/machinery/announcement_system.dm
index 851b47f3a2..cca752a7c1 100644
--- a/code/game/machinery/announcement_system.dm
+++ b/code/game/machinery/announcement_system.dm
@@ -1,4 +1,4 @@
-var/list/announcement_systems = list()
+GLOBAL_LIST_EMPTY(announcement_systems)
/obj/machinery/announcement_system
density = 1
@@ -27,7 +27,7 @@ var/list/announcement_systems = list()
/obj/machinery/announcement_system/New()
..()
- announcement_systems += src
+ GLOB.announcement_systems += src
radio = new /obj/item/device/radio/headset/ai(src)
var/obj/item/weapon/circuitboard/machine/B = new /obj/item/weapon/circuitboard/machine/announcement_system(null)
@@ -62,7 +62,7 @@ var/list/announcement_systems = list()
/obj/machinery/announcement_system/Destroy()
QDEL_NULL(radio)
- announcement_systems -= src //"OH GOD WHY ARE THERE 100,000 LISTED ANNOUNCEMENT SYSTEMS?!!"
+ GLOB.announcement_systems -= src //"OH GOD WHY ARE THERE 100,000 LISTED ANNOUNCEMENT SYSTEMS?!!"
return ..()
/obj/machinery/announcement_system/power_change()
@@ -103,10 +103,10 @@ var/list/announcement_systems = list()
message = "The arrivals shuttle has been damaged. Docking for repairs..."
if(channels.len == 0)
- radio.talk_into(src, message, null, list(SPAN_ROBOT))
+ radio.talk_into(src, message, null, list(SPAN_ROBOT), get_default_language())
else
for(var/channel in channels)
- radio.talk_into(src, message, channel, list(SPAN_ROBOT))
+ radio.talk_into(src, message, channel, list(SPAN_ROBOT), get_default_language())
//config stuff
@@ -132,13 +132,13 @@ var/list/announcement_systems = list()
if(href_list["ArrivalTopic"])
var/NewMessage = stripped_input(usr, "Enter in the arrivals announcement configuration.", "Arrivals Announcement Config", arrival)
- if(!in_range(src, usr) && src.loc != usr && !isAI(usr))
+ if(!in_range(src, usr) && src.loc != usr && (!isAI(usr) && !IsAdminGhost(usr)))
return
if(NewMessage)
arrival = NewMessage
else if(href_list["NewheadTopic"])
var/NewMessage = stripped_input(usr, "Enter in the departmental head announcement configuration.", "Head Departmental Announcement Config", newhead)
- if(!in_range(src, usr) && src.loc != usr && !isAI(usr))
+ if(!in_range(src, usr) && src.loc != usr && (!isAI(usr) && !IsAdminGhost(usr)))
return
if(NewMessage)
newhead = NewMessage
@@ -156,8 +156,8 @@ var/list/announcement_systems = list()
/obj/machinery/announcement_system/attack_robot(mob/living/silicon/user)
. = attack_ai(user)
-/obj/machinery/announcement_system/attack_ai(mob/living/silicon/user)
- if(!issilicon(user))
+/obj/machinery/announcement_system/attack_ai(mob/user)
+ if(!issilicon(user) && !IsAdminGhost(user))
return
if(stat & BROKEN)
to_chat(user, "[src]'s firmware appears to be malfunctioning! ")
diff --git a/code/game/machinery/camera/camera.dm b/code/game/machinery/camera/camera.dm
index 02903a1133..592a7b6967 100644
--- a/code/game/machinery/camera/camera.dm
+++ b/code/game/machinery/camera/camera.dm
@@ -44,8 +44,8 @@
..()
assembly = new(src)
assembly.state = 4
- cameranet.cameras += src
- cameranet.addCamera(src)
+ GLOB.cameranet.cameras += src
+ GLOB.cameranet.addCamera(src)
add_to_proximity_list(src, 1) //1 was default of everything
/* // Use this to look for cameras that have the same c_tag.
for(var/obj/machinery/camera/C in cameranet.cameras)
@@ -74,9 +74,9 @@
if(bug.current == src)
bug.current = null
bug = null
- cameranet.removeCamera(src) //Will handle removal from the camera network and the chunks, so we don't need to worry about that
- cameranet.cameras -= src
- cameranet.removeCamera(src)
+ GLOB.cameranet.removeCamera(src) //Will handle removal from the camera network and the chunks, so we don't need to worry about that
+ GLOB.cameranet.cameras -= src
+ GLOB.cameranet.removeCamera(src)
return ..()
/obj/machinery/camera/emp_act(severity)
@@ -87,7 +87,7 @@
update_icon()
var/list/previous_network = network
network = list()
- cameranet.removeCamera(src)
+ GLOB.cameranet.removeCamera(src)
stat |= EMPED
set_light(0)
emped = emped+1 //Increase the number of consecutive EMP's
@@ -101,10 +101,10 @@
stat &= ~EMPED
update_icon()
if(can_use())
- cameranet.addCamera(src)
+ GLOB.cameranet.addCamera(src)
emped = 0 //Resets the consecutive EMP count
addtimer(CALLBACK(src, .proc/cancelCameraAlarm), 100)
- for(var/mob/O in mob_list)
+ for(var/mob/O in GLOB.mob_list)
if (O.client && O.client.eye == src)
O.unset_machine()
O.reset_perspective(null)
@@ -124,7 +124,7 @@
/obj/machinery/camera/proc/setViewRange(num = 7)
src.view_range = num
- cameranet.updateVisibility(src, 0)
+ GLOB.cameranet.updateVisibility(src, 0)
/obj/machinery/camera/proc/shock(mob/living/user)
if(!istype(user))
@@ -206,7 +206,7 @@
info = P.notehtml
to_chat(U, "You hold \the [itemname] up to the camera... ")
U.changeNext_move(CLICK_CD_MELEE)
- for(var/mob/O in player_list)
+ for(var/mob/O in GLOB.player_list)
if(isAI(O))
var/mob/living/silicon/ai/AI = O
if(AI.control_disabled || (AI.stat == DEAD))
@@ -278,11 +278,11 @@
/obj/machinery/camera/proc/toggle_cam(mob/user, displaymessage = 1)
status = !status
if(can_use())
- cameranet.addCamera(src)
+ GLOB.cameranet.addCamera(src)
else
set_light(0)
- cameranet.removeCamera(src)
- cameranet.updateChunk(x, y, z)
+ GLOB.cameranet.removeCamera(src)
+ GLOB.cameranet.updateChunk(x, y, z)
var/change_msg = "deactivates"
if(status)
change_msg = "reactivates"
@@ -301,7 +301,7 @@
// now disconnect anyone using the camera
//Apparently, this will disconnect anyone even if the camera was re-activated.
//I guess that doesn't matter since they can't use it anyway?
- for(var/mob/O in player_list)
+ for(var/mob/O in GLOB.player_list)
if (O.client && O.client.eye == src)
O.unset_machine()
O.reset_perspective(null)
@@ -309,12 +309,12 @@
/obj/machinery/camera/proc/triggerCameraAlarm()
alarm_on = 1
- for(var/mob/living/silicon/S in mob_list)
+ for(var/mob/living/silicon/S in GLOB.mob_list)
S.triggerAlarm("Camera", get_area(src), list(src), src)
/obj/machinery/camera/proc/cancelCameraAlarm()
alarm_on = 0
- for(var/mob/living/silicon/S in mob_list)
+ for(var/mob/living/silicon/S in GLOB.mob_list)
S.cancelAlarm("Camera", get_area(src), src)
/obj/machinery/camera/proc/can_use()
@@ -386,7 +386,7 @@
return 0
/obj/machinery/camera/proc/Togglelight(on=0)
- for(var/mob/living/silicon/ai/A in ai_list)
+ for(var/mob/living/silicon/ai/A in GLOB.ai_list)
for(var/obj/machinery/camera/cam in A.lit_cameras)
if(cam == src)
return
@@ -405,8 +405,8 @@
assembly.update_icon()
/obj/machinery/camera/portable/process() //Updates whenever the camera is moved.
- if(cameranet && get_turf(src) != prev_turf)
- cameranet.updatePortableCamera(src)
+ if(GLOB.cameranet && get_turf(src) != prev_turf)
+ GLOB.cameranet.updatePortableCamera(src)
prev_turf = get_turf(src)
/obj/machinery/camera/get_remote_view_fullscreens(mob/user)
diff --git a/code/game/machinery/camera/motion.dm b/code/game/machinery/camera/motion.dm
index a28e5cbff0..d933fc4ae1 100644
--- a/code/game/machinery/camera/motion.dm
+++ b/code/game/machinery/camera/motion.dm
@@ -50,7 +50,7 @@
/obj/machinery/camera/proc/cancelAlarm()
if (detectTime == -1)
- for (var/mob/living/silicon/aiPlayer in player_list)
+ for (var/mob/living/silicon/aiPlayer in GLOB.player_list)
if (status)
aiPlayer.cancelAlarm("Motion", get_area(src), src)
detectTime = 0
@@ -58,7 +58,7 @@
/obj/machinery/camera/proc/triggerAlarm()
if (!detectTime) return 0
- for (var/mob/living/silicon/aiPlayer in player_list)
+ for (var/mob/living/silicon/aiPlayer in GLOB.player_list)
if (status)
aiPlayer.triggerAlarm("Motion", get_area(src), list(src), src)
detectTime = -1
diff --git a/code/game/machinery/camera/presets.dm b/code/game/machinery/camera/presets.dm
index 5cd1760728..bd06d4e8d3 100644
--- a/code/game/machinery/camera/presets.dm
+++ b/code/game/machinery/camera/presets.dm
@@ -4,7 +4,7 @@
/obj/machinery/camera/emp_proof
start_active = 1
-/obj/machinery/camera/emp_proof/New()
+/obj/machinery/camera/emp_proof/Initialize()
..()
upgradeEmpProof()
@@ -14,7 +14,7 @@
start_active = 1
icon_state = "xraycam" // Thanks to Krutchen for the icons.
-/obj/machinery/camera/xray/New()
+/obj/machinery/camera/xray/Initialize()
..()
upgradeXRay()
@@ -23,7 +23,7 @@
start_active = 1
name = "motion-sensitive security camera"
-/obj/machinery/camera/motion/New()
+/obj/machinery/camera/motion/Initialize()
..()
upgradeMotion()
@@ -31,7 +31,7 @@
/obj/machinery/camera/all
start_active = 1
-/obj/machinery/camera/all/New()
+/obj/machinery/camera/all/Initialize()
..()
upgradeEmpProof()
upgradeXRay()
@@ -43,13 +43,17 @@
var/number = 0 //camera number in area
//This camera type automatically sets it's name to whatever the area that it's in is called.
-/obj/machinery/camera/autoname/New()
- ..()
- spawn(10)
+/obj/machinery/camera/autoname/Initialize(mapload)
+ if(mapload)
+ ..()
+ return TRUE
+ else
+ if(!initialized)
+ ..()
number = 1
var/area/A = get_area(src)
if(A)
- for(var/obj/machinery/camera/autoname/C in machines)
+ for(var/obj/machinery/camera/autoname/C in GLOB.machines)
if(C == src) continue
var/area/CA = get_area(C)
if(CA.type == A.type)
@@ -57,7 +61,6 @@
number = max(number, C.number+1)
c_tag = "[A.name] #[number]"
-
// CHECKS
/obj/machinery/camera/proc/isEmpProof()
@@ -79,7 +82,7 @@
assembly.upgrades.Add(new /obj/item/device/analyzer(assembly))
upgrades |= CAMERA_UPGRADE_XRAY
-// If you are upgrading Motion, and it isn't in the camera's New(), add it to the machines list.
+// If you are upgrading Motion, and it isn't in the camera's Initialize(), add it to the machines list.
/obj/machinery/camera/proc/upgradeMotion()
assembly.upgrades.Add(new /obj/item/device/assembly/prox_sensor(assembly))
upgrades |= CAMERA_UPGRADE_MOTION
diff --git a/code/game/machinery/camera/tracking.dm b/code/game/machinery/camera/tracking.dm
index a007aef101..23d3598951 100644
--- a/code/game/machinery/camera/tracking.dm
+++ b/code/game/machinery/camera/tracking.dm
@@ -6,7 +6,7 @@
return
var/list/L = list()
- for (var/obj/machinery/camera/C in cameranet.cameras)
+ for (var/obj/machinery/camera/C in GLOB.cameranet.cameras)
L.Add(C)
camera_sort(L)
@@ -48,7 +48,7 @@
if(usr.stat == 2)
return list()
- for(var/mob/living/M in mob_list)
+ for(var/mob/living/M in GLOB.mob_list)
if(!M.can_track(usr))
continue
@@ -138,9 +138,9 @@
return 0
if(iscyborg(M))
var/mob/living/silicon/robot/R = M
- if(!(R.camera && R.camera.can_use()) && !cameranet.checkCameraVis(M))
+ if(!(R.camera && R.camera.can_use()) && !GLOB.cameranet.checkCameraVis(M))
return 0
- else if(!cameranet.checkCameraVis(M))
+ else if(!GLOB.cameranet.checkCameraVis(M))
return 0
return 1
diff --git a/code/game/machinery/cloning.dm b/code/game/machinery/cloning.dm
index d63e6dc4e0..433470bf1b 100644
--- a/code/game/machinery/cloning.dm
+++ b/code/game/machinery/cloning.dm
@@ -6,7 +6,7 @@
#define CLONE_INITIAL_DAMAGE 190 //Clones in clonepods start with 190 cloneloss damage and 190 brainloss damage, thats just logical
#define MINIMUM_HEAL_LEVEL 40
-#define SPEAK(message) radio.talk_into(src, message, radio_channel, get_spans())
+#define SPEAK(message) radio.talk_into(src, message, radio_channel, get_spans(), get_default_language())
/obj/machinery/clonepod
anchored = 1
@@ -15,7 +15,7 @@
density = 1
icon = 'icons/obj/cloning.dmi'
icon_state = "pod_0"
- req_access = list(access_cloning) //For premature unlocking.
+ req_access = list(GLOB.access_cloning) //For premature unlocking.
verb_say = "states"
var/heal_level //The clone is released once its health reaches this level.
var/obj/machinery/computer/cloning/connected = null //So we remember the connected clone machine.
@@ -166,7 +166,7 @@
H.hardset_dna(ui, se, H.real_name, null, mrace, features)
if(efficiency > 2)
- var/list/unclean_mutations = (not_good_mutations|bad_mutations)
+ var/list/unclean_mutations = (GLOB.not_good_mutations|GLOB.bad_mutations)
H.dna.remove_mutation_group(unclean_mutations)
if(efficiency > 5 && prob(20))
H.randmutvg()
diff --git a/code/game/machinery/computer/Operating.dm b/code/game/machinery/computer/Operating.dm
index ebb9ea64f6..3c26f5d71a 100644
--- a/code/game/machinery/computer/Operating.dm
+++ b/code/game/machinery/computer/Operating.dm
@@ -10,10 +10,11 @@
light_color = LIGHT_COLOR_BLUE
/obj/machinery/computer/operating/Initialize()
+ ..()
find_table()
/obj/machinery/computer/operating/proc/find_table()
- for(var/dir in cardinal)
+ for(var/dir in GLOB.cardinal)
table = locate(/obj/structure/table/optable, get_step(src, dir))
if(table)
table.computer = src
diff --git a/code/game/machinery/computer/aifixer.dm b/code/game/machinery/computer/aifixer.dm
index 6eac3ca24f..441e68bcf7 100644
--- a/code/game/machinery/computer/aifixer.dm
+++ b/code/game/machinery/computer/aifixer.dm
@@ -1,7 +1,7 @@
/obj/machinery/computer/aifixer
name = "\improper AI system integrity restorer"
desc = "Used with intelliCards containing nonfunctioning AIs to restore them to working order."
- req_access = list(access_captain, access_robotics, access_heads)
+ req_access = list(GLOB.access_captain, GLOB.access_robotics, GLOB.access_heads)
var/mob/living/silicon/ai/occupier = null
var/active = 0
circuit = /obj/item/weapon/circuitboard/computer/aifixer
diff --git a/code/game/machinery/computer/apc_control.dm b/code/game/machinery/computer/apc_control.dm
index 9ada010732..39bd31bdb7 100644
--- a/code/game/machinery/computer/apc_control.dm
+++ b/code/game/machinery/computer/apc_control.dm
@@ -3,7 +3,7 @@
desc = "Used to remotely control the flow of power to different parts of the station."
icon_screen = "solar"
icon_keyboard = "power_key"
- req_access = list(access_engine)
+ req_access = list(GLOB.access_engine)
circuit = /obj/item/weapon/circuitboard/computer/apc_control
light_color = LIGHT_COLOR_YELLOW
var/list/apcs //APCs the computer has access to
@@ -22,7 +22,7 @@
/obj/machinery/computer/apc_control/process()
apcs = list() //Clear the list every tick
- for(var/V in apcs_list)
+ for(var/V in GLOB.apcs_list)
var/obj/machinery/power/apc/APC = V
if(check_apc(APC))
apcs[APC.name] = APC
@@ -37,9 +37,11 @@
active_apc.update_icon()
active_apc = null
-/obj/machinery/computer/apc_control/attack_ai(mob/living/AI) //You already have APC access, cheater!
- AI << "[src] does not support AI control. "
- return
+/obj/machinery/computer/apc_control/attack_ai(mob/user)
+ if(!IsAdminGhost(user))
+ to_chat(user,"[src] does not support AI control. ") //You already have APC access, cheater!
+ return
+ ..(user)
/obj/machinery/computer/apc_control/proc/check_apc(obj/machinery/power/apc/APC)
return APC.z == z && !APC.malfhack && !APC.aidisabled && !APC.emagged && !APC.stat && !istype(APC.area, /area/ai_monitored) && !APC.area.outdoors
@@ -120,7 +122,7 @@
LAZYADD(logs, "-=- Logging restored to full functionality at this point -=- ")
if(href_list["access_apc"])
playsound(src, "terminal_type", 50, 0)
- var/obj/machinery/power/apc/APC = locate(href_list["access_apc"]) in apcs_list
+ var/obj/machinery/power/apc/APC = locate(href_list["access_apc"]) in GLOB.apcs_list
if(!APC || APC.aidisabled || APC.panel_open || QDELETED(APC))
to_chat(usr, "\icon[I] APC does not return interface request. Remote access may be disabled. ")
return
@@ -134,7 +136,7 @@
active_apc = null
to_chat(usr, "\icon[I] Connected to APC in [get_area(APC)]. Interface request sent. ")
log_activity("remotely accessed APC in [get_area(APC)]")
- APC.interact(usr, not_incapacitated_state)
+ APC.interact(usr, GLOB.not_incapacitated_state)
playsound(src, 'sound/machines/terminal_prompt_confirm.ogg', 50, 0)
message_admins("[key_name_admin(usr)] remotely accessed [APC] from [src] at [get_area(src)].")
log_game("[key_name_admin(usr)] remotely accessed [APC] from [src] at [get_area(src)].")
diff --git a/code/game/machinery/computer/arcade.dm b/code/game/machinery/computer/arcade.dm
index 3019528f8b..e401f7348d 100644
--- a/code/game/machinery/computer/arcade.dm
+++ b/code/game/machinery/computer/arcade.dm
@@ -34,7 +34,6 @@
/obj/item/toy/redbutton = 2,
/obj/item/toy/talking/owl = 2,
/obj/item/toy/talking/griffin = 2,
- /obj/item/toy/talking/skeleton = 2,
/obj/item/weapon/coin/antagtoken = 2,
/obj/item/stack/tile/fakespace/loaded = 2,
/obj/item/stack/tile/fakepit/loaded = 2,
@@ -48,6 +47,9 @@
light_color = LIGHT_COLOR_GREEN
+/obj/machinery/computer/arcade/proc/Reset()
+ return
+
/obj/machinery/computer/arcade/New()
..()
// If it's a generic arcade machine, pick a random arcade
@@ -74,8 +76,9 @@
"[src] dispenses a [prize]! ",
"You hear a chime and a clunk. ")
- prize.loc = src.loc
+ prize.loc = loc
#undef PULSE_MEDAL
+
/obj/machinery/computer/arcade/emp_act(severity)
..(severity)
@@ -91,8 +94,8 @@
num_of_prizes = rand(0,2)
for(var/i = num_of_prizes; i > 0; i--)
empprize = pickweight(prizes)
- new empprize(src.loc)
- explosion(src.loc, -1, 0, 1+num_of_prizes, flame_range = 1+num_of_prizes)
+ new empprize(loc)
+ explosion(loc, -1, 0, 1+num_of_prizes, flame_range = 1+num_of_prizes)
// ** BATTLE ** //
@@ -109,12 +112,11 @@
var/player_mp = 10
var/enemy_hp = 45 //Enemy health/attack points
var/enemy_mp = 20
- var/gameover = 0
- var/blocked = 0 //Player cannot attack/heal while set
+ var/gameover = FALSE
+ var/blocked = FALSE //Player cannot attack/heal while set
var/turtle = 0
-/obj/machinery/computer/arcade/battle/New()
- ..()
+/obj/machinery/computer/arcade/battle/Reset()
var/name_action
var/name_part1
var/name_part2
@@ -124,20 +126,20 @@
name_part1 = pick("the Automatic ", "Farmer ", "Lord ", "Professor ", "the Cuban ", "the Evil ", "the Dread King ", "the Space ", "Lord ", "the Great ", "Duke ", "General ")
name_part2 = pick("Melonoid", "Murdertron", "Sorcerer", "Ruin", "Jeff", "Ectoplasm", "Crushulon", "Uhangoid", "Vhakoid", "Peteoid", "slime", "Griefer", "ERPer", "Lizard Man", "Unicorn", "Bloopers")
- src.enemy_name = replacetext((name_part1 + name_part2), "the ", "")
- src.name = (name_action + name_part1 + name_part2)
+ enemy_name = replacetext((name_part1 + name_part2), "the ", "")
+ name = (name_action + name_part1 + name_part2)
/obj/machinery/computer/arcade/battle/attack_hand(mob/user)
if(..())
return
user.set_machine(src)
var/dat = "Close "
- dat += "[src.enemy_name] "
+ dat += "[enemy_name] "
- dat += "[src.temp] "
- dat += "Health: [src.player_hp] | Magic: [src.player_mp] | Enemy Health: [src.enemy_hp] "
+ dat += "[temp] "
+ dat += "Health: [player_hp] | Magic: [player_mp] | Enemy Health: [enemy_hp] "
- if (src.gameover)
+ if (gameover)
dat += "New Game "
else
dat += "Attack | "
@@ -147,7 +149,7 @@
dat += " "
var/datum/browser/popup = new(user, "arcade", "Space Villian 2000")
popup.set_content(dat)
- popup.set_title_image(user.browse_rsc_icon(src.icon, src.icon_state))
+ popup.set_title_image(user.browse_rsc_icon(icon, icon_state))
popup.open()
return
@@ -155,48 +157,48 @@
if(..())
return
- if (!src.blocked && !src.gameover)
+ if (!blocked && !gameover)
if (href_list["attack"])
- src.blocked = 1
+ blocked = TRUE
var/attackamt = rand(2,6)
- src.temp = "You attack for [attackamt] damage!"
- playsound(src.loc, 'sound/arcade/Hit.ogg', 50, 1, extrarange = -3, falloff = 10)
- src.updateUsrDialog()
+ temp = "You attack for [attackamt] damage!"
+ playsound(loc, 'sound/arcade/Hit.ogg', 50, 1, extrarange = -3, falloff = 10)
+ updateUsrDialog()
if(turtle > 0)
turtle--
sleep(10)
- src.enemy_hp -= attackamt
- src.arcade_action()
+ enemy_hp -= attackamt
+ arcade_action()
else if (href_list["heal"])
- src.blocked = 1
+ blocked = TRUE
var/pointamt = rand(1,3)
var/healamt = rand(6,8)
- src.temp = "You use [pointamt] magic to heal for [healamt] damage!"
- playsound(src.loc, 'sound/arcade/Heal.ogg', 50, 1, extrarange = -3, falloff = 10)
- src.updateUsrDialog()
+ temp = "You use [pointamt] magic to heal for [healamt] damage!"
+ playsound(loc, 'sound/arcade/Heal.ogg', 50, 1, extrarange = -3, falloff = 10)
+ updateUsrDialog()
turtle++
sleep(10)
- src.player_mp -= pointamt
- src.player_hp += healamt
- src.blocked = 1
- src.updateUsrDialog()
- src.arcade_action()
+ player_mp -= pointamt
+ player_hp += healamt
+ blocked = TRUE
+ updateUsrDialog()
+ arcade_action()
else if (href_list["charge"])
- src.blocked = 1
+ blocked = 1
var/chargeamt = rand(4,7)
- src.temp = "You regain [chargeamt] points"
- playsound(src.loc, 'sound/arcade/Mana.ogg', 50, 1, extrarange = -3, falloff = 10)
- src.player_mp += chargeamt
+ temp = "You regain [chargeamt] points"
+ playsound(loc, 'sound/arcade/Mana.ogg', 50, 1, extrarange = -3, falloff = 10)
+ player_mp += chargeamt
if(turtle > 0)
turtle--
- src.updateUsrDialog()
+ updateUsrDialog()
sleep(10)
- src.arcade_action()
+ arcade_action()
if (href_list["close"])
usr.unset_machine()
@@ -208,31 +210,31 @@
player_mp = 10
enemy_hp = 45
enemy_mp = 20
- gameover = 0
+ gameover = FALSE
turtle = 0
if(emagged)
- src.New()
+ Reset()
emagged = 0
- src.add_fingerprint(usr)
- src.updateUsrDialog()
+ add_fingerprint(usr)
+ updateUsrDialog()
return
/obj/machinery/computer/arcade/battle/proc/arcade_action()
- if ((src.enemy_mp <= 0) || (src.enemy_hp <= 0))
+ if ((enemy_mp <= 0) || (enemy_hp <= 0))
if(!gameover)
- src.gameover = 1
- src.temp = "[src.enemy_name] has fallen! Rejoice!"
- playsound(src.loc, 'sound/arcade/Win.ogg', 50, 1, extrarange = -3, falloff = 10)
+ gameover = TRUE
+ temp = "[enemy_name] has fallen! Rejoice!"
+ playsound(loc, 'sound/arcade/Win.ogg', 50, 1, extrarange = -3, falloff = 10)
if(emagged)
feedback_inc("arcade_win_emagged")
- new /obj/effect/spawner/newbomb/timer/syndicate(src.loc)
- new /obj/item/clothing/head/collectable/petehat(src.loc)
+ new /obj/effect/spawner/newbomb/timer/syndicate(loc)
+ new /obj/item/clothing/head/collectable/petehat(loc)
message_admins("[key_name_admin(usr)] has outbombed Cuban Pete and been awarded a bomb.")
log_game("[key_name(usr)] has outbombed Cuban Pete and been awarded a bomb.")
- src.New()
+ Reset()
emagged = 0
else
feedback_inc("arcade_win_normal")
@@ -240,51 +242,51 @@
else if (emagged && (turtle >= 4))
var/boomamt = rand(5,10)
- src.temp = "[src.enemy_name] throws a bomb, exploding you for [boomamt] damage!"
- playsound(src.loc, 'sound/arcade/Boom.ogg', 50, 1, extrarange = -3, falloff = 10)
- src.player_hp -= boomamt
+ temp = "[enemy_name] throws a bomb, exploding you for [boomamt] damage!"
+ playsound(loc, 'sound/arcade/Boom.ogg', 50, 1, extrarange = -3, falloff = 10)
+ player_hp -= boomamt
- else if ((src.enemy_mp <= 5) && (prob(70)))
+ else if ((enemy_mp <= 5) && (prob(70)))
var/stealamt = rand(2,3)
- src.temp = "[src.enemy_name] steals [stealamt] of your power!"
- playsound(src.loc, 'sound/arcade/Steal.ogg', 50, 1, extrarange = -3, falloff = 10)
- src.player_mp -= stealamt
- src.updateUsrDialog()
+ temp = "[enemy_name] steals [stealamt] of your power!"
+ playsound(loc, 'sound/arcade/Steal.ogg', 50, 1, extrarange = -3, falloff = 10)
+ player_mp -= stealamt
+ updateUsrDialog()
- if (src.player_mp <= 0)
- src.gameover = 1
+ if (player_mp <= 0)
+ gameover = TRUE
sleep(10)
- src.temp = "You have been drained! GAME OVER"
- playsound(src.loc, 'sound/arcade/Lose.ogg', 50, 1, extrarange = -3, falloff = 10)
+ temp = "You have been drained! GAME OVER"
+ playsound(loc, 'sound/arcade/Lose.ogg', 50, 1, extrarange = -3, falloff = 10)
if(emagged)
feedback_inc("arcade_loss_mana_emagged")
usr.gib()
else
feedback_inc("arcade_loss_mana_normal")
- else if ((src.enemy_hp <= 10) && (src.enemy_mp > 4))
- src.temp = "[src.enemy_name] heals for 4 health!"
- playsound(src.loc, 'sound/arcade/Heal.ogg', 50, 1, extrarange = -3, falloff = 10)
- src.enemy_hp += 4
- src.enemy_mp -= 4
+ else if ((enemy_hp <= 10) && (enemy_mp > 4))
+ temp = "[enemy_name] heals for 4 health!"
+ playsound(loc, 'sound/arcade/Heal.ogg', 50, 1, extrarange = -3, falloff = 10)
+ enemy_hp += 4
+ enemy_mp -= 4
else
var/attackamt = rand(3,6)
- src.temp = "[src.enemy_name] attacks for [attackamt] damage!"
- playsound(src.loc, 'sound/arcade/Hit.ogg', 50, 1, extrarange = -3, falloff = 10)
- src.player_hp -= attackamt
+ temp = "[enemy_name] attacks for [attackamt] damage!"
+ playsound(loc, 'sound/arcade/Hit.ogg', 50, 1, extrarange = -3, falloff = 10)
+ player_hp -= attackamt
- if ((src.player_mp <= 0) || (src.player_hp <= 0))
- src.gameover = 1
- src.temp = "You have been crushed! GAME OVER"
- playsound(src.loc, 'sound/arcade/Lose.ogg', 50, 1, extrarange = -3, falloff = 10)
+ if ((player_mp <= 0) || (player_hp <= 0))
+ gameover = TRUE
+ temp = "You have been crushed! GAME OVER"
+ playsound(loc, 'sound/arcade/Lose.ogg', 50, 1, extrarange = -3, falloff = 10)
if(emagged)
feedback_inc("arcade_loss_hp_emagged")
usr.gib()
else
feedback_inc("arcade_loss_hp_normal")
- src.blocked = 0
+ blocked = FALSE
return
@@ -295,16 +297,16 @@
player_mp = 10
enemy_hp = 45
enemy_mp = 20
- gameover = 0
- blocked = 0
+ gameover = FALSE
+ blocked = FALSE
- emagged = 1
+ emagged = TRUE
enemy_name = "Cuban Pete"
name = "Outbomb Cuban Pete"
- src.updateUsrDialog()
+ updateUsrDialog()
@@ -363,8 +365,7 @@
var/gameStatus = ORION_STATUS_START
var/canContinueEvent = 0
-/obj/machinery/computer/arcade/orion_trail/New()
- ..()
+/obj/machinery/computer/arcade/orion_trail/Reset()
// Sets up the main trail
stops = list("Pluto","Asteroid Belt","Proxima Centauri","Dead Space","Rigel Prime","Tau Ceti Beta","Black Hole","Space Outpost Beta-9","Orion Prime")
stopblurbs = list(
@@ -462,7 +463,7 @@
dat += "Close
"
var/datum/browser/popup = new(user, "arcade", "The Orion Trail",400,700)
popup.set_content(dat)
- popup.set_title_image(user.browse_rsc_icon(src.icon, src.icon_state))
+ popup.set_title_image(user.browse_rsc_icon(icon, icon_state))
popup.open()
return
@@ -522,12 +523,12 @@
M.Weaken(3)
say("A sudden gust of powerful wind slams [M] into the floor!")
M.take_bodypart_damage(25)
- playsound(src.loc, 'sound/weapons/Genhit.ogg', 100, 1)
+ playsound(loc, 'sound/weapons/Genhit.ogg', 100, 1)
else
to_chat(M, "A violent gale blows past you, and you barely manage to stay standing! ")
if(ORION_TRAIL_COLLISION) //by far the most damaging event
if(prob(90))
- playsound(src.loc, 'sound/effects/bang.ogg', 100, 1)
+ playsound(loc, 'sound/effects/bang.ogg', 100, 1)
var/turf/open/floor/F
for(F in orange(1, src))
F.ChangeTurf(F.baseturf)
@@ -535,16 +536,16 @@
if(hull)
sleep(10)
say("A new floor suddenly appears around [src]. What the hell?")
- playsound(src.loc, 'sound/weapons/Genhit.ogg', 100, 1)
+ playsound(loc, 'sound/weapons/Genhit.ogg', 100, 1)
var/turf/open/space/T
for(T in orange(1, src))
T.ChangeTurf(/turf/open/floor/plating/)
else
say("Something slams into the floor around [src] - luckily, it didn't get through!")
- playsound(src.loc, 'sound/effects/bang.ogg', 50, 1)
+ playsound(loc, 'sound/effects/bang.ogg', 50, 1)
if(ORION_TRAIL_MALFUNCTION)
- playsound(src.loc, 'sound/effects/EMPulse.ogg', 50, 1)
- src.visible_message("[src] malfunctions, randomizing in-game stats! ")
+ playsound(loc, 'sound/effects/EMPulse.ogg', 50, 1)
+ visible_message("[src] malfunctions, randomizing in-game stats! ")
var/oldfood = food
var/oldfuel = fuel
food = rand(10,80) / rand(1,2)
@@ -552,12 +553,12 @@
if(electronics)
sleep(10)
if(oldfuel > fuel && oldfood > food)
- src.audible_message("[src] lets out a somehow reassuring chime. ")
+ audible_message("[src] lets out a somehow reassuring chime. ")
else if(oldfuel < fuel || oldfood < food)
- src.audible_message("[src] lets out a somehow ominous chime. ")
+ audible_message("[src] lets out a somehow ominous chime. ")
food = oldfood
fuel = oldfuel
- playsound(src.loc, 'sound/machines/chime.ogg', 50, 1)
+ playsound(loc, 'sound/machines/chime.ogg', 50, 1)
else if(href_list["newgame"]) //Reset everything
if(gameStatus == ORION_STATUS_START)
@@ -609,7 +610,7 @@
event = ORION_TRAIL_BLACKHOLE
event()
if(emagged) //has to be here because otherwise it doesn't work
- playsound(src.loc, 'sound/effects/supermatter.ogg', 100, 1)
+ playsound(loc, 'sound/effects/supermatter.ogg', 100, 1)
say("A miniature black hole suddenly appears in front of [src], devouring [usr] alive!")
usr.Stun(10) //you can't run :^)
var/S = new /obj/singularity/academy(usr.loc)
@@ -743,8 +744,8 @@
last_spaceport_action = "Traded Food for Fuel"
event()
- src.add_fingerprint(usr)
- src.updateUsrDialog()
+ add_fingerprint(usr)
+ updateUsrDialog()
busy = 0
return
@@ -990,9 +991,9 @@
newcrew = specific
else
if(prob(50))
- newcrew = pick(first_names_male)
+ newcrew = pick(GLOB.first_names_male)
else
- newcrew = pick(first_names_female)
+ newcrew = pick(GLOB.first_names_female)
if(newcrew)
settlers += newcrew
alive++
@@ -1022,7 +1023,7 @@
gameStatus = ORION_STATUS_START
say("Congratulations, you made it to Orion!")
if(emagged)
- new /obj/item/weapon/orion_ship(src.loc)
+ new /obj/item/weapon/orion_ship(loc)
message_admins("[key_name_admin(usr)] made it to Orion on an emagged machine and got an explosive toy ship.")
log_game("[key_name(usr)] made it to Orion on an emagged machine and got an explosive toy ship.")
else
@@ -1059,7 +1060,7 @@
back = /obj/item/weapon/storage/backpack
has_id = 1
id_job = "Officer"
- id_access_list = list(access_syndicate)
+ id_access_list = list(GLOB.access_syndicate)
/obj/item/weapon/orion_ship
name = "model settler ship"
@@ -1087,18 +1088,18 @@
to_chat(user, "You flip the switch on the underside of [src]. ")
active = 1
- src.visible_message("[src] softly beeps and whirs to life! ")
- playsound(src.loc, 'sound/machines/defib_SaftyOn.ogg', 25, 1)
+ visible_message("[src] softly beeps and whirs to life! ")
+ playsound(loc, 'sound/machines/defib_SaftyOn.ogg', 25, 1)
say("This is ship ID #[rand(1,1000)] to Orion Port Authority. We're coming in for landing, over.")
sleep(20)
- src.visible_message("[src] begins to vibrate... ")
+ visible_message("[src] begins to vibrate... ")
say("Uh, Port? Having some issues with our reactor, could you check it out? Over.")
sleep(30)
say("Oh, God! Code Eight! CODE EIGHT! IT'S GONNA BL-")
- playsound(src.loc, 'sound/machines/buzz-sigh.ogg', 25, 1)
+ playsound(loc, 'sound/machines/buzz-sigh.ogg', 25, 1)
sleep(3.6)
- src.visible_message("[src] explodes! ")
- explosion(src.loc, 2,4,8, flame_range = 16)
+ visible_message("[src] explodes! ")
+ explosion(loc, 2,4,8, flame_range = 16)
qdel(src)
diff --git a/code/game/machinery/computer/atmos_alert.dm b/code/game/machinery/computer/atmos_alert.dm
index bb73d75467..15959253ee 100644
--- a/code/game/machinery/computer/atmos_alert.dm
+++ b/code/game/machinery/computer/atmos_alert.dm
@@ -21,7 +21,7 @@
return ..()
/obj/machinery/computer/atmos_alert/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)
+ datum/tgui/master_ui = null, datum/ui_state/state = GLOB.default_state)
ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open)
if(!ui)
ui = new(user, src, ui_key, "atmos_alert", name, 350, 300, master_ui, state)
@@ -58,7 +58,7 @@
/obj/machinery/computer/atmos_alert/proc/set_frequency(new_frequency)
SSradio.remove_object(src, receive_frequency)
receive_frequency = new_frequency
- radio_connection = SSradio.add_object(src, receive_frequency, RADIO_ATMOSIA)
+ radio_connection = SSradio.add_object(src, receive_frequency, GLOB.RADIO_ATMOSIA)
/obj/machinery/computer/atmos_alert/receive_signal(datum/signal/signal)
if(!signal || signal.encryption) return
diff --git a/code/game/machinery/computer/atmos_control.dm b/code/game/machinery/computer/atmos_control.dm
index bccb99dfdd..0955d1e76b 100644
--- a/code/game/machinery/computer/atmos_control.dm
+++ b/code/game/machinery/computer/atmos_control.dm
@@ -37,13 +37,13 @@
var/gas_name = air_sample.gases[gas_id][GAS_META][META_GAS_NAME]
signal.data["gases"][gas_name] = air_sample.gases[gas_id][MOLES] / total_moles * 100
- radio_connection.post_signal(src, signal, filter = RADIO_ATMOSIA)
+ radio_connection.post_signal(src, signal, filter = GLOB.RADIO_ATMOSIA)
/obj/machinery/air_sensor/proc/set_frequency(new_frequency)
SSradio.remove_object(src, frequency)
frequency = new_frequency
- radio_connection = SSradio.add_object(src, frequency, RADIO_ATMOSIA)
+ radio_connection = SSradio.add_object(src, frequency, GLOB.RADIO_ATMOSIA)
/obj/machinery/air_sensor/Initialize()
..()
@@ -94,7 +94,7 @@
return ..()
/obj/machinery/computer/atmos_control/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)
+ datum/tgui/master_ui = null, datum/ui_state/state = GLOB.default_state)
ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open)
if(!ui)
ui = new(user, src, ui_key, "atmos_control", name, 400, 925, master_ui, state)
@@ -131,7 +131,7 @@
/obj/machinery/computer/atmos_control/proc/set_frequency(new_frequency)
SSradio.remove_object(src, frequency)
frequency = new_frequency
- radio_connection = SSradio.add_object(src, frequency, RADIO_ATMOSIA)
+ radio_connection = SSradio.add_object(src, frequency, GLOB.RADIO_ATMOSIA)
/////////////////////////////////////////////////////////////
// LARGE TANK CONTROL
@@ -177,7 +177,7 @@
U.broadcast_status()
/obj/machinery/computer/atmos_control/tank/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)
+ datum/tgui/master_ui = null, datum/ui_state/state = GLOB.default_state)
ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open)
if(!ui)
ui = new(user, src, ui_key, "atmos_control", name, 500, 305, master_ui, state)
@@ -211,12 +211,12 @@
signal.data += list("tag" = output_tag, "power_toggle" = TRUE)
. = TRUE
if("pressure")
- var/target = input("New target pressure:", name, output_info["internal"]) as num|null
+ var/target = input("New target pressure:", name, output_info ? output_info["internal"] : 0) as num|null
if(!isnull(target) && !..())
target = Clamp(target, 0, 50 * ONE_ATMOSPHERE)
signal.data += list("tag" = output_tag, "set_internal_pressure" = target)
. = TRUE
- radio_connection.post_signal(src, signal, filter = RADIO_ATMOSIA)
+ radio_connection.post_signal(src, signal, filter = GLOB.RADIO_ATMOSIA)
/obj/machinery/computer/atmos_control/tank/receive_signal(datum/signal/signal)
if(!signal || signal.encryption)
diff --git a/code/game/machinery/computer/camera.dm b/code/game/machinery/computer/camera.dm
index 34c859280f..d4a0b7efa4 100644
--- a/code/game/machinery/computer/camera.dm
+++ b/code/game/machinery/computer/camera.dm
@@ -123,7 +123,7 @@
//returns the list of cameras accessible from this computer
/obj/machinery/computer/security/proc/get_available_cameras()
var/list/L = list()
- for (var/obj/machinery/camera/C in cameranet.cameras)
+ for (var/obj/machinery/camera/C in GLOB.cameranet.cameras)
if((z > ZLEVEL_SPACEMAX || C.z > ZLEVEL_SPACEMAX) && (C.z != z))//if on away mission, can only recieve feed from same z_level cameras
continue
L.Add(C)
diff --git a/code/game/machinery/computer/camera_advanced.dm b/code/game/machinery/computer/camera_advanced.dm
index e3bf9573c9..f0adeac226 100644
--- a/code/game/machinery/computer/camera_advanced.dm
+++ b/code/game/machinery/computer/camera_advanced.dm
@@ -3,6 +3,7 @@
desc = "Used to access the various cameras on the station."
icon_screen = "cameras"
icon_keyboard = "security_key"
+ var/z_lock = null // Lock use to this zlevel
var/mob/camera/aiEye/remote/eyeobj
var/mob/living/current_user = null
var/list/networks = list("SS13")
@@ -49,14 +50,14 @@
if(!eyeobj.eye_initialized)
var/camera_location
- for(var/obj/machinery/camera/C in cameranet.cameras)
- if(!C.can_use())
+ for(var/obj/machinery/camera/C in GLOB.cameranet.cameras)
+ if(!C.can_use() || z_lock && C.z != z_lock)
continue
- if(C.network&networks)
+ if(C.network & networks)
camera_location = get_turf(C)
break
if(camera_location)
- eyeobj.eye_initialized = 1
+ eyeobj.eye_initialized = TRUE
give_eye_control(L)
eyeobj.setLoc(camera_location)
else
@@ -79,6 +80,7 @@ obj/machinery/computer/camera_advanced/attack_ai(mob/user)
eyeobj.name = "Camera Eye ([user.name])"
user.remote_control = eyeobj
user.reset_perspective(eyeobj)
+ eyeobj.setLoc(eyeobj.loc)
/mob/camera/aiEye/remote
name = "Inactive Camera Eye"
@@ -107,7 +109,7 @@ obj/machinery/computer/camera_advanced/attack_ai(mob/user)
return
T = get_turf(T)
loc = T
- cameranet.visibility(src)
+ GLOB.cameranet.visibility(src)
if(visible_icon)
if(eye_user.client)
eye_user.client.images -= user_image
@@ -124,7 +126,7 @@ obj/machinery/computer/camera_advanced/attack_ai(mob/user)
for(var/i = 0; i < max(sprint, initial); i += 20)
var/turf/step = get_turf(get_step(src, direct))
if(step)
- src.setLoc(step)
+ setLoc(step)
cooldown = world.timeofday + 5
if(acceleration)
@@ -152,7 +154,7 @@ obj/machinery/computer/camera_advanced/attack_ai(mob/user)
C.client.images -= chunk.obscured
C.remote_control = null
C.unset_machine()
- src.Remove(C)
+ Remove(C)
playsound(remote_eye.origin, 'sound/machines/terminal_off.ogg', 25, 0)
/datum/action/innate/camera_jump
@@ -168,7 +170,9 @@ obj/machinery/computer/camera_advanced/attack_ai(mob/user)
var/list/L = list()
- for (var/obj/machinery/camera/cam in cameranet.cameras)
+ for (var/obj/machinery/camera/cam in GLOB.cameranet.cameras)
+ if(origin.z_lock && cam.z != origin.z_lock)
+ continue
L.Add(cam)
camera_sort(L)
@@ -176,10 +180,9 @@ obj/machinery/computer/camera_advanced/attack_ai(mob/user)
var/list/T = list()
for (var/obj/machinery/camera/netcam in L)
- var/list/tempnetwork = netcam.network&origin.networks
+ var/list/tempnetwork = netcam.network & origin.networks
if (tempnetwork.len)
- T[text("[][]", netcam.c_tag, (netcam.can_use() ? null : " (Deactivated)"))] = netcam
-
+ T["[netcam.c_tag][netcam.can_use() ? null : " (Deactivated)"]"] = netcam
playsound(origin, 'sound/machines/terminal_prompt.ogg', 25, 0)
var/camera = input("Choose which camera you want to view", "Cameras") as null|anything in T
diff --git a/code/game/machinery/computer/card.dm b/code/game/machinery/computer/card.dm
index 90d6fecd03..907d7b5a6d 100644
--- a/code/game/machinery/computer/card.dm
+++ b/code/game/machinery/computer/card.dm
@@ -2,14 +2,14 @@
//Keeps track of the time for the ID console. Having it as a global variable prevents people from dismantling/reassembling it to
//increase the slots of many jobs.
-var/time_last_changed_position = 0
+GLOBAL_VAR_INIT(time_last_changed_position, 0)
/obj/machinery/computer/card
name = "identification console"
desc = "You can use this to manage jobs and ID access."
icon_screen = "id"
icon_keyboard = "id_key"
- req_one_access = list(access_heads, access_change_ids)
+ req_one_access = list(GLOB.access_heads, GLOB.access_change_ids)
circuit = /obj/item/weapon/circuitboard/computer/card
var/obj/item/weapon/card/id/scan = null
var/obj/item/weapon/card/id/modify = null
@@ -107,8 +107,8 @@ var/time_last_changed_position = 0
/obj/machinery/computer/card/proc/can_open_job(datum/job/job)
if(job)
if(!job_blacklisted(job.title))
- if((job.total_positions <= player_list.len * (max_relative_positions / 100)))
- var/delta = (world.time / 10) - time_last_changed_position
+ if((job.total_positions <= GLOB.player_list.len * (max_relative_positions / 100)))
+ var/delta = (world.time / 10) - GLOB.time_last_changed_position
if((change_position_cooldown < delta) || (opened_positions[job.title] < 0))
return 1
return -2
@@ -120,7 +120,7 @@ var/time_last_changed_position = 0
if(job)
if(!job_blacklisted(job.title))
if(job.total_positions > job.current_positions)
- var/delta = (world.time / 10) - time_last_changed_position
+ var/delta = (world.time / 10) - GLOB.time_last_changed_position
if((change_position_cooldown < delta) || (opened_positions[job.title] > 0))
return 1
return -2
@@ -133,11 +133,11 @@ var/time_last_changed_position = 0
user.set_machine(src)
var/dat
- if(!ticker)
+ if(!SSticker)
return
if (mode == 1) // accessing crew manifest
var/crew = ""
- for(var/datum/data/record/t in sortRecord(data_core.general))
+ for(var/datum/data/record/t in sortRecord(GLOB.data_core.general))
crew += t.fields["name"] + " - " + t.fields["rank"] + " "
dat = "Crew Manifest: Please use security record computer to modify entries. [crew]Print Access ID modification console. "
@@ -154,7 +154,7 @@ var/time_last_changed_position = 0
dat += ""
dat += "Job Slots Open job Close job Prioritize "
var/ID
- if(scan && (access_change_ids in scan.access) && !target_dept)
+ if(scan && (GLOB.access_change_ids in scan.access) && !target_dept)
ID = 1
else
ID = 0
@@ -174,7 +174,7 @@ var/time_last_changed_position = 0
if(-1)
dat += "Denied"
if(-2)
- var/time_to_wait = round(change_position_cooldown - ((world.time / 10) - time_last_changed_position), 1)
+ var/time_to_wait = round(change_position_cooldown - ((world.time / 10) - GLOB.time_last_changed_position), 1)
var/mins = round(time_to_wait / 60)
var/seconds = time_to_wait - (60*mins)
dat += "Cooldown ongoing: [mins]:[(seconds < 10) ? "0[seconds]" : "[seconds]"]"
@@ -190,7 +190,7 @@ var/time_last_changed_position = 0
if(-1)
dat += "Denied"
if(-2)
- var/time_to_wait = round(change_position_cooldown - ((world.time / 10) - time_last_changed_position), 1)
+ var/time_to_wait = round(change_position_cooldown - ((world.time / 10) - GLOB.time_last_changed_position), 1)
var/mins = round(time_to_wait / 60)
var/seconds = time_to_wait - (60*mins)
dat += "Cooldown ongoing: [mins]:[(seconds < 10) ? "0[seconds]" : "[seconds]"]"
@@ -350,7 +350,7 @@ var/time_last_changed_position = 0
switch(href_list["choice"])
if ("modify")
if (modify)
- data_core.manifest_modify(modify.registered_name, modify.assignment)
+ GLOB.data_core.manifest_modify(modify.registered_name, modify.assignment)
modify.update_label()
modify.loc = loc
modify.verb_pickup()
@@ -388,7 +388,7 @@ var/time_last_changed_position = 0
if (check_access(scan))
region_access = list()
head_subordinates = list()
- if(access_change_ids in scan.access)
+ if(GLOB.access_change_ids in scan.access)
if(target_dept)
head_subordinates = get_all_jobs()
region_access |= target_dept
@@ -398,20 +398,20 @@ var/time_last_changed_position = 0
playsound(src, 'sound/machines/terminal_on.ogg', 50, 0)
else
- if((access_hop in scan.access) && ((target_dept==1) || !target_dept))
+ if((GLOB.access_hop in scan.access) && ((target_dept==1) || !target_dept))
region_access |= 1
region_access |= 6
get_subordinates("Head of Personnel")
- if((access_hos in scan.access) && ((target_dept==2) || !target_dept))
+ if((GLOB.access_hos in scan.access) && ((target_dept==2) || !target_dept))
region_access |= 2
get_subordinates("Head of Security")
- if((access_cmo in scan.access) && ((target_dept==3) || !target_dept))
+ if((GLOB.access_cmo in scan.access) && ((target_dept==3) || !target_dept))
region_access |= 3
get_subordinates("Chief Medical Officer")
- if((access_rd in scan.access) && ((target_dept==4) || !target_dept))
+ if((GLOB.access_rd in scan.access) && ((target_dept==4) || !target_dept))
region_access |= 4
get_subordinates("Research Director")
- if((access_ce in scan.access) && ((target_dept==5) || !target_dept))
+ if((GLOB.access_ce in scan.access) && ((target_dept==5) || !target_dept))
region_access |= 5
get_subordinates("Chief Engineer")
if(region_access)
@@ -488,7 +488,7 @@ var/time_last_changed_position = 0
if("make_job_available")
// MAKE ANOTHER JOB POSITION AVAILABLE FOR LATE JOINERS
- if(scan && (access_change_ids in scan.access) && !target_dept)
+ if(scan && (GLOB.access_change_ids in scan.access) && !target_dept)
var/edit_job_target = href_list["job"]
var/datum/job/j = SSjob.GetJob(edit_job_target)
if(!j)
@@ -496,14 +496,14 @@ var/time_last_changed_position = 0
if(can_open_job(j) != 1)
return 0
if(opened_positions[edit_job_target] >= 0)
- time_last_changed_position = world.time / 10
+ GLOB.time_last_changed_position = world.time / 10
j.total_positions++
opened_positions[edit_job_target]++
playsound(src, 'sound/machines/terminal_prompt_confirm.ogg', 50, 0)
if("make_job_unavailable")
// MAKE JOB POSITION UNAVAILABLE FOR LATE JOINERS
- if(scan && (access_change_ids in scan.access) && !target_dept)
+ if(scan && (GLOB.access_change_ids in scan.access) && !target_dept)
var/edit_job_target = href_list["job"]
var/datum/job/j = SSjob.GetJob(edit_job_target)
if(!j)
@@ -512,14 +512,14 @@ var/time_last_changed_position = 0
return 0
//Allow instant closing without cooldown if a position has been opened before
if(opened_positions[edit_job_target] <= 0)
- time_last_changed_position = world.time / 10
+ GLOB.time_last_changed_position = world.time / 10
j.total_positions--
opened_positions[edit_job_target]--
playsound(src, 'sound/machines/terminal_prompt_deny.ogg', 50, 0)
if ("prioritize_job")
// TOGGLE WHETHER JOB APPEARS AS PRIORITIZED IN THE LOBBY
- if(scan && (access_change_ids in scan.access) && !target_dept)
+ if(scan && (GLOB.access_change_ids in scan.access) && !target_dept)
var/priority_target = href_list["job"]
var/datum/job/j = SSjob.GetJob(priority_target)
if(!j)
@@ -541,7 +541,7 @@ var/time_last_changed_position = 0
sleep(50)
var/obj/item/weapon/paper/P = new /obj/item/weapon/paper( loc )
var/t1 = "Crew Manifest: "
- for(var/datum/data/record/t in sortRecord(data_core.general))
+ for(var/datum/data/record/t in sortRecord(GLOB.data_core.general))
t1 += t.fields["name"] + " - " + t.fields["rank"] + " "
P.info = t1
P.name = "paper- 'Crew Manifest'"
@@ -560,7 +560,7 @@ var/time_last_changed_position = 0
/obj/machinery/computer/card/centcom
name = "\improper Centcom identification console"
circuit = /obj/item/weapon/circuitboard/computer/card/centcom
- req_access = list(access_cent_captain)
+ req_access = list(GLOB.access_cent_captain)
/obj/machinery/computer/card/minor
name = "department management console"
diff --git a/code/game/machinery/computer/cloning.dm b/code/game/machinery/computer/cloning.dm
index 222c628ec7..afa054428a 100644
--- a/code/game/machinery/computer/cloning.dm
+++ b/code/game/machinery/computer/cloning.dm
@@ -5,7 +5,7 @@
icon_screen = "dna"
icon_keyboard = "med_key"
circuit = /obj/item/weapon/circuitboard/computer/cloning
- req_access = list(access_heads) //Only used for record deletion right now.
+ req_access = list(GLOB.access_heads) //Only used for record deletion right now.
var/obj/machinery/dna_scannernew/scanner = null //Linked scanner. For scanning.
var/list/pods //Linked cloning pods
var/temp = "Inactive"
diff --git a/code/game/machinery/computer/communications.dm b/code/game/machinery/computer/communications.dm
index 7247288466..5af4f9c281 100644
--- a/code/game/machinery/computer/communications.dm
+++ b/code/game/machinery/computer/communications.dm
@@ -1,12 +1,10 @@
-var/const/CALL_SHUTTLE_REASON_LENGTH = 12
-
// The communications computer
/obj/machinery/computer/communications
name = "communications console"
desc = "This can be used for various important functions. Still under developement."
icon_screen = "comm"
icon_keyboard = "tech_key"
- req_access = list(access_heads)
+ req_access = list(GLOB.access_heads)
circuit = /obj/item/weapon/circuitboard/computer/communications
var/authenticated = 0
var/auth_id = "Unknown" //Who is currently logged in?
@@ -44,7 +42,7 @@ var/const/CALL_SHUTTLE_REASON_LENGTH = 12
return TRUE
/obj/machinery/computer/communications/New()
- shuttle_caller_list += src
+ GLOB.shuttle_caller_list += src
..()
/obj/machinery/computer/communications/process()
@@ -103,19 +101,19 @@ var/const/CALL_SHUTTLE_REASON_LENGTH = 12
var/obj/item/device/pda/pda = I
I = pda.id
if (I && istype(I))
- if(access_captain in I.access)
- var/old_level = security_level
+ if(GLOB.access_captain in I.access)
+ var/old_level = GLOB.security_level
if(!tmp_alertlevel) tmp_alertlevel = SEC_LEVEL_GREEN
if(tmp_alertlevel < SEC_LEVEL_GREEN) tmp_alertlevel = SEC_LEVEL_GREEN
if(tmp_alertlevel > SEC_LEVEL_BLUE) tmp_alertlevel = SEC_LEVEL_BLUE //Cannot engage delta with this
set_security_level(tmp_alertlevel)
- if(security_level != old_level)
+ if(GLOB.security_level != old_level)
to_chat(usr, "Authorization confirmed. Modifying security level. ")
playsound(src, 'sound/machines/terminal_prompt_confirm.ogg', 50, 0)
//Only notify the admins if an actual change happened
log_game("[key_name(usr)] has changed the security level to [get_security_level()].")
message_admins("[key_name_admin(usr)] has changed the security level to [get_security_level()].")
- switch(security_level)
+ switch(GLOB.security_level)
if(SEC_LEVEL_GREEN)
feedback_inc("alert_comms_green",1)
if(SEC_LEVEL_BLUE)
@@ -168,7 +166,7 @@ var/const/CALL_SHUTTLE_REASON_LENGTH = 12
to_chat(usr, "You have not met the requirements for purchasing this shuttle.")
else
if(SSshuttle.points >= S.credit_cost)
- var/obj/machinery/shuttle_manipulator/M = locate() in machines
+ var/obj/machinery/shuttle_manipulator/M = locate() in GLOB.machines
if(M)
SSshuttle.shuttle_purchased = TRUE
M.unload_preview()
@@ -359,16 +357,16 @@ var/const/CALL_SHUTTLE_REASON_LENGTH = 12
if("ai-securitylevel")
src.tmp_alertlevel = text2num( href_list["newalertlevel"] )
if(!tmp_alertlevel) tmp_alertlevel = 0
- var/old_level = security_level
+ var/old_level = GLOB.security_level
if(!tmp_alertlevel) tmp_alertlevel = SEC_LEVEL_GREEN
if(tmp_alertlevel < SEC_LEVEL_GREEN) tmp_alertlevel = SEC_LEVEL_GREEN
if(tmp_alertlevel > SEC_LEVEL_BLUE) tmp_alertlevel = SEC_LEVEL_BLUE //Cannot engage delta with this
set_security_level(tmp_alertlevel)
- if(security_level != old_level)
+ if(GLOB.security_level != old_level)
//Only notify the admins if an actual change happened
log_game("[key_name(usr)] has changed the security level to [get_security_level()].")
message_admins("[key_name_admin(usr)] has changed the security level to [get_security_level()].")
- switch(security_level)
+ switch(GLOB.security_level)
if(SEC_LEVEL_GREEN)
feedback_inc("alert_comms_green",1)
if(SEC_LEVEL_BLUE)
@@ -509,7 +507,7 @@ var/const/CALL_SHUTTLE_REASON_LENGTH = 12
playsound(src, 'sound/machines/terminal_prompt_confirm.ogg', 50, 0)
if(STATE_ALERT_LEVEL)
dat += "Current alert level: [get_security_level()] "
- if(security_level == SEC_LEVEL_DELTA)
+ if(GLOB.security_level == SEC_LEVEL_DELTA)
dat += "The self-destruct mechanism is active. Find a way to deactivate the mechanism to lower the alert level or evacuate. "
else
dat += "Blue "
@@ -520,7 +518,7 @@ var/const/CALL_SHUTTLE_REASON_LENGTH = 12
dat += "Swipe ID to confirm change. "
if(STATE_TOGGLE_EMERGENCY)
playsound(src, 'sound/machines/terminal_prompt.ogg', 50, 0)
- if(emergency_access == 1)
+ if(GLOB.emergency_access == 1)
dat += "Emergency Maintenance Access is currently ENABLED "
dat += " Restore maintenance access restrictions? \[ OK | Cancel \]"
else
@@ -640,14 +638,14 @@ var/const/CALL_SHUTTLE_REASON_LENGTH = 12
if(STATE_ALERT_LEVEL)
dat += "Current alert level: [get_security_level()] "
- if(security_level == SEC_LEVEL_DELTA)
+ if(GLOB.security_level == SEC_LEVEL_DELTA)
dat += "The self-destruct mechanism is active. Find a way to deactivate the mechanism to lower the alert level or evacuate. "
else
dat += "Blue "
dat += "Green "
if(STATE_TOGGLE_EMERGENCY)
- if(emergency_access == 1)
+ if(GLOB.emergency_access == 1)
dat += "Emergency Maintenance Access is currently ENABLED "
dat += " Restore maintenance access restrictions? \[ OK | Cancel \]"
else
@@ -688,7 +686,7 @@ var/const/CALL_SHUTTLE_REASON_LENGTH = 12
/obj/machinery/computer/communications/Destroy()
- shuttle_caller_list -= src
+ GLOB.shuttle_caller_list -= src
SSshuttle.autoEvac()
return ..()
diff --git a/code/game/machinery/computer/crew.dm b/code/game/machinery/computer/crew.dm
index de65c1bed2..1d331051e6 100644
--- a/code/game/machinery/computer/crew.dm
+++ b/code/game/machinery/computer/crew.dm
@@ -7,27 +7,22 @@
idle_power_usage = 250
active_power_usage = 500
circuit = /obj/item/weapon/circuitboard/computer/crew
- var/monitor = null //For VV debugging purposes
light_color = LIGHT_COLOR_BLUE
-/obj/machinery/computer/crew/New()
- monitor = crewmonitor
- return ..()
-
/obj/machinery/computer/crew/attack_ai(mob/user)
if(stat & (BROKEN|NOPOWER))
return
- crewmonitor.show(user)
+ GLOB.crewmonitor.show(user)
/obj/machinery/computer/crew/attack_hand(mob/user)
if(..())
return
if(stat & (BROKEN|NOPOWER))
return
- crewmonitor.show(user)
+ GLOB.crewmonitor.show(user)
-var/global/datum/crewmonitor/crewmonitor = new
+GLOBAL_DATUM_INIT(crewmonitor, /datum/crewmonitor, new)
/datum/crewmonitor
var/list/jobs
@@ -151,7 +146,7 @@ var/global/datum/crewmonitor/crewmonitor = new
var/pos_y
var/life_status
- for(var/mob/living/carbon/human/H in mob_list)
+ for(var/mob/living/carbon/human/H in GLOB.mob_list)
// Check if their z-level is correct and if they are wearing a uniform.
// Accept H.z==0 as well in case the mob is inside an object.
if ((H.z == 0 || H.z == z) && istype(H.w_uniform, /obj/item/clothing/under))
@@ -256,15 +251,15 @@ var/global/datum/crewmonitor/crewmonitor = new
. = ..()
- if (old_z != src.z) crewmonitor.queueUpdate(old_z)
- crewmonitor.queueUpdate(src.z)
+ if (old_z != src.z) GLOB.crewmonitor.queueUpdate(old_z)
+ GLOB.crewmonitor.queueUpdate(src.z)
else
return ..()
/datum/crewmonitor/proc/queueUpdate(z)
- addtimer(CALLBACK(crewmonitor, .proc/update, z), 5, TIMER_UNIQUE)
+ addtimer(CALLBACK(src, .proc/update, z), 5, TIMER_UNIQUE)
/datum/crewmonitor/proc/sendResources(var/client/client)
send_asset(client, "crewmonitor.js")
send_asset(client, "crewmonitor.css")
- SSminimap.send(client)
\ No newline at end of file
+ SSminimap.send(client)
diff --git a/code/game/machinery/computer/dna_console.dm b/code/game/machinery/computer/dna_console.dm
index a100f16184..4837e64e89 100644
--- a/code/game/machinery/computer/dna_console.dm
+++ b/code/game/machinery/computer/dna_console.dm
@@ -401,12 +401,12 @@
if(buffer_slot["SE"])
I = new /obj/item/weapon/dnainjector/timed(loc)
var/powers = 0
- for(var/datum/mutation/human/HM in good_mutations + bad_mutations + not_good_mutations)
+ for(var/datum/mutation/human/HM in GLOB.good_mutations + GLOB.bad_mutations + GLOB.not_good_mutations)
if(HM.check_block_string(buffer_slot["SE"]))
I.add_mutations.Add(HM)
- if(HM in good_mutations)
+ if(HM in GLOB.good_mutations)
powers += 1
- if(HM in bad_mutations + not_good_mutations)
+ if(HM in GLOB.bad_mutations + GLOB.not_good_mutations)
powers -= 1 //To prevent just unlocking everything to get all powers to a syringe for max tech
else
I.remove_mutations.Add(HM)
diff --git a/code/game/machinery/computer/gulag_teleporter.dm b/code/game/machinery/computer/gulag_teleporter.dm
index b9dc410e57..60376d4ead 100644
--- a/code/game/machinery/computer/gulag_teleporter.dm
+++ b/code/game/machinery/computer/gulag_teleporter.dm
@@ -4,7 +4,7 @@
desc = "Used to send criminals to the Labor Camp"
icon_screen = "explosive"
icon_keyboard = "security_key"
- req_access = list(access_armory)
+ req_access = list(GLOB.access_armory)
circuit = /obj/item/weapon/circuitboard/computer/gulag_teleporter_console
var/default_goal = 200
var/obj/item/weapon/card/id/prisoner/id = null
@@ -38,7 +38,7 @@
return ..()
/obj/machinery/computer/gulag_teleporter_computer/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)
+ datum/tgui/master_ui = null, datum/ui_state/state = GLOB.default_state)
ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open)
if(!ui)
ui = new(user, src, ui_key, "gulag_console", name, 455, 440, master_ui, state)
@@ -55,8 +55,8 @@
prisoner_list["name"] = prisoner.real_name
if(id)
can_teleport = TRUE
- if(!isnull(data_core.general))
- for(var/r in data_core.security)
+ if(!isnull(GLOB.data_core.general))
+ for(var/r in GLOB.data_core.security)
var/datum/data/record/R = r
if(R.fields["name"] == prisoner_list["name"])
temporary_record = R
@@ -135,7 +135,7 @@
/obj/machinery/computer/gulag_teleporter_computer/proc/findteleporter()
var/obj/machinery/gulag_teleporter/teleporterf = null
- for(dir in cardinal)
+ for(dir in GLOB.cardinal)
teleporterf = locate(/obj/machinery/gulag_teleporter, get_step(src, dir))
if(teleporterf && teleporterf.is_operational())
return teleporterf
diff --git a/code/game/machinery/computer/medical.dm b/code/game/machinery/computer/medical.dm
index fc4e9f6071..dee63b902c 100644
--- a/code/game/machinery/computer/medical.dm
+++ b/code/game/machinery/computer/medical.dm
@@ -5,7 +5,7 @@
desc = "This can be used to check medical records."
icon_screen = "medcomp"
icon_keyboard = "med_key"
- req_one_access = list(access_medical, access_forensics_lockers)
+ req_one_access = list(GLOB.access_medical, GLOB.access_forensics_lockers)
circuit = /obj/item/weapon/circuitboard/computer/med_data
var/obj/item/weapon/card/id/scan = null
var/authenticated = null
@@ -72,11 +72,11 @@
"}
- if(!isnull(data_core.general))
- for(var/datum/data/record/R in sortRecord(data_core.general, sortBy, order))
+ if(!isnull(GLOB.data_core.general))
+ for(var/datum/data/record/R in sortRecord(GLOB.data_core.general, sortBy, order))
var/blood_type = ""
var/b_dna = ""
- for(var/datum/data/record/E in data_core.medical)
+ for(var/datum/data/record/E in GLOB.data_core.medical)
if((E.fields["name"] == R.fields["name"] && E.fields["id"] == R.fields["id"]))
blood_type = E.fields["blood_type"]
b_dna = E.fields["b_dna"]
@@ -98,8 +98,8 @@
dat += text("[] ", R.fields["p_stat"])
dat += text("[] ", R.fields["m_stat"])
dat += "
"
-// if(data_core.general)
-// for(var/datum/data/record/R in sortRecord(data_core.general))
+// if(GLOB.data_core.general)
+// for(var/datum/data/record/R in sortRecord(GLOB.data_core.general))
// dat += "[R.fields["id"]]: [R.fields["name"]] "
// //Foreach goto(132)
dat += text(" Back ", src)
@@ -108,7 +108,7 @@
if(4)
dat += "Medical Record "
- if(active1 in data_core.general)
+ if(active1 in GLOB.data_core.general)
if(istype(active1.fields["photo_front"], /obj/item/weapon/photo))
var/obj/item/weapon/photo/P1 = active1.fields["photo_front"]
user << browse_rsc(P1.img, "photo_front")
@@ -130,7 +130,7 @@
dat += "General Record Lost! "
dat += "Medical Data "
- if(active2 in data_core.medical)
+ if(active2 in GLOB.data_core.medical)
dat += "Blood Type: [active2.fields["blood_type"]] "
dat += "DNA: [active2.fields["b_dna"]] "
dat += " Minor Disabilities: [active2.fields["mi_dis"]] "
@@ -172,7 +172,7 @@
dat += "Back "
dat += "Medical Robots: "
var/bdat = null
- for(var/mob/living/simple_animal/bot/medbot/M in living_mob_list)
+ for(var/mob/living/simple_animal/bot/medbot/M in GLOB.living_mob_list)
if(M.z != src.z)
continue //only find medibots on the same z-level as the computer
var/turf/bl = get_turf(M)
@@ -201,9 +201,9 @@
. = ..()
if(.)
return .
- if(!(active1 in data_core.general))
+ if(!(active1 in GLOB.data_core.general))
src.active1 = null
- if(!(active2 in data_core.medical))
+ if(!(active2 in GLOB.data_core.medical))
src.active2 = null
if(usr.contents.Find(src) || (in_range(src, usr) && isturf(loc)) || issilicon(usr) || IsAdminGhost(usr))
@@ -293,7 +293,7 @@
else if(href_list["del_all2"])
investigate_log("[usr.name] ([usr.key]) has deleted all medical records.", "records")
- data_core.medical.Cut()
+ GLOB.data_core.medical.Cut()
src.temp = "All records deleted."
else if(href_list["field"])
@@ -464,9 +464,9 @@
active2 = null
else if(href_list["d_rec"])
- active1 = find_record("id", href_list["d_rec"], data_core.general)
+ active1 = find_record("id", href_list["d_rec"], GLOB.data_core.general)
if(active1)
- active2 = find_record("id", href_list["d_rec"], data_core.medical)
+ active2 = find_record("id", href_list["d_rec"], GLOB.data_core.medical)
if(!active2)
active1 = null
screen = 4
@@ -488,12 +488,12 @@
R.fields["cdi"] = "None"
R.fields["cdi_d"] = "No diseases have been diagnosed at the moment."
R.fields["notes"] = "No notes."
- data_core.medical += R
+ GLOB.data_core.medical += R
src.active2 = R
src.screen = 4
else if(href_list["add_c"])
- if(!(active2 in data_core.medical))
+ if(!(active2 in GLOB.data_core.medical))
return
var/a2 = src.active2
var/t1 = stripped_multiline_input("Add Comment:", "Med. records", null, null)
@@ -502,7 +502,7 @@
var/counter = 1
while(src.active2.fields[text("com_[]", counter)])
counter++
- src.active2.fields[text("com_[]", counter)] = text("Made by [] ([]) on [] [], [] []", src.authenticated, src.rank, worldtime2text(), time2text(world.realtime, "MMM DD"), year_integer+540, t1)
+ src.active2.fields[text("com_[]", counter)] = text("Made by [] ([]) on [] [], [] []", src.authenticated, src.rank, worldtime2text(), time2text(world.realtime, "MMM DD"), GLOB.year_integer+540, t1)
else if(href_list["del_c"])
if((istype(src.active2, /datum/data/record) && src.active2.fields[text("com_[]", href_list["del_c"])]))
@@ -515,7 +515,7 @@
src.active1 = null
src.active2 = null
t1 = lowertext(t1)
- for(var/datum/data/record/R in data_core.medical)
+ for(var/datum/data/record/R in GLOB.data_core.medical)
if((lowertext(R.fields["name"]) == t1 || t1 == lowertext(R.fields["id"]) || t1 == lowertext(R.fields["b_dna"])))
src.active2 = R
else
@@ -523,7 +523,7 @@
if(!( src.active2 ))
src.temp = text("Could not locate record [].", sanitize(t1))
else
- for(var/datum/data/record/E in data_core.general)
+ for(var/datum/data/record/E in GLOB.data_core.general)
if((E.fields["name"] == src.active2.fields["name"] || E.fields["id"] == src.active2.fields["id"]))
src.active1 = E
else
@@ -533,28 +533,28 @@
else if(href_list["print_p"])
if(!( src.printing ))
src.printing = 1
- data_core.medicalPrintCount++
+ GLOB.data_core.medicalPrintCount++
playsound(loc, 'sound/items/poster_being_created.ogg', 100, 1)
sleep(30)
var/obj/item/weapon/paper/P = new /obj/item/weapon/paper( src.loc )
- P.info = "Medical Record - (MR-[data_core.medicalPrintCount]) "
- if(active1 in data_core.general)
+ P.info = "Medical Record - (MR-[GLOB.data_core.medicalPrintCount]) "
+ if(active1 in GLOB.data_core.general)
P.info += text("Name: [] ID: [] \nSex: [] \nAge: [] ", src.active1.fields["name"], src.active1.fields["id"], src.active1.fields["sex"], src.active1.fields["age"])
if(config.mutant_races)
P.info += "\nSpecies: [active1.fields["species"]] "
P.info += text("\nFingerprint: [] \nPhysical Status: [] \nMental Status: [] ", src.active1.fields["fingerprint"], src.active1.fields["p_stat"], src.active1.fields["m_stat"])
else
P.info += "General Record Lost! "
- if(active2 in data_core.medical)
+ if(active2 in GLOB.data_core.medical)
P.info += text(" \nMedical Data \nBlood Type: [] \nDNA: [] \n \nMinor Disabilities: [] \nDetails: [] \n \nMajor Disabilities: [] \nDetails: [] \n \nAllergies: [] \nDetails: [] \n \nCurrent Diseases: [] (per disease info placed in log/comment section) \nDetails: [] \n \nImportant Notes: \n\t[] \n \nComments/Log ", src.active2.fields["blood_type"], src.active2.fields["b_dna"], src.active2.fields["mi_dis"], src.active2.fields["mi_dis_d"], src.active2.fields["ma_dis"], src.active2.fields["ma_dis_d"], src.active2.fields["alg"], src.active2.fields["alg_d"], src.active2.fields["cdi"], src.active2.fields["cdi_d"], src.active2.fields["notes"])
var/counter = 1
while(src.active2.fields[text("com_[]", counter)])
P.info += text("[] ", src.active2.fields[text("com_[]", counter)])
counter++
- P.name = text("MR-[] '[]'", data_core.medicalPrintCount, src.active1.fields["name"])
+ P.name = text("MR-[] '[]'", GLOB.data_core.medicalPrintCount, src.active1.fields["name"])
else
P.info += "Medical Record Lost! "
- P.name = text("MR-[] '[]'", data_core.medicalPrintCount, "Record Lost")
+ P.name = text("MR-[] '[]'", GLOB.data_core.medicalPrintCount, "Record Lost")
P.info += ""
src.printing = null
@@ -564,7 +564,7 @@
/obj/machinery/computer/med_data/emp_act(severity)
if(!(stat & (BROKEN|NOPOWER)))
- for(var/datum/data/record/R in data_core.medical)
+ for(var/datum/data/record/R in GLOB.data_core.medical)
if(prob(10/severity))
switch(rand(1,6))
if(1)
diff --git a/code/game/machinery/computer/message.dm b/code/game/machinery/computer/message.dm
index a0ada38d1e..0b61f19f0a 100644
--- a/code/game/machinery/computer/message.dm
+++ b/code/game/machinery/computer/message.dm
@@ -60,8 +60,8 @@
..()
//Is the server isn't linked to a server, and there's a server available, default it to the first one in the list.
if(!linkedServer)
- if(message_servers && message_servers.len > 0)
- linkedServer = message_servers[1]
+ if(GLOB.message_servers && GLOB.message_servers.len > 0)
+ linkedServer = GLOB.message_servers[1]
/obj/machinery/computer/message_monitor/attack_hand(mob/living/user)
if(..())
@@ -269,11 +269,11 @@
if(auth) linkedServer.active = !linkedServer.active
//Find a server
if (href_list["find"])
- if(message_servers && message_servers.len > 1)
- src.linkedServer = input(usr,"Please select a server.", "Select a server.", null) as null|anything in message_servers
+ if(GLOB.message_servers && GLOB.message_servers.len > 1)
+ src.linkedServer = input(usr,"Please select a server.", "Select a server.", null) as null|anything in GLOB.message_servers
message = "NOTICE: Server selected. "
- else if(message_servers && message_servers.len > 0)
- linkedServer = message_servers[1]
+ else if(GLOB.message_servers && GLOB.message_servers.len > 0)
+ linkedServer = GLOB.message_servers[1]
message = "NOTICE: Only Single Server Detected - Server selected. "
else
message = noserver
@@ -376,7 +376,7 @@
if("Recepient")
//Get out list of viable PDAs
var/list/obj/item/device/pda/sendPDAs = get_viewable_pdas()
- if(PDAs && PDAs.len > 0)
+ if(GLOB.PDAs && GLOB.PDAs.len > 0)
customrecepient = input(usr, "Select a PDA from the list.") as null|anything in sortNames(sendPDAs)
else
customrecepient = null
@@ -458,8 +458,8 @@
/obj/item/weapon/paper/monitorkey/New()
..()
spawn(10)
- if(message_servers)
- for(var/obj/machinery/message_server/server in message_servers)
+ if(GLOB.message_servers)
+ for(var/obj/machinery/message_server/server in GLOB.message_servers)
if(!isnull(server))
if(!isnull(server.decryptkey))
info = "Daily Key Reset The new message monitor key is '[server.decryptkey]'. Please keep this a secret and away from the clown. If necessary, change the password to a more secure one."
diff --git a/code/game/machinery/computer/pod.dm b/code/game/machinery/computer/pod.dm
index f41375a705..42ff2b9ee7 100644
--- a/code/game/machinery/computer/pod.dm
+++ b/code/game/machinery/computer/pod.dm
@@ -130,7 +130,7 @@
name = "\improper ProComp Executive IIc"
desc = "The Syndicate operate on a tight budget. Operates external airlocks."
title = "External Airlock Controls"
- req_access = list(access_syndicate)
+ req_access = list(GLOB.access_syndicate)
/obj/machinery/computer/pod/old/syndicate/attack_hand(mob/user)
if(!allowed(user))
diff --git a/code/game/machinery/computer/prisoner.dm b/code/game/machinery/computer/prisoner.dm
index c6aa932c6c..27d4275ee5 100644
--- a/code/game/machinery/computer/prisoner.dm
+++ b/code/game/machinery/computer/prisoner.dm
@@ -3,7 +3,7 @@
desc = "Used to manage tracking implants placed inside criminals."
icon_screen = "explosive"
icon_keyboard = "security_key"
- req_access = list(access_brig)
+ req_access = list(GLOB.access_brig)
var/id = 0
var/temp = null
var/status = 0
@@ -34,7 +34,7 @@
dat += "Prisoner Implant Management "
dat += " Chemical Implants "
var/turf/Tr = null
- for(var/obj/item/weapon/implant/chem/C in tracked_chem_implants)
+ for(var/obj/item/weapon/implant/chem/C in GLOB.tracked_chem_implants)
Tr = get_turf(C)
if((Tr) && (Tr.z != src.z))
continue//Out of range
@@ -47,7 +47,7 @@
dat += "((10) ) "
dat += "******************************** "
dat += " Tracking Implants "
- for(var/obj/item/weapon/implant/tracking/T in tracked_implants)
+ for(var/obj/item/weapon/implant/tracking/T in GLOB.tracked_implants)
if(!isliving(T.imp_in))
continue
Tr = get_turf(T)
@@ -111,16 +111,16 @@
num = min(num,1000) //Cap the quota to the equivilent of 10 minutes.
inserted_id.goal = num
else if(href_list["inject1"])
- var/obj/item/weapon/implant/I = locate(href_list["inject1"]) in tracked_chem_implants
+ var/obj/item/weapon/implant/I = locate(href_list["inject1"]) in GLOB.tracked_chem_implants
if(I && istype(I))
I.activate(1)
else if(href_list["inject5"])
- var/obj/item/weapon/implant/I = locate(href_list["inject5"]) in tracked_chem_implants
+ var/obj/item/weapon/implant/I = locate(href_list["inject5"]) in GLOB.tracked_chem_implants
if(I && istype(I))
I.activate(5)
else if(href_list["inject10"])
- var/obj/item/weapon/implant/I = locate(href_list["inject10"]) in tracked_chem_implants
+ var/obj/item/weapon/implant/I = locate(href_list["inject10"]) in GLOB.tracked_chem_implants
if(I && istype(I))
I.activate(10)
@@ -132,8 +132,9 @@
else if(href_list["warn"])
var/warning = copytext(sanitize(input(usr,"Message:","Enter your message here!","")),1,MAX_MESSAGE_LEN)
- if(!warning) return
- var/obj/item/weapon/implant/I = locate(href_list["warn"]) in tracked_chem_implants
+ if(!warning)
+ return
+ var/obj/item/weapon/implant/I = locate(href_list["warn"]) in GLOB.tracked_implants
if(I && istype(I) && I.imp_in)
var/mob/living/R = I.imp_in
to_chat(R, "You hear a voice in your head saying: '[warning]' ")
diff --git a/code/game/machinery/computer/robot.dm b/code/game/machinery/computer/robot.dm
index 0cb2ea8cc2..3772dacbdb 100644
--- a/code/game/machinery/computer/robot.dm
+++ b/code/game/machinery/computer/robot.dm
@@ -6,7 +6,7 @@
desc = "Used to remotely lockdown or detonate linked Cyborgs."
icon_screen = "robot"
icon_keyboard = "rd_key"
- req_access = list(access_robotics)
+ req_access = list(GLOB.access_robotics)
circuit = /obj/item/weapon/circuitboard/computer/robotics
var/temp = null
@@ -37,7 +37,7 @@
user.set_machine(src)
var/dat
var/robots = 0
- for(var/mob/living/silicon/robot/R in mob_list)
+ for(var/mob/living/silicon/robot/R in GLOB.mob_list)
if(!can_control(user, R))
continue
robots++
@@ -75,7 +75,7 @@
dat += " "
var/drones = 0
- for(var/mob/living/simple_animal/drone/D in mob_list)
+ for(var/mob/living/simple_animal/drone/D in GLOB.mob_list)
if(D.hacked)
continue
drones++
@@ -103,7 +103,7 @@
else if (href_list["killbot"])
if(src.allowed(usr))
- var/mob/living/silicon/robot/R = locate(href_list["killbot"]) in silicon_mobs
+ var/mob/living/silicon/robot/R = locate(href_list["killbot"]) in GLOB.silicon_mobs
if(can_control(usr, R))
var/choice = input("Are you certain you wish to detonate [R.name]?") in list("Confirm", "Abort")
if(choice == "Confirm" && can_control(usr, R) && !..())
@@ -123,7 +123,7 @@
else if (href_list["stopbot"])
if(src.allowed(usr))
- var/mob/living/silicon/robot/R = locate(href_list["stopbot"]) in silicon_mobs
+ var/mob/living/silicon/robot/R = locate(href_list["stopbot"]) in GLOB.silicon_mobs
if(can_control(usr, R))
var/choice = input("Are you certain you wish to [R.canmove ? "lock down" : "release"] [R.name]?") in list("Confirm", "Abort")
if(choice == "Confirm" && can_control(usr, R) && !..())
@@ -139,7 +139,7 @@
else if (href_list["magbot"])
if((issilicon(usr) && is_special_character(usr)) || IsAdminGhost(usr))
- var/mob/living/silicon/robot/R = locate(href_list["magbot"]) in silicon_mobs
+ var/mob/living/silicon/robot/R = locate(href_list["magbot"]) in GLOB.silicon_mobs
if(istype(R) && !R.emagged && ((R.syndicate && R == usr) || R.connected_ai == usr || IsAdminGhost(usr)) && !R.scrambledcodes && can_control(usr, R))
log_game("[key_name(usr)] emagged [R.name] using robotic console!")
message_admins("[key_name_admin(usr)] emagged cyborg [key_name_admin(R)] using robotic console!")
@@ -149,7 +149,7 @@
else if(href_list["convert"])
if(issilicon(usr) && is_special_character(usr))
- var/mob/living/silicon/robot/R = locate(href_list["convert"]) in silicon_mobs
+ var/mob/living/silicon/robot/R = locate(href_list["convert"]) in GLOB.silicon_mobs
if(istype(R) && !is_servant_of_ratvar(R) && is_servant_of_ratvar(usr) && R.connected_ai == usr)
log_game("[key_name(usr)] converted [R.name] using robotic console!")
message_admins("[key_name_admin(usr)] converted cyborg [key_name_admin(R)] using robotic console!")
diff --git a/code/game/machinery/computer/security.dm b/code/game/machinery/computer/security.dm
index fbbae48ad3..b8d777e42d 100644
--- a/code/game/machinery/computer/security.dm
+++ b/code/game/machinery/computer/security.dm
@@ -1,9 +1,9 @@
/obj/machinery/computer/secure_data//TODO:SANITY
name = "security records console"
- desc = "Used to view and edit personnel's security records"
+ desc = "Used to view and edit personnel's security records."
icon_screen = "security"
icon_keyboard = "security_key"
- req_one_access = list(access_security, access_forensics_lockers)
+ req_one_access = list(GLOB.access_security, GLOB.access_forensics_lockers)
circuit = /obj/item/weapon/circuitboard/computer/secure_data
var/obj/item/weapon/card/id/scan = null
var/authenticated = null
@@ -122,10 +122,10 @@
Fingerprints
Criminal Status
"}
- if(!isnull(data_core.general))
- for(var/datum/data/record/R in sortRecord(data_core.general, sortBy, order))
+ if(!isnull(GLOB.data_core.general))
+ for(var/datum/data/record/R in sortRecord(GLOB.data_core.general, sortBy, order))
var/crimstat = ""
- for(var/datum/data/record/E in data_core.security)
+ for(var/datum/data/record/E in GLOB.data_core.security)
if((E.fields["name"] == R.fields["name"]) && (E.fields["id"] == R.fields["id"]))
crimstat = E.fields["criminal"]
var/background
@@ -163,7 +163,7 @@
dat += "Delete All Records Back "
if(3)
dat += "Security Record "
- if(istype(active1, /datum/data/record) && data_core.general.Find(active1))
+ if(istype(active1, /datum/data/record) && GLOB.data_core.general.Find(active1))
if(istype(active1.fields["photo_front"], /obj/item/weapon/photo))
var/obj/item/weapon/photo/P1 = active1.fields["photo_front"]
user << browse_rsc(P1.img, "photo_front")
@@ -189,7 +189,7 @@
"}
else
dat += " General Record Lost! "
- if((istype(active2, /datum/data/record) && data_core.security.Find(active2)))
+ if((istype(active2, /datum/data/record) && GLOB.data_core.security.Find(active2)))
dat += "Security Data "
dat += " Criminal Status: [active2.fields["criminal"]] "
dat += " Minor Crimes: Add New "
@@ -262,9 +262,9 @@ What a mess.*/
. = ..()
if(.)
return .
- if(!( data_core.general.Find(active1) ))
+ if(!( GLOB.data_core.general.Find(active1) ))
active1 = null
- if(!( data_core.security.Find(active2) ))
+ if(!( GLOB.data_core.security.Find(active2) ))
active2 = null
if(usr.contents.Find(src) || (in_range(src, usr) && isturf(loc)) || issilicon(usr) || IsAdminGhost(usr))
usr.set_machine(src)
@@ -341,10 +341,10 @@ What a mess.*/
if("Browse Record")
var/datum/data/record/R = locate(href_list["d_rec"])
var/S = locate(href_list["d_rec"])
- if(!( data_core.general.Find(R) ))
+ if(!( GLOB.data_core.general.Find(R) ))
temp = "Record Not Found!"
else
- for(var/datum/data/record/E in data_core.security)
+ for(var/datum/data/record/E in GLOB.data_core.security)
if((E.fields["name"] == R.fields["name"] || E.fields["id"] == R.fields["id"]))
S = E
active1 = R
@@ -355,19 +355,19 @@ What a mess.*/
if("Print Record")
if(!( printing ))
printing = 1
- data_core.securityPrintCount++
+ GLOB.data_core.securityPrintCount++
playsound(loc, 'sound/items/poster_being_created.ogg', 100, 1)
sleep(30)
var/obj/item/weapon/paper/P = new /obj/item/weapon/paper( loc )
- P.info = "Security Record - (SR-[data_core.securityPrintCount]) "
- if((istype(active1, /datum/data/record) && data_core.general.Find(active1)))
+ P.info = "Security Record - (SR-[GLOB.data_core.securityPrintCount]) "
+ if((istype(active1, /datum/data/record) && GLOB.data_core.general.Find(active1)))
P.info += text("Name: [] ID: [] \nSex: [] \nAge: [] ", active1.fields["name"], active1.fields["id"], active1.fields["sex"], active1.fields["age"])
if(config.mutant_races)
P.info += "\nSpecies: [active1.fields["species"]] "
P.info += text("\nFingerprint: [] \nPhysical Status: [] \nMental Status: [] ", active1.fields["fingerprint"], active1.fields["p_stat"], active1.fields["m_stat"])
else
P.info += "General Record Lost! "
- if((istype(active2, /datum/data/record) && data_core.security.Find(active2)))
+ if((istype(active2, /datum/data/record) && GLOB.data_core.security.Find(active2)))
P.info += text(" \nSecurity Data \nCriminal Status: []", active2.fields["criminal"])
P.info += " \n \nMinor Crimes: \n"
@@ -408,10 +408,10 @@ What a mess.*/
while(active2.fields[text("com_[]", counter)])
P.info += text("[] ", active2.fields[text("com_[]", counter)])
counter++
- P.name = text("SR-[] '[]'", data_core.securityPrintCount, active1.fields["name"])
+ P.name = text("SR-[] '[]'", GLOB.data_core.securityPrintCount, active1.fields["name"])
else
P.info += "Security Record Lost! "
- P.name = text("SR-[] '[]'", data_core.securityPrintCount, "Record Lost")
+ P.name = text("SR-[] '[]'", GLOB.data_core.securityPrintCount, "Record Lost")
P.info += ""
printing = null
if("Print Poster")
@@ -439,7 +439,7 @@ What a mess.*/
playsound(loc, 'sound/items/poster_being_created.ogg', 100, 1)
printing = 1
sleep(30)
- if((istype(active1, /datum/data/record) && data_core.general.Find(active1)))//make sure the record still exists.
+ if((istype(active1, /datum/data/record) && GLOB.data_core.general.Find(active1)))//make sure the record still exists.
var/obj/item/weapon/photo/photo = active1.fields["photo_front"]
new /obj/item/weapon/poster/wanted(src.loc, photo.img, wanted_name, info)
printing = 0
@@ -453,9 +453,9 @@ What a mess.*/
if("Purge All Records")
investigate_log("[usr.name] ([usr.key]) has purged all the security records.", "records")
- for(var/datum/data/record/R in data_core.security)
+ for(var/datum/data/record/R in GLOB.data_core.security)
qdel(R)
- data_core.security.Cut()
+ GLOB.data_core.security.Cut()
temp = "All Security records deleted."
if("Add Entry")
@@ -468,7 +468,7 @@ What a mess.*/
var/counter = 1
while(active2.fields[text("com_[]", counter)])
counter++
- active2.fields[text("com_[]", counter)] = text("Made by [] ([]) on [] [], [] []", src.authenticated, src.rank, worldtime2text(), time2text(world.realtime, "MMM DD"), year_integer+540, t1)
+ active2.fields[text("com_[]", counter)] = text("Made by [] ([]) on [] [], [] []", src.authenticated, src.rank, worldtime2text(), time2text(world.realtime, "MMM DD"), GLOB.year_integer+540, t1)
if("Delete Record (ALL)")
if(active1)
@@ -496,7 +496,7 @@ What a mess.*/
R.fields["mi_crim"] = list()
R.fields["ma_crim"] = list()
R.fields["notes"] = "No notes."
- data_core.security += R
+ GLOB.data_core.security += R
active2 = R
screen = 3
@@ -515,7 +515,7 @@ What a mess.*/
G.fields["fingerprint"] = "?????"
G.fields["p_stat"] = "Active"
G.fields["m_stat"] = "Stable"
- data_core.general += G
+ GLOB.data_core.general += G
active1 = G
//Security Record
@@ -527,7 +527,7 @@ What a mess.*/
R.fields["mi_crim"] = list()
R.fields["ma_crim"] = list()
R.fields["notes"] = "No notes."
- data_core.security += R
+ GLOB.data_core.security += R
active2 = R
//Medical Record
@@ -545,7 +545,7 @@ What a mess.*/
M.fields["cdi"] = "None"
M.fields["cdi_d"] = "No diseases have been diagnosed at the moment."
M.fields["notes"] = "No notes."
- data_core.medical += M
+ GLOB.data_core.medical += M
@@ -593,7 +593,7 @@ What a mess.*/
active1.fields["age"] = t1
if("species")
if(istype(active1, /datum/data/record))
- var/t1 = input("Select a species", "Species Selection") as null|anything in roundstart_species
+ var/t1 = input("Select a species", "Species Selection") as null|anything in GLOB.roundstart_species
if(!canUseSecurityRecordsConsole(usr, t1, a1))
return
active1.fields["species"] = t1
@@ -623,28 +623,28 @@ What a mess.*/
var/t2 = stripped_multiline_input(usr, "Please input minor crime details:", "Secure. records", "", null)
if(!canUseSecurityRecordsConsole(usr, t1, null, a2))
return
- var/crime = data_core.createCrimeEntry(t1, t2, authenticated, worldtime2text())
- data_core.addMinorCrime(active1.fields["id"], crime)
+ var/crime = GLOB.data_core.createCrimeEntry(t1, t2, authenticated, worldtime2text())
+ GLOB.data_core.addMinorCrime(active1.fields["id"], crime)
if("mi_crim_delete")
if(istype(active1, /datum/data/record))
if(href_list["cdataid"])
if(!canUseSecurityRecordsConsole(usr, "delete", null, a2))
return
- data_core.removeMinorCrime(active1.fields["id"], href_list["cdataid"])
+ GLOB.data_core.removeMinorCrime(active1.fields["id"], href_list["cdataid"])
if("ma_crim_add")
if(istype(active1, /datum/data/record))
var/t1 = stripped_input(usr, "Please input major crime names:", "Secure. records", "", null)
var/t2 = stripped_multiline_input(usr, "Please input major crime details:", "Secure. records", "", null)
if(!canUseSecurityRecordsConsole(usr, t1, null, a2))
return
- var/crime = data_core.createCrimeEntry(t1, t2, authenticated, worldtime2text())
- data_core.addMajorCrime(active1.fields["id"], crime)
+ var/crime = GLOB.data_core.createCrimeEntry(t1, t2, authenticated, worldtime2text())
+ GLOB.data_core.addMajorCrime(active1.fields["id"], crime)
if("ma_crim_delete")
if(istype(active1, /datum/data/record))
if(href_list["cdataid"])
if(!canUseSecurityRecordsConsole(usr, "delete", null, a2))
return
- data_core.removeMajorCrime(active1.fields["id"], href_list["cdataid"])
+ GLOB.data_core.removeMajorCrime(active1.fields["id"], href_list["cdataid"])
if("notes")
if(istype(active2, /datum/data/record))
var/t1 = stripped_input(usr, "Please summarize notes:", "Secure. records", active2.fields["notes"], null)
@@ -697,7 +697,7 @@ What a mess.*/
if("released")
active2.fields["criminal"] = "Discharged"
investigate_log("[active1.fields["name"]] has been set from [old_field] to [active2.fields["criminal"]] by [usr.name] ([usr.key]).", "records")
- for(var/mob/living/carbon/human/H in mob_list) //thanks for forcing me to do this, whoever wrote this shitty records system
+ for(var/mob/living/carbon/human/H in GLOB.mob_list) //thanks for forcing me to do this, whoever wrote this shitty records system
H.sec_hud_set_security_status()
if("Delete Record (Security) Execute")
investigate_log("[usr.name] ([usr.key]) has deleted the security records for [active1.fields["name"]].", "records")
@@ -708,7 +708,7 @@ What a mess.*/
if("Delete Record (ALL) Execute")
if(active1)
investigate_log("[usr.name] ([usr.key]) has deleted all records for [active1.fields["name"]].", "records")
- for(var/datum/data/record/R in data_core.medical)
+ for(var/datum/data/record/R in GLOB.data_core.medical)
if((R.fields["name"] == active1.fields["name"] || R.fields["id"] == active1.fields["id"]))
qdel(R)
break
@@ -742,14 +742,14 @@ What a mess.*/
..(severity)
return
- for(var/datum/data/record/R in data_core.security)
+ for(var/datum/data/record/R in GLOB.data_core.security)
if(prob(10/severity))
switch(rand(1,8))
if(1)
if(prob(10))
R.fields["name"] = "[pick(lizard_name(MALE),lizard_name(FEMALE))]"
else
- R.fields["name"] = "[pick(pick(first_names_male), pick(first_names_female))] [pick(last_names)]"
+ R.fields["name"] = "[pick(pick(GLOB.first_names_male), pick(GLOB.first_names_female))] [pick(GLOB.last_names)]"
if(2)
R.fields["sex"] = pick("Male", "Female")
if(3)
@@ -761,9 +761,9 @@ What a mess.*/
if(6)
R.fields["m_stat"] = pick("*Insane*", "*Unstable*", "*Watch*", "Stable")
if(7)
- R.fields["species"] = pick(roundstart_species)
+ R.fields["species"] = pick(GLOB.roundstart_species)
if(8)
- var/datum/data/record/G = pick(data_core.general)
+ var/datum/data/record/G = pick(GLOB.data_core.general)
R.fields["photo_front"] = G.fields["photo_front"]
R.fields["photo_side"] = G.fields["photo_side"]
continue
diff --git a/code/game/machinery/computer/station_alert.dm b/code/game/machinery/computer/station_alert.dm
index 2d27bef53c..d626811e6a 100644
--- a/code/game/machinery/computer/station_alert.dm
+++ b/code/game/machinery/computer/station_alert.dm
@@ -9,7 +9,7 @@
light_color = LIGHT_COLOR_CYAN
/obj/machinery/computer/station_alert/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)
+ datum/tgui/master_ui = null, datum/ui_state/state = GLOB.default_state)
ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open)
if(!ui)
ui = new(user, src, ui_key, "station_alert", name, 300, 500, master_ui, state)
diff --git a/code/game/machinery/computer/telecrystalconsoles.dm b/code/game/machinery/computer/telecrystalconsoles.dm
index daf2864374..4bb872b347 100644
--- a/code/game/machinery/computer/telecrystalconsoles.dm
+++ b/code/game/machinery/computer/telecrystalconsoles.dm
@@ -1,6 +1,6 @@
#define NUKESCALINGMODIFIER 1
-var/list/possible_uplinker_IDs = list("Alfa","Bravo","Charlie","Delta","Echo","Foxtrot","Zero", "Niner")
+GLOBAL_LIST_INIT(possible_uplinker_IDs, list("Alfa","Bravo","Charlie","Delta","Echo","Foxtrot","Zero", "Niner"))
/obj/machinery/computer/telecrystals
name = "\improper Telecrystal assignment station"
@@ -21,16 +21,13 @@ var/list/possible_uplinker_IDs = list("Alfa","Bravo","Charlie","Delta","Echo","F
var/obj/item/uplinkholder = null
var/obj/machinery/computer/telecrystals/boss/linkedboss = null
-/obj/machinery/computer/telecrystals/uplinker/New()
+/obj/machinery/computer/telecrystals/uplinker/Initialize()
..()
- var/ID
- if(possible_uplinker_IDs.len)
- ID = pick(possible_uplinker_IDs)
- possible_uplinker_IDs -= ID
- name = "[name] [ID]"
- else
- name = "[name] [rand(1,999)]"
+ var/ID = pick_n_take(GLOB.possible_uplinker_IDs)
+ if(!ID)
+ ID = rand(1,999)
+ name = "[name] [ID]"
/obj/machinery/computer/telecrystals/uplinker/attackby(obj/item/O, mob/user, params)
if(uplinkholder)
@@ -147,8 +144,7 @@ var/list/possible_uplinker_IDs = list("Alfa","Bravo","Charlie","Delta","Echo","F
/obj/machinery/computer/telecrystals/boss/proc/getDangerous()//This scales the TC assigned with the round population.
..()
- var/danger
- danger = joined_player_list.len - ticker.mode.syndicates.len
+ var/danger = GLOB.joined_player_list.len - SSticker.mode.syndicates.len
danger = Ceiling(danger, 10)
scaleTC(danger)
diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm
index 89390560b4..df5366024b 100644
--- a/code/game/machinery/doors/airlock.dm
+++ b/code/game/machinery/doors/airlock.dm
@@ -37,8 +37,10 @@
#define AIRLOCK_DAMAGE_DEFLECTION_N 20 // Normal airlock damage deflection
#define AIRLOCK_DAMAGE_DEFLECTION_R 30 // Reinforced airlock damage deflection
+#define NOT_ELECTRIFIED 0
+#define ELECTRIFIED_PERMANENT -1
+
-var/list/airlock_overlays = list()
/obj/machinery/door/airlock
name = "airlock"
@@ -90,13 +92,16 @@ var/list/airlock_overlays = list()
hud_possible = list(DIAG_AIRLOCK_HUD)
var/air_tight = FALSE //TRUE means density will be set as soon as the door begins to close
+ var/prying_so_hard = FALSE
+
+ var/static/list/airlock_overlays = list()
/obj/machinery/door/airlock/Initialize()
..()
wires = new /datum/wires/airlock(src)
if(src.closeOtherId != null)
spawn (5)
- for (var/obj/machinery/door/airlock/A in airlocks)
+ for (var/obj/machinery/door/airlock/A in GLOB.airlocks)
if(A.closeOtherId == src.closeOtherId && A != src)
src.closeOther = A
break
@@ -111,7 +116,7 @@ var/list/airlock_overlays = list()
if(damage_deflection == AIRLOCK_DAMAGE_DEFLECTION_N && security_level > AIRLOCK_SECURITY_METAL)
damage_deflection = AIRLOCK_DAMAGE_DEFLECTION_R
prepare_huds()
- var/datum/atom_hud/data/diagnostic/diag_hud = huds[DATA_HUD_DIAGNOSTIC]
+ var/datum/atom_hud/data/diagnostic/diag_hud = GLOB.huds[DATA_HUD_DIAGNOSTIC]
diag_hud.add_to_hud(src)
diag_hud_set_electrified()
@@ -208,7 +213,7 @@ var/list/airlock_overlays = list()
cyclelinkedairlock.cyclelinkedairlock = null
cyclelinkedairlock = null
if(id_tag)
- for(var/obj/machinery/doorButtons/D in machines)
+ for(var/obj/machinery/doorButtons/D in GLOB.machines)
D.removeMe(src)
return ..()
@@ -264,7 +269,7 @@ var/list/airlock_overlays = list()
user.Weaken(3)
/obj/machinery/door/airlock/proc/isElectrified()
- if(src.secondsElectrified != 0)
+ if(src.secondsElectrified != NOT_ELECTRIFIED)
return 1
return 0
@@ -487,6 +492,9 @@ var/list/airlock_overlays = list()
add_overlay(damag_overlay)
/proc/get_airlock_overlay(icon_state, icon_file)
+ var/obj/machinery/door/airlock/A
+ pass(A) //suppress unused warning
+ var/list/airlock_overlays = A.airlock_overlays
var/iconkey = "[icon_state][icon_file]"
if(airlock_overlays[iconkey])
return airlock_overlays[iconkey]
@@ -617,10 +625,10 @@ var/list/airlock_overlays = list()
if(wires.is_cut(WIRE_SHOCK))
t1 += text("Electrification wire is cut. \n")
- if(src.secondsElectrified==-1)
+ if(secondsElectrified==ELECTRIFIED_PERMANENT)
t1 += text("Door is electrified indefinitely. Un-electrify it? \n", src)
- else if(src.secondsElectrified>0)
- t1 += text("Door is electrified temporarily ([] seconds). Un-electrify it? \n", src.secondsElectrified, src)
+ else if(secondsElectrified>NOT_ELECTRIFIED)
+ t1 += text("Door is electrified temporarily ([] seconds). Un-electrify it? \n", secondsElectrified, src)
else
t1 += text("Door is not electrified. Electrify it for 30 seconds? Or, Electrify it indefinitely until someone cancels the electrification? \n", src, src)
@@ -792,9 +800,7 @@ var/list/airlock_overlays = list()
//un-electrify door
if(wires.is_cut(WIRE_SHOCK))
to_chat(usr, text("Can't un-electrify the airlock - The electrification wire is cut."))
- else if(secondsElectrified==-1)
- set_electrified(0)
- else if(secondsElectrified>0)
+ else if(isElectrified())
set_electrified(0)
if(8)
@@ -871,33 +877,33 @@ var/list/airlock_overlays = list()
//electrify door for 30 seconds
if(wires.is_cut(WIRE_SHOCK))
to_chat(usr, text("The electrification wire has been cut. \n"))
- else if(src.secondsElectrified==-1)
+ else if(secondsElectrified==ELECTRIFIED_PERMANENT)
to_chat(usr, text("The door is already indefinitely electrified. You'd have to un-electrify it before you can re-electrify it with a non-forever duration. \n"))
- else if(src.secondsElectrified!=0)
+ else if(isElectrified())
to_chat(usr, text("The door is already electrified. You can't re-electrify it while it's already electrified. \n"))
else
shockedby += "\[[time_stamp()]\][usr](ckey:[usr.ckey])"
add_logs(usr, src, "electrified")
set_electrified(30)
spawn(10)
- while (src.secondsElectrified>0)
- src.secondsElectrified-=1
- if(src.secondsElectrified<0)
- set_electrified(0)
- src.updateUsrDialog()
+ while (secondsElectrified > 0)
+ secondsElectrified--
+ if(secondsElectrified <= 0)
+ set_electrified(NOT_ELECTRIFIED)
+ updateUsrDialog()
sleep(10)
if(6)
//electrify door indefinitely
if(wires.is_cut(WIRE_SHOCK))
to_chat(usr, text("The electrification wire has been cut. \n"))
- else if(src.secondsElectrified==-1)
+ else if(secondsElectrified==ELECTRIFIED_PERMANENT)
to_chat(usr, text("The door is already indefinitely electrified. \n"))
- else if(src.secondsElectrified!=0)
+ else if(isElectrified())
to_chat(usr, text("The door is already electrified. You can't re-electrify it while it's already electrified. \n"))
else
shockedby += text("\[[time_stamp()]\][usr](ckey:[usr.ckey])")
add_logs(usr, src, "electrified")
- set_electrified(-1)
+ set_electrified(ELECTRIFIED_PERMANENT)
if (8) // Not in order >.>
// Safeties! Maybe we do need some stinking safeties!
@@ -1221,10 +1227,13 @@ var/list/airlock_overlays = list()
return
var/time_to_open = 5
- if(hasPower())
+ if(hasPower() && !prying_so_hard)
time_to_open = 50
playsound(src, 'sound/machines/airlock_alien_prying.ogg',100,1) //is it aliens or just the CE being a dick?
- if(do_after(user, time_to_open,target = src))
+ prying_so_hard = TRUE
+ var/result = do_after(user, time_to_open,target = src)
+ prying_so_hard = FALSE
+ if(result)
open(2)
if(density && !open(2))
to_chat(user, "Despite your attempts, the [src] refuses to open. ")
@@ -1274,7 +1283,7 @@ var/list/airlock_overlays = list()
if(!density)
return 1
- if(!ticker || !ticker.mode)
+ if(!SSticker || !SSticker.mode)
return 0
operating = 1
update_icon(AIRLOCK_OPENING, 1)
@@ -1465,7 +1474,7 @@ var/list/airlock_overlays = list()
safe = FALSE //DOOR CRUSH
close()
bolt() //Bolt it!
- set_electrified(-1) //Shock it!
+ set_electrified(ELECTRIFIED_PERMANENT) //Shock it!
if(origin)
shockedby += "\[[time_stamp()]\][origin](ckey:[origin.ckey])"
@@ -1474,7 +1483,7 @@ var/list/airlock_overlays = list()
// Must be powered and have working AI wire.
if(canAIControl(src) && !stat)
unbolt()
- set_electrified(0)
+ set_electrified(NOT_ELECTRIFIED)
open()
safe = TRUE
@@ -1546,3 +1555,26 @@ var/list/airlock_overlays = list()
qdel(src)
return TRUE
return FALSE
+
+#undef AIRLOCK_CLOSED
+#undef AIRLOCK_CLOSING
+#undef AIRLOCK_OPEN
+#undef AIRLOCK_OPENING
+#undef AIRLOCK_DENY
+#undef AIRLOCK_EMAG
+
+#undef AIRLOCK_SECURITY_NONE
+#undef AIRLOCK_SECURITY_METAL
+#undef AIRLOCK_SECURITY_PLASTEEL_I_S
+#undef AIRLOCK_SECURITY_PLASTEEL_I
+#undef AIRLOCK_SECURITY_PLASTEEL_O_S
+#undef AIRLOCK_SECURITY_PLASTEEL_O
+#undef AIRLOCK_SECURITY_PLASTEEL
+
+#undef AIRLOCK_INTEGRITY_N
+#undef AIRLOCK_INTEGRITY_MULTIPLIER
+#undef AIRLOCK_DAMAGE_DEFLECTION_N
+#undef AIRLOCK_DAMAGE_DEFLECTION_R
+
+#undef NOT_ELECTRIFIED
+#undef ELECTRIFIED_PERMANENT
diff --git a/code/game/machinery/doors/airlock_electronics.dm b/code/game/machinery/doors/airlock_electronics.dm
index 9771c91763..705eafa381 100644
--- a/code/game/machinery/doors/airlock_electronics.dm
+++ b/code/game/machinery/doors/airlock_electronics.dm
@@ -1,12 +1,12 @@
/obj/item/weapon/electronics/airlock
name = "airlock electronics"
- req_access = list(access_maint_tunnels)
+ req_access = list(GLOB.access_maint_tunnels)
var/list/accesses = list()
var/one_access = 0
/obj/item/weapon/electronics/airlock/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = 0, \
- datum/tgui/master_ui = null, datum/ui_state/state = hands_state)
+ datum/tgui/master_ui = null, datum/ui_state/state = GLOB.hands_state)
SStgui.try_update_ui(user, src, ui_key, ui, force_open)
if(!ui)
ui = new(user, src, ui_key, "airlock_electronics", name, 975, 420, master_ui, state)
diff --git a/code/game/machinery/doors/alarmlock.dm b/code/game/machinery/doors/alarmlock.dm
index 74b3104099..e07596e4a1 100644
--- a/code/game/machinery/doors/alarmlock.dm
+++ b/code/game/machinery/doors/alarmlock.dm
@@ -24,7 +24,7 @@
/obj/machinery/door/airlock/alarmlock/Initialize()
..()
SSradio.remove_object(src, air_frequency)
- air_connection = SSradio.add_object(src, air_frequency, RADIO_TO_AIRALARM)
+ air_connection = SSradio.add_object(src, air_frequency, GLOB.RADIO_TO_AIRALARM)
open()
/obj/machinery/door/airlock/alarmlock/receive_signal(datum/signal/signal)
diff --git a/code/game/machinery/doors/brigdoors.dm b/code/game/machinery/doors/brigdoors.dm
index 124061e6fe..fae47406b8 100644
--- a/code/game/machinery/doors/brigdoors.dm
+++ b/code/game/machinery/doors/brigdoors.dm
@@ -23,7 +23,7 @@
icon = 'icons/obj/status_display.dmi'
icon_state = "frame"
desc = "A remote control for a door."
- req_access = list(access_security)
+ req_access = list(GLOB.access_security)
anchored = 1
density = 0
var/id = null // id of linked machinery/lockers
@@ -112,8 +112,8 @@
return 0
if(!forced)
- Radio.set_frequency(SEC_FREQ)
- Radio.talk_into(src, "Timer has expired. Releasing prisoner.", SEC_FREQ)
+ Radio.set_frequency(GLOB.SEC_FREQ)
+ Radio.talk_into(src, "Timer has expired. Releasing prisoner.", GLOB.SEC_FREQ, get_default_language())
timing = FALSE
activation_time = null
@@ -147,7 +147,7 @@
timer_duration = new_time
/obj/machinery/door_timer/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)
+ datum/tgui/master_ui = null, datum/ui_state/state = GLOB.default_state)
ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open)
if(!ui)
ui = new(user, src, ui_key, "brig_timer", name, 300, 200, master_ui, state)
diff --git a/code/game/machinery/doors/door.dm b/code/game/machinery/doors/door.dm
index bcce65161b..a5af541d2d 100644
--- a/code/game/machinery/doors/door.dm
+++ b/code/game/machinery/doors/door.dm
@@ -40,7 +40,7 @@
layer = OPEN_DOOR_LAYER //Under all objects if opened. 2.7 due to tables being at 2.6
update_freelook_sight()
air_update_turf(1)
- airlocks += src
+ GLOB.airlocks += src
spark_system = new /datum/effect_system/spark_spread
spark_system.set_up(2, 1, src)
@@ -50,7 +50,7 @@
density = 0
air_update_turf(1)
update_freelook_sight()
- airlocks -= src
+ GLOB.airlocks -= src
if(spark_system)
qdel(spark_system)
spark_system = null
@@ -229,7 +229,7 @@
return 1
if(operating)
return
- if(!ticker || !ticker.mode)
+ if(!SSticker || !SSticker.mode)
return 0
operating = 1
do_animate("opening")
@@ -314,8 +314,8 @@
return !(stat & NOPOWER)
/obj/machinery/door/proc/update_freelook_sight()
- if(!glass && cameranet)
- cameranet.updateVisibility(src, 0)
+ if(!glass && GLOB.cameranet)
+ GLOB.cameranet.updateVisibility(src, 0)
/obj/machinery/door/BlockSuperconductivity() // All non-glass airlocks block heat, this is intended.
if(opacity || heat_proof)
diff --git a/code/game/machinery/doors/firedoor.dm b/code/game/machinery/doors/firedoor.dm
index 3b64796b2e..d4eb99c613 100644
--- a/code/game/machinery/doors/firedoor.dm
+++ b/code/game/machinery/doors/firedoor.dm
@@ -4,9 +4,6 @@
#define CONSTRUCTION_GUTTED 3 //Wires are removed, circuit ready to remove
#define CONSTRUCTION_NOCIRCUIT 4 //Circuit board removed, can safely weld apart
-/var/const/OPEN = 1
-/var/const/CLOSED = 2
-
/obj/machinery/door/firedoor
name = "firelock"
desc = "Apply crowbar."
@@ -183,10 +180,10 @@
if(operating || stat & NOPOWER || !nextstate)
return
switch(nextstate)
- if(OPEN)
+ if(FIREDOOR_OPEN)
nextstate = null
open()
- if(CLOSED)
+ if(FIREDOOR_CLOSED)
nextstate = null
close()
@@ -422,4 +419,4 @@
/obj/structure/firelock_frame/heavy
name = "heavy firelock frame"
- reinforced = 1
+ reinforced = 1
\ No newline at end of file
diff --git a/code/game/machinery/doors/windowdoor.dm b/code/game/machinery/doors/windowdoor.dm
index 2e48e34f71..20dd6860ea 100644
--- a/code/game/machinery/doors/windowdoor.dm
+++ b/code/game/machinery/doors/windowdoor.dm
@@ -70,7 +70,7 @@
else
do_animate("deny")
return
- if (!( ticker ))
+ if (!( SSticker ))
return
var/mob/M = AM
if(M.restrained() || ((isdrone(M) || iscyborg(M)) && M.stat))
@@ -129,7 +129,7 @@
/obj/machinery/door/window/open(forced=0)
if (src.operating == 1) //doors can still open when emag-disabled
return 0
- if(!ticker || !ticker.mode)
+ if(!SSticker || !SSticker.mode)
return 0
if(!forced)
if(!hasPower())
@@ -344,7 +344,7 @@
open()
/obj/machinery/door/window/clockwork/ratvar_act()
- if(ratvar_awakens)
+ if(GLOB.ratvar_awakens)
obj_integrity = max_integrity
/obj/machinery/door/window/clockwork/hasPower()
diff --git a/code/game/machinery/doppler_array.dm b/code/game/machinery/doppler_array.dm
index 012d558135..48dc35da4b 100644
--- a/code/game/machinery/doppler_array.dm
+++ b/code/game/machinery/doppler_array.dm
@@ -1,4 +1,4 @@
-var/list/doppler_arrays = list()
+GLOBAL_LIST_EMPTY(doppler_arrays)
/obj/machinery/doppler_array
name = "tachyon-doppler array"
@@ -13,10 +13,10 @@ var/list/doppler_arrays = list()
/obj/machinery/doppler_array/New()
..()
- doppler_arrays += src
+ GLOB.doppler_arrays += src
/obj/machinery/doppler_array/Destroy()
- doppler_arrays -= src
+ GLOB.doppler_arrays -= src
return ..()
/obj/machinery/doppler_array/process()
diff --git a/code/game/machinery/embedded_controller/access_controller.dm b/code/game/machinery/embedded_controller/access_controller.dm
index b3f2c20893..bc8e5972f8 100644
--- a/code/game/machinery/embedded_controller/access_controller.dm
+++ b/code/game/machinery/embedded_controller/access_controller.dm
@@ -47,11 +47,11 @@
var/busy
/obj/machinery/doorButtons/access_button/findObjsByTag()
- for(var/obj/machinery/doorButtons/airlock_controller/A in machines)
+ for(var/obj/machinery/doorButtons/airlock_controller/A in GLOB.machines)
if(A.idSelf == idSelf)
controller = A
break
- for(var/obj/machinery/door/airlock/I in machines)
+ for(var/obj/machinery/door/airlock/I in GLOB.machines)
if(I.id_tag == idDoor)
door = I
break
@@ -120,7 +120,7 @@
exteriorAirlock = null
/obj/machinery/doorButtons/airlock_controller/Destroy()
- for(var/obj/machinery/doorButtons/access_button/A in machines)
+ for(var/obj/machinery/doorButtons/access_button/A in GLOB.machines)
if(A.controller == src)
A.controller = null
return ..()
@@ -241,7 +241,7 @@
update_icon()
/obj/machinery/doorButtons/airlock_controller/findObjsByTag()
- for(var/obj/machinery/door/airlock/A in machines)
+ for(var/obj/machinery/door/airlock/A in GLOB.machines)
if(A.id_tag == idInterior)
interiorAirlock = A
else if(A.id_tag == idExterior)
diff --git a/code/game/machinery/firealarm.dm b/code/game/machinery/firealarm.dm
index 4bc16cccf6..97f09820d1 100644
--- a/code/game/machinery/firealarm.dm
+++ b/code/game/machinery/firealarm.dm
@@ -63,7 +63,7 @@
return
if(src.z == ZLEVEL_STATION)
- add_overlay("overlay_[security_level]")
+ add_overlay("overlay_[GLOB.security_level]")
else
//var/green = SEC_LEVEL_GREEN
add_overlay("overlay_[SEC_LEVEL_GREEN]")
@@ -111,7 +111,7 @@
addtimer(CALLBACK(src, .proc/reset), time)
/obj/machinery/firealarm/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)
+ datum/tgui/master_ui = null, datum/ui_state/state = GLOB.default_state)
ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open)
if(!ui)
ui = new(user, src, ui_key, "firealarm", name, 300, 150, master_ui, state)
diff --git a/code/game/machinery/gulag_item_reclaimer.dm b/code/game/machinery/gulag_item_reclaimer.dm
index 826d707f0a..61d1588372 100644
--- a/code/game/machinery/gulag_item_reclaimer.dm
+++ b/code/game/machinery/gulag_item_reclaimer.dm
@@ -3,7 +3,7 @@
desc = "Used to reclaim your items after you finish your sentence at the labor camp"
icon = 'icons/obj/terminals.dmi'
icon_state = "dorm_taken"
- req_access = list(access_security) //reqaccess to access all stored items
+ req_access = list(GLOB.access_security) //reqaccess to access all stored items
density = 0
anchored = 1
use_power = 1
@@ -43,7 +43,7 @@
return ..()
/obj/machinery/gulag_item_reclaimer/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)
+ datum/tgui/master_ui = null, datum/ui_state/state = GLOB.default_state)
ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open)
if(!ui)
ui = new(user, src, ui_key, "gulag_item_reclaimer", name, 455, 440, master_ui, state)
diff --git a/code/game/machinery/hologram.dm b/code/game/machinery/hologram.dm
index 883da04cf6..f28e6cdbdb 100644
--- a/code/game/machinery/hologram.dm
+++ b/code/game/machinery/hologram.dm
@@ -29,9 +29,7 @@ Possible to do for anyone motivated enough:
#define RANGE_BASED 4
#define AREA_BASED 6
-var/const/HOLOPAD_MODE = RANGE_BASED
-
-var/list/holopads = list()
+#define HOLOPAD_MODE RANGE_BASED
/obj/machinery/holopad
name = "\improper AI holopad"
@@ -39,8 +37,6 @@ var/list/holopads = list()
icon_state = "holopad0"
layer = LOW_OBJ_LAYER
flags = HEAR
- languages_spoken = ROBOT | HUMAN
- languages_understood = ROBOT | HUMAN
anchored = 1
use_power = 1
idle_power_usage = 5
@@ -52,6 +48,7 @@ var/list/holopads = list()
var/last_request = 0 //to prevent request spam. ~Carn
var/holo_range = 5 // Change to change how far the AI can move away from the holopad before deactivating.
var/temp = ""
+ var/static/list/holopads = list()
/obj/machinery/holopad/New()
..()
@@ -123,7 +120,7 @@ var/list/holopads = list()
temp = "You requested an AI's presence. "
temp += "Main Menu "
var/area/area = get_area(src)
- for(var/mob/living/silicon/ai/AI in living_mob_list)
+ for(var/mob/living/silicon/ai/AI in GLOB.living_mob_list)
if(!AI.client)
continue
to_chat(AI, "Your presence is requested at \the [area] . ")
@@ -189,11 +186,11 @@ var/list/holopads = list()
/*This is the proc for special two-way communication between AI and holopad/people talking near holopad.
For the other part of the code, check silicon say.dm. Particularly robot talk.*/
-/obj/machinery/holopad/Hear(message, atom/movable/speaker, message_langs, raw_message, radio_freq, list/spans)
+/obj/machinery/holopad/Hear(message, atom/movable/speaker, datum/language/message_language, raw_message, radio_freq, list/spans, message_mode)
if(speaker && masters.len && !radio_freq)//Master is mostly a safety in case lag hits or something. Radio_freq so AIs dont hear holopad stuff through radios.
for(var/mob/living/silicon/ai/master in masters)
if(masters[master] && speaker != master)
- master.relay_speech(message, speaker, message_langs, raw_message, radio_freq, spans)
+ master.relay_speech(message, speaker, message_language, raw_message, radio_freq, spans, message_mode)
/obj/machinery/holopad/proc/create_holo(mob/living/silicon/ai/A, turf/T = loc)
var/obj/effect/overlay/holo_pad_hologram/h = new(T)//Spawn a blank effect at the location.
diff --git a/code/game/machinery/iv_drip.dm b/code/game/machinery/iv_drip.dm
index eb3ee75e31..e4e1f7e75d 100644
--- a/code/game/machinery/iv_drip.dm
+++ b/code/game/machinery/iv_drip.dm
@@ -7,11 +7,14 @@
var/mob/living/carbon/attached = null
var/mode = 1 // 1 is injecting, 0 is taking blood.
var/obj/item/weapon/reagent_containers/beaker = null
+ var/list/drip_containers = list(/obj/item/weapon/reagent_containers/blood,
+ /obj/item/weapon/reagent_containers/food,
+ /obj/item/weapon/reagent_containers/glass)
-
-/obj/machinery/iv_drip/New()
+/obj/machinery/iv_drip/Initialize()
..()
update_icon()
+ drip_containers = typecacheof(drip_containers)
/obj/machinery/iv_drip/update_icon()
if(attached)
@@ -73,14 +76,14 @@
if(beaker)
usr.visible_message("[usr] attaches \the [src] to \the [target]. ", "You attach \the [src] to \the [target]. ")
attached = target
- START_PROCESSING(SSmachine, src)
+ START_PROCESSING(SSmachines, src)
update_icon()
else
to_chat(usr, "There's nothing attached to the IV drip! ")
/obj/machinery/iv_drip/attackby(obj/item/weapon/W, mob/user, params)
- if (istype(W, /obj/item/weapon/reagent_containers))
+ if (is_type_in_typecache(W, drip_containers))
if(!isnull(beaker))
to_chat(user, "There is already a reagent container loaded! ")
return
diff --git a/code/game/machinery/machinery.dm b/code/game/machinery/machinery.dm
index b69d728617..137a492b3a 100644
--- a/code/game/machinery/machinery.dm
+++ b/code/game/machinery/machinery.dm
@@ -128,17 +128,17 @@ Class Procs:
if (!armor)
armor = list(melee = 25, bullet = 10, laser = 10, energy = 0, bomb = 0, bio = 0, rad = 0, fire = 50, acid = 70)
..()
- machines += src
+ GLOB.machines += src
if(!speed_process)
- START_PROCESSING(SSmachine, src)
+ START_PROCESSING(SSmachines, src)
else
START_PROCESSING(SSfastprocess, src)
power_change()
/obj/machinery/Destroy()
- machines.Remove(src)
+ GLOB.machines.Remove(src)
if(!speed_process)
- STOP_PROCESSING(SSmachine, src)
+ STOP_PROCESSING(SSmachines, src)
else
STOP_PROCESSING(SSfastprocess, src)
dropContents()
diff --git a/code/game/machinery/magnet.dm b/code/game/machinery/magnet.dm
index 84de028966..26e62c365e 100644
--- a/code/game/machinery/magnet.dm
+++ b/code/game/machinery/magnet.dm
@@ -37,7 +37,7 @@
spawn(10) // must wait for map loading to finish
if(SSradio)
- SSradio.add_object(src, freq, RADIO_MAGNETS)
+ SSradio.add_object(src, freq, GLOB.RADIO_MAGNETS)
spawn()
magnetic_process()
@@ -233,14 +233,14 @@
..()
if(autolink)
- for(var/obj/machinery/magnetic_module/M in machines)
+ for(var/obj/machinery/magnetic_module/M in GLOB.machines)
if(M.freq == frequency && M.code == code)
magnets.Add(M)
spawn(45) // must wait for map loading to finish
if(SSradio)
- radio_connection = SSradio.add_object(src, frequency, RADIO_MAGNETS)
+ radio_connection = SSradio.add_object(src, frequency, GLOB.RADIO_MAGNETS)
if(path) // check for default path
@@ -255,7 +255,7 @@
/obj/machinery/magnetic_controller/process()
if(magnets.len == 0 && autolink)
- for(var/obj/machinery/magnetic_module/M in machines)
+ for(var/obj/machinery/magnetic_module/M in GLOB.machines)
if(M.freq == frequency && M.code == code)
magnets.Add(M)
@@ -323,7 +323,7 @@
// Broadcast the signal
- radio_connection.post_signal(src, signal, filter = RADIO_MAGNETS)
+ radio_connection.post_signal(src, signal, filter = GLOB.RADIO_MAGNETS)
spawn(1)
updateUsrDialog() // pretty sure this increases responsiveness
@@ -390,7 +390,7 @@
// Broadcast the signal
spawn()
- radio_connection.post_signal(src, signal, filter = RADIO_MAGNETS)
+ radio_connection.post_signal(src, signal, filter = GLOB.RADIO_MAGNETS)
if(speed == 10)
sleep(1)
diff --git a/code/game/machinery/navbeacon.dm b/code/game/machinery/navbeacon.dm
index 6c9f3e8523..862175ab6a 100644
--- a/code/game/machinery/navbeacon.dm
+++ b/code/game/machinery/navbeacon.dm
@@ -21,7 +21,7 @@
var/list/codes // assoc. list of transponder codes
var/codes_txt = "" // codes as set on map: "tag1;tag2" or "tag1=value;tag2=value"
- req_access = list(access_engine, access_robotics)
+ req_access = list(GLOB.access_engine, GLOB.access_robotics)
/obj/machinery/navbeacon/New()
..()
@@ -31,16 +31,16 @@
var/turf/T = loc
hide(T.intact)
if(codes["patrol"])
- if(!navbeacons["[z]"])
- navbeacons["[z]"] = list()
- navbeacons["[z]"] += src //Register with the patrol list!
+ if(!GLOB.navbeacons["[z]"])
+ GLOB.navbeacons["[z]"] = list()
+ GLOB.navbeacons["[z]"] += src //Register with the patrol list!
if(codes["delivery"])
- deliverybeacons += src
- deliverybeacontags += location
+ GLOB.deliverybeacons += src
+ GLOB.deliverybeacontags += location
/obj/machinery/navbeacon/Destroy()
- navbeacons["[z]"] -= src //Remove from beacon list, if in one.
- deliverybeacons -= src
+ GLOB.navbeacons["[z]"] -= src //Remove from beacon list, if in one.
+ GLOB.deliverybeacons -= src
return ..()
// set the transponder codes assoc list from codes_txt
diff --git a/code/game/machinery/newscaster.dm b/code/game/machinery/newscaster.dm
index 1fbbfbb41b..a50a2973fc 100644
--- a/code/game/machinery/newscaster.dm
+++ b/code/game/machinery/newscaster.dm
@@ -1,5 +1,5 @@
-var/datum/newscaster/feed_network/news_network = new /datum/newscaster/feed_network
-var/list/obj/machinery/newscaster/allCasters = list()
+GLOBAL_DATUM_INIT(news_network, /datum/newscaster/feed_network, new)
+GLOBAL_LIST_EMPTY(allCasters)
/datum/newscaster
@@ -26,7 +26,7 @@ var/list/obj/machinery/newscaster/allCasters = list()
/datum/newscaster/feed_message/proc/returnAuthor(censor)
if(censor == -1)
censor = authorCensor
- var/txt = "[news_network.redactedText]"
+ var/txt = "[GLOB.news_network.redactedText]"
if(!censor)
txt = author
return txt
@@ -34,26 +34,26 @@ var/list/obj/machinery/newscaster/allCasters = list()
/datum/newscaster/feed_message/proc/returnBody(censor)
if(censor == -1)
censor = bodyCensor
- var/txt = "[news_network.redactedText]"
+ var/txt = "[GLOB.news_network.redactedText]"
if(!censor)
txt = body
return txt
/datum/newscaster/feed_message/proc/toggleCensorAuthor()
if(authorCensor)
- authorCensorTime.Add(news_network.lastAction*-1)
+ authorCensorTime.Add(GLOB.news_network.lastAction*-1)
else
- authorCensorTime.Add(news_network.lastAction)
+ authorCensorTime.Add(GLOB.news_network.lastAction)
authorCensor = !authorCensor
- news_network.lastAction ++
+ GLOB.news_network.lastAction ++
/datum/newscaster/feed_message/proc/toggleCensorBody()
if(bodyCensor)
- bodyCensorTime.Add(news_network.lastAction*-1)
+ bodyCensorTime.Add(GLOB.news_network.lastAction*-1)
else
- bodyCensorTime.Add(news_network.lastAction)
+ bodyCensorTime.Add(GLOB.news_network.lastAction)
bodyCensor = !bodyCensor
- news_network.lastAction ++
+ GLOB.news_network.lastAction ++
/datum/newscaster/feed_channel
var/channel_name = ""
@@ -69,26 +69,26 @@ var/list/obj/machinery/newscaster/allCasters = list()
/datum/newscaster/feed_channel/proc/returnAuthor(censor)
if(censor == -1)
censor = authorCensor
- var/txt = "[news_network.redactedText]"
+ var/txt = "[GLOB.news_network.redactedText]"
if(!censor)
txt = author
return txt
/datum/newscaster/feed_channel/proc/toggleCensorDclass()
if(censored)
- DclassCensorTime.Add(news_network.lastAction*-1)
+ DclassCensorTime.Add(GLOB.news_network.lastAction*-1)
else
- DclassCensorTime.Add(news_network.lastAction)
+ DclassCensorTime.Add(GLOB.news_network.lastAction)
censored = !censored
- news_network.lastAction ++
+ GLOB.news_network.lastAction ++
/datum/newscaster/feed_channel/proc/toggleCensorAuthor()
if(authorCensor)
- authorCensorTime.Add(news_network.lastAction*-1)
+ authorCensorTime.Add(GLOB.news_network.lastAction*-1)
else
- authorCensorTime.Add(news_network.lastAction)
+ authorCensorTime.Add(GLOB.news_network.lastAction)
authorCensor = !authorCensor
- news_network.lastAction ++
+ GLOB.news_network.lastAction ++
/datum/newscaster/wanted_message
var/active
@@ -130,7 +130,7 @@ var/list/obj/machinery/newscaster/allCasters = list()
if(FC.channel_name == channel_name)
FC.messages += newMsg
break
- for(var/obj/machinery/newscaster/NEWSCASTER in allCasters)
+ for(var/obj/machinery/newscaster/NEWSCASTER in GLOB.allCasters)
NEWSCASTER.newsAlert(channel_name)
lastAction ++
newMsg.creationTime = lastAction
@@ -144,7 +144,7 @@ var/list/obj/machinery/newscaster/allCasters = list()
if(photo)
wanted_issue.img = photo.img
if(newMessage)
- for(var/obj/machinery/newscaster/N in allCasters)
+ for(var/obj/machinery/newscaster/N in GLOB.allCasters)
N.newsAlert()
N.update_icon()
@@ -154,7 +154,7 @@ var/list/obj/machinery/newscaster/allCasters = list()
wanted_issue.body = null
wanted_issue.scannedUser = null
wanted_issue.img = null
- for(var/obj/machinery/newscaster/NEWSCASTER in allCasters)
+ for(var/obj/machinery/newscaster/NEWSCASTER in GLOB.allCasters)
NEWSCASTER.update_icon()
@@ -205,13 +205,13 @@ var/list/obj/machinery/newscaster/allCasters = list()
pixel_x = (dir & 3)? 0 : (dir == 4 ? -32 : 32)
pixel_y = (dir & 3)? (dir ==1 ? -32 : 32) : 0
- allCasters += src
- for(var/obj/machinery/newscaster/NEWSCASTER in allCasters)
+ GLOB.allCasters += src
+ for(var/obj/machinery/newscaster/NEWSCASTER in GLOB.allCasters)
unit_no++
update_icon()
/obj/machinery/newscaster/Destroy()
- allCasters -= src
+ GLOB.allCasters -= src
viewing_channel = null
photo = null
return ..()
@@ -221,7 +221,7 @@ var/list/obj/machinery/newscaster/allCasters = list()
if(stat & (NOPOWER|BROKEN))
icon_state = "newscaster_off"
else
- if(news_network.wanted_issue.active)
+ if(GLOB.news_network.wanted_issue.active)
icon_state = "newscaster_wanted"
else
icon_state = "newscaster_normal"
@@ -268,7 +268,7 @@ var/list/obj/machinery/newscaster/allCasters = list()
if(0)
dat += "Welcome to Newscasting Unit #[unit_no]. Interface & News networks Operational."
dat += "Property of Nanotrasen Inc "
- if(news_network.wanted_issue.active)
+ if(GLOB.news_network.wanted_issue.active)
dat+= "Read Wanted Issue "
dat+= "Create Feed Channel "
dat+= "View Feed Channels "
@@ -278,7 +278,7 @@ var/list/obj/machinery/newscaster/allCasters = list()
dat+= "Exit "
if(securityCaster)
var/wanted_already = 0
- if(news_network.wanted_issue.active)
+ if(GLOB.news_network.wanted_issue.active)
wanted_already = 1
dat+="Feed Security functions: "
dat+="[(wanted_already) ? ("Manage") : ("Publish")] \"Wanted\" Issue "
@@ -287,10 +287,10 @@ var/list/obj/machinery/newscaster/allCasters = list()
dat+=" The newscaster recognises you as: [scanned_user] "
if(1)
dat+= "Station Feed Channels "
- if( isemptylist(news_network.network_channels) )
+ if( isemptylist(GLOB.news_network.network_channels) )
dat+="No active channels found... "
else
- for(var/datum/newscaster/feed_channel/CHANNEL in news_network.network_channels)
+ for(var/datum/newscaster/feed_channel/CHANNEL in GLOB.news_network.network_channels)
if(CHANNEL.is_admin_channel)
dat+="[CHANNEL.channel_name] "
else
@@ -329,9 +329,9 @@ var/list/obj/machinery/newscaster/allCasters = list()
if(7)
dat+="ERROR: Could not submit Feed Channel to Network. "
var/list/existing_authors = list()
- for(var/datum/newscaster/feed_channel/FC in news_network.network_channels)
+ for(var/datum/newscaster/feed_channel/FC in GLOB.news_network.network_channels)
if(FC.authorCensor)
- existing_authors += news_network.redactedText
+ existing_authors += GLOB.news_network.redactedText
else
existing_authors += FC.author
if(scanned_user in existing_authors)
@@ -339,7 +339,7 @@ var/list/obj/machinery/newscaster/allCasters = list()
if(channel_name=="" || channel_name == "\[REDACTED\]")
dat+="Invalid channel name. "
var/check = 0
- for(var/datum/newscaster/feed_channel/FC in news_network.network_channels)
+ for(var/datum/newscaster/feed_channel/FC in GLOB.news_network.network_channels)
if(FC.channel_name == channel_name)
check = 1
break
@@ -349,10 +349,10 @@ var/list/obj/machinery/newscaster/allCasters = list()
dat+="Channel author unverified. "
dat+="Return "
if(8)
- var/total_num=length(news_network.network_channels)
+ var/total_num=length(GLOB.news_network.network_channels)
var/active_num=total_num
var/message_num=0
- for(var/datum/newscaster/feed_channel/FC in news_network.network_channels)
+ for(var/datum/newscaster/feed_channel/FC in GLOB.news_network.network_channels)
if(!FC.censored)
message_num += length(FC.messages)
else
@@ -395,10 +395,10 @@ var/list/obj/machinery/newscaster/allCasters = list()
dat+="NOTE: Due to the nature of news Feeds, total deletion of a Feed Story is not possible. "
dat+="Keep in mind that users attempting to view a censored feed will instead see the \[REDACTED\] tag above it. "
dat+=" Select Feed channel to get Stories from: "
- if(isemptylist(news_network.network_channels))
+ if(isemptylist(GLOB.news_network.network_channels))
dat+="No feed channels found active... "
else
- for(var/datum/newscaster/feed_channel/CHANNEL in news_network.network_channels)
+ for(var/datum/newscaster/feed_channel/CHANNEL in GLOB.news_network.network_channels)
dat+="[CHANNEL.channel_name] [(CHANNEL.censored) ? ("*** ") : ()] "
dat+="Cancel "
if(11)
@@ -406,10 +406,10 @@ var/list/obj/machinery/newscaster/allCasters = list()
dat+="A D-Notice is to be bestowed upon the channel if the handling Authority deems it as harmful for the station's"
dat+="morale, integrity or disciplinary behaviour. A D-Notice will render a channel unable to be updated by anyone, without deleting any feed"
dat+="stories it might contain at the time. You can lift a D-Notice if you have the required access at any time. "
- if(isemptylist(news_network.network_channels))
+ if(isemptylist(GLOB.news_network.network_channels))
dat+="No feed channels found active... "
else
- for(var/datum/newscaster/feed_channel/CHANNEL in news_network.network_channels)
+ for(var/datum/newscaster/feed_channel/CHANNEL in GLOB.news_network.network_channels)
dat+="[CHANNEL.channel_name] [(CHANNEL.censored) ? ("*** ") : ()] "
dat+="Back "
if(12)
@@ -442,7 +442,7 @@ var/list/obj/machinery/newscaster/allCasters = list()
dat+="Wanted Issue Handler: "
var/wanted_already = 0
var/end_param = 1
- if(news_network.wanted_issue.active)
+ if(GLOB.news_network.wanted_issue.active)
wanted_already = 1
end_param = 2
if(wanted_already)
@@ -452,7 +452,7 @@ var/list/obj/machinery/newscaster/allCasters = list()
dat+="Description : [msg] "
dat+="Attach Photo : [(photo ? "Photo Attached" : "No Photo")]"
if(wanted_already)
- dat+="Wanted Issue created by: [news_network.wanted_issue.scannedUser] "
+ dat+="Wanted Issue created by: [GLOB.news_network.wanted_issue.scannedUser] "
else
dat+="Wanted Issue will be created under prosecutor: [scanned_user] "
dat+="[(wanted_already) ? ("Edit Issue") : ("Submit")] "
@@ -475,13 +475,13 @@ var/list/obj/machinery/newscaster/allCasters = list()
dat+="Wanted Issue successfully deleted from Circulation "
dat+="Return "
if(18)
- if(news_network.wanted_issue.active)
- dat+="-- STATIONWIDE WANTED ISSUE -- \[Submitted by: [news_network.wanted_issue.scannedUser] \] "
- dat+="Criminal : [news_network.wanted_issue.criminal] "
- dat+="Description : [news_network.wanted_issue.body] "
+ if(GLOB.news_network.wanted_issue.active)
+ dat+="-- STATIONWIDE WANTED ISSUE -- \[Submitted by: [GLOB.news_network.wanted_issue.scannedUser] \] "
+ dat+="Criminal : [GLOB.news_network.wanted_issue.criminal] "
+ dat+="Description : [GLOB.news_network.wanted_issue.body] "
dat+="Photo: : "
- if(news_network.wanted_issue.img)
- usr << browse_rsc(news_network.wanted_issue.img, "tmp_photow.png")
+ if(GLOB.news_network.wanted_issue.img)
+ usr << browse_rsc(GLOB.news_network.wanted_issue.img, "tmp_photow.png")
dat+=" "
else
dat+="None"
@@ -518,13 +518,13 @@ var/list/obj/machinery/newscaster/allCasters = list()
updateUsrDialog()
else if(href_list["submit_new_channel"])
var/list/existing_authors = list()
- for(var/datum/newscaster/feed_channel/FC in news_network.network_channels)
+ for(var/datum/newscaster/feed_channel/FC in GLOB.news_network.network_channels)
if(FC.authorCensor)
- existing_authors += news_network.redactedText
+ existing_authors += GLOB.news_network.redactedText
else
existing_authors += FC.author
var/check = 0
- for(var/datum/newscaster/feed_channel/FC in news_network.network_channels)
+ for(var/datum/newscaster/feed_channel/FC in GLOB.news_network.network_channels)
if(FC.channel_name == channel_name)
check = 1
break
@@ -534,13 +534,13 @@ var/list/obj/machinery/newscaster/allCasters = list()
var/choice = alert("Please confirm Feed channel creation","Network Channel Handler","Confirm","Cancel")
if(choice=="Confirm")
scan_user(usr)
- news_network.CreateFeedChannel(channel_name, scanned_user, c_locked)
+ GLOB.news_network.CreateFeedChannel(channel_name, scanned_user, c_locked)
feedback_inc("newscaster_channels",1)
screen=5
updateUsrDialog()
else if(href_list["set_channel_receiving"])
var/list/available_channels = list()
- for(var/datum/newscaster/feed_channel/F in news_network.network_channels)
+ for(var/datum/newscaster/feed_channel/F in GLOB.news_network.network_channels)
if( (!F.locked || F.author == scanned_user) && !F.censored)
available_channels += F.channel_name
channel_name = input(usr, "Choose receiving Feed Channel", "Network Channel Handler") in available_channels
@@ -557,7 +557,7 @@ var/list/obj/machinery/newscaster/allCasters = list()
if(msg =="" || msg=="\[REDACTED\]" || scanned_user == "Unknown" || channel_name == "" )
screen=6
else
- news_network.SubmitArticle("[parsepencode(msg, usr, SIGNFONT)] ", scanned_user, channel_name, photo, 0, allow_comments)
+ GLOB.news_network.SubmitArticle("[parsepencode(msg, usr, SIGNFONT)] ", scanned_user, channel_name, photo, 0, allow_comments)
feedback_inc("newscaster_stories",1)
screen=4
msg = ""
@@ -586,11 +586,11 @@ var/list/obj/machinery/newscaster/allCasters = list()
updateUsrDialog()
else if(href_list["menu_wanted"])
var/already_wanted = 0
- if(news_network.wanted_issue.active)
+ if(GLOB.news_network.wanted_issue.active)
already_wanted = 1
if(already_wanted)
- channel_name = news_network.wanted_issue.criminal
- msg = news_network.wanted_issue.body
+ channel_name = GLOB.news_network.wanted_issue.criminal
+ msg = GLOB.news_network.wanted_issue.body
screen = 14
updateUsrDialog()
else if(href_list["set_wanted_name"])
@@ -608,22 +608,22 @@ var/list/obj/machinery/newscaster/allCasters = list()
if(choice=="Confirm")
scan_user(usr)
if(input_param==1) //If input_param == 1 we're submitting a new wanted issue. At 2 we're just editing an existing one.
- news_network.submitWanted(channel_name, msg, scanned_user, photo, 0 , 1)
+ GLOB.news_network.submitWanted(channel_name, msg, scanned_user, photo, 0 , 1)
screen = 15
else
- if(news_network.wanted_issue.isAdminMsg)
+ if(GLOB.news_network.wanted_issue.isAdminMsg)
alert("The wanted issue has been distributed by a Nanotrasen higherup. You cannot edit it.","Ok")
return
- news_network.submitWanted(channel_name, msg, scanned_user, photo)
+ GLOB.news_network.submitWanted(channel_name, msg, scanned_user, photo)
screen = 19
updateUsrDialog()
else if(href_list["cancel_wanted"])
- if(news_network.wanted_issue.isAdminMsg)
+ if(GLOB.news_network.wanted_issue.isAdminMsg)
alert("The wanted issue has been distributed by a Nanotrasen higherup. You cannot take it down.","Ok")
return
var/choice = alert("Please confirm Wanted Issue removal","Network Security Handler","Confirm","Cancel")
if(choice=="Confirm")
- news_network.deleteWanted()
+ GLOB.news_network.deleteWanted()
screen=17
updateUsrDialog()
else if(href_list["view_wanted"])
@@ -852,16 +852,16 @@ var/list/obj/machinery/newscaster/allCasters = list()
/obj/machinery/newscaster/proc/print_paper()
feedback_inc("newscaster_newspapers_printed",1)
var/obj/item/weapon/newspaper/NEWSPAPER = new /obj/item/weapon/newspaper
- for(var/datum/newscaster/feed_channel/FC in news_network.network_channels)
+ for(var/datum/newscaster/feed_channel/FC in GLOB.news_network.network_channels)
NEWSPAPER.news_content += FC
- if(news_network.wanted_issue.active)
- NEWSPAPER.wantedAuthor = news_network.wanted_issue.scannedUser
- NEWSPAPER.wantedCriminal = news_network.wanted_issue.criminal
- NEWSPAPER.wantedBody = news_network.wanted_issue.body
- if(news_network.wanted_issue.img)
- NEWSPAPER.wantedPhoto = news_network.wanted_issue.img
+ if(GLOB.news_network.wanted_issue.active)
+ NEWSPAPER.wantedAuthor = GLOB.news_network.wanted_issue.scannedUser
+ NEWSPAPER.wantedCriminal = GLOB.news_network.wanted_issue.criminal
+ NEWSPAPER.wantedBody = GLOB.news_network.wanted_issue.body
+ if(GLOB.news_network.wanted_issue.img)
+ NEWSPAPER.wantedPhoto = GLOB.news_network.wanted_issue.img
NEWSPAPER.loc = get_turf(src)
- NEWSPAPER.creationTime = news_network.lastAction
+ NEWSPAPER.creationTime = GLOB.news_network.lastAction
paper_remaining--
/obj/machinery/newscaster/proc/newsAlert(channel)
diff --git a/code/game/machinery/pipe/construction.dm b/code/game/machinery/pipe/construction.dm
index ff6836dfae..bcc056c654 100644
--- a/code/game/machinery/pipe/construction.dm
+++ b/code/game/machinery/pipe/construction.dm
@@ -22,7 +22,7 @@ Buildable meters
var/flipped = 0
var/is_bent = 0
- var/global/list/pipe_types = list(
+ var/static/list/pipe_types = list(
PIPE_SIMPLE, \
PIPE_MANIFOLD, \
PIPE_4WAYMANIFOLD, \
@@ -73,7 +73,7 @@ Buildable meters
src.pipe_type = pipe_type
src.setDir(dir)
- if(src.dir in diagonals)
+ if(src.dir in GLOB.diagonals)
is_bent = 1
update()
@@ -81,7 +81,7 @@ Buildable meters
src.pixel_y = rand(-5, 5)
//update the name and icon of the pipe item depending on the type
-var/global/list/pipeID2State = list(
+GLOBAL_LIST_INIT(pipeID2State, list(
"[PIPE_SIMPLE]" = "simple", \
"[PIPE_MANIFOLD]" = "manifold", \
"[PIPE_4WAYMANIFOLD]" = "manifold4w", \
@@ -103,7 +103,7 @@ var/global/list/pipeID2State = list(
\
"[PIPE_GAS_FILTER]" = "filter", \
"[PIPE_GAS_MIXER]" = "mixer", \
-)
+))
/obj/item/pipe/proc/update()
var/list/nlist = list(\
@@ -133,7 +133,7 @@ var/global/list/pipeID2State = list(
)
//fix_pipe_type()
name = nlist["[pipe_type][is_bent ? "_b" : ""]"] + " fitting"
- icon_state = pipeID2State["[pipe_type]"]
+ icon_state = GLOB.pipeID2State["[pipe_type]"]
// rotate the pipe item clockwise
@@ -186,7 +186,7 @@ var/global/list/pipeID2State = list(
setDir(old_dir )//pipes changing direction when moved is just annoying and buggy
/obj/item/pipe/proc/unflip(direction)
- if(direction in diagonals)
+ if(direction in GLOB.diagonals)
return turn(direction, 45)
return direction
diff --git a/code/game/machinery/porta_turret/portable_turret.dm b/code/game/machinery/porta_turret/portable_turret.dm
index 53e3d43dd3..d689b076fa 100644
--- a/code/game/machinery/porta_turret/portable_turret.dm
+++ b/code/game/machinery/porta_turret/portable_turret.dm
@@ -12,7 +12,7 @@
use_power = 1 //this turret uses and requires power
idle_power_usage = 50 //when inactive, this turret takes up constant 50 Equipment power
active_power_usage = 300 //when active, this turret takes up constant 300 Equipment power
- req_access = list(access_security)
+ req_access = list(GLOB.access_security)
power_channel = EQUIP //drains power from the EQUIPMENT channel
var/base_icon_state = "standard"
@@ -311,9 +311,11 @@
if(prob(30))
spark_system.start()
if(on && !attacked && !emagged)
- attacked = 1
- spawn(60)
- attacked = 0
+ attacked = TRUE
+ addtimer(CALLBACK(src, .proc/reset_attacked), 60)
+
+/obj/machinery/porta_turret/proc/reset_attacked()
+ attacked = FALSE
/obj/machinery/porta_turret/deconstruct(disassembled = TRUE)
qdel(src)
@@ -465,7 +467,7 @@
if(check_records) //if the turret can check the records, check if they are set to *Arrest* on records
var/perpname = perp.get_face_name(perp.get_id_name())
- var/datum/data/record/R = find_record("name", perpname, data_core.security)
+ var/datum/data/record/R = find_record("name", perpname, GLOB.data_core.security)
if(!R || (R.fields["criminal"] == "*Arrest*"))
threatcount += 4
@@ -632,7 +634,7 @@
var/locked = 1
var/control_area = null //can be area name, path or nothing.
var/ailock = 0 // AI cannot use this
- req_access = list(access_ai_upload)
+ req_access = list(GLOB.access_ai_upload)
var/list/obj/machinery/porta_turret/turrets = list()
resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF
@@ -654,7 +656,7 @@
if(!mapload)
return
if(control_area && istext(control_area))
- for(var/V in sortedAreas)
+ for(var/V in GLOB.sortedAreas)
var/area/A = V
if(A.name == control_area)
control_area = A
@@ -843,7 +845,7 @@
. = ..()
/obj/machinery/porta_turret/lasertag
- req_access = list(access_maint_tunnels, access_theatre)
+ req_access = list(GLOB.access_maint_tunnels, GLOB.access_theatre)
check_records = 0
criminals = 0
auth_weapons = 1
@@ -911,4 +913,4 @@
if(istype(P, /obj/item/projectile/beam/lasertag/bluetag))
on = 0
spawn(100)
- on = 1
\ No newline at end of file
+ on = 1
diff --git a/code/game/machinery/rechargestation.dm b/code/game/machinery/rechargestation.dm
index e1b0131c1b..4d8af0543a 100644
--- a/code/game/machinery/rechargestation.dm
+++ b/code/game/machinery/rechargestation.dm
@@ -7,7 +7,7 @@
use_power = 1
idle_power_usage = 5
active_power_usage = 1000
- req_access = list(access_robotics)
+ req_access = list(GLOB.access_robotics)
var/recharge_speed
var/repairs
state_open = 1
diff --git a/code/game/machinery/recycler.dm b/code/game/machinery/recycler.dm
index 8a8514e457..57e6ee3f09 100644
--- a/code/game/machinery/recycler.dm
+++ b/code/game/machinery/recycler.dm
@@ -1,4 +1,4 @@
-var/const/SAFETY_COOLDOWN = 100
+#define SAFETY_COOLDOWN 100
/obj/machinery/recycler
name = "recycler"
@@ -12,7 +12,7 @@ var/const/SAFETY_COOLDOWN = 100
var/icon_name = "grinder-o"
var/blood = 0
var/eat_dir = WEST
- var/amount_produced = 1
+ var/amount_produced = 50
var/datum/material_container/materials
var/crush_damage = 1000
var/eat_victim_items = TRUE
@@ -40,9 +40,9 @@ var/const/SAFETY_COOLDOWN = 100
mat_mod = 2 * B.rating
mat_mod *= 50000
for(var/obj/item/weapon/stock_parts/manipulator/M in component_parts)
- amt_made = 25 * M.rating //% of materials salvaged
+ amt_made = 12.5 * M.rating //% of materials salvaged
materials.max_amount = mat_mod
- amount_produced = min(100, amt_made)
+ amount_produced = min(50, amt_made) + 50
/obj/machinery/recycler/examine(mob/user)
..()
@@ -109,9 +109,12 @@ var/const/SAFETY_COOLDOWN = 100
eat(AM)
/obj/machinery/recycler/proc/eat(atom/AM0, sound=TRUE)
- var/list/to_eat = list(AM0)
+ var/list/to_eat
if(istype(AM0, /obj/item))
- to_eat += AM0.GetAllContents()
+ to_eat = AM0.GetAllContents()
+ else
+ to_eat = list(AM0)
+
var/items_recycled = 0
for(var/i in to_eat)
@@ -204,3 +207,5 @@ var/const/SAFETY_COOLDOWN = 100
/obj/item/weapon/paper/recycler
name = "paper - 'garbage duty instructions'"
info = "New Assignment You have been assigned to collect garbage from trash bins, located around the station. The crewmembers will put their trash into it and you will collect the said trash. There is a recycling machine near your closet, inside maintenance; use it to recycle the trash for a small chance to get useful minerals. Then deliver these minerals to cargo or engineering. You are our last hope for a clean station, do not screw this up!"
+
+#undef SAFETY_COOLDOWN
\ No newline at end of file
diff --git a/code/game/machinery/requests_console.dm b/code/game/machinery/requests_console.dm
index 6f014a52b7..648b44932a 100644
--- a/code/game/machinery/requests_console.dm
+++ b/code/game/machinery/requests_console.dm
@@ -1,10 +1,10 @@
/******************** Requests Console ********************/
/** Originally written by errorage, updated by: Carn, needs more work though. I just added some security fixes */
-var/req_console_assistance = list()
-var/req_console_supplies = list()
-var/req_console_information = list()
-var/list/obj/machinery/requests_console/allConsoles = list()
+GLOBAL_LIST_EMPTY(req_console_assistance)
+GLOBAL_LIST_EMPTY(req_console_supplies)
+GLOBAL_LIST_EMPTY(req_console_information)
+GLOBAL_LIST_EMPTY(allConsoles)
/obj/machinery/requests_console
name = "requests console"
@@ -91,46 +91,46 @@ var/list/obj/machinery/requests_console/allConsoles = list()
/obj/machinery/requests_console/Initialize()
..()
name = "\improper [department] requests console"
- allConsoles += src
+ GLOB.allConsoles += src
switch(departmentType)
if(1)
- if(!("[department]" in req_console_assistance))
- req_console_assistance += department
+ if(!("[department]" in GLOB.req_console_assistance))
+ GLOB.req_console_assistance += department
if(2)
- if(!("[department]" in req_console_supplies))
- req_console_supplies += department
+ if(!("[department]" in GLOB.req_console_supplies))
+ GLOB.req_console_supplies += department
if(3)
- if(!("[department]" in req_console_information))
- req_console_information += department
+ if(!("[department]" in GLOB.req_console_information))
+ GLOB.req_console_information += department
if(4)
- if(!("[department]" in req_console_assistance))
- req_console_assistance += department
- if(!("[department]" in req_console_supplies))
- req_console_supplies += department
+ if(!("[department]" in GLOB.req_console_assistance))
+ GLOB.req_console_assistance += department
+ if(!("[department]" in GLOB.req_console_supplies))
+ GLOB.req_console_supplies += department
if(5)
- if(!("[department]" in req_console_assistance))
- req_console_assistance += department
- if(!("[department]" in req_console_information))
- req_console_information += department
+ if(!("[department]" in GLOB.req_console_assistance))
+ GLOB.req_console_assistance += department
+ if(!("[department]" in GLOB.req_console_information))
+ GLOB.req_console_information += department
if(6)
- if(!("[department]" in req_console_supplies))
- req_console_supplies += department
- if(!("[department]" in req_console_information))
- req_console_information += department
+ if(!("[department]" in GLOB.req_console_supplies))
+ GLOB.req_console_supplies += department
+ if(!("[department]" in GLOB.req_console_information))
+ GLOB.req_console_information += department
if(7)
- if(!("[department]" in req_console_assistance))
- req_console_assistance += department
- if(!("[department]" in req_console_supplies))
- req_console_supplies += department
- if(!("[department]" in req_console_information))
- req_console_information += department
+ if(!("[department]" in GLOB.req_console_assistance))
+ GLOB.req_console_assistance += department
+ if(!("[department]" in GLOB.req_console_supplies))
+ GLOB.req_console_supplies += department
+ if(!("[department]" in GLOB.req_console_information))
+ GLOB.req_console_information += department
Radio = new /obj/item/device/radio(src)
Radio.listening = 0
/obj/machinery/requests_console/Destroy()
QDEL_NULL(Radio)
- allConsoles -= src
+ GLOB.allConsoles -= src
return ..()
/obj/machinery/requests_console/attack_hand(mob/user)
@@ -142,7 +142,7 @@ var/list/obj/machinery/requests_console/allConsoles = list()
if(1) //req. assistance
dat += "Which department do you need assistance from? "
dat += ""
- for(var/dpt in req_console_assistance)
+ for(var/dpt in GLOB.req_console_assistance)
if (dpt != department)
dat += ""
dat += "[dpt] "
@@ -157,7 +157,7 @@ var/list/obj/machinery/requests_console/allConsoles = list()
if(2) //req. supplies
dat += "Which department do you need supplies from? "
dat += ""
- for(var/dpt in req_console_supplies)
+ for(var/dpt in GLOB.req_console_supplies)
if (dpt != department)
dat += ""
dat += "[dpt] "
@@ -172,7 +172,7 @@ var/list/obj/machinery/requests_console/allConsoles = list()
if(3) //relay information
dat += "Which department would you like to send information to? "
dat += ""
- for(var/dpt in req_console_information)
+ for(var/dpt in GLOB.req_console_information)
if (dpt != department)
dat += ""
dat += "[dpt] "
@@ -193,7 +193,7 @@ var/list/obj/machinery/requests_console/allConsoles = list()
dat += "Continue "
if(8) //view messages
- for (var/obj/machinery/requests_console/Console in allConsoles)
+ for (var/obj/machinery/requests_console/Console in GLOB.allConsoles)
if (Console.department == department)
Console.newmessagepriority = 0
Console.update_icon()
@@ -304,7 +304,7 @@ var/list/obj/machinery/requests_console/allConsoles = list()
if(!announcementConsole)
return
minor_announce(message, "[department] Announcement:")
- news_network.SubmitArticle(message, department, "Station Announcements", null)
+ GLOB.news_network.SubmitArticle(message, department, "Station Announcements", null)
log_say("[key_name(usr)] has made a station announcement: [message]")
message_admins("[key_name_admin(usr)] has made a station announcement.")
announceAuth = 0
@@ -316,21 +316,19 @@ var/list/obj/machinery/requests_console/allConsoles = list()
var/radio_freq
switch(text2num(href_list["emergency"]))
if(1) //Security
- radio_freq = SEC_FREQ
+ radio_freq = GLOB.SEC_FREQ
emergency = "Security"
if(2) //Engineering
- radio_freq = ENG_FREQ
+ radio_freq = GLOB.ENG_FREQ
emergency = "Engineering"
if(3) //Medical
- radio_freq = MED_FREQ
+ radio_freq = GLOB.MED_FREQ
emergency = "Medical"
if(radio_freq)
Radio.set_frequency(radio_freq)
- Radio.talk_into(src,"[emergency] emergency in [department]!!",radio_freq)
+ Radio.talk_into(src,"[emergency] emergency in [department]!!",radio_freq,get_spans(),get_default_language())
update_icon()
- spawn(3000)
- emergency = null
- update_icon()
+ addtimer(CALLBACK(src, .proc/clear_emergency), 3000)
if( href_list["department"] && message )
var/log_msg = message
@@ -345,7 +343,7 @@ var/list/obj/machinery/requests_console/allConsoles = list()
screen = 7 //if it's successful, this will get overrwritten (7 = unsufccessfull, 6 = successfull)
if (sending)
var/pass = 0
- for (var/obj/machinery/message_server/MS in machines)
+ for (var/obj/machinery/message_server/MS in GLOB.machines)
if(!MS.active) continue
MS.send_rc_message(href_list["department"],department,log_msg,msgStamped,msgVerified,priority)
pass = 1
@@ -354,24 +352,24 @@ var/list/obj/machinery/requests_console/allConsoles = list()
var/radio_freq = 0
switch(href_list["department"])
if("bridge")
- radio_freq = COMM_FREQ
+ radio_freq = GLOB.COMM_FREQ
if("medbay")
- radio_freq = MED_FREQ
+ radio_freq = GLOB.MED_FREQ
if("science")
- radio_freq = SCI_FREQ
+ radio_freq = GLOB.SCI_FREQ
if("engineering")
- radio_freq = ENG_FREQ
+ radio_freq = GLOB.ENG_FREQ
if("security")
- radio_freq = SEC_FREQ
+ radio_freq = GLOB.SEC_FREQ
if("cargobay" || "mining")
- radio_freq = SUPP_FREQ
+ radio_freq = GLOB.SUPP_FREQ
Radio.set_frequency(radio_freq)
var/authentic
if(msgVerified || msgStamped)
authentic = " (Authenticated)"
var/alert = ""
- for (var/obj/machinery/requests_console/Console in allConsoles)
+ for (var/obj/machinery/requests_console/Console in GLOB.allConsoles)
if (ckey(Console.department) == ckey(href_list["department"]))
switch(priority)
if(2) //High priority
@@ -386,7 +384,7 @@ var/list/obj/machinery/requests_console/allConsoles = list()
screen = 6
if(radio_freq)
- Radio.talk_into(src,"[alert]: [message] ",radio_freq)
+ Radio.talk_into(src,"[alert]: [message] ",radio_freq,get_spans(),get_default_language())
switch(priority)
if(2)
@@ -441,13 +439,17 @@ var/list/obj/machinery/requests_console/allConsoles = list()
updateUsrDialog()
return
-/obj/machinery/say_quote(input, list/spans)
+/obj/machinery/requests_console/say_quote(input, list/spans, message_mode)
var/ending = copytext(input, length(input) - 2)
if (ending == "!!!")
return "blares, \"[attach_spans(input, spans)]\""
return ..()
+/obj/machinery/requests_console/proc/clear_emergency()
+ emergency = null
+ update_icon()
+
/obj/machinery/requests_console/proc/createmessage(source, title, message, priority)
var/linkedsender
if(istype(source, /obj/machinery/requests_console))
@@ -513,7 +515,7 @@ var/list/obj/machinery/requests_console/allConsoles = list()
msgVerified = "Verified by [ID.registered_name] ([ID.assignment]) "
updateUsrDialog()
if(screen == 10)
- if (access_RC_announce in ID.access)
+ if (GLOB.access_RC_announce in ID.access)
announceAuth = 1
else
announceAuth = 0
diff --git a/code/game/machinery/shieldgen.dm b/code/game/machinery/shieldgen.dm
index 562328810b..ea679cfa4e 100644
--- a/code/game/machinery/shieldgen.dm
+++ b/code/game/machinery/shieldgen.dm
@@ -27,8 +27,10 @@
move_update_air(T)
/obj/structure/emergency_shield/CanPass(atom/movable/mover, turf/target, height)
- if(!height) return 0
- else return ..()
+ if(!height)
+ return FALSE
+ else
+ return ..()
/obj/structure/emergency_shield/emp_act(severity)
switch(severity)
@@ -81,7 +83,7 @@
opacity = 0
anchored = 0
pressure_resistance = 2*ONE_ATMOSPHERE
- req_access = list(access_engine)
+ req_access = list(GLOB.access_engine)
max_integrity = 100
obj_integrity = 100
var/active = 0
@@ -216,15 +218,8 @@
else
icon_state = (stat & BROKEN) ? "shieldoffbr":"shieldoff"
-
-
-
-
-
-
-
-
-#define maxstoredpower 500
+#define ACTIVE_SETUPFIELDS 1
+#define ACTIVE_HASFIELDS 2
/obj/machinery/shieldwallgen
name = "shield wall generator"
desc = "A shield generator."
@@ -232,166 +227,130 @@
icon_state = "Shield_Gen"
anchored = 0
density = 1
- req_access = list(access_teleporter)
+ req_access = list(GLOB.access_teleporter)
flags = CONDUCT
use_power = 0
obj_integrity = 300
max_integrity = 300
- var/active = 0
+ var/active = FALSE
var/power = 0
- var/steps = 0
- var/last_check = 0
- var/check_delay = 10
- var/recalc = 0
+ var/maximum_stored_power = 500
var/locked = 1
- var/obj/structure/cable/attached // the attached cable
- var/storedpower = 0
+ var/shield_range = 8
+ var/obj/structure/cable/attached // the attached cable
+
+/obj/machinery/shieldwallgen/Destroy()
+ for(var/d in GLOB.cardinal)
+ cleanup_field(d)
+ return ..()
/obj/machinery/shieldwallgen/proc/power()
if(!anchored)
power = 0
- return 0
- var/turf/T = src.loc
+ return
+ var/turf/T = get_turf(src)
var/obj/structure/cable/C = T.get_cable_node()
var/datum/powernet/PN
if(C)
- PN = C.powernet // find the powernet of the connected cable
+ PN = C.powernet //find the powernet of the connected cable
if(!PN)
- power = 0
- return 0
+ return
- var/surplus = max(PN.avail-PN.load, 0)
- var/shieldload = min(rand(50,200), surplus)
- if(shieldload==0 && !storedpower) // no cable or no power, and no power stored
- power = 0
- return 0
- else
- power = 1 // IVE GOT THE POWER!
- if(PN) //runtime errors fixer. They were caused by PN.newload trying to access missing network in case of working on stored power.
- storedpower += shieldload
- PN.load += shieldload //uses powernet power.
-
-/obj/machinery/shieldwallgen/attack_hand(mob/user)
- if(!anchored)
- to_chat(user, "\The [src] needs to be firmly secured to the floor first! ")
- return 1
- if(locked && !issilicon(user))
- to_chat(user, "The controls are locked! ")
- return 1
- if(power != 1)
- to_chat(user, "\The [src] needs to be powered by wire underneath! ")
- return 1
-
- if(active >= 1)
- active = 0
- icon_state = "Shield_Gen"
-
- user.visible_message("[user] turned \the [src] off.", \
- "You turn off \the [src]. ", \
- "You hear heavy droning fade out. ")
- cleanup()
- else
- active = 1
- icon_state = "Shield_Gen +a"
- user.visible_message("[user] turned \the [src] on.", \
- "You turn on \the [src]. ", \
- "You hear heavy droning. ")
- add_fingerprint(user)
+ var/surplus = max(PN.avail - PN.load, 0)
+ var/avail_power = min(rand(50,200), surplus)
+ if(avail_power)
+ power += avail_power
+ PN.load += avail_power //uses powernet power.
/obj/machinery/shieldwallgen/process()
power()
- if(power)
- storedpower -= 50 //this way it can survive longer and survive at all
- storedpower = Clamp(storedpower, 0, maxstoredpower)
+ use_stored_power(50)
+/obj/machinery/shieldwallgen/proc/use_stored_power(amount)
+ power = Clamp(power - amount, 0, maximum_stored_power)
+ update_activity()
- if(active == 1)
- if(!anchored)
- active = 0
- return
- setup_field(1)
- setup_field(2)
- setup_field(4)
- setup_field(8)
- src.active = 2
- if(active >= 1)
- if(power == 0)
+/obj/machinery/shieldwallgen/proc/update_activity()
+ if(active)
+ icon_state = "Shield_Gen +a"
+ if(active == ACTIVE_SETUPFIELDS)
+ var/fields = 0
+ for(var/d in GLOB.cardinal)
+ if(setup_field(d))
+ fields++
+ if(fields)
+ active = ACTIVE_HASFIELDS
+ if(!power)
visible_message("The [src.name] shuts down due to lack of power! ", \
"You hear heavy droning fade out. ")
icon_state = "Shield_Gen"
- active = 0
- cleanup(1)
- cleanup(2)
- cleanup(4)
- cleanup(8)
+ active = FALSE
+ for(var/d in GLOB.cardinal)
+ cleanup_field(d)
+ else
+ icon_state = "Shield_Gen"
+ for(var/d in GLOB.cardinal)
+ cleanup_field(d)
-/obj/machinery/shieldwallgen/proc/setup_field(NSEW = 0)
- var/turf/T = src.loc
- var/turf/T2 = src.loc
+/obj/machinery/shieldwallgen/proc/setup_field(direction)
+ if(!direction)
+ return
+
+ var/turf/T = loc
var/obj/machinery/shieldwallgen/G
var/steps = 0
- var/oNSEW = 0
+ var/opposite_direction = turn(direction, 180)
- if(!NSEW)//Make sure its ran right
- return
-
- if(NSEW == 1)
- oNSEW = 2
- else if(NSEW == 2)
- oNSEW = 1
- else if(NSEW == 4)
- oNSEW = 8
- else if(NSEW == 8)
- oNSEW = 4
-
- for(var/dist = 0, dist <= 9, dist += 1) // checks out to 8 tiles away for another generator
- T = get_step(T2, NSEW)
- T2 = T
- steps += 1
- if(locate(/obj/machinery/shieldwallgen) in T)
- G = (locate(/obj/machinery/shieldwallgen) in T)
- steps -= 1
+ for(var/i in 1 to shield_range) //checks out to 8 tiles away for another generator
+ T = get_step(T, direction)
+ G = (locate(/obj/machinery/shieldwallgen) in T)
+ if(G)
if(!G.active)
return
- G.cleanup(oNSEW)
+ G.cleanup_field(opposite_direction)
break
+ else
+ steps++
- if(isnull(G))
+ if(!G || !steps) //no shield gen or no tiles between us and the gen
return
- T2 = src.loc
+ for(var/i in 1 to steps) //creates each field tile
+ T = get_step(T, opposite_direction)
+ new/obj/machinery/shieldwall(T, src, G)
+ return TRUE
- for(var/dist = 0, dist < steps, dist += 1) // creates each field tile
- var/field_dir = get_dir(T2,get_step(T2, NSEW))
- T = get_step(T2, NSEW)
- T2 = T
- var/obj/machinery/shieldwall/CF = new/obj/machinery/shieldwall/(src, G) //(ref to this gen, ref to connected gen)
- CF.loc = T
- CF.setDir(field_dir)
+/obj/machinery/shieldwallgen/proc/cleanup_field(direction)
+ var/obj/machinery/shieldwall/F
+ var/obj/machinery/shieldwallgen/G
+ var/turf/T = loc
+ for(var/i in 1 to shield_range)
+ T = get_step(T, direction)
+
+ G = (locate(/obj/machinery/shieldwallgen) in T)
+ if(G && !G.active)
+ break
+
+ F = (locate(/obj/machinery/shieldwall) in T)
+ if(F && (F.gen_primary == src || F.gen_secondary == src)) //it's ours, kill it.
+ qdel(F)
+
+/obj/machinery/shieldwallgen/can_be_unfasten_wrench(mob/user, silent)
+ if(active)
+ if(!silent)
+ to_chat(user, "Turn off the shield generator first! ")
+ return FAILED_UNFASTEN
+ return ..()
/obj/machinery/shieldwallgen/attackby(obj/item/W, mob/user, params)
if(istype(W, /obj/item/weapon/wrench))
- if(active)
- to_chat(user, "Turn off the field generator first! ")
- return
+ default_unfasten_wrench(user, W, 0)
- else if(!anchored && !isinspace()) //Can't fasten this thing in space
- playsound(src.loc, W.usesound, 75, 1)
- to_chat(user, "You secure the external reinforcing bolts to the floor. ")
- anchored = 1
- return
-
- else //You can unfasten it tough, if you somehow manage to fasten it.
- playsound(src.loc, W.usesound, 75, 1)
- to_chat(user, "You undo the external reinforcing bolts. ")
- anchored = 0
- return
-
- if(W.GetID())
- if (allowed(user))
+ else if(W.GetID())
+ if(allowed(user))
locked = !locked
to_chat(user, "You [src.locked ? "lock" : "unlock"] the controls. ")
else
@@ -401,31 +360,30 @@
add_fingerprint(user)
return ..()
-/obj/machinery/shieldwallgen/proc/cleanup(NSEW)
- var/obj/machinery/shieldwall/F
- var/obj/machinery/shieldwallgen/G
- var/turf/T = src.loc
- var/turf/T2 = src.loc
-
- for(var/dist = 0, dist <= 9, dist += 1) // checks out to 8 tiles away for fields
- T = get_step(T2, NSEW)
- T2 = T
- if(locate(/obj/machinery/shieldwall) in T)
- F = (locate(/obj/machinery/shieldwall) in T)
- qdel(F)
-
- if(locate(/obj/machinery/shieldwallgen) in T)
- G = (locate(/obj/machinery/shieldwallgen) in T)
- if(!G.active)
- break
-
-/obj/machinery/shieldwallgen/Destroy()
- cleanup(1)
- cleanup(2)
- cleanup(4)
- cleanup(8)
- return ..()
+/obj/machinery/shieldwallgen/attack_hand(mob/user)
+ if(!anchored)
+ to_chat(user, "\The [src] needs to be firmly secured to the floor first! ")
+ return
+ if(locked && !issilicon(user))
+ to_chat(user, "The controls are locked! ")
+ return
+ if(!power)
+ to_chat(user, "\The [src] needs to be powered by a wire! ")
+ return
+ if(active)
+ user.visible_message("[user] turned \the [src] off.", \
+ "You turn off \the [src]. ", \
+ "You hear heavy droning fade out. ")
+ active = FALSE
+ update_activity()
+ else
+ user.visible_message("[user] turned \the [src] on.", \
+ "You turn on \the [src]. ", \
+ "You hear heavy droning. ")
+ active = ACTIVE_SETUPFIELDS
+ update_activity()
+ add_fingerprint(user)
//////////////Containment Field START
@@ -438,42 +396,36 @@
density = 1
resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF
light_range = 3
- var/needs_power = 0
- var/active = 1
- var/delay = 5
- var/last_active
- var/mob/U
+ var/needs_power = FALSE
var/obj/machinery/shieldwallgen/gen_primary
var/obj/machinery/shieldwallgen/gen_secondary
-/obj/machinery/shieldwall/New(var/obj/machinery/shieldwallgen/A, var/obj/machinery/shieldwallgen/B)
- ..()
- src.gen_primary = A
- src.gen_secondary = B
- if(A && B)
- needs_power = 1
- for(var/mob/living/L in get_turf(src.loc))
- visible_message("\The [src] is suddenly occupying the same space as \the [L]'s organs! ")
+/obj/machinery/shieldwall/Initialize(mapload, obj/machinery/shieldwallgen/first_gen, obj/machinery/shieldwallgen/second_gen)
+ . = ..()
+ gen_primary = first_gen
+ gen_secondary = second_gen
+ if(gen_primary && gen_secondary)
+ needs_power = TRUE
+ setDir(get_dir(gen_primary, gen_secondary))
+ for(var/mob/living/L in get_turf(src))
+ visible_message("\The [src] is suddenly occupying the same space as \the [L]! ")
L.gib()
+/obj/machinery/shieldwall/Destroy()
+ gen_primary = null
+ gen_secondary = null
+ return ..()
+
/obj/machinery/shieldwall/attack_hand(mob/user)
return
-
/obj/machinery/shieldwall/process()
if(needs_power)
- if(isnull(gen_primary)||isnull(gen_secondary))
+ if(!gen_primary || !gen_primary.active || !gen_secondary || !gen_secondary.active)
qdel(src)
return
- if(!(gen_primary.active)||!(gen_secondary.active))
- qdel(src)
- return
-
- if(prob(50))
- gen_primary.storedpower -= 10
- else
- gen_secondary.storedpower -=10
+ drain_power(10)
/obj/machinery/shieldwall/play_attack_sound(damage_amount, damage_type = BRUTE, damage_flag = 0)
switch(damage_type)
@@ -489,37 +441,19 @@
drain_power(damage_amount)
/obj/machinery/shieldwall/proc/drain_power(drain_amount)
- if(needs_power)
- var/obj/machinery/shieldwallgen/G
- if(prob(50))
- G = gen_primary
- else
- G = gen_secondary
- G.storedpower -= drain_amount
-
-/obj/machinery/shieldwall/bullet_act(obj/item/projectile/P)
- . = ..()
- drain_power(P.damage)
-
-
-/obj/machinery/shieldwall/ex_act(severity, target)
- if(needs_power)
- var/drain_amount = 20
- switch(severity)
- if(1)
- drain_amount = 200
- if(2)
- drain_amount = 50
- drain_power(drain_amount)
-
+ if(needs_power && gen_primary)
+ gen_primary.use_stored_power(drain_amount*0.5)
+ if(gen_secondary) //using power may cause us to be destroyed
+ gen_secondary.use_stored_power(drain_amount*0.5)
/obj/machinery/shieldwall/CanPass(atom/movable/mover, turf/target, height=0)
- if(height==0) return 1
+ if(height==0)
+ return FALSE
if(istype(mover) && mover.checkpass(PASSGLASS))
return prob(20)
else
- if (istype(mover, /obj/item/projectile))
+ if(istype(mover, /obj/item/projectile))
return prob(10)
else
- return !src.density
+ return !density
diff --git a/code/game/machinery/slotmachine.dm b/code/game/machinery/slotmachine.dm
index 95afbfeb0c..66c85a1784 100644
--- a/code/game/machinery/slotmachine.dm
+++ b/code/game/machinery/slotmachine.dm
@@ -33,7 +33,7 @@
light_color = LIGHT_COLOR_BROWN
-/obj/machinery/computer/slot_machine/New()
+/obj/machinery/computer/slot_machine/Initialize()
..()
jackpots = rand(1, 4) //false hope
plays = rand(75, 200)
@@ -47,9 +47,8 @@
toggle_reel_spin(0)
for(var/cointype in typesof(/obj/item/weapon/coin))
- var/obj/item/weapon/coin/C = new cointype(src)
- coinvalues["[cointype]"] = C.value
- qdel(C)
+ var/obj/item/weapon/coin/C = cointype
+ coinvalues["[cointype]"] = initial(C.value)
/obj/machinery/computer/slot_machine/Destroy()
if(balance)
diff --git a/code/game/machinery/spaceheater.dm b/code/game/machinery/spaceheater.dm
index 0f29c50de5..df76fef5a9 100644
--- a/code/game/machinery/spaceheater.dm
+++ b/code/game/machinery/spaceheater.dm
@@ -175,7 +175,7 @@
return ..()
/obj/machinery/space_heater/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = 0, \
- datum/tgui/master_ui = null, datum/ui_state/state = physical_state)
+ datum/tgui/master_ui = null, datum/ui_state/state = GLOB.physical_state)
ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open)
if(!ui)
ui = new(user, src, ui_key, "space_heater", name, 400, 305, master_ui, state)
diff --git a/code/game/machinery/suit_storage_unit.dm b/code/game/machinery/suit_storage_unit.dm
index 1ddd5bd53d..7fc0f98b1c 100644
--- a/code/game/machinery/suit_storage_unit.dm
+++ b/code/game/machinery/suit_storage_unit.dm
@@ -322,7 +322,7 @@
return ..()
/obj/machinery/suit_storage_unit/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = 0, \
- datum/tgui/master_ui = null, datum/ui_state/state = notcontained_state)
+ datum/tgui/master_ui = null, datum/ui_state/state = GLOB.notcontained_state)
ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open)
if(!ui)
ui = new(user, src, ui_key, "suit_storage_unit", name, 400, 305, master_ui, state)
@@ -375,18 +375,13 @@
if("dispense")
if(!state_open)
return
- switch(params["item"])
- if("helmet")
- helmet.loc = loc
- helmet = null
- if("suit")
- suit.loc = loc
- suit = null
- if("mask")
- mask.loc = loc
- mask = null
- if("storage")
- storage.loc = loc
- storage = null
+
+ var/static/list/valid_items = list("helmet", "suit", "mask", "storage")
+ var/item_name = params["item"]
+ if(item_name in valid_items)
+ var/obj/item/I = vars[item_name]
+ vars[item_name] = null
+ if(I)
+ I.forceMove(loc)
. = TRUE
update_icon()
diff --git a/code/game/machinery/syndicatebeacon.dm b/code/game/machinery/syndicatebeacon.dm
index 291e514a36..7a5f8af5bd 100644
--- a/code/game/machinery/syndicatebeacon.dm
+++ b/code/game/machinery/syndicatebeacon.dm
@@ -22,7 +22,7 @@
if(surplus() < 1500)
if(user) to_chat(user, "The connected wire doesn't have enough current. ")
return
- for(var/obj/singularity/singulo in singularities)
+ for(var/obj/singularity/singulo in GLOB.singularities)
if(singulo.z == z)
singulo.target = src
icon_state = "[icontype]1"
@@ -32,7 +32,7 @@
/obj/machinery/power/singularity_beacon/proc/Deactivate(mob/user = null)
- for(var/obj/singularity/singulo in singularities)
+ for(var/obj/singularity/singulo in GLOB.singularities)
if(singulo.target == src)
singulo.target = null
icon_state = "[icontype]0"
@@ -88,7 +88,7 @@
add_load(1500)
if(cooldown <= world.time)
cooldown = world.time + 100
- for(var/obj/singularity/singulo in singularities)
+ for(var/obj/singularity/singulo in GLOB.singularities)
if(singulo.z == z)
say("The [singulo] is now [get_dist(src,singulo)] standard lengths away to the [dir2text(get_dir(src,singulo))]")
else
diff --git a/code/game/machinery/syndicatebomb.dm b/code/game/machinery/syndicatebomb.dm
index 6f7e7ec902..4d8ad29941 100644
--- a/code/game/machinery/syndicatebomb.dm
+++ b/code/game/machinery/syndicatebomb.dm
@@ -533,7 +533,7 @@
/obj/item/device/syndicatedetonator/attack_self(mob/user)
if(timer < world.time)
- for(var/obj/machinery/syndicatebomb/B in machines)
+ for(var/obj/machinery/syndicatebomb/B in GLOB.machines)
if(B.active)
B.detonation_timer = world.time + BUTTON_DELAY
detonated++
@@ -545,7 +545,7 @@
var/area/A = get_area(T)
detonated--
var/log_str = "[ADMIN_LOOKUPFLW(user)] has remotely detonated [detonated ? "syndicate bombs" : "a syndicate bomb"] using a [name] at [A.name] [ADMIN_JMP(T)]."
- bombers += log_str
+ GLOB.bombers += log_str
message_admins(log_str)
log_game("[key_name(user)] has remotely detonated [detonated ? "syndicate bombs" : "a syndicate bomb"] using a [name] at [A.name][COORD(T)]")
detonated = 0
diff --git a/code/game/machinery/telecomms/broadcasting.dm b/code/game/machinery/telecomms/broadcasting.dm
index 7227a393df..84321a1760 100644
--- a/code/game/machinery/telecomms/broadcasting.dm
+++ b/code/game/machinery/telecomms/broadcasting.dm
@@ -58,7 +58,7 @@
var/vmask, var/obj/item/device/radio/radio,
var/message, var/name, var/job, var/realname,
var/data, var/compression, var/list/level, var/freq, var/list/spans,
- var/verb_say, var/verb_ask, var/verb_exclaim, var/verb_yell)
+ var/verb_say, var/verb_ask, var/verb_exclaim, var/verb_yell, var/datum/language/language)
message = copytext(message, 1, MAX_BROADCAST_LEN)
@@ -70,8 +70,6 @@
var/atom/movable/virtualspeaker/virt = new /atom/movable/virtualspeaker(null)
virt.name = name
virt.job = job
- virt.languages_spoken = AM.languages_spoken
- virt.languages_understood = AM.languages_understood
virt.source = AM
virt.radio = radio
virt.verb_say = verb_say
@@ -85,7 +83,7 @@
// --- Broadcast only to intercom devices ---
if(data == 1)
- for(var/obj/item/device/radio/intercom/R in all_radios["[freq]"])
+ for(var/obj/item/device/radio/intercom/R in GLOB.all_radios["[freq]"])
if(R.receive_range(freq, level) > -1)
radios += R
@@ -93,7 +91,7 @@
else if(data == 2)
- for(var/obj/item/device/radio/R in all_radios["[freq]"])
+ for(var/obj/item/device/radio/R in GLOB.all_radios["[freq]"])
if(R.subspace_transmission)
continue
@@ -106,8 +104,8 @@
else if(data == 5)
- for(var/obj/item/device/radio/R in all_radios["[freq]"])
- if(!R.centcom)
+ for(var/obj/item/device/radio/R in GLOB.all_radios["[freq]"])
+ if(!R.independent)
continue
if(R.receive_range(freq, level) > -1)
@@ -116,13 +114,13 @@
// --- Broadcast to ALL radio devices ---
else
- for(var/obj/item/device/radio/R in all_radios["[freq]"])
+ for(var/obj/item/device/radio/R in GLOB.all_radios["[freq]"])
if(R.receive_range(freq, level) > -1)
radios += R
var/freqtext = num2text(freq)
- for(var/obj/item/device/radio/R in all_radios["[SYND_FREQ]"]) //syndicate radios use magic that allows them to hear everything. this was already the case, now it just doesn't need the allinone anymore. solves annoying bugs that aren't worth solving.
- if(R.receive_range(SYND_FREQ, list(R.z)) > -1 && freqtext in radiochannelsreverse)
+ for(var/obj/item/device/radio/R in GLOB.all_radios["[GLOB.SYND_FREQ]"]) //syndicate radios use magic that allows them to hear everything. this was already the case, now it just doesn't need the allinone anymore. solves annoying bugs that aren't worth solving.
+ if(R.receive_range(GLOB.SYND_FREQ, list(R.z)) > -1 && freqtext in GLOB.reverseradiochannels)
radios |= R
// Get a list of mobs who can hear from the radios we collected.
@@ -132,278 +130,46 @@
if (R.client && R.client.holder && !(R.client.prefs.chat_toggles & CHAT_RADIO)) //Adminning with 80 people on can be fun when you're trying to talk and all you can hear is radios.
receive -= R
- for(var/mob/M in player_list)
+ for(var/mob/M in GLOB.player_list)
if(isobserver(M) && M.client && (M.client.prefs.chat_toggles & CHAT_GHOSTRADIO))
receive |= M
- var/rendered = virt.compose_message(virt, virt.languages_spoken, message, freq, spans) //Always call this on the virtualspeaker to advoid issues.
+ var/rendered = virt.compose_message(virt, language, message, freq, spans) //Always call this on the virtualspeaker to advoid issues.
for(var/atom/movable/hearer in receive)
- hearer.Hear(rendered, virt, AM.languages_spoken, message, freq, spans)
+ hearer.Hear(rendered, virt, language, message, freq, spans)
if(length(receive))
// --- This following recording is intended for research and feedback in the use of department radio channels ---
var/blackbox_msg = "[AM] [AM.say_quote(message, spans)]"
- if(istype(blackbox))
+ if(istype(GLOB.blackbox))
switch(freq)
if(1459)
- blackbox.msg_common += blackbox_msg
+ GLOB.blackbox.msg_common += blackbox_msg
if(1351)
- blackbox.msg_science += blackbox_msg
+ GLOB.blackbox.msg_science += blackbox_msg
if(1353)
- blackbox.msg_command += blackbox_msg
+ GLOB.blackbox.msg_command += blackbox_msg
if(1355)
- blackbox.msg_medical += blackbox_msg
+ GLOB.blackbox.msg_medical += blackbox_msg
if(1357)
- blackbox.msg_engineering += blackbox_msg
+ GLOB.blackbox.msg_engineering += blackbox_msg
if(1359)
- blackbox.msg_security += blackbox_msg
+ GLOB.blackbox.msg_security += blackbox_msg
if(1441)
- blackbox.msg_deathsquad += blackbox_msg
+ GLOB.blackbox.msg_deathsquad += blackbox_msg
if(1213)
- blackbox.msg_syndicate += blackbox_msg
+ GLOB.blackbox.msg_syndicate += blackbox_msg
if(1349)
- blackbox.msg_service += blackbox_msg
+ GLOB.blackbox.msg_service += blackbox_msg
if(1347)
- blackbox.msg_cargo += blackbox_msg
+ GLOB.blackbox.msg_cargo += blackbox_msg
else
- blackbox.messages += blackbox_msg
+ GLOB.blackbox.messages += blackbox_msg
spawn(50)
qdel(virt)
-/proc/Broadcast_SimpleMessage(source, frequency, text, data, mob/M, compression, level)
-
- /* ###### Prepare the radio connection ###### */
-
- if(!M)
- var/mob/living/carbon/human/H = new
- M = H
-
- var/datum/radio_frequency/connection = SSradio.return_frequency(frequency)
-
- var/display_freq = connection.frequency
-
- var/list/receive = list()
-
-
- // --- Broadcast only to intercom devices ---
-
- if(data == 1)
- for (var/obj/item/device/radio/intercom/R in connection.devices["[RADIO_CHAT]"])
- var/turf/position = get_turf(R)
- if(position && position.z == level)
- receive |= R.send_hear(display_freq, level)
-
-
- // --- Broadcast only to intercoms and station-bounced radios ---
-
- else if(data == 2)
- for (var/obj/item/device/radio/R in connection.devices["[RADIO_CHAT]"])
- if(R.subspace_transmission)
- continue
- var/turf/position = get_turf(R)
- if(position && position.z == level)
- receive |= R.send_hear(display_freq)
-
-
- // --- Broadcast to syndicate radio! ---
-
- else if(data == 3)
- var/datum/radio_frequency/syndicateconnection = SSradio.return_frequency(SYND_FREQ)
-
- for (var/obj/item/device/radio/R in syndicateconnection.devices["[RADIO_CHAT]"])
- var/turf/position = get_turf(R)
- if(position && position.z == level)
- receive |= R.send_hear(SYND_FREQ)
-
- // --- Centcom radio, yo. ---
-
- else if(data == 5)
-
- for(var/obj/item/device/radio/R in all_radios["[RADIO_CHAT]"])
- if(R.centcom)
- receive |= R.send_hear(CENTCOM_FREQ)
-
- // --- Broadcast to ALL radio devices ---
-
- else
- for (var/obj/item/device/radio/R in connection.devices["[RADIO_CHAT]"])
- var/turf/position = get_turf(R)
- if(position && position.z == level)
- receive |= R.send_hear(display_freq)
-
-
- /* ###### Organize the receivers into categories for displaying the message ###### */
-
- // Understood the message:
- var/list/heard_normal = list() // normal message
-
- // Did not understand the message:
- var/list/heard_garbled = list() // garbled message (ie "f*c* **u, **i*er!")
- var/list/heard_gibberish= list() // completely screwed over message (ie "F%! (O*# *#!<>&**%!")
-
- for (var/mob/R in receive)
-
- /* --- Loop through the receivers and categorize them --- */
-
- if (R.client && !(R.client.prefs.chat_toggles & CHAT_RADIO)) //Adminning with 80 people on can be fun when you're trying to talk and all you can hear is radios.
- continue
-
-
- // --- Check for compression ---
- if(compression > 0)
-
- heard_gibberish += R
- continue
-
- // --- Can understand the speech ---
-
- if (R.languages_understood & M.languages_spoken)
-
- heard_normal += R
-
- // --- Can't understand the speech ---
-
- else
- // - Just display a garbled message -
-
- heard_garbled += R
-
-
- /* ###### Begin formatting and sending the message ###### */
- if (length(heard_normal) || length(heard_garbled) || length(heard_gibberish))
-
- /* --- Some miscellaneous variables to format the string output --- */
- var/part_a = "" // goes in the actual output
- var/freq_text // the name of the channel
-
- // --- Set the name of the channel ---
- switch(display_freq)
-
- if(SYND_FREQ)
- freq_text = "#unkn"
- if(COMM_FREQ)
- freq_text = "Command"
- if(SCI_FREQ)
- freq_text = "Science"
- if(MED_FREQ)
- freq_text = "Medical"
- if(ENG_FREQ)
- freq_text = "Engineering"
- if(SEC_FREQ)
- freq_text = "Security"
- if(SERV_FREQ)
- freq_text = "Service"
- if(SUPP_FREQ)
- freq_text = "Supply"
- if(AIPRIV_FREQ)
- freq_text = "AI Private"
- //There's probably a way to use the list var of channels in code\game\communications.dm to make the dept channels non-hardcoded, but I wasn't in an experimentive mood. --NEO
-
-
- // --- If the frequency has not been assigned a name, just use the frequency as the name ---
-
- if(!freq_text)
- freq_text = format_frequency(display_freq)
-
- // --- Some more pre-message formatting ---
-
- var/part_b_extra = ""
- if(data == 3) // intercepted radio message
- part_b_extra = " (Intercepted) "
-
- // Create a radio headset for the sole purpose of using its icon
- var/obj/item/device/radio/headset/radio = new
-
- var/part_b = " \icon[radio]\[[freq_text]\][part_b_extra] "
- var/part_c = " "
-
- if (display_freq==SYND_FREQ)
- part_a = ""
- else if (display_freq==COMM_FREQ)
- part_a = ""
- else if (display_freq==SCI_FREQ)
- part_a = ""
- else if (display_freq==MED_FREQ)
- part_a = ""
- else if (display_freq==ENG_FREQ)
- part_a = ""
- else if (display_freq==SEC_FREQ)
- part_a = ""
- else if (display_freq==SERV_FREQ)
- part_a = ""
- else if (display_freq==SUPP_FREQ)
- part_a = ""
- else if (display_freq==CENTCOM_FREQ)
- part_a = ""
- else if (display_freq==AIPRIV_FREQ)
- part_a = ""
-
- // --- This following recording is intended for research and feedback in the use of department radio channels ---
-
- var/part_blackbox_b = " \[[freq_text]\] "
- var/blackbox_msg = "[part_a][source][part_blackbox_b]\"[text]\"[part_c]"
- //var/blackbox_admin_msg = "[part_a][M.name] (Real name: [M.real_name])[part_blackbox_b][quotedmsg][part_c]"
-
- //BR.messages_admin += blackbox_admin_msg
- if(istype(blackbox))
- switch(display_freq)
- if(1459)
- blackbox.msg_common += blackbox_msg
- if(1351)
- blackbox.msg_science += blackbox_msg
- if(1353)
- blackbox.msg_command += blackbox_msg
- if(1355)
- blackbox.msg_medical += blackbox_msg
- if(1357)
- blackbox.msg_engineering += blackbox_msg
- if(1359)
- blackbox.msg_security += blackbox_msg
- if(1441)
- blackbox.msg_deathsquad += blackbox_msg
- if(1213)
- blackbox.msg_syndicate += blackbox_msg
- if(1349)
- blackbox.msg_service += blackbox_msg
- if(1347)
- blackbox.msg_cargo += blackbox_msg
- else
- blackbox.messages += blackbox_msg
-
- //End of research and feedback code.
-
- /* ###### Send the message ###### */
-
- /* --- Process all the mobs that heard the voice normally (understood) --- */
-
- if (length(heard_normal))
- var/rendered = "[part_a][source][part_b]\"[text]\"[part_c]"
-
- for (var/mob/R in heard_normal)
- R.show_message(rendered, 2)
-
- /* --- Process all the mobs that heard a garbled voice (did not understand) --- */
- // Displays garbled message (ie "f*c* **u, **i*er!")
-
- if (length(heard_garbled))
- var/quotedmsg = "\"[stars(text)]\""
- var/rendered = "[part_a][source][part_b][quotedmsg][part_c]"
-
- for (var/mob/R in heard_garbled)
- R.show_message(rendered, 2)
-
-
- /* --- Complete gibberish. Usually happens when there's a compressed message --- */
-
- if (length(heard_gibberish))
- var/quotedmsg = "\"[Gibberish(text, compression + 50)]\""
- var/rendered = "[part_a][Gibberish(source, compression + 50)][part_b][quotedmsg][part_c]"
-
- for (var/mob/R in heard_gibberish)
- R.show_message(rendered, 2)
-
//Use this to test if an obj can communicate with a Telecommunications Network
/atom/proc/test_telecomms()
@@ -432,7 +198,7 @@
signal.frequency = 1459// Common channel
//#### Sending the signal to all subspace receivers ####//
- for(var/obj/machinery/telecomms/receiver/R in telecomms_list)
+ for(var/obj/machinery/telecomms/receiver/R in GLOB.telecomms_list)
R.receive_signal(signal)
sleep(rand(10,25))
diff --git a/code/game/machinery/telecomms/computers/logbrowser.dm b/code/game/machinery/telecomms/computers/logbrowser.dm
index ab71f51c57..31cbe7412c 100644
--- a/code/game/machinery/telecomms/computers/logbrowser.dm
+++ b/code/game/machinery/telecomms/computers/logbrowser.dm
@@ -13,7 +13,7 @@
var/universal_translate = 0 // set to 1 if it can translate nonhuman speech
- req_access = list(access_tcomsat)
+ req_access = list(GLOB.access_tcomsat)
circuit = /obj/item/weapon/circuitboard/computer/comm_server
/obj/machinery/computer/telecomms/server/attack_hand(mob/user)
diff --git a/code/game/machinery/telecomms/machine_interactions.dm b/code/game/machinery/telecomms/machine_interactions.dm
index 643efd81df..6568d14211 100644
--- a/code/game/machinery/telecomms/machine_interactions.dm
+++ b/code/game/machinery/telecomms/machine_interactions.dm
@@ -256,7 +256,7 @@
if(newfreq && canAccess(usr))
if(findtext(num2text(newfreq), "."))
newfreq *= 10 // shift the decimal one place
- if(newfreq == SYND_FREQ)
+ if(newfreq == GLOB.SYND_FREQ)
temp = "-% Error: Interference preventing filtering frequency: \"[newfreq] GHz\" %- "
else
if(!(newfreq in freq_listening) && newfreq < 10000)
diff --git a/code/game/machinery/telecomms/machines/allinone.dm b/code/game/machinery/telecomms/machines/allinone.dm
index 1e04ee649f..5589a1be24 100644
--- a/code/game/machinery/telecomms/machines/allinone.dm
+++ b/code/game/machinery/telecomms/machines/allinone.dm
@@ -33,13 +33,14 @@
sleep(signal.data["slow"]) // simulate the network lag if necessary
/* ###### Broadcast a message using signal.data ###### */
- if(signal.frequency == SYND_FREQ) // if syndicate broadcast, just
+ if(signal.frequency == GLOB.SYND_FREQ) // if syndicate broadcast, just
Broadcast_Message(signal.data["mob"],
signal.data["vmask"],
signal.data["radio"], signal.data["message"],
signal.data["name"], signal.data["job"],
signal.data["realname"],, signal.data["compression"], list(0, z), signal.frequency, signal.data["spans"],
- signal.data["verb_say"], signal.data["verb_ask"], signal.data["verb_exclaim"], signal.data["verb_yell"])
+ signal.data["verb_say"], signal.data["verb_ask"], signal.data["verb_exclaim"], signal.data["verb_yell"],
+ signal.data["language"])
/obj/machinery/telecomms/allinone/attackby(obj/item/P, mob/user, params)
diff --git a/code/game/machinery/telecomms/machines/broadcaster.dm b/code/game/machinery/telecomms/machines/broadcaster.dm
index 12712211bb..dd83638c57 100644
--- a/code/game/machinery/telecomms/machines/broadcaster.dm
+++ b/code/game/machinery/telecomms/machines/broadcaster.dm
@@ -5,8 +5,8 @@
They receive their message from a server after the message has been logged.
*/
-var/list/recentmessages = list() // global list of recent messages broadcasted : used to circumvent massive radio spam
-var/message_delay = 0 // To make sure restarting the recentmessages list is kept in sync
+GLOBAL_LIST_EMPTY(recentmessages) // global list of recent messages broadcasted : used to circumvent massive radio spam
+GLOBAL_VAR_INIT(message_delay, 0) // To make sure restarting the recentmessages list is kept in sync
/obj/machinery/telecomms/broadcaster
name = "subspace broadcaster"
@@ -38,9 +38,9 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept
original.data["level"] = signal.data["level"]
var/signal_message = "[signal.frequency]:[signal.data["message"]]:[signal.data["realname"]]"
- if(signal_message in recentmessages)
+ if(signal_message in GLOB.recentmessages)
return
- recentmessages.Add(signal_message)
+ GLOB.recentmessages.Add(signal_message)
if(signal.data["slow"] > 0)
sleep(signal.data["slow"]) // simulate the network lag if necessary
@@ -56,17 +56,7 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept
signal.data["vmask"], signal.data["radio"],
signal.data["message"], signal.data["name"], signal.data["job"], signal.data["realname"],
0, signal.data["compression"], signal.data["level"], signal.frequency, signal.data["spans"],
- signal.data["verb_say"], signal.data["verb_ask"], signal.data["verb_exclaim"], signal.data["verb_yell"])
-
-
- /** #### - Simple Broadcast - #### **/
-
- if(signal.data["type"] == 1)
-
- /* ###### Broadcast a message using signal.data ###### */
- Broadcast_SimpleMessage(signal.data["name"], signal.frequency,
- signal.data["message"],null, null,
- signal.data["compression"], listening_level)
+ signal.data["verb_say"], signal.data["verb_ask"], signal.data["verb_exclaim"], signal.data["verb_yell"], signal.data["language"])
/** #### - Artificial Broadcast - #### **/
@@ -81,13 +71,13 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept
signal.data["radio"], signal.data["message"],
signal.data["name"], signal.data["job"],
signal.data["realname"], 4, signal.data["compression"], signal.data["level"], signal.frequency, signal.data["spans"],
- signal.data["verb_say"], signal.data["verb_ask"], signal.data["verb_exclaim"], signal.data["verb_yell"])
+ signal.data["verb_say"], signal.data["verb_ask"], signal.data["verb_exclaim"], signal.data["verb_yell"], signal.data["language"])
- if(!message_delay)
- message_delay = 1
+ if(!GLOB.message_delay)
+ GLOB.message_delay = 1
spawn(10)
- message_delay = 0
- recentmessages = list()
+ GLOB.message_delay = 0
+ GLOB.recentmessages = list()
/* --- Do a snazzy animation! --- */
flick("broadcaster_send", src)
@@ -110,8 +100,8 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept
/obj/machinery/telecomms/broadcaster/Destroy()
// In case message_delay is left on 1, otherwise it won't reset the list and people can't say the same thing twice anymore.
- if(message_delay)
- message_delay = 0
+ if(GLOB.message_delay)
+ GLOB.message_delay = 0
return ..()
@@ -133,4 +123,4 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept
autolinkers = list("broadcasterB")
/obj/machinery/telecomms/broadcaster/preset_left/birdstation
- name = "Broadcaster"
\ No newline at end of file
+ name = "Broadcaster"
diff --git a/code/game/machinery/telecomms/machines/bus.dm b/code/game/machinery/telecomms/machines/bus.dm
index ae43084253..81392f956e 100644
--- a/code/game/machinery/telecomms/machines/bus.dm
+++ b/code/game/machinery/telecomms/machines/bus.dm
@@ -25,7 +25,7 @@
if(is_freq_listening(signal))
if(change_frequency)
- if(signal.frequency != SYND_FREQ)
+ if(signal.frequency != GLOB.SYND_FREQ)
signal.frequency = change_frequency
if(!istype(machine_from, /obj/machinery/telecomms/processor) && machine_from != src) // Signal must be ready (stupid assuming machine), let's send it
@@ -72,25 +72,25 @@
/obj/machinery/telecomms/bus/preset_one
id = "Bus 1"
network = "tcommsat"
- freq_listening = list(SCI_FREQ, MED_FREQ)
+ freq_listening = list(GLOB.SCI_FREQ, GLOB.MED_FREQ)
autolinkers = list("processor1", "science", "medical")
/obj/machinery/telecomms/bus/preset_two
id = "Bus 2"
network = "tcommsat"
- freq_listening = list(SUPP_FREQ,SERV_FREQ)
+ freq_listening = list(GLOB.SUPP_FREQ,GLOB.SERV_FREQ)
autolinkers = list("processor2", "supply", "service")
/obj/machinery/telecomms/bus/preset_three
id = "Bus 3"
network = "tcommsat"
- freq_listening = list(SEC_FREQ, COMM_FREQ)
+ freq_listening = list(GLOB.SEC_FREQ, GLOB.COMM_FREQ)
autolinkers = list("processor3", "security", "command")
/obj/machinery/telecomms/bus/preset_four
id = "Bus 4"
network = "tcommsat"
- freq_listening = list(ENG_FREQ)
+ freq_listening = list(GLOB.ENG_FREQ)
autolinkers = list("processor4", "engineering", "common")
/obj/machinery/telecomms/bus/preset_four/New()
diff --git a/code/game/machinery/telecomms/machines/receiver.dm b/code/game/machinery/telecomms/machines/receiver.dm
index f66d860664..1b872b5d15 100644
--- a/code/game/machinery/telecomms/machines/receiver.dm
+++ b/code/game/machinery/telecomms/machines/receiver.dm
@@ -77,7 +77,7 @@
id = "Receiver A"
network = "tcommsat"
autolinkers = list("receiverA") // link to relay
- freq_listening = list(SCI_FREQ, MED_FREQ, SUPP_FREQ, SERV_FREQ) // science, medical, supply, service
+ freq_listening = list(GLOB.SCI_FREQ, GLOB.MED_FREQ, GLOB.SUPP_FREQ, GLOB.SERV_FREQ) // science, medical, supply, service
//--PRESET RIGHT--//
@@ -86,7 +86,7 @@
id = "Receiver B"
network = "tcommsat"
autolinkers = list("receiverB") // link to relay
- freq_listening = list(COMM_FREQ, ENG_FREQ, SEC_FREQ) //command, engineering, security
+ freq_listening = list(GLOB.COMM_FREQ, GLOB.ENG_FREQ, GLOB.SEC_FREQ) //command, engineering, security
//Common and other radio frequencies for people to freely use
/obj/machinery/telecomms/receiver/preset_right/New()
diff --git a/code/game/machinery/telecomms/machines/server.dm b/code/game/machinery/telecomms/machines/server.dm
index 2039ead4c6..519e5771c1 100644
--- a/code/game/machinery/telecomms/machines/server.dm
+++ b/code/game/machinery/telecomms/machines/server.dm
@@ -72,7 +72,8 @@
log.parameters["name"] = signal.data["name"]
log.parameters["realname"] = signal.data["realname"]
- log.parameters["uspeech"] = signal.data["languages"] & HUMAN //good enough
+ //log.parameters["uspeech"] = signal.data["languages"] & HUMAN //good enough
+ // TODO languages: ^ I don't know what this does
// If the signal is still compressed, make the log entry gibberish
if(signal.data["compression"] > 0)
@@ -141,22 +142,22 @@
/obj/machinery/telecomms/server/presets/science
id = "Science Server"
- freq_listening = list(SCI_FREQ)
+ freq_listening = list(GLOB.SCI_FREQ)
autolinkers = list("science")
/obj/machinery/telecomms/server/presets/medical
id = "Medical Server"
- freq_listening = list(MED_FREQ)
+ freq_listening = list(GLOB.MED_FREQ)
autolinkers = list("medical")
/obj/machinery/telecomms/server/presets/supply
id = "Supply Server"
- freq_listening = list(SUPP_FREQ)
+ freq_listening = list(GLOB.SUPP_FREQ)
autolinkers = list("supply")
/obj/machinery/telecomms/server/presets/service
id = "Service Server"
- freq_listening = list(SERV_FREQ)
+ freq_listening = list(GLOB.SERV_FREQ)
autolinkers = list("service")
/obj/machinery/telecomms/server/presets/common
@@ -173,19 +174,19 @@
/obj/machinery/telecomms/server/presets/command
id = "Command Server"
- freq_listening = list(COMM_FREQ)
+ freq_listening = list(GLOB.COMM_FREQ)
autolinkers = list("command")
/obj/machinery/telecomms/server/presets/engineering
id = "Engineering Server"
- freq_listening = list(ENG_FREQ)
+ freq_listening = list(GLOB.ENG_FREQ)
autolinkers = list("engineering")
/obj/machinery/telecomms/server/presets/security
id = "Security Server"
- freq_listening = list(SEC_FREQ)
+ freq_listening = list(GLOB.SEC_FREQ)
autolinkers = list("security")
/obj/machinery/telecomms/server/presets/common/birdstation/New()
..()
- freq_listening = list()
\ No newline at end of file
+ freq_listening = list()
diff --git a/code/game/machinery/telecomms/telecomunications.dm b/code/game/machinery/telecomms/telecomunications.dm
index 9882a624bb..0ab1bd10db 100644
--- a/code/game/machinery/telecomms/telecomunications.dm
+++ b/code/game/machinery/telecomms/telecomunications.dm
@@ -12,7 +12,7 @@
Look at radio.dm for the prequel to this code.
*/
-var/global/list/obj/machinery/telecomms/telecomms_list = list()
+GLOBAL_LIST_EMPTY(telecomms_list)
/obj/machinery/telecomms
icon = 'icons/obj/machines/telecomms.dmi'
@@ -86,7 +86,8 @@ var/global/list/obj/machinery/telecomms/telecomms_list = list()
"verb_say" = signal.data["verb_say"],
"verb_ask" = signal.data["verb_ask"],
"verb_exclaim" = signal.data["verb_exclaim"],
- "verb_yell" = signal.data["verb_yell"]
+ "verb_yell" = signal.data["verb_yell"],
+ "language" = signal.data["language"]
)
// Keep the "original" signal constant
@@ -133,7 +134,7 @@ var/global/list/obj/machinery/telecomms/telecomms_list = list()
/obj/machinery/telecomms/New()
- telecomms_list += src
+ GLOB.telecomms_list += src
..()
//Set the listening_level if there's none.
@@ -155,13 +156,13 @@ var/global/list/obj/machinery/telecomms/telecomms_list = list()
for(var/obj/machinery/telecomms/T in urange(20, src, 1))
add_link(T)
else
- for(var/obj/machinery/telecomms/T in telecomms_list)
+ for(var/obj/machinery/telecomms/T in GLOB.telecomms_list)
add_link(T)
/obj/machinery/telecomms/Destroy()
- telecomms_list -= src
- for(var/obj/machinery/telecomms/comm in telecomms_list)
+ GLOB.telecomms_list -= src
+ for(var/obj/machinery/telecomms/comm in GLOB.telecomms_list)
comm.links -= src
links = list()
return ..()
diff --git a/code/game/machinery/teleporter.dm b/code/game/machinery/teleporter.dm
index 55d9fac2ed..396214d224 100644
--- a/code/game/machinery/teleporter.dm
+++ b/code/game/machinery/teleporter.dm
@@ -165,7 +165,7 @@
var/list/L = list()
var/list/areaindex = list()
if(regime_set == "Teleporter")
- for(var/obj/item/device/radio/beacon/R in teleportbeacons)
+ for(var/obj/item/device/radio/beacon/R in GLOB.teleportbeacons)
var/turf/T = get_turf(R)
if(!T)
continue
@@ -173,7 +173,7 @@
continue
L[avoid_assoc_duplicate_keys(T.loc.name, areaindex)] = R
- for(var/obj/item/weapon/implant/tracking/I in tracked_implants)
+ for(var/obj/item/weapon/implant/tracking/I in GLOB.tracked_implants)
if(!I.imp_in || !ismob(I.loc))
continue
else
diff --git a/code/game/machinery/transformer.dm b/code/game/machinery/transformer.dm
index cd4cd2185c..af5e04b5bd 100644
--- a/code/game/machinery/transformer.dm
+++ b/code/game/machinery/transformer.dm
@@ -15,7 +15,8 @@
var/cooldown_timer
var/robot_cell_charge = 5000
var/obj/effect/countdown/transformer/countdown
-
+ var/mob/living/silicon/ai/masterAI
+
/obj/machinery/transformer/New()
// On us
..()
@@ -103,6 +104,10 @@
// So he can't jump out the gate right away.
R.SetLockdown()
+ if(masterAI)
+ R.connected_ai = masterAI
+ R.lawsync()
+ R.lawupdate = 1
addtimer(CALLBACK(src, .proc/unlock_new_robot, R), 50)
/obj/machinery/transformer/proc/unlock_new_robot(mob/living/silicon/robot/R)
@@ -110,7 +115,7 @@
sleep(30)
if(R)
R.SetLockdown(0)
- R.notify_ai(1)
+ R.notify_ai(NEW_BORG)
/obj/machinery/transformer/conveyor/New()
..()
diff --git a/code/game/machinery/vending.dm b/code/game/machinery/vending.dm
index c4c55383f6..c8c1854344 100644
--- a/code/game/machinery/vending.dm
+++ b/code/game/machinery/vending.dm
@@ -57,7 +57,7 @@
var/obj/item/weapon/vending_refill/refill_canister = null //The type of refill canisters used by this machine.
-/obj/machinery/vending/New()
+/obj/machinery/vending/Initialize()
..()
wires = new /datum/wires/vending(src)
if(refill_canister) //constructable vending machine
@@ -162,7 +162,7 @@
while(R.amount>0)
var/obj/O = new dump_path(loc)
- step(O, pick(alldirs)) //we only drop 20% of the total of each products and spread it
+ step(O, pick(GLOB.alldirs)) //we only drop 20% of the total of each products and spread it
R.amount -= 5 //around to not fill the turf with too many objects.
dump_amount++
if(dump_amount > 15) //so we don't drop too many items (e.g. ClothesMate)
@@ -528,6 +528,7 @@
if(icon_vend) //Show the vending animation if needed
flick(icon_vend,src)
new R.product_path(get_turf(src))
+ feedback_add_details("vending_machine_usage","[R.product_path]|[src.type]")
vend_ready = 1
return
@@ -690,7 +691,7 @@ IF YOU MODIFY THE PRODUCTS LIST OF A MACHINE, MAKE SURE TO UPDATE ITS RESUPPLY C
/obj/machinery/vending/snack
name = "\improper Getmore Chocolate Corp"
- desc = "A snack machine courtesy of the Getmore Chocolate Corporation, based out of Mars"
+ desc = "A snack machine courtesy of the Getmore Chocolate Corporation, based out of Mars."
product_slogans = "Try our new nougat bar!;Twice the calories for half the price!"
product_ads = "The healthiest!;Award-winning chocolate bars!;Mmm! So good!;Oh my god it's so juicy!;Have a snack.;Snacks are good for you!;Have some more Getmore!;Best quality snacks straight from mars.;We love chocolate!;Try our new jerky!"
icon_state = "snack"
@@ -705,7 +706,7 @@ IF YOU MODIFY THE PRODUCTS LIST OF A MACHINE, MAKE SURE TO UPDATE ITS RESUPPLY C
name = "\improper Random Snackies"
desc = "Uh oh!"
-/obj/machinery/vending/snack/random/New()
+/obj/machinery/vending/snack/random/Initialize()
..()
var/T = pick(subtypesof(/obj/machinery/vending/snack) - /obj/machinery/vending/snack/random)
new T(get_turf(src))
@@ -757,7 +758,7 @@ IF YOU MODIFY THE PRODUCTS LIST OF A MACHINE, MAKE SURE TO UPDATE ITS RESUPPLY C
name = "\improper Random Drinkies"
desc = "Uh oh!"
-/obj/machinery/vending/cola/random/New()
+/obj/machinery/vending/cola/random/Initialize()
..()
var/T = pick(subtypesof(/obj/machinery/vending/cola) - /obj/machinery/vending/cola/random)
new T(get_turf(src))
@@ -911,7 +912,7 @@ IF YOU MODIFY THE PRODUCTS LIST OF A MACHINE, MAKE SURE TO UPDATE ITS RESUPPLY C
/obj/machinery/vending/hydronutrients
name = "\improper NutriMax"
- desc = "A plant nutrients vendor"
+ desc = "A plant nutrients vendor."
product_slogans = "Aren't you glad you don't have to fertilize the natural way?;Now with 50% less stink!;Plants are people too!"
product_ads = "We like plants!;Don't you want some?;The greenest thumbs ever.;We like big plants.;Soft soil..."
icon_state = "nutri"
@@ -994,8 +995,7 @@ IF YOU MODIFY THE PRODUCTS LIST OF A MACHINE, MAKE SURE TO UPDATE ITS RESUPPLY C
/obj/item/clothing/mask/joy = 1,
/obj/item/clothing/head/cueball = 1,
/obj/item/clothing/under/scratch = 1,
- /obj/item/clothing/under/sailor = 1,
- /obj/item/clothing/head/clownpiece = 1,/obj/item/clothing/under/clownpiece = 1, /obj/item/clothing/suit/clownpiece = 1)
+ /obj/item/clothing/under/sailor = 1)
contraband = list(/obj/item/clothing/suit/judgerobe = 1,/obj/item/clothing/head/powdered_wig = 1,/obj/item/weapon/gun/magic/wand = 2,/obj/item/clothing/glasses/sunglasses/garb = 2, /obj/item/clothing/glasses/sunglasses/blindfold = 1, /obj/item/clothing/mask/muzzle = 2)
premium = list(/obj/item/clothing/suit/pirate/captain = 2, /obj/item/clothing/head/pirate/captain = 2, /obj/item/clothing/head/helmet/roman = 1, /obj/item/clothing/head/helmet/roman/legionaire = 1, /obj/item/clothing/under/roman = 1, /obj/item/clothing/shoes/roman = 1, /obj/item/weapon/shield/riot/roman = 1, /obj/item/weapon/skub = 1)
refill_canister = /obj/item/weapon/vending_refill/autodrobe
@@ -1119,23 +1119,8 @@ IF YOU MODIFY THE PRODUCTS LIST OF A MACHINE, MAKE SURE TO UPDATE ITS RESUPPLY C
/obj/item/clothing/head/beanie=1, /obj/item/clothing/head/beanie/black=1, /obj/item/clothing/head/beanie/red=1, /obj/item/clothing/head/beanie/green=1, /obj/item/clothing/head/beanie/darkblue=1,
/obj/item/clothing/head/beanie/purple=1, /obj/item/clothing/head/beanie/yellow=1, /obj/item/clothing/head/beanie/orange=1, /obj/item/clothing/head/beanie/cyan=1, /obj/item/clothing/head/beanie/christmas=1,
/obj/item/clothing/head/beanie/striped=1, /obj/item/clothing/head/beanie/stripedred=1, /obj/item/clothing/head/beanie/stripedblue=1, /obj/item/clothing/head/beanie/stripedgreen=1,
- /obj/item/clothing/suit/jacket/letterman_red=1,
- /obj/item/clothing/under/wintercasualwear=1,
- /obj/item/clothing/under/casualwear=1,
- /obj/item/clothing/under/casualhoodie=1,
- /obj/item/clothing/under/casualhoodie/skirt=1,
- /obj/item/clothing/under/bb_sweater=2,
- /obj/item/clothing/under/bb_sweater/blue=2,
- /obj/item/clothing/under/bb_sweater/green=2,
- /obj/item/clothing/under/bb_sweater/purple =2,
- /obj/item/clothing/under/bb_sweater/red=2)
- contraband = list(/obj/item/clothing/under/syndicate/tacticool=1,/obj/item/clothing/mask/balaclava=1,/obj/item/clothing/head/ushanka=1,/obj/item/clothing/under/soviet=1,/obj/item/weapon/storage/belt/fannypack/black=2,/obj/item/clothing/suit/jacket/letterman_syndie=1,/obj/item/clothing/under/jabroni=1, /obj/item/clothing/suit/vapeshirt=1, /obj/item/clothing/under/geisha=1,
- /obj/item/clothing/under/wedding/bride_orange=1,
- /obj/item/clothing/under/wedding/bride_purple=1,
- /obj/item/clothing/under/wedding/bride_blue=1,
- /obj/item/clothing/under/wedding/bride_red=1,
- /obj/item/clothing/under/wedding/bride_white=1,
- /obj/item/clothing/under/keyholesweater=1)
+ /obj/item/clothing/suit/jacket/letterman_red=1)
+ contraband = list(/obj/item/clothing/under/syndicate/tacticool=1,/obj/item/clothing/mask/balaclava=1,/obj/item/clothing/head/ushanka=1,/obj/item/clothing/under/soviet=1,/obj/item/weapon/storage/belt/fannypack/black=2,/obj/item/clothing/suit/jacket/letterman_syndie=1,/obj/item/clothing/under/jabroni=1, /obj/item/clothing/suit/vapeshirt=1, /obj/item/clothing/under/geisha=1)
premium = list(/obj/item/clothing/under/suit_jacket/checkered=1,/obj/item/clothing/head/mailman=1,/obj/item/clothing/under/rank/mailman=1,/obj/item/clothing/suit/jacket/leather=1,/obj/item/clothing/suit/jacket/leather/overcoat=1,/obj/item/clothing/under/pants/mustangjeans=1,/obj/item/clothing/neck/necklace/dope=3,/obj/item/clothing/suit/jacket/letterman_nanotrasen=1)
refill_canister = /obj/item/weapon/vending_refill/clothing
diff --git a/code/game/machinery/wishgranter.dm b/code/game/machinery/wishgranter.dm
index e42e2d72d8..cdaea6f875 100644
--- a/code/game/machinery/wishgranter.dm
+++ b/code/game/machinery/wishgranter.dm
@@ -39,7 +39,7 @@
user.dna.add_mutation(COLDRES)
user.dna.add_mutation(TK)
- ticker.mode.traitors += user.mind
+ SSticker.mode.traitors += user.mind
user.mind.special_role = "Avatar of the Wish Granter"
var/datum/objective/hijack/hijack = new
diff --git a/code/game/mecha/combat/gygax.dm b/code/game/mecha/combat/gygax.dm
index fe43d27bcc..0b37758def 100644
--- a/code/game/mecha/combat/gygax.dm
+++ b/code/game/mecha/combat/gygax.dm
@@ -23,7 +23,7 @@
armor = list(melee = 40, bullet = 40, laser = 50, energy = 35, bomb = 20, bio = 0, rad = 0, fire = 100, acid = 100)
max_temperature = 35000
leg_overload_coeff = 100
- operation_req_access = list(access_syndicate)
+ operation_req_access = list(GLOB.access_syndicate)
wreckage = /obj/structure/mecha_wreckage/gygax/dark
max_equip = 4
diff --git a/code/game/mecha/combat/honker.dm b/code/game/mecha/combat/honker.dm
index 967ddf059e..83522bf709 100644
--- a/code/game/mecha/combat/honker.dm
+++ b/code/game/mecha/combat/honker.dm
@@ -10,7 +10,7 @@
armor = list(melee = -20, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0, fire = 100, acid = 100)
max_temperature = 25000
infra_luminosity = 5
- operation_req_access = list(access_theatre)
+ operation_req_access = list(GLOB.access_theatre)
wreckage = /obj/structure/mecha_wreckage/honker
add_req_access = 0
max_equip = 3
@@ -68,7 +68,7 @@
diff --git a/code/game/mecha/combat/marauder.dm b/code/game/mecha/combat/marauder.dm
index 348baf9f96..e62be31704 100644
--- a/code/game/mecha/combat/marauder.dm
+++ b/code/game/mecha/combat/marauder.dm
@@ -10,7 +10,7 @@
max_temperature = 60000
resistance_flags = LAVA_PROOF | FIRE_PROOF | ACID_PROOF
infra_luminosity = 3
- operation_req_access = list(access_cent_specops)
+ operation_req_access = list(GLOB.access_cent_specops)
wreckage = /obj/structure/mecha_wreckage/marauder
add_req_access = 0
internal_damage_threshold = 25
@@ -45,7 +45,7 @@
desc = "Heavy-duty, command-type exosuit. This is a custom model, utilized only by high-ranking military personnel."
name = "\improper Seraph"
icon_state = "seraph"
- operation_req_access = list(access_cent_specops)
+ operation_req_access = list(GLOB.access_cent_specops)
step_in = 3
obj_integrity = 550
wreckage = /obj/structure/mecha_wreckage/seraph
@@ -71,7 +71,7 @@
desc = "Heavy-duty, combat exosuit, developed off of the existing Marauder model."
name = "\improper Mauler"
icon_state = "mauler"
- operation_req_access = list(access_syndicate)
+ operation_req_access = list(GLOB.access_syndicate)
wreckage = /obj/structure/mecha_wreckage/mauler
max_equip = 5
diff --git a/code/game/mecha/combat/reticence.dm b/code/game/mecha/combat/reticence.dm
index 601937adcf..59028c4222 100644
--- a/code/game/mecha/combat/reticence.dm
+++ b/code/game/mecha/combat/reticence.dm
@@ -10,7 +10,7 @@
armor = list(melee = 25, bullet = 20, laser = 30, energy = 15, bomb = 0, bio = 0, rad = 0, fire = 100, acid = 100)
max_temperature = 15000
wreckage = /obj/structure/mecha_wreckage/reticence
- operation_req_access = list(access_theatre)
+ operation_req_access = list(GLOB.access_theatre)
add_req_access = 0
internal_damage_threshold = 25
max_equip = 2
diff --git a/code/game/mecha/equipment/tools/mining_tools.dm b/code/game/mecha/equipment/tools/mining_tools.dm
index 3ac2e54f7e..61151f086f 100644
--- a/code/game/mecha/equipment/tools/mining_tools.dm
+++ b/code/game/mecha/equipment/tools/mining_tools.dm
@@ -112,6 +112,7 @@
var/scanning = 0
/obj/item/mecha_parts/mecha_equipment/mining_scanner/New()
+ ..()
START_PROCESSING(SSobj, src)
/obj/item/mecha_parts/mecha_equipment/mining_scanner/attach(obj/mecha/M)
diff --git a/code/game/mecha/equipment/tools/work_tools.dm b/code/game/mecha/equipment/tools/work_tools.dm
index 09f12d207e..e7e8379095 100644
--- a/code/game/mecha/equipment/tools/work_tools.dm
+++ b/code/game/mecha/equipment/tools/work_tools.dm
@@ -199,11 +199,11 @@
var/mode = 0 //0 - deconstruct, 1 - wall or floor, 2 - airlock.
/obj/item/mecha_parts/mecha_equipment/rcd/New()
- rcd_list += src
+ GLOB.rcd_list += src
..()
/obj/item/mecha_parts/mecha_equipment/rcd/Destroy()
- rcd_list -= src
+ GLOB.rcd_list -= src
return ..()
/obj/item/mecha_parts/mecha_equipment/rcd/action(atom/target)
@@ -420,7 +420,7 @@
if(!PN)
PN = new()
- powernets += PN
+ GLOB.powernets += PN
NC.powernet = PN
PN.cables += NC
NC.mergeConnectedNetworks(NC.d2)
diff --git a/code/game/mecha/mech_bay.dm b/code/game/mecha/mech_bay.dm
index f669960f88..134bd78e84 100644
--- a/code/game/mecha/mech_bay.dm
+++ b/code/game/mecha/mech_bay.dm
@@ -95,7 +95,7 @@
return
interact(user)
-/obj/machinery/computer/mech_bay_power_console/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)
+/obj/machinery/computer/mech_bay_power_console/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = 0, datum/tgui/master_ui = null, datum/ui_state/state = GLOB.default_state)
ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open)
if(!ui)
ui = new(user, src, ui_key, "mech_bay_power_console", "Mech Bay Power Control Console", 400, 170, master_ui, state)
@@ -130,7 +130,7 @@
return
recharge_port = locate(/obj/machinery/mech_bay_recharge_port) in range(1)
if(!recharge_port )
- for(var/D in cardinal)
+ for(var/D in GLOB.cardinal)
var/turf/A = get_step(src, D)
A = get_step(A, D)
recharge_port = locate(/obj/machinery/mech_bay_recharge_port) in A
diff --git a/code/game/mecha/mech_fabricator.dm b/code/game/mecha/mech_fabricator.dm
index 83900222e6..ec673b3e86 100644
--- a/code/game/mecha/mech_fabricator.dm
+++ b/code/game/mecha/mech_fabricator.dm
@@ -8,7 +8,7 @@
use_power = 1
idle_power_usage = 20
active_power_usage = 5000
- req_access = list(access_robotics)
+ req_access = list(GLOB.access_robotics)
var/time_coeff = 1
var/component_coeff = 1
var/datum/material_container/materials
@@ -37,7 +37,7 @@
/obj/machinery/mecha_part_fabricator/New()
..()
files = new /datum/research(src) //Setup the research data holder.
- materials = new(src, list(MAT_METAL, MAT_GLASS, MAT_SILVER, MAT_GOLD, MAT_DIAMOND, MAT_PLASMA, MAT_URANIUM, MAT_BANANIUM, MAT_TITANIUM))
+ materials = new(src, list(MAT_METAL, MAT_GLASS, MAT_SILVER, MAT_GOLD, MAT_DIAMOND, MAT_PLASMA, MAT_URANIUM, MAT_BANANIUM, MAT_TITANIUM, MAT_BLUESPACE))
var/obj/item/weapon/circuitboard/machine/B = new /obj/item/weapon/circuitboard/machine/mechfab(null)
B.apply_default_parts(src)
@@ -430,22 +430,13 @@
return 1
if(istype(W, /obj/item/stack/sheet))
- if(panel_open)
- to_chat(user, "You can't load [src] while it's opened! ")
- return 1
- if(being_built)
- to_chat(user, "\The [src] is currently processing! Please wait until completion. ")
+
+ if(!is_insertion_ready(user))
return 1
var/material_amount = materials.get_item_material_amount(W)
- if(!material_amount)
- to_chat(user, "This object does not contain sufficient amounts of materials to be accepted by [src]. ")
- return 1
- if(!materials.has_space(material_amount))
- to_chat(user, "\The [src] is full. Please remove some materials from [src] in order to insert more. ")
- return 1
- if(!user.temporarilyRemoveItemFromInventory(W))
- to_chat(user, "\The [W] is stuck to you and cannot be placed into [src]. ")
+
+ if(!try_insert(user, W, material_amount))
return 1
var/inserted = materials.insert_item(W)
@@ -457,7 +448,31 @@
var/mat_overlay = "fab-load-[material2name(W.materials[1])]"
add_overlay(mat_overlay)
sleep(10)
- cut_overlay(mat_overlay) //No matter what the overlay shall still be deleted
+ if(!QDELETED(src))
+ cut_overlay(mat_overlay) //No matter what the overlay shall still be deleted
+
+ updateUsrDialog()
+
+ else if(istype(W, /obj/item/weapon/ore/bluespace_crystal))
+
+ if(!is_insertion_ready(user))
+ return 1
+
+ var/material_amount = materials.get_item_material_amount(W)
+
+ if(!try_insert(user, W, material_amount))
+ return 1
+
+ var/inserted = materials.insert_item(W)
+ if(inserted)
+ to_chat(user, "You add [W] to the [src]. ")
+ if(W && W.materials.len)
+ qdel(W)
+ var/mat_overlay = "fab-load-bluespace"
+ add_overlay(mat_overlay)
+ sleep(10)
+ if(!QDELETED(src))
+ cut_overlay(mat_overlay)
updateUsrDialog()
@@ -466,3 +481,27 @@
/obj/machinery/mecha_part_fabricator/proc/material2name(ID)
return copytext(ID,2)
+
+/obj/machinery/mecha_part_fabricator/proc/is_insertion_ready(mob/user)
+ if(panel_open)
+ to_chat(user, "You can't load [src] while it's opened! ")
+ return FALSE
+ if(being_built)
+ to_chat(user, "\The [src] is currently processing! Please wait until completion. ")
+ return FALSE
+
+ return TRUE
+
+
+/obj/machinery/mecha_part_fabricator/proc/try_insert(mob/user, obj/item/I, material_amount)
+ if(!material_amount)
+ to_chat(user, "This object does not contain sufficient amounts of materials to be accepted by [src]. ")
+ return FALSE
+ if(!materials.has_space(material_amount))
+ to_chat(user, "\The [src] is full. Please remove some materials from [src] in order to insert more. ")
+ return FALSE
+ if(!user.temporarilyRemoveItemFromInventory(I))
+ to_chat(user, "\The [I] is stuck to you and cannot be placed into [src]. ")
+ return FALSE
+
+ return TRUE
\ No newline at end of file
diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm
index f87c2e0166..99aad7743f 100644
--- a/code/game/mecha/mecha.dm
+++ b/code/game/mecha/mecha.dm
@@ -65,7 +65,7 @@
var/internal_damage = 0 //contains bitflags
var/list/operation_req_access = list()//required access level for mecha operation
- var/list/internals_req_access = list(access_engine,access_robotics)//required access level to open cell compartment
+ var/list/internals_req_access = list(GLOB.access_engine,GLOB.access_robotics)//required access level to open cell compartment
var/wreckage
@@ -132,11 +132,11 @@
smoke_system.attach(src)
add_cell()
START_PROCESSING(SSobj, src)
- poi_list |= src
+ GLOB.poi_list |= src
log_message("[src.name] created.")
- mechas_list += src //global mech list
+ GLOB.mechas_list += src //global mech list
prepare_huds()
- var/datum/atom_hud/data/diagnostic/diag_hud = huds[DATA_HUD_DIAGNOSTIC]
+ var/datum/atom_hud/data/diagnostic/diag_hud = GLOB.huds[DATA_HUD_DIAGNOSTIC]
diag_hud.add_to_hud(src)
diag_hud_set_mechhealth()
diag_hud_set_mechcell()
@@ -185,7 +185,7 @@
if(AI)
AI.gib() //No wreck, no AI to recover
STOP_PROCESSING(SSobj, src)
- poi_list.Remove(src)
+ GLOB.poi_list.Remove(src)
equipment.Cut()
cell = null
internal_tank = null
@@ -200,7 +200,7 @@
qdel(smoke_system)
smoke_system = null
- mechas_list -= src //global mech list
+ GLOB.mechas_list -= src //global mech list
return ..()
////////////////////////
@@ -382,17 +382,16 @@
/obj/mecha/proc/drop_item()//Derpfix, but may be useful in future for engineering exosuits.
return
-/obj/mecha/Hear(message, atom/movable/speaker, message_langs, raw_message, radio_freq, list/spans)
+/obj/mecha/Hear(message, atom/movable/speaker, message_language, raw_message, radio_freq, list/spans, message_mode)
if(speaker == occupant)
if(radio.broadcasting)
- radio.talk_into(speaker, text, , spans)
+ radio.talk_into(speaker, text, , spans, message_language)
//flick speech bubble
var/list/speech_bubble_recipients = list()
for(var/mob/M in get_hearers_in_view(7,src))
if(M.client)
speech_bubble_recipients.Add(M.client)
- spawn(0)
- flick_overlay(image('icons/mob/talk.dmi', src, "machine[say_test(raw_message)]",MOB_LAYER+1), speech_bubble_recipients, 30)
+ INVOKE_ASYNC(GLOBAL_PROC, /.proc/flick_overlay, image('icons/mob/talk.dmi', src, "machine[say_test(raw_message)]",MOB_LAYER+1), speech_bubble_recipients, 30)
////////////////////////////
///// Action processing ////
@@ -663,9 +662,11 @@
AI.ai_restore_power()//So the AI initially has power.
AI.control_disabled = 1
AI.radio_enabled = 0
+ AI.disconnect_shell()
+ RemoveActions(AI, TRUE)
+ occupant = null
AI.forceMove(card)
card.AI = AI
- occupant = null
AI.controlled_mech = null
AI.remote_control = null
icon_state = initial(icon_state)+"-open"
@@ -686,10 +687,12 @@
if(!AI)
to_chat(user, "There is no AI currently installed on this device. ")
return
- else if(AI.stat || !AI.client)
+ if(AI.deployed_shell) //Recall AI if shelled so it can be checked for a client
+ AI.disconnect_shell()
+ if(AI.stat || !AI.client)
to_chat(user, "[AI.name] is currently unresponsive, and cannot be uploaded. ")
return
- else if(occupant || dna_lock) //Normal AIs cannot steal mechs!
+ if(occupant || dna_lock) //Normal AIs cannot steal mechs!
to_chat(user, "Access denied. [name] is [occupant ? "currently occupied" : "secured with a DNA lock"].")
return
AI.control_disabled = 0
@@ -715,7 +718,10 @@
to_chat(AI, "[AI.can_dominate_mechs ? "Takeover of [name] complete! You are now loaded onto the onboard computer. Do not attempt to leave the station sector! " \
: "You have been uploaded to a mech's onboard computer."]")
to_chat(AI, "Use Middle-Mouse to activate mech functions and equipment. Click normally for AI interactions. ")
- GrantActions(AI, !AI.can_dominate_mechs)
+ if(interaction == AI_TRANS_FROM_CARD)
+ GrantActions(AI, FALSE) //No eject/return to core action for AI uploaded by card
+ else
+ GrantActions(AI, !AI.can_dominate_mechs)
//An actual AI (simple_animal mecha pilot) entering the mech
@@ -1005,7 +1011,7 @@
/obj/mecha/proc/log_message(message as text,red=null)
log.len++
- log[log.len] = list("time"="[worldtime2text()]","date","year"="[year_integer+540]","message"="[red?"":null][message][red?" ":null]")
+ log[log.len] = list("time"="[worldtime2text()]","date","year"="[GLOB.year_integer+540]","message"="[red?"":null][message][red?" ":null]")
return log.len
/obj/mecha/proc/log_append_to_last(message as text,red=null)
@@ -1013,8 +1019,8 @@
last_entry["message"] += " [red?"":null][message][red?" ":null]"
return
-var/year = time2text(world.realtime,"YYYY")
-var/year_integer = text2num(year) // = 2013???
+GLOBAL_VAR_INIT(year, time2text(world.realtime,"YYYY"))
+GLOBAL_VAR_INIT(year_integer, text2num(year)) // = 2013???
///////////////////////
///// Power stuff /////
diff --git a/code/game/mecha/mecha_actions.dm b/code/game/mecha/mecha_actions.dm
index 3a3d979537..65fa8b49b9 100644
--- a/code/game/mecha/mecha_actions.dm
+++ b/code/game/mecha/mecha_actions.dm
@@ -25,7 +25,8 @@
var/obj/mecha/chassis
/datum/action/innate/mecha/Grant(mob/living/L, obj/mecha/M)
- chassis = M
+ if(M)
+ chassis = M
..()
/datum/action/innate/mecha/Destroy()
diff --git a/code/game/mecha/mecha_control_console.dm b/code/game/mecha/mecha_control_console.dm
index 4b70c4aae3..2d6c7b34d5 100644
--- a/code/game/mecha/mecha_control_console.dm
+++ b/code/game/mecha/mecha_control_console.dm
@@ -3,7 +3,7 @@
desc = "Used to remotely locate or lockdown exosuits."
icon_screen = "mecha"
icon_keyboard = "tech_key"
- req_access = list(access_robotics)
+ req_access = list(GLOB.access_robotics)
circuit = /obj/item/weapon/circuitboard/computer/mecha_control
var/list/located = list()
var/screen = 0
@@ -17,7 +17,7 @@
if(screen == 0)
dat += "Tracking beacons data "
var/list/trackerlist = list()
- for(var/obj/mecha/MC in mechas_list)
+ for(var/obj/mecha/MC in GLOB.mechas_list)
trackerlist += MC.trackers
for(var/obj/item/mecha_parts/mecha_tracking/TR in trackerlist)
var/answer = TR.get_mecha_info()
@@ -75,13 +75,13 @@
return 0
var/obj/mecha/M = src.loc
var/cell_charge = M.get_charge()
- var/answer = {"Name: [M.name]
- Integrity: [M.obj_integrity/M.max_integrity*100]%
- Cell charge: [isnull(cell_charge)?"Not found":"[M.cell.percent()]%"]
- Airtank: [M.return_pressure()]kPa
- Pilot: [M.occupant||"None"]
- Location: [get_area(M)||"Unknown"]
- Active equipment: [M.selected||"None"] "}
+ var/answer = {"Name: [M.name]
+Integrity: [M.obj_integrity/M.max_integrity*100]%
+Cell charge: [isnull(cell_charge)?"Not found":"[M.cell.percent()]%"]
+Airtank: [M.return_pressure()]kPa
+Pilot: [M.occupant||"None"]
+Location: [get_area(M)||"Unknown"]
+Active equipment: [M.selected||"None"] "}
if(istype(M, /obj/mecha/working/ripley))
var/obj/mecha/working/ripley/RM = M
answer += "Used cargo space: [RM.cargo.len/RM.cargo_capacity*100]% "
diff --git a/code/game/mecha/mecha_defense.dm b/code/game/mecha/mecha_defense.dm
index 512629cae3..ccb7901d63 100644
--- a/code/game/mecha/mecha_defense.dm
+++ b/code/game/mecha/mecha_defense.dm
@@ -72,7 +72,7 @@
/obj/mecha/attack_animal(mob/living/simple_animal/user)
log_message("Attack by simple animal. Attacker - [user].",1)
if(!user.melee_damage_upper && !user.obj_damage)
- user.emote("custom", message = "[user.friendly] [src]")
+ user.emote("custom", message = "[user.friendly] [src].")
return 0
else
var/play_soundeffect = 1
@@ -312,7 +312,7 @@
L.narsie_act()
/obj/mecha/ratvar_act()
- if((ratvar_awakens || clockwork_gateway_activated) && occupant)
+ if((GLOB.ratvar_awakens || GLOB.clockwork_gateway_activated) && occupant)
if(is_servant_of_ratvar(occupant)) //reward the minion that got a mech by repairing it
full_repair(TRUE)
else
diff --git a/code/game/mecha/mecha_topic.dm b/code/game/mecha/mecha_topic.dm
index 5a6d7314bb..8474db9077 100644
--- a/code/game/mecha/mecha_topic.dm
+++ b/code/game/mecha/mecha_topic.dm
@@ -20,7 +20,7 @@
diff --git a/code/game/mecha/medical/odysseus.dm b/code/game/mecha/medical/odysseus.dm
index d98fe5b5e8..8baf723a86 100644
--- a/code/game/mecha/medical/odysseus.dm
+++ b/code/game/mecha/medical/odysseus.dm
@@ -17,7 +17,7 @@
if(H.glasses && istype(H.glasses, /obj/item/clothing/glasses/hud))
occupant_message("Your [H.glasses] prevent you from using the built-in medical hud. ")
else
- var/datum/atom_hud/data/human/medical/advanced/A = huds[DATA_HUD_MEDICAL_ADVANCED]
+ var/datum/atom_hud/data/human/medical/advanced/A = GLOB.huds[DATA_HUD_MEDICAL_ADVANCED]
A.add_hud_to(H)
builtin_hud_user = 1
return 1
@@ -27,7 +27,7 @@
/obj/mecha/medical/odysseus/go_out()
if(ishuman(occupant) && builtin_hud_user)
var/mob/living/carbon/human/H = occupant
- var/datum/atom_hud/data/human/medical/advanced/A = huds[DATA_HUD_MEDICAL_ADVANCED]
+ var/datum/atom_hud/data/human/medical/advanced/A = GLOB.huds[DATA_HUD_MEDICAL_ADVANCED]
A.remove_hud_from(H)
..()
return
diff --git a/code/game/objects/buckling.dm b/code/game/objects/buckling.dm
index 7df977fd93..78aa6d49e8 100644
--- a/code/game/objects/buckling.dm
+++ b/code/game/objects/buckling.dm
@@ -38,7 +38,7 @@
return TRUE
//procs that handle the actual buckling and unbuckling
-/atom/movable/proc/buckle_mob(mob/living/M, force = 0, check_loc = 1)
+/atom/movable/proc/buckle_mob(mob/living/M, force = FALSE, check_loc = TRUE)
if(!buckled_mobs)
buckled_mobs = list()
@@ -72,14 +72,14 @@
return 1
-/obj/buckle_mob(mob/living/M, force = 0, check_loc = 1)
+/obj/buckle_mob(mob/living/M, force = FALSE, check_loc = TRUE)
. = ..()
if(.)
if(resistance_flags & ON_FIRE) //Sets the mob on fire if you buckle them to a burning atom/movableect
M.adjust_fire_stacks(1)
M.IgniteMob()
-/atom/movable/proc/unbuckle_mob(mob/living/buckled_mob, force=0)
+/atom/movable/proc/unbuckle_mob(mob/living/buckled_mob, force=FALSE)
if(istype(buckled_mob) && buckled_mob.buckled == src && (buckled_mob.can_unbuckle() || force))
. = buckled_mob
buckled_mob.buckled = null
@@ -90,7 +90,7 @@
post_buckle_mob(.)
-/atom/movable/proc/unbuckle_all_mobs(force=0)
+/atom/movable/proc/unbuckle_all_mobs(force=FALSE)
if(!has_buckled_mobs())
return
for(var/m in buckled_mobs)
@@ -103,7 +103,7 @@
//Wrapper procs that handle sanity and user feedback
-/atom/movable/proc/user_buckle_mob(mob/living/M, mob/user, check_loc = 1)
+/atom/movable/proc/user_buckle_mob(mob/living/M, mob/user, check_loc = TRUE)
if(!in_range(user, src) || user.stat || user.restrained())
return 0
diff --git a/code/game/objects/effects/anomalies.dm b/code/game/objects/effects/anomalies.dm
index 64ca07675a..071c95cb46 100644
--- a/code/game/objects/effects/anomalies.dm
+++ b/code/game/objects/effects/anomalies.dm
@@ -17,9 +17,9 @@
var/countdown_colour
var/obj/effect/countdown/anomaly/countdown
-/obj/effect/anomaly/New()
+/obj/effect/anomaly/Initialize(mapload, new_lifespan)
..()
- poi_list |= src
+ GLOB.poi_list |= src
START_PROCESSING(SSobj, src)
impact_area = get_area(src)
@@ -31,6 +31,8 @@
if(IsMultiple(aSignal.frequency, 2))//signaller frequencies are always uneven!
aSignal.frequency++
+ if(new_lifespan)
+ lifespan = new_lifespan
death_time = world.time + lifespan
countdown = new(src)
if(countdown_colour)
@@ -45,14 +47,14 @@
qdel(src)
/obj/effect/anomaly/Destroy()
- poi_list.Remove(src)
+ GLOB.poi_list.Remove(src)
STOP_PROCESSING(SSobj, src)
qdel(countdown)
return ..()
/obj/effect/anomaly/proc/anomalyEffect()
if(prob(movechance))
- step(src,pick(alldirs))
+ step(src,pick(GLOB.alldirs))
/obj/effect/anomaly/proc/detonate()
return
@@ -126,7 +128,7 @@
density = 1
var/canshock = 0
var/shockdamage = 20
- var/explosive = 1
+ var/explosive = TRUE
/obj/effect/anomaly/flux/New()
..()
@@ -196,7 +198,7 @@
// Calculate new position (searches through beacons in world)
var/obj/item/device/radio/beacon/chosen
var/list/possible = list()
- for(var/obj/item/device/radio/beacon/W in teleportbeacons)
+ for(var/obj/item/device/radio/beacon/W in GLOB.teleportbeacons)
possible += W
if(possible.len > 0)
diff --git a/code/game/objects/effects/bump_teleporter.dm b/code/game/objects/effects/bump_teleporter.dm
index 05214f9675..c249356239 100644
--- a/code/game/objects/effects/bump_teleporter.dm
+++ b/code/game/objects/effects/bump_teleporter.dm
@@ -1,5 +1,3 @@
-var/list/obj/effect/bump_teleporter/BUMP_TELEPORTERS = list()
-
/obj/effect/bump_teleporter
name = "bump-teleporter"
icon = 'icons/mob/screen_gen.dmi'
@@ -11,12 +9,14 @@ var/list/obj/effect/bump_teleporter/BUMP_TELEPORTERS = list()
density = 1
opacity = 0
+ var/static/list/AllTeleporters
+
/obj/effect/bump_teleporter/New()
..()
- BUMP_TELEPORTERS += src
+ LAZYADD(AllTeleporters, src)
/obj/effect/bump_teleporter/Destroy()
- BUMP_TELEPORTERS -= src
+ LAZYREMOVE(AllTeleporters, src)
return ..()
/obj/effect/bump_teleporter/Bumped(atom/user)
@@ -28,7 +28,7 @@ var/list/obj/effect/bump_teleporter/BUMP_TELEPORTERS = list()
//user.loc = src.loc //Stop at teleporter location, there is nowhere to teleport to.
return
- for(var/obj/effect/bump_teleporter/BT in BUMP_TELEPORTERS)
+ for(var/obj/effect/bump_teleporter/BT in AllTeleporters)
if(BT.id == src.id_target)
usr.loc = BT.loc //Teleport to location with correct id.
return
\ No newline at end of file
diff --git a/code/game/objects/effects/decals/Cleanable/humans.dm b/code/game/objects/effects/decals/Cleanable/humans.dm
index b8ea00bbb0..31cfdeea53 100644
--- a/code/game/objects/effects/decals/Cleanable/humans.dm
+++ b/code/game/objects/effects/decals/Cleanable/humans.dm
@@ -20,6 +20,16 @@
blood_DNA |= C.blood_DNA.Copy()
..()
+/obj/effect/decal/cleanable/blood/old
+ name = "dried blood"
+ desc = "Looks like it's been here a while. Eew."
+ bloodiness = 0
+
+/obj/effect/decal/cleanable/blood/old/Initialize()
+ ..()
+ icon_state += "-old" //This IS necessary because the parent /blood type uses icon randomization.
+ blood_DNA["Non-human DNA"] = "A+"
+
/obj/effect/decal/cleanable/blood/splatter
random_icon_states = list("gibbl1", "gibbl2", "gibbl3", "gibbl4", "gibbl5")
@@ -50,7 +60,7 @@
random_icon_states = list("gib1", "gib2", "gib3", "gib4", "gib5", "gib6")
mergeable_decal = 0
-/obj/effect/decal/cleanable/blood/gibs/New()
+/obj/effect/decal/cleanable/blood/gibs/Initialize()
..()
reagents.add_reagent("liquidgibs", 5)
@@ -83,13 +93,23 @@
/obj/effect/decal/cleanable/blood/gibs/torso
random_icon_states = list("gibtorso")
-
/obj/effect/decal/cleanable/blood/gibs/limb
random_icon_states = list("gibleg", "gibarm")
/obj/effect/decal/cleanable/blood/gibs/core
random_icon_states = list("gibmid1", "gibmid2", "gibmid3")
+/obj/effect/decal/cleanable/blood/gibs/old
+ name = "old rotting gibs"
+ desc = "Space Jesus, why didn't anyone clean this up? It smells terrible."
+ bloodiness = 0
+
+/obj/effect/decal/cleanable/blood/gibs/old/Initialize()
+ ..()
+ setDir(pick(1,2,4,8))
+ icon_state += "-old"
+ blood_DNA["Non-human DNA"] = "A+"
+
/obj/effect/decal/cleanable/blood/drip
name = "drips of blood"
@@ -139,23 +159,23 @@
/obj/effect/decal/cleanable/blood/footprints/update_icon()
cut_overlays()
- for(var/Ddir in cardinal)
+ for(var/Ddir in GLOB.cardinal)
if(entered_dirs & Ddir)
var/image/I
- if(bloody_footprints_cache["entered-[blood_state]-[Ddir]"])
- I = bloody_footprints_cache["entered-[blood_state]-[Ddir]"]
+ if(GLOB.bloody_footprints_cache["entered-[blood_state]-[Ddir]"])
+ I = GLOB.bloody_footprints_cache["entered-[blood_state]-[Ddir]"]
else
I = image(icon,"[blood_state]1",dir = Ddir)
- bloody_footprints_cache["entered-[blood_state]-[Ddir]"] = I
+ GLOB.bloody_footprints_cache["entered-[blood_state]-[Ddir]"] = I
if(I)
add_overlay(I)
if(exited_dirs & Ddir)
var/image/I
- if(bloody_footprints_cache["exited-[blood_state]-[Ddir]"])
- I = bloody_footprints_cache["exited-[blood_state]-[Ddir]"]
+ if(GLOB.bloody_footprints_cache["exited-[blood_state]-[Ddir]"])
+ I = GLOB.bloody_footprints_cache["exited-[blood_state]-[Ddir]"]
else
I = image(icon,"[blood_state]2",dir = Ddir)
- bloody_footprints_cache["exited-[blood_state]-[Ddir]"] = I
+ GLOB.bloody_footprints_cache["exited-[blood_state]-[Ddir]"] = I
if(I)
add_overlay(I)
diff --git a/code/game/objects/effects/decals/Cleanable/misc.dm b/code/game/objects/effects/decals/Cleanable/misc.dm
index 1fef05d7fc..468eb367f8 100644
--- a/code/game/objects/effects/decals/Cleanable/misc.dm
+++ b/code/game/objects/effects/decals/Cleanable/misc.dm
@@ -11,7 +11,7 @@
icon_state = "ash"
mergeable_decal = 0
-/obj/effect/decal/cleanable/ash/New()
+/obj/effect/decal/cleanable/ash/Initialize()
..()
reagents.add_reagent("ash", 30)
pixel_x = rand(-5, 5)
@@ -21,7 +21,7 @@
name = "large pile of ashes"
icon_state = "big_ash"
-/obj/effect/decal/cleanable/ash/large/New()
+/obj/effect/decal/cleanable/ash/large/Initialize()
..()
reagents.add_reagent("ash", 30) //double the amount of ash.
@@ -104,6 +104,14 @@
viruses = null
return ..()
+/obj/effect/decal/cleanable/vomit/old
+ name = "crusty dried vomit"
+ desc = "You try not to look at the chunks, and fail."
+
+/obj/effect/decal/cleanable/vomit/old/Initialize()
+ ..()
+ icon_state += "-old"
+
/obj/effect/decal/cleanable/tomato_smudge
name = "tomato smudge"
desc = "It's red."
@@ -149,7 +157,7 @@
if(severity == 1) //so shreds created during an explosion aren't deleted by the explosion.
qdel(src)
-/obj/effect/decal/cleanable/shreds/New()
+/obj/effect/decal/cleanable/shreds/Initialize()
pixel_x = rand(-10, 10)
pixel_y = rand(-10, 10)
..()
@@ -163,7 +171,7 @@
/obj/effect/decal/cleanable/glitter
name = "generic glitter pile"
- desc = "the herpes of arts and crafts"
+ desc = "The herpes of arts and crafts."
icon = 'icons/effects/tile_effects.dmi'
gender = NEUTER
diff --git a/code/game/objects/effects/decals/Cleanable/robots.dm b/code/game/objects/effects/decals/Cleanable/robots.dm
index 1eae55ea76..30bfd77b29 100644
--- a/code/game/objects/effects/decals/Cleanable/robots.dm
+++ b/code/game/objects/effects/decals/Cleanable/robots.dm
@@ -48,7 +48,7 @@
blood_state = BLOOD_STATE_OIL
bloodiness = MAX_SHOE_BLOODINESS
-/obj/effect/decal/cleanable/oil/New()
+/obj/effect/decal/cleanable/oil/Initialize()
..()
reagents.add_reagent("oil", 30)
diff --git a/code/game/objects/effects/decals/cleanable.dm b/code/game/objects/effects/decals/cleanable.dm
index 6364658984..f38d4e9782 100644
--- a/code/game/objects/effects/decals/cleanable.dm
+++ b/code/game/objects/effects/decals/cleanable.dm
@@ -6,7 +6,7 @@
var/bloodiness = 0 //0-100, amount of blood in this decal, used for making footprints and affecting the alpha of bloody footprints
var/mergeable_decal = 1 //when two of these are on a same tile or do we need to merge them into just one?
-/obj/effect/decal/cleanable/New()
+/obj/effect/decal/cleanable/Initialize(mapload)
if (random_icon_states && length(src.random_icon_states) > 0)
src.icon_state = pick(src.random_icon_states)
create_reagents(300)
@@ -88,4 +88,4 @@
if((blood_state != BLOOD_STATE_OIL) && (blood_state != BLOOD_STATE_NOT_BLOODY))
return bloodiness
else
- return 0
\ No newline at end of file
+ return 0
diff --git a/code/game/objects/effects/decals/crayon.dm b/code/game/objects/effects/decals/crayon.dm
index 8628bedefe..af205fd132 100644
--- a/code/game/objects/effects/decals/crayon.dm
+++ b/code/game/objects/effects/decals/crayon.dm
@@ -6,14 +6,13 @@
gender = NEUTER
var/do_icon_rotate = TRUE
-/obj/effect/decal/cleanable/crayon/New(location, main = "#FFFFFF", var/type = "rune1", var/e_name = "rune", var/rotation = 0, var/alt_icon = null)
+/obj/effect/decal/cleanable/crayon/Initialize(mapload, main = "#FFFFFF", var/type = "rune1", var/e_name = "rune", var/rotation = 0, var/alt_icon = null)
..()
- loc = location
-
+
name = e_name
desc = "A [name] vandalizing the station."
if(type == "poseur tag")
- type = pick(gang_name_pool)
+ type = pick(GLOB.gang_name_pool)
if(alt_icon)
icon = alt_icon
@@ -32,17 +31,17 @@
do_icon_rotate = FALSE //These are designed to always face south, so no rotation please.
var/datum/gang/gang
-/obj/effect/decal/cleanable/crayon/gang/New(location, var/datum/gang/G, var/e_name = "gang tag", var/rotation = 0)
+/obj/effect/decal/cleanable/crayon/gang/Initialize(mapload, var/datum/gang/G, var/e_name = "gang tag", var/rotation = 0)
if(!type || !G)
qdel(src)
- var/area/territory = get_area(location)
+ var/area/territory = get_area(src)
gang = G
var/newcolor = G.color_hex
icon_state = G.name
G.territory_new |= list(territory.type = territory.name)
- ..(location, newcolor, icon_state, e_name, rotation)
+ ..(mapload, newcolor, icon_state, e_name, rotation)
/obj/effect/decal/cleanable/crayon/gang/Destroy()
var/area/territory = get_area(src)
diff --git a/code/game/objects/effects/decals/decal.dm b/code/game/objects/effects/decals/decal.dm
index 69c49235b8..42555cd2d5 100644
--- a/code/game/objects/effects/decals/decal.dm
+++ b/code/game/objects/effects/decals/decal.dm
@@ -10,6 +10,10 @@
if(!(resistance_flags & FIRE_PROOF)) //non fire proof decal or being burned by lava
qdel(src)
+/obj/effect/decal/HandleTurfChange(turf/T)
+ ..()
+ if(T == loc && (isspaceturf(T) || isclosedturf(T) || islava(T) || istype(T, /turf/open/water) || istype(T, /turf/open/chasm)))
+ qdel(src)
/obj/effect/turf_decal
var/group = TURF_DECAL_PAINT
@@ -54,4 +58,10 @@
icon_state = "bot"
/obj/effect/turf_decal/loading_area
- icon_state = "loading_area"
\ No newline at end of file
+ icon_state = "loading_area"
+
+/obj/effect/turf_decal/sand
+ icon_state = "sandyfloor"
+
+/obj/effect/turf_decal/sand/plating
+ icon_state = "sandyplating"
\ No newline at end of file
diff --git a/code/game/objects/effects/decals/misc.dm b/code/game/objects/effects/decals/misc.dm
index e3b1618222..c2146daa82 100644
--- a/code/game/objects/effects/decals/misc.dm
+++ b/code/game/objects/effects/decals/misc.dm
@@ -5,11 +5,12 @@
layer = POINT_LAYER
duration = 25
-/obj/effect/overlay/temp/point/New(atom/target, set_invis = 0)
+/obj/effect/overlay/temp/point/Initialize(mapload, set_invis = 0)
..()
- loc = get_turf(target)
- pixel_x = target.pixel_x
- pixel_y = target.pixel_y
+ var/atom/old_loc = loc
+ loc = get_turf(src)
+ pixel_x = old_loc.pixel_x
+ pixel_y = old_loc.pixel_y
invisibility = set_invis
//Used by spraybottles.
@@ -30,4 +31,4 @@
desc = "A lightweight support lattice."
icon = 'icons/obj/smooth_structures/lattice.dmi'
icon_state = "lattice"
- density = 1
\ No newline at end of file
+ density = 1
diff --git a/code/game/objects/effects/decals/remains.dm b/code/game/objects/effects/decals/remains.dm
index 6b8fafd517..3d079d705b 100644
--- a/code/game/objects/effects/decals/remains.dm
+++ b/code/game/objects/effects/decals/remains.dm
@@ -17,4 +17,8 @@
/obj/effect/decal/remains/robot
desc = "They look like the remains of something mechanical. They have a strange aura about them."
icon = 'icons/mob/robots.dmi'
- icon_state = "remainsrobot"
\ No newline at end of file
+ icon_state = "remainsrobot"
+
+/obj/effect/decal/cleanable/robot_debris/old
+ name = "dusty robot debris"
+ desc = "Looks like nobody has touched this in a while."
\ No newline at end of file
diff --git a/code/game/objects/effects/effect_system/effect_system.dm b/code/game/objects/effects/effect_system/effect_system.dm
index 39ebc92df0..34b20fde6f 100644
--- a/code/game/objects/effects/effect_system/effect_system.dm
+++ b/code/game/objects/effects/effect_system/effect_system.dm
@@ -13,12 +13,12 @@ would spawn and follow the beaker, even if it is carried or thrown.
/obj/effect/particle_effect/New()
..()
- if(ticker)
- cameranet.updateVisibility(src)
+ if(SSticker)
+ GLOB.cameranet.updateVisibility(src)
/obj/effect/particle_effect/Destroy()
- if(ticker)
- cameranet.updateVisibility(src)
+ if(SSticker)
+ GLOB.cameranet.updateVisibility(src)
. = ..()
/datum/effect_system
@@ -60,9 +60,9 @@ would spawn and follow the beaker, even if it is carried or thrown.
total_effects++
var/direction
if(cardinals)
- direction = pick(cardinal)
+ direction = pick(GLOB.cardinal)
else
- direction = pick(alldirs)
+ direction = pick(GLOB.alldirs)
var/steps_amt = pick(1,2,3)
for(var/j in 1 to steps_amt)
sleep(5)
diff --git a/code/game/objects/effects/effect_system/effects_explosion.dm b/code/game/objects/effects/effect_system/effects_explosion.dm
index c8d54842b6..bd9a54880d 100644
--- a/code/game/objects/effects/effect_system/effects_explosion.dm
+++ b/code/game/objects/effects/effect_system/effects_explosion.dm
@@ -15,7 +15,7 @@
for(var/i in 1 to number)
spawn(0)
var/obj/effect/particle_effect/expl_particles/expl = new /obj/effect/particle_effect/expl_particles(location)
- var/direct = pick(alldirs)
+ var/direct = pick(GLOB.alldirs)
var/steps_amt = pick(1;25,2;50,3,4;200)
for(var/j in 1 to steps_amt)
sleep(1)
diff --git a/code/game/objects/effects/effect_system/effects_smoke.dm b/code/game/objects/effects/effect_system/effects_smoke.dm
index 3f89015360..a34e30e689 100644
--- a/code/game/objects/effects/effect_system/effects_smoke.dm
+++ b/code/game/objects/effects/effect_system/effects_smoke.dm
@@ -73,6 +73,8 @@
/obj/effect/particle_effect/smoke/proc/spread_smoke()
var/turf/t_loc = get_turf(src)
+ if(!t_loc)
+ return
var/list/newsmokes = list()
for(var/turf/T in t_loc.GetAtmosAdjacentTurfs())
var/obj/effect/particle_effect/smoke/foundsmoke = locate() in T //Don't spread smoke where there's already smoke!
@@ -82,7 +84,7 @@
smoke_mob(L)
var/obj/effect/particle_effect/smoke/S = new type(T)
reagents.copy_to(S, reagents.total_volume)
- S.setDir(pick(cardinal))
+ S.setDir(pick(GLOB.cardinal))
S.amount = amount-1
S.add_atom_colour(color, FIXED_COLOUR_PRIORITY)
S.lifetime = lifetime
diff --git a/code/game/objects/effects/effect_system/effects_water.dm b/code/game/objects/effects/effect_system/effects_water.dm
index e12894d970..0cd476e001 100644
--- a/code/game/objects/effects/effect_system/effects_water.dm
+++ b/code/game/objects/effects/effect_system/effects_water.dm
@@ -34,7 +34,7 @@
// will always spawn at the items location, even if it's moved.
/* Example:
-var/datum/effect_system/steam_spread/steam = new /datum/effect_system/steam_spread() -- creates new system
+ var/datum/effect_system/steam_spread/steam = new /datum/effect_system/steam_spread() -- creates new system
steam.set_up(5, 0, mob.loc) -- sets up variables
OPTIONAL: steam.attach(mob)
steam.start() -- spawns the effect
diff --git a/code/game/objects/effects/glowshroom.dm b/code/game/objects/effects/glowshroom.dm
index 80255d3e6c..9b0702edbe 100644
--- a/code/game/objects/effects/glowshroom.dm
+++ b/code/game/objects/effects/glowshroom.dm
@@ -1,9 +1,5 @@
//separate dm since hydro is getting bloated already
-var/list/blacklisted_glowshroom_turfs = typecacheof(list(
- /turf/open/floor/plating/lava,
- /turf/open/floor/plating/beach/water))
-
/obj/structure/glowshroom
name = "glowshroom"
desc = "Mycena Bregprox, a species of mushroom that glows in the dark."
@@ -20,6 +16,9 @@ var/list/blacklisted_glowshroom_turfs = typecacheof(list(
var/generation = 1
var/spreadIntoAdjacentChance = 60
var/obj/item/seeds/myseed = /obj/item/seeds/glowshroom
+ var/static/list/blacklisted_glowshroom_turfs = typecacheof(list(
+ /turf/open/floor/plating/lava,
+ /turf/open/floor/plating/beach/water))
/obj/structure/glowshroom/glowcap
name = "glowcap"
@@ -110,7 +109,7 @@ var/list/blacklisted_glowshroom_turfs = typecacheof(list(
var/placeCount = 1
for(var/obj/structure/glowshroom/shroom in newLoc)
shroomCount++
- for(var/wallDir in cardinal)
+ for(var/wallDir in GLOB.cardinal)
var/turf/isWall = get_step(newLoc,wallDir)
if(isWall.density)
placeCount++
@@ -131,7 +130,7 @@ var/list/blacklisted_glowshroom_turfs = typecacheof(list(
/obj/structure/glowshroom/proc/CalcDir(turf/location = loc)
var/direction = 16
- for(var/wallDir in cardinal)
+ for(var/wallDir in GLOB.cardinal)
var/turf/newTurf = get_step(location,wallDir)
if(newTurf.density)
direction |= wallDir
diff --git a/code/game/objects/effects/landmarks.dm b/code/game/objects/effects/landmarks.dm
index a8fc5a4ba1..4194d9b76e 100644
--- a/code/game/objects/effects/landmarks.dm
+++ b/code/game/objects/effects/landmarks.dm
@@ -8,63 +8,10 @@
/obj/effect/landmark/New()
..()
tag = text("landmark*[]", name)
- landmarks_list += src
-
- switch(name) //some of these are probably obsolete
- if("monkey")
- monkeystart += loc
- qdel(src)
- return
- if("start")
- newplayer_start += loc
- qdel(src)
- return
- if("wizard")
- wizardstart += loc
- qdel(src)
- return
- if("JoinLate")
- latejoin += loc
- qdel(src)
- return
- if("prisonwarp")
- prisonwarp += loc
- qdel(src)
- return
- if("Holding Facility")
- holdingfacility += loc
- if("tdome1")
- tdome1 += loc
- if("tdome2")
- tdome2 += loc
- if("tdomeadmin")
- tdomeadmin += loc
- if("tdomeobserve")
- tdomeobserve += loc
- if("prisonsecuritywarp")
- prisonsecuritywarp += loc
- qdel(src)
- return
- if("blobstart")
- blobstart += loc
- qdel(src)
- return
- if("secequipment")
- secequipment += loc
- qdel(src)
- return
- if("Emergencyresponseteam")
- emergencyresponseteamspawn += loc
- qdel(src)
- return
- if("xeno_spawn")
- xeno_spawn += loc
- qdel(src)
- return
- return 1
+ GLOB.landmarks_list += src
/obj/effect/landmark/Destroy()
- landmarks_list -= src
+ GLOB.landmarks_list -= src
return ..()
/obj/effect/landmark/start
@@ -74,162 +21,113 @@
anchored = 1
/obj/effect/landmark/start/New()
- start_landmarks_list += src
+ GLOB.start_landmarks_list += src
..()
- if(name != initial(name))
+ if(name != "start")
tag = "start*[name]"
- return 1
/obj/effect/landmark/start/Destroy()
- start_landmarks_list -= src
+ GLOB.start_landmarks_list -= src
return ..()
-//Costume spawner landmarks
+// START LANDMARKS FOLLOW. Don't change the names unless
+// you are refactoring shitty landmark code.
-/obj/effect/landmark/costume/New() //costume spawner, selects a random subclass and disappears
+/obj/effect/landmark/start/assistant
+ name = "Assistant"
- var/list/options = typesof(/obj/effect/landmark/costume)
- var/PICK= options[rand(1,options.len)]
- new PICK(src.loc)
- qdel(src)
+/obj/effect/landmark/start/janitor
+ name = "Janitor"
-//SUBCLASSES. Spawn a bunch of items and disappear likewise
-/obj/effect/landmark/costume/chicken/New()
- new /obj/item/clothing/suit/chickensuit(src.loc)
- new /obj/item/clothing/head/chicken(src.loc)
- new /obj/item/weapon/reagent_containers/food/snacks/egg(src.loc)
- qdel(src)
+/obj/effect/landmark/start/cargo_technician
+ name = "Cargo Technician"
-/obj/effect/landmark/costume/gladiator/New()
- new /obj/item/clothing/under/gladiator(src.loc)
- new /obj/item/clothing/head/helmet/gladiator(src.loc)
- qdel(src)
+/obj/effect/landmark/start/bartender
+ name = "Bartender"
-/obj/effect/landmark/costume/madscientist/New()
- new /obj/item/clothing/under/gimmick/rank/captain/suit(src.loc)
- new /obj/item/clothing/head/flatcap(src.loc)
- new /obj/item/clothing/suit/toggle/labcoat/mad(src.loc)
- qdel(src)
+/obj/effect/landmark/start/clown
+ name = "Clown"
-/obj/effect/landmark/costume/elpresidente/New()
- new /obj/item/clothing/under/gimmick/rank/captain/suit(src.loc)
- new /obj/item/clothing/head/flatcap(src.loc)
- new /obj/item/clothing/mask/cigarette/cigar/havana(src.loc)
- new /obj/item/clothing/shoes/jackboots(src.loc)
- qdel(src)
+/obj/effect/landmark/start/mime
+ name = "Mime"
-/obj/effect/landmark/costume/nyangirl/New()
- new /obj/item/clothing/under/schoolgirl(src.loc)
- new /obj/item/clothing/head/kitty(src.loc)
- new /obj/item/clothing/glasses/sunglasses/blindfold(src.loc)
- qdel(src)
+/obj/effect/landmark/start/quartermaster
+ name = "Quartermaster"
-/obj/effect/landmark/costume/maid/New()
- new /obj/item/clothing/under/skirt/black(src.loc)
- var/CHOICE = pick( /obj/item/clothing/head/beret , /obj/item/clothing/head/rabbitears )
- new CHOICE(src.loc)
- new /obj/item/clothing/glasses/sunglasses/blindfold(src.loc)
- qdel(src)
+/obj/effect/landmark/start/atmospheric_technician
+ name = "Atmospheric Technician"
-/obj/effect/landmark/costume/butler/New()
- new /obj/item/clothing/tie/waistcoat(src.loc)
- new /obj/item/clothing/under/suit_jacket(src.loc)
- new /obj/item/clothing/head/that(src.loc)
- qdel(src)
+/obj/effect/landmark/start/cook
+ name = "Cook"
-/obj/effect/landmark/costume/highlander/New()
- new /obj/item/clothing/under/kilt(src.loc)
- new /obj/item/clothing/head/beret(src.loc)
- qdel(src)
+/obj/effect/landmark/start/shaft_miner
+ name = "Shaft Miner"
-/obj/effect/landmark/costume/prig/New()
- new /obj/item/clothing/tie/waistcoat(src.loc)
- new /obj/item/clothing/glasses/monocle(src.loc)
- var/CHOICE= pick( /obj/item/clothing/head/bowler, /obj/item/clothing/head/that)
- new CHOICE(src.loc)
- new /obj/item/clothing/shoes/sneakers/black(src.loc)
- new /obj/item/weapon/cane(src.loc)
- new /obj/item/clothing/under/sl_suit(src.loc)
- new /obj/item/clothing/mask/fakemoustache(src.loc)
- qdel(src)
+/obj/effect/landmark/start/security_officer
+ name = "Security Officer"
-/obj/effect/landmark/costume/plaguedoctor/New()
- new /obj/item/clothing/suit/bio_suit/plaguedoctorsuit(src.loc)
- new /obj/item/clothing/head/plaguedoctorhat(src.loc)
- new /obj/item/clothing/mask/gas/plaguedoctor(src.loc)
- qdel(src)
+/obj/effect/landmark/start/botanist
+ name = "Botanist"
-/obj/effect/landmark/costume/nightowl/New()
- new /obj/item/clothing/suit/toggle/owlwings(src.loc)
- new /obj/item/clothing/under/owl(src.loc)
- new /obj/item/clothing/mask/gas/owl_mask(src.loc)
- qdel(src)
+/obj/effect/landmark/start/head_of_security
+ name = "Head of Security"
-/obj/effect/landmark/costume/thegriffin/New()
- new /obj/item/clothing/suit/toggle/owlwings/griffinwings(src.loc)
- new /obj/item/clothing/shoes/griffin(src.loc)
- new /obj/item/clothing/under/griffin(src.loc)
- new /obj/item/clothing/head/griffin(src.loc)
- qdel(src)
+/obj/effect/landmark/start/ai
+ name = "AI"
-/obj/effect/landmark/costume/waiter/New()
- new /obj/item/clothing/under/waiter(src.loc)
- var/CHOICE= pick( /obj/item/clothing/head/kitty, /obj/item/clothing/head/rabbitears)
- new CHOICE(src.loc)
- new /obj/item/clothing/suit/apron(src.loc)
- qdel(src)
+/obj/effect/landmark/start/captain
+ name = "Captain"
-/obj/effect/landmark/costume/pirate/New()
- new /obj/item/clothing/under/pirate(src.loc)
- new /obj/item/clothing/suit/pirate(src.loc)
- var/CHOICE = pick( /obj/item/clothing/head/pirate , /obj/item/clothing/head/bandana )
- new CHOICE(src.loc)
- new /obj/item/clothing/glasses/eyepatch(src.loc)
- qdel(src)
+/obj/effect/landmark/start/detective
+ name = "Detective"
-/obj/effect/landmark/costume/commie/New()
- new /obj/item/clothing/under/soviet(src.loc)
- new /obj/item/clothing/head/ushanka(src.loc)
- qdel(src)
+/obj/effect/landmark/start/warden
+ name = "Warden"
-/obj/effect/landmark/costume/imperium_monk/New()
- new /obj/item/clothing/suit/imperium_monk(src.loc)
- if (prob(25))
- new /obj/item/clothing/mask/gas/cyborg(src.loc)
- qdel(src)
+/obj/effect/landmark/start/chief_engineer
+ name = "Chief Engineer"
-/obj/effect/landmark/costume/holiday_priest/New()
- new /obj/item/clothing/suit/holidaypriest(src.loc)
- qdel(src)
+/obj/effect/landmark/start/cyborg
+ name = "Cyborg"
-/obj/effect/landmark/costume/marisawizard/fake/New()
- new /obj/item/clothing/shoes/sandal/marisa(src.loc)
- new /obj/item/clothing/head/wizard/marisa/fake(src.loc)
- new/obj/item/clothing/suit/wizrobe/marisa/fake(src.loc)
- qdel(src)
+/obj/effect/landmark/start/head_of_personnel
+ name = "Head of Personnel"
-/obj/effect/landmark/costume/cutewitch/New()
- new /obj/item/clothing/under/sundress(src.loc)
- new /obj/item/clothing/head/witchwig(src.loc)
- new /obj/item/weapon/staff/broom(src.loc)
- qdel(src)
+/obj/effect/landmark/start/librarian
+ name = "Librarian"
-/obj/effect/landmark/costume/fakewizard/New()
- new /obj/item/clothing/shoes/sandal(src.loc)
- new /obj/item/clothing/suit/wizrobe/fake(src.loc)
- new /obj/item/clothing/head/wizard/fake(src.loc)
- new /obj/item/weapon/staff/(src.loc)
- qdel(src)
+/obj/effect/landmark/start/lawyer
+ name = "Lawyer"
-/obj/effect/landmark/costume/sexyclown/New()
- new /obj/item/clothing/mask/gas/sexyclown(src.loc)
- new /obj/item/clothing/under/rank/clown/sexy(src.loc)
- qdel(src)
+/obj/effect/landmark/start/station_engineer
+ name = "Station Engineer"
-/obj/effect/landmark/costume/sexymime/New()
- new /obj/item/clothing/mask/gas/sexymime(src.loc)
- new /obj/item/clothing/under/sexymime(src.loc)
- qdel(src)
+/obj/effect/landmark/start/medical_doctor
+ name = "Medical Doctor"
+
+/obj/effect/landmark/start/scientist
+ name = "Scientist"
+
+/obj/effect/landmark/start/chemist
+ name = "Chemist"
+
+/obj/effect/landmark/start/roboticist
+ name = "Roboticist"
+
+/obj/effect/landmark/start/research_director
+ name = "Research Director"
+
+/obj/effect/landmark/start/geneticist
+ name = "Geneticist"
+
+/obj/effect/landmark/start/chief_medical_officer
+ name = "Chief Medical Officer"
+
+/obj/effect/landmark/start/virologist
+ name = "Virologist"
+
+/obj/effect/landmark/start/chaplain
+ name = "Chaplain"
//Department Security spawns
@@ -238,10 +136,10 @@
/obj/effect/landmark/start/depsec/New()
..()
- department_security_spawns += src
+ GLOB.department_security_spawns += src
/obj/effect/landmark/start/depsec/Destroy()
- department_security_spawns -= src
+ GLOB.department_security_spawns -= src
return ..()
/obj/effect/landmark/start/depsec/supply
@@ -256,32 +154,180 @@
/obj/effect/landmark/start/depsec/science
name = "science_sec"
+/obj/effect/landmark/start/wizard
+ name = "wizard"
+
+/obj/effect/landmark/start/wizard/Initialize(mapload)
+ ..()
+ GLOB.wizardstart += loc
+ qdel(src)
+
+/obj/effect/landmark/start/new_player
+ name = "New Player"
+
+// Must be on New() rather than Initialize, because players will
+// join before SSatom initializes everything.
+/obj/effect/landmark/start/new_player/New(loc)
+ ..()
+ GLOB.newplayer_start += loc
+
+/obj/effect/landmark/start/new_player/Initialize(mapload)
+ ..()
+ qdel(src)
+
+
+
/obj/effect/landmark/latejoin
name = "JoinLate"
+/obj/effect/landmark/latejoin/Initialize(mapload)
+ ..()
+ GLOB.latejoin += loc
+ qdel(src)
+
+// carp.
+/obj/effect/landmark/carpspawn
+ name = "carpspawn"
+
+// lightsout.
+/obj/effect/landmark/lightsout
+ name = "lightsout"
+
+// observer-start.
+/obj/effect/landmark/observer_start
+ name = "Observer-Start"
+
+// revenant spawn.
+/obj/effect/landmark/revenantspawn
+ name = "revnantspawn"
+
+// triple ais.
+/obj/effect/landmark/tripai
+ name = "tripai"
+
+// marauder entry (XXX WTF IS MAURADER ENTRY???)
+
+/obj/effect/landmark/marauder_entry
+ name = "Marauder Entry"
+
+// syndicate breach area (XXX I DON'T KNOW WHAT THIS IS EITHER)
+
+/obj/effect/landmark/syndicate_breach_area
+ name = "Syndicate Breach Area"
+
+// teleport scroll landmark, XXX DOES THIS DO ANYTHING?
+/obj/effect/landmark/teleport_scroll
+ name = "Teleport-Scroll"
+
+/obj/effect/landmark/syndicate_spawn
+ name = "Syndicate-Spawn"
+
+// xenos.
+/obj/effect/landmark/xeno_spawn
+ name = "xeno_spawn"
+
+/obj/effect/landmark/xeno_spawn/Initialize(mapload)
+ ..()
+ GLOB.xeno_spawn += loc
+ qdel(src)
+
+// blobs.
+/obj/effect/landmark/blobstart
+ name = "blobstart"
+
+/obj/effect/landmark/blobstart/Initialize(mapload)
+ ..()
+ GLOB.blobstart += loc
+ qdel(src)
+
+/obj/effect/landmark/secequipment
+ name = "secequipment"
+
+/obj/effect/landmark/secequipment/Initialize(mapload)
+ ..()
+ GLOB.secequipment += loc
+ qdel(src)
+
+/obj/effect/landmark/prisonwarp
+ name = "prisonwarp"
+
+/obj/effect/landmark/prisonwarp/Initialize(mapload)
+ ..()
+ GLOB.prisonwarp += loc
+ qdel(src)
+
+/obj/effect/landmark/ert_spawn
+ name = "Emergencyresponseteam"
+
+/obj/effect/landmark/ert_spawn/Initialize(mapload)
+ ..()
+ GLOB.emergencyresponseteamspawn += loc
+ qdel(src)
+
+/obj/effect/landmark/holding_facility
+ name = "Holding Facility"
+
+/obj/effect/landmark/holding_facility/Initialize(mapload)
+ ..()
+ GLOB.holdingfacility += loc
+ qdel(src)
+
+/obj/effect/landmark/thunderdome/observe
+ name = "tdomeobserve"
+
+/obj/effect/landmark/thunderdome/observe/Initialize(mapload)
+ ..()
+ GLOB.tdomeobserve += loc
+ qdel(src)
+
+/obj/effect/landmark/thunderdome/one
+ name = "tdome1"
+
+/obj/effect/landmark/thunderdome/one/Initialize(mapload)
+ ..()
+ GLOB.tdome1 += loc
+ qdel(src)
+
+/obj/effect/landmark/thunderdome/two
+ name = "tdome2"
+
+/obj/effect/landmark/thunderdome/two/Initialize(mapload)
+ ..()
+ GLOB.tdome2 += loc
+ qdel(src)
+
+/obj/effect/landmark/thunderdome/admin
+ name = "tdomeadmin"
+
+/obj/effect/landmark/thunderdome/admin/Initialize(mapload)
+ ..()
+ GLOB.tdomeadmin += loc
+ qdel(src)
+
//generic event spawns
/obj/effect/landmark/event_spawn
name = "generic event spawn"
icon_state = "x4"
+
/obj/effect/landmark/event_spawn/New()
..()
- generic_event_spawns += src
+ GLOB.generic_event_spawns += src
/obj/effect/landmark/event_spawn/Destroy()
- generic_event_spawns -= src
+ GLOB.generic_event_spawns -= src
return ..()
/obj/effect/landmark/ruin
var/datum/map_template/ruin/ruin_template
/obj/effect/landmark/ruin/New(loc, my_ruin_template)
- name = "ruin_[ruin_landmarks.len + 1]"
+ name = "ruin_[GLOB.ruin_landmarks.len + 1]"
..(loc)
ruin_template = my_ruin_template
- ruin_landmarks |= src
+ GLOB.ruin_landmarks |= src
/obj/effect/landmark/ruin/Destroy()
- ruin_landmarks -= src
+ GLOB.ruin_landmarks -= src
ruin_template = null
. = ..()
diff --git a/code/game/objects/effects/manifest.dm b/code/game/objects/effects/manifest.dm
index 7900e00f08..a87cb075fc 100644
--- a/code/game/objects/effects/manifest.dm
+++ b/code/game/objects/effects/manifest.dm
@@ -8,7 +8,7 @@
/obj/effect/manifest/proc/manifest()
var/dat = "Crew Manifest : "
- for(var/mob/living/carbon/human/M in mob_list)
+ for(var/mob/living/carbon/human/M in GLOB.mob_list)
dat += text(" [] - [] ", M.name, M.get_assignment())
var/obj/item/weapon/paper/P = new /obj/item/weapon/paper( src.loc )
P.info = dat
diff --git a/code/game/objects/effects/overlays.dm b/code/game/objects/effects/overlays.dm
index 42c9f6f17f..e83ecda809 100644
--- a/code/game/objects/effects/overlays.dm
+++ b/code/game/objects/effects/overlays.dm
@@ -34,7 +34,7 @@
/obj/effect/overlay/temp/New()
..()
if(randomdir)
- setDir(pick(cardinal))
+ setDir(pick(GLOB.cardinal))
flick("[icon_state]", src) //Because we might be pulling it from a pool, flick whatever icon it uses so it starts at the start of the icon's animation.
timerid = QDEL_IN(src, duration)
@@ -58,7 +58,7 @@
var/splatter_type = "splatter"
/obj/effect/overlay/temp/dir_setting/bloodsplatter/New(loc, set_dir)
- if(set_dir in diagonals)
+ if(set_dir in GLOB.diagonals)
icon_state = "[splatter_type][pick(1, 2, 6)]"
else
icon_state = "[splatter_type][pick(3, 4, 5)]"
@@ -507,6 +507,11 @@
icon_state = dust_icon // Before ..() so the correct icon is flick()'d
..()
+/obj/effect/overlay/temp/mummy_animation
+ icon = 'icons/mob/mob.dmi'
+ icon_state = "mummy_revive"
+ duration = 20
+
/obj/effect/overlay/temp/heal //color is white by default, set to whatever is needed
name = "healing glow"
icon_state = "heal"
diff --git a/code/game/objects/effects/portals.dm b/code/game/objects/effects/portals.dm
index 47ef4ad5a5..e8c86390ea 100644
--- a/code/game/objects/effects/portals.dm
+++ b/code/game/objects/effects/portals.dm
@@ -14,6 +14,9 @@
/obj/effect/portal/Bumped(mob/M as mob|obj)
teleport(M)
+/obj/effect/portal/attack_tk(mob/user)
+ return
+
/obj/effect/portal/attack_hand(mob/user)
if(Adjacent(user))
teleport(user)
@@ -27,7 +30,7 @@
/obj/effect/portal/New(loc, turf/target, creator=null, lifespan=300)
..()
- portals += src
+ GLOB.portals += src
src.target = target
src.creator = creator
@@ -39,7 +42,7 @@
QDEL_IN(src, lifespan)
/obj/effect/portal/Destroy()
- portals -= src
+ GLOB.portals -= src
if(istype(creator, /obj/item/weapon/hand_tele))
var/obj/item/weapon/hand_tele/O = creator
O.active_portals--
diff --git a/code/game/objects/effects/spawners/bombspawner.dm b/code/game/objects/effects/spawners/bombspawner.dm
index 6c58654ab7..6f307d9e59 100644
--- a/code/game/objects/effects/spawners/bombspawner.dm
+++ b/code/game/objects/effects/spawners/bombspawner.dm
@@ -2,96 +2,45 @@
name = "bomb"
icon = 'icons/mob/screen_gen.dmi'
icon_state = "x"
- var/btype = 0 // 0=radio, 1=prox, 2=time
var/btemp1 = 1500
var/btemp2 = 1000 // tank temperatures
+ var/assembly_type
+
+/obj/effect/spawner/newbomb/Initialize()
+ ..()
+ var/obj/item/device/transfer_valve/V = new(src.loc)
+ var/obj/item/weapon/tank/internals/plasma/full/PT = new(V)
+ var/obj/item/weapon/tank/internals/oxygen/OT = new(V)
+
+ PT.air_contents.temperature = btemp1 + T0C
+ OT.air_contents.temperature = btemp2 + T0C
+
+ V.tank_one = PT
+ V.tank_two = OT
+ PT.master = V
+ OT.master = V
+
+ if(assembly_type)
+ var/obj/item/device/assembly/A = new assembly_type(V)
+ V.attached_device = A
+ A.holder = V
+ A.toggle_secure()
+
+ V.update_icon()
+
+ qdel(src)
/obj/effect/spawner/newbomb/timer
- btype = 2
+ assembly_type = /obj/item/device/assembly/timer
- syndicate
- btemp1 = 150
- btemp2 = 20
+/obj/effect/spawner/newbomb/timer/syndicate
+ btemp1 = 150
+ btemp2 = 20
/obj/effect/spawner/newbomb/proximity
- btype = 1
+ assembly_type = /obj/item/device/assembly/prox_sensor
/obj/effect/spawner/newbomb/radio
- btype = 0
+ assembly_type = /obj/item/device/assembly/signaler
+
-
-/obj/effect/spawner/newbomb/New()
- ..()
-
- switch (src.btype)
- // radio
- if (0)
-
- var/obj/item/device/transfer_valve/V = new(src.loc)
- var/obj/item/weapon/tank/internals/plasma/PT = new(V)
- var/obj/item/weapon/tank/internals/oxygen/OT = new(V)
-
- var/obj/item/device/assembly/signaler/S = new(V)
-
- V.tank_one = PT
- V.tank_two = OT
- V.attached_device = S
-
- S.holder = V
- S.toggle_secure()
- PT.master = V
- OT.master = V
-
- PT.air_contents.temperature = btemp1 + T0C
- OT.air_contents.temperature = btemp2 + T0C
-
- V.update_icon()
-
- // proximity
- if (1)
-
- var/obj/item/device/transfer_valve/V = new(src.loc)
- var/obj/item/weapon/tank/internals/plasma/PT = new(V)
- var/obj/item/weapon/tank/internals/oxygen/OT = new(V)
-
- var/obj/item/device/assembly/prox_sensor/P = new(V)
-
- V.tank_one = PT
- V.tank_two = OT
- V.attached_device = P
-
- P.holder = V
- P.toggle_secure()
- PT.master = V
- OT.master = V
-
-
- PT.air_contents.temperature = btemp1 + T0C
- OT.air_contents.temperature = btemp2 + T0C
-
- V.update_icon()
-
-
- // timer
- if (2)
- var/obj/item/device/transfer_valve/V = new(src.loc)
- var/obj/item/weapon/tank/internals/plasma/PT = new(V)
- var/obj/item/weapon/tank/internals/oxygen/OT = new(V)
-
- var/obj/item/device/assembly/timer/T = new(V)
-
- V.tank_one = PT
- V.tank_two = OT
- V.attached_device = T
-
- T.holder = V
- T.toggle_secure()
- PT.master = V
- OT.master = V
- T.time = 30
-
- PT.air_contents.temperature = btemp1 + T0C
- OT.air_contents.temperature = btemp2 + T0C
-
- V.update_icon()
- qdel(src)
\ No newline at end of file
diff --git a/code/game/objects/effects/spawners/bundle.dm b/code/game/objects/effects/spawners/bundle.dm
new file mode 100644
index 0000000000..c272c383e9
--- /dev/null
+++ b/code/game/objects/effects/spawners/bundle.dm
@@ -0,0 +1,170 @@
+/obj/effect/spawner/bundle
+ name = "bundle spawner"
+ icon = 'icons/mob/screen_gen.dmi'
+ icon_state = "x2"
+ color = "#00FF00"
+
+ var/list/items
+
+/obj/effect/spawner/bundle/Initialize(mapload)
+ ..()
+ if(items && items.len)
+ var/turf/T = get_turf(src)
+ for(var/path in items)
+ new path(T)
+ qdel(src)
+
+/obj/effect/spawner/bundle/costume/chicken
+ name = "chicken costume spawner"
+ items = list(
+ /obj/item/clothing/suit/chickensuit,
+ /obj/item/clothing/head/chicken,
+ /obj/item/weapon/reagent_containers/food/snacks/egg)
+
+/obj/effect/spawner/bundle/costume/gladiator
+ name = "gladitator costume spawner"
+ items = list(
+ /obj/item/clothing/under/gladiator,
+ /obj/item/clothing/head/helmet/gladiator)
+
+/obj/effect/spawner/bundle/costume/madscientist
+ name = "mad scientist costume spawner"
+ items = list(
+ /obj/item/clothing/under/gimmick/rank/captain/suit,
+ /obj/item/clothing/head/flatcap,
+ /obj/item/clothing/suit/toggle/labcoat/mad)
+
+/obj/effect/spawner/bundle/costume/elpresidente
+ name = "el presidente costume spawner"
+ items = list(
+ /obj/item/clothing/under/gimmick/rank/captain/suit,
+ /obj/item/clothing/head/flatcap,
+ /obj/item/clothing/mask/cigarette/cigar/havana,
+ /obj/item/clothing/shoes/jackboots)
+
+/obj/effect/spawner/bundle/costume/nyangirl
+ name = "nyangirl costume spawner"
+ items = list(
+ /obj/item/clothing/under/schoolgirl,
+ /obj/item/clothing/head/kitty,
+ /obj/item/clothing/glasses/sunglasses/blindfold)
+
+/obj/effect/spawner/bundle/costume/maid
+ name = "maid costume spawner"
+ items = list(
+ /obj/item/clothing/under/skirt/black,
+ /obj/effect/spawner/lootdrop/minor/beret_or_rabbitears,
+ /obj/item/clothing/glasses/sunglasses/blindfold)
+
+
+/obj/effect/spawner/bundle/costume/butler
+ name = "butler costume spawner"
+ items = list(
+ /obj/item/clothing/tie/waistcoat,
+ /obj/item/clothing/under/suit_jacket,
+ /obj/item/clothing/head/that)
+
+/obj/effect/spawner/bundle/costume/highlander
+ name = "highlander costume spawner"
+ items = list(
+ /obj/item/clothing/under/kilt,
+ /obj/item/clothing/head/beret)
+
+/obj/effect/spawner/bundle/costume/prig
+ name = "prig costume spawner"
+ items = list(
+ /obj/item/clothing/tie/waistcoat,
+ /obj/item/clothing/glasses/monocle,
+ /obj/effect/spawner/lootdrop/minor/bowler_or_that,
+ /obj/item/clothing/shoes/sneakers/black,
+ /obj/item/weapon/cane,
+ /obj/item/clothing/under/sl_suit,
+ /obj/item/clothing/mask/fakemoustache)
+
+/obj/effect/spawner/bundle/costume/plaguedoctor
+ name = "plague doctor costume spawner"
+ items = list(
+ /obj/item/clothing/suit/bio_suit/plaguedoctorsuit,
+ /obj/item/clothing/head/plaguedoctorhat,
+ /obj/item/clothing/mask/gas/plaguedoctor)
+
+/obj/effect/spawner/bundle/costume/nightowl
+ name = "night owl costume spawner"
+ items = list(
+ /obj/item/clothing/suit/toggle/owlwings,
+ /obj/item/clothing/under/owl,
+ /obj/item/clothing/mask/gas/owl_mask)
+
+/obj/effect/spawner/bundle/costume/griffin
+ name = "griffin costume spawner"
+ items = list(
+ /obj/item/clothing/suit/toggle/owlwings/griffinwings,
+ /obj/item/clothing/shoes/griffin,
+ /obj/item/clothing/under/griffin,
+ /obj/item/clothing/head/griffin)
+
+/obj/effect/spawner/bundle/costume/waiter
+ name = "waiter costume spawner"
+ items = list(
+ /obj/item/clothing/under/waiter,
+ /obj/effect/spawner/lootdrop/minor/kittyears_or_rabbitears,
+ /obj/item/clothing/suit/apron)
+
+/obj/effect/spawner/bundle/costume/pirate
+ name = "pirate costume spawner"
+ items = list(
+ /obj/item/clothing/under/pirate,
+ /obj/item/clothing/suit/pirate,
+ /obj/effect/spawner/lootdrop/minor/pirate_or_bandana,
+ /obj/item/clothing/glasses/eyepatch)
+
+/obj/effect/spawner/bundle/costume/commie
+ name = "commie costume spawner"
+ items = list(
+ /obj/item/clothing/under/soviet,
+ /obj/item/clothing/head/ushanka)
+
+/obj/effect/spawner/bundle/costume/imperium_monk
+ name = "imperium monk costume spawner"
+ items = list(
+ /obj/item/clothing/suit/imperium_monk,
+ /obj/effect/spawner/lootdrop/minor/twentyfive_percent_cyborg_mask)
+
+/obj/effect/spawner/bundle/costume/holiday_priest
+ name = "holiday priest costume spawner"
+ items = list(
+ /obj/item/clothing/suit/holidaypriest)
+
+/obj/effect/spawner/bundle/costume/marisawizard
+ name = "marisa wizard costume spawner"
+ items = list(
+ /obj/item/clothing/shoes/sandal/marisa,
+ /obj/item/clothing/head/wizard/marisa/fake,
+ /obj/item/clothing/suit/wizrobe/marisa/fake)
+
+/obj/effect/spawner/bundle/costume/cutewitch
+ name = "cute witch costume spawner"
+ items = list(
+ /obj/item/clothing/under/sundress,
+ /obj/item/clothing/head/witchwig,
+ /obj/item/weapon/staff/broom)
+
+/obj/effect/spawner/bundle/costume/wizard
+ name = "wizard costume spawner"
+ items = list(
+ /obj/item/clothing/shoes/sandal,
+ /obj/item/clothing/suit/wizrobe/fake,
+ /obj/item/clothing/head/wizard/fake,
+ /obj/item/weapon/staff)
+
+/obj/effect/spawner/bundle/costume/sexyclown
+ name = "sexy clown costume spawner"
+ items = list(
+ /obj/item/clothing/mask/gas/sexyclown,
+ /obj/item/clothing/under/rank/clown/sexy)
+
+/obj/effect/spawner/bundle/costume/sexymime
+ name = "sexy mime costume spawner"
+ items = list(
+ /obj/item/clothing/mask/gas/sexymime,
+ /obj/item/clothing/under/sexymime)
diff --git a/code/game/objects/effects/spawners/gibspawner.dm b/code/game/objects/effects/spawners/gibspawner.dm
index 8576307378..d744043a51 100644
--- a/code/game/objects/effects/spawners/gibspawner.dm
+++ b/code/game/objects/effects/spawners/gibspawner.dm
@@ -6,7 +6,7 @@
var/list/gibamounts = list() //amount to spawn for each gib decal type we'll spawn.
var/list/gibdirections = list() //of lists of possible directions to spread each gib decal type towards.
-/obj/effect/gibspawner/New(location, list/viruses, datum/dna/MobDNA)
+/obj/effect/gibspawner/Initialize(mapload, list/viruses, datum/dna/MobDNA)
..()
if(gibtypes.len != gibamounts.len || gibamounts.len != gibdirections.len)
@@ -17,16 +17,16 @@
if(sparks)
var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
- s.set_up(2, 1, location)
+ s.set_up(2, 1, loc)
s.start()
for(var/i = 1, i<= gibtypes.len, i++)
if(gibamounts[i])
for(var/j = 1, j<= gibamounts[i], j++)
var/gibType = gibtypes[i]
- gib = new gibType(location)
- if(istype(location,/mob/living/carbon))
- var/mob/living/carbon/digester = location
+ gib = new gibType(loc)
+ if(istype(loc,/mob/living/carbon))
+ var/mob/living/carbon/digester = loc
digester.stomach_contents += gib
if(viruses && viruses.len > 0)
@@ -53,7 +53,7 @@
gibtypes = list(/obj/effect/decal/cleanable/blood/gibs,/obj/effect/decal/cleanable/blood/gibs,/obj/effect/decal/cleanable/blood/gibs/core)
gibamounts = list(2,2,1)
-/obj/effect/gibspawner/generic/New()
+/obj/effect/gibspawner/generic/Initialize()
playsound(src, 'sound/effects/blobattack.ogg', 40, 1)
gibdirections = list(list(WEST, NORTHWEST, SOUTHWEST, NORTH),list(EAST, NORTHEAST, SOUTHEAST, SOUTH), list())
..()
@@ -62,9 +62,9 @@
gibtypes = list(/obj/effect/decal/cleanable/blood/gibs/up,/obj/effect/decal/cleanable/blood/gibs/down,/obj/effect/decal/cleanable/blood/gibs,/obj/effect/decal/cleanable/blood/gibs,/obj/effect/decal/cleanable/blood/gibs/body,/obj/effect/decal/cleanable/blood/gibs/limb,/obj/effect/decal/cleanable/blood/gibs/core)
gibamounts = list(1,1,1,1,1,1,1)
-/obj/effect/gibspawner/human/New()
+/obj/effect/gibspawner/human/Initialize()
playsound(src, 'sound/effects/blobattack.ogg', 50, 1)
- gibdirections = list(list(NORTH, NORTHEAST, NORTHWEST),list(SOUTH, SOUTHEAST, SOUTHWEST),list(WEST, NORTHWEST, SOUTHWEST),list(EAST, NORTHEAST, SOUTHEAST), alldirs, alldirs, list())
+ gibdirections = list(list(NORTH, NORTHEAST, NORTHWEST),list(SOUTH, SOUTHEAST, SOUTHWEST),list(WEST, NORTHWEST, SOUTHWEST),list(EAST, NORTHEAST, SOUTHEAST), GLOB.alldirs, GLOB.alldirs, list())
..()
@@ -72,9 +72,9 @@
gibtypes = list(/obj/effect/decal/cleanable/blood/gibs, /obj/effect/decal/cleanable/blood/gibs/core,/obj/effect/decal/cleanable/blood/gibs, /obj/effect/decal/cleanable/blood/gibs/core, /obj/effect/decal/cleanable/blood/gibs, /obj/effect/decal/cleanable/blood/gibs/torso)
gibamounts = list(1, 1, 1, 1, 1, 1)
-/obj/effect/gibspawner/humanbodypartless/New()
+/obj/effect/gibspawner/humanbodypartless/Initialize()
playsound(src, 'sound/effects/blobattack.ogg', 50, 1)
- gibdirections = list(list(NORTH, NORTHEAST, NORTHWEST),list(SOUTH, SOUTHEAST, SOUTHWEST),list(WEST, NORTHWEST, SOUTHWEST),list(EAST, NORTHEAST, SOUTHEAST), alldirs, list())
+ gibdirections = list(list(NORTH, NORTHEAST, NORTHWEST),list(SOUTH, SOUTHEAST, SOUTHWEST),list(WEST, NORTHWEST, SOUTHWEST),list(EAST, NORTHEAST, SOUTHEAST), GLOB.alldirs, list())
..()
@@ -82,9 +82,9 @@
gibtypes = list(/obj/effect/decal/cleanable/xenoblood/xgibs/up,/obj/effect/decal/cleanable/xenoblood/xgibs/down,/obj/effect/decal/cleanable/xenoblood/xgibs, /obj/effect/decal/cleanable/xenoblood/xgibs, /obj/effect/decal/cleanable/xenoblood/xgibs/body, /obj/effect/decal/cleanable/xenoblood/xgibs/limb, /obj/effect/decal/cleanable/xenoblood/xgibs/core)
gibamounts = list(1,1,1,1,1,1,1)
-/obj/effect/gibspawner/xeno/New()
+/obj/effect/gibspawner/xeno/Initialize()
playsound(src, 'sound/effects/blobattack.ogg', 60, 1)
- gibdirections = list(list(NORTH, NORTHEAST, NORTHWEST),list(SOUTH, SOUTHEAST, SOUTHWEST),list(WEST, NORTHWEST, SOUTHWEST),list(EAST, NORTHEAST, SOUTHEAST), alldirs, alldirs, list())
+ gibdirections = list(list(NORTH, NORTHEAST, NORTHWEST),list(SOUTH, SOUTHEAST, SOUTHWEST),list(WEST, NORTHWEST, SOUTHWEST),list(EAST, NORTHEAST, SOUTHEAST), GLOB.alldirs, GLOB.alldirs, list())
..()
@@ -93,25 +93,25 @@
gibamounts = list(1, 1, 1, 1, 1, 1)
-/obj/effect/gibspawner/xenobodypartless/New()
+/obj/effect/gibspawner/xenobodypartless/Initialize()
playsound(src, 'sound/effects/blobattack.ogg', 60, 1)
- gibdirections = list(list(NORTH, NORTHEAST, NORTHWEST),list(SOUTH, SOUTHEAST, SOUTHWEST),list(WEST, NORTHWEST, SOUTHWEST),list(EAST, NORTHEAST, SOUTHEAST), alldirs, list())
+ gibdirections = list(list(NORTH, NORTHEAST, NORTHWEST),list(SOUTH, SOUTHEAST, SOUTHWEST),list(WEST, NORTHWEST, SOUTHWEST),list(EAST, NORTHEAST, SOUTHEAST), GLOB.alldirs, list())
..()
/obj/effect/gibspawner/larva
gibtypes = list(/obj/effect/decal/cleanable/xenoblood/xgibs/larva, /obj/effect/decal/cleanable/xenoblood/xgibs/larva, /obj/effect/decal/cleanable/xenoblood/xgibs/larva/body, /obj/effect/decal/cleanable/xenoblood/xgibs/larva/body)
gibamounts = list(1, 1, 1, 1)
-/obj/effect/gibspawner/larva/New()
+/obj/effect/gibspawner/larva/Initialize()
playsound(src, 'sound/effects/blobattack.ogg', 60, 1)
- gibdirections = list(list(NORTH, NORTHEAST, NORTHWEST),list(SOUTH, SOUTHEAST, SOUTHWEST), list(), alldirs)
+ gibdirections = list(list(NORTH, NORTHEAST, NORTHWEST),list(SOUTH, SOUTHEAST, SOUTHWEST), list(), GLOB.alldirs)
..()
/obj/effect/gibspawner/larvabodypartless
gibtypes = list(/obj/effect/decal/cleanable/xenoblood/xgibs/larva, /obj/effect/decal/cleanable/xenoblood/xgibs/larva, /obj/effect/decal/cleanable/xenoblood/xgibs/larva)
gibamounts = list(1, 1, 1)
-/obj/effect/gibspawner/larvabodypartless/New()
+/obj/effect/gibspawner/larvabodypartless/Initialize()
playsound(src, 'sound/effects/blobattack.ogg', 60, 1)
gibdirections = list(list(NORTH, NORTHEAST, NORTHWEST),list(SOUTH, SOUTHEAST, SOUTHWEST), list())
..()
@@ -121,7 +121,7 @@
gibtypes = list(/obj/effect/decal/cleanable/robot_debris/up,/obj/effect/decal/cleanable/robot_debris/down,/obj/effect/decal/cleanable/robot_debris,/obj/effect/decal/cleanable/robot_debris,/obj/effect/decal/cleanable/robot_debris,/obj/effect/decal/cleanable/robot_debris/limb)
gibamounts = list(1,1,1,1,1,1)
-/obj/effect/gibspawner/robot/New()
- gibdirections = list(list(NORTH, NORTHEAST, NORTHWEST),list(SOUTH, SOUTHEAST, SOUTHWEST),list(WEST, NORTHWEST, SOUTHWEST),list(EAST, NORTHEAST, SOUTHEAST), alldirs, alldirs)
+/obj/effect/gibspawner/robot/Initialize()
+ gibdirections = list(list(NORTH, NORTHEAST, NORTHWEST),list(SOUTH, SOUTHEAST, SOUTHWEST),list(WEST, NORTHWEST, SOUTHWEST),list(EAST, NORTHEAST, SOUTHEAST), GLOB.alldirs, GLOB.alldirs)
gibamounts[6] = pick(0,1,2)
- ..()
\ No newline at end of file
+ ..()
diff --git a/code/game/objects/effects/spawners/lootdrop.dm b/code/game/objects/effects/spawners/lootdrop.dm
index e4f154899c..baf6383823 100644
--- a/code/game/objects/effects/spawners/lootdrop.dm
+++ b/code/game/objects/effects/spawners/lootdrop.dm
@@ -3,24 +3,27 @@
icon_state = "x2"
color = "#00FF00"
var/lootcount = 1 //how many items will be spawned
- var/lootdoubles = 1 //if the same item can be spawned twice
+ var/lootdoubles = TRUE //if the same item can be spawned twice
var/list/loot //a list of possible items to spawn e.g. list(/obj/item, /obj/structure, /obj/effect)
-/obj/effect/spawner/lootdrop/New()
+/obj/effect/spawner/lootdrop/Initialize(mapload)
+ ..()
+
if(loot && loot.len)
- for(var/i = lootcount, i > 0, i--)
- if(!loot.len) break
+ var/turf/T = get_turf(src)
+ while(lootcount && loot.len)
var/lootspawn = pickweight(loot)
if(!lootdoubles)
loot.Remove(lootspawn)
if(lootspawn)
- new lootspawn(get_turf(src))
+ new lootspawn(T)
+ lootcount--
qdel(src)
/obj/effect/spawner/lootdrop/armory_contraband
name = "armory contraband gun spawner"
- lootdoubles = 0
+ lootdoubles = FALSE
loot = list(
/obj/item/weapon/gun/ballistic/automatic/pistol = 8,
@@ -87,7 +90,7 @@
/obj/item/clothing/gloves/color/fyellow = 1,
/obj/item/clothing/head/hardhat = 1,
/obj/item/clothing/head/hardhat/red = 1,
- /obj/item/clothing/head/that{throwforce = 1;} = 1,
+ /obj/item/clothing/head/that = 1,
/obj/item/clothing/head/ushanka = 1,
/obj/item/clothing/head/welding = 1,
/obj/item/clothing/mask/gas = 15,
@@ -102,8 +105,8 @@
/obj/item/device/radio/off = 2,
/obj/item/device/t_scanner = 5,
/obj/item/weapon/airlock_painter = 1,
- /obj/item/stack/cable_coil = 4,
- /obj/item/stack/cable_coil{amount = 5} = 6,
+ /obj/item/stack/cable_coil/random = 4,
+ /obj/item/stack/cable_coil/random{amount = 5} = 6,
/obj/item/stack/medical/bruise_pack = 1,
/obj/item/stack/rods{amount = 10} = 9,
/obj/item/stack/rods{amount = 23} = 1,
@@ -144,7 +147,7 @@
/obj/item/weapon/wirecutters = 1,
/obj/item/weapon/wrench = 4,
/obj/item/weapon/relic = 3,
- /obj/item/weaponcrafting/reciever = 2,
+ /obj/item/weaponcrafting/receiver = 2,
/obj/item/clothing/head/cone = 2,
/obj/item/weapon/grenade/smokebomb = 2,
/obj/item/device/geiger_counter = 3,
@@ -165,7 +168,7 @@
/obj/effect/spawner/lootdrop/crate_spawner
name = "lootcrate spawner" //USE PROMO CODE "SELLOUT" FOR 20% OFF!
- lootdoubles = 0
+ lootdoubles = FALSE
loot = list(
/obj/structure/closet/crate/secure/loot = 20,
@@ -194,3 +197,44 @@
loot = list(
/obj/effect/decal/remains/xeno = 49,
/obj/effect/spawner/xeno_egg_delivery = 1)
+
+/obj/effect/spawner/lootdrop/costume
+ name = "random costume spawner"
+
+/obj/effect/spawner/lootdrop/costume/Initialize()
+ loot = list()
+ for(var/path in subtypesof(/obj/effect/spawner/bundle/costume))
+ loot[path] = TRUE
+ ..()
+
+// Minor lootdrops follow
+
+/obj/effect/spawner/lootdrop/minor/beret_or_rabbitears
+ name = "beret or rabbit ears spawner"
+ loot = list(
+ /obj/item/clothing/head/beret = 1,
+ /obj/item/clothing/head/rabbitears = 1)
+
+/obj/effect/spawner/lootdrop/minor/bowler_or_that
+ name = "bowler or top hat spawner"
+ loot = list(
+ /obj/item/clothing/head/bowler = 1,
+ /obj/item/clothing/head/that = 1)
+
+/obj/effect/spawner/lootdrop/minor/kittyears_or_rabbitears
+ name = "kitty ears or rabbit ears spawner"
+ loot = list(
+ /obj/item/clothing/head/kitty = 1,
+ /obj/item/clothing/head/rabbitears = 1)
+
+/obj/effect/spawner/lootdrop/minor/pirate_or_bandana
+ name = "pirate hat or bandana spawner"
+ loot = list(
+ /obj/item/clothing/head/pirate = 1,
+ /obj/item/clothing/head/bandana = 1)
+
+/obj/effect/spawner/lootdrop/minor/twentyfive_percent_cyborg_mask
+ name = "25% cyborg mask spawner"
+ loot = list(
+ /obj/item/clothing/mask/gas/cyborg = 25,
+ "" = 75)
diff --git a/code/game/objects/effects/spawners/structure.dm b/code/game/objects/effects/spawners/structure.dm
index c83473d7b0..7a14dbb942 100644
--- a/code/game/objects/effects/spawners/structure.dm
+++ b/code/game/objects/effects/spawners/structure.dm
@@ -11,9 +11,8 @@ again.
/obj/effect/spawner/structure/Initialize()
..()
if(spawn_list && spawn_list.len)
- for(var/i = 1, i <= spawn_list.len, i++)
- var/to_spawn = spawn_list[i]
- new to_spawn(get_turf(src))
+ for(var/I in spawn_list)
+ new I(get_turf(src))
qdel(src)
/obj/effect/spawner/structure/window
@@ -31,4 +30,4 @@ again.
spawn_list = list(
/obj/structure/grille,
/obj/structure/window/reinforced/fulltile
- )
\ No newline at end of file
+ )
diff --git a/code/game/objects/effects/spawners/xeno_egg_delivery.dm b/code/game/objects/effects/spawners/xeno_egg_delivery.dm
index 639df98214..91db494d9b 100644
--- a/code/game/objects/effects/spawners/xeno_egg_delivery.dm
+++ b/code/game/objects/effects/spawners/xeno_egg_delivery.dm
@@ -16,5 +16,5 @@
message_admins("An alien egg has been delivered to [A] at [ADMIN_COORDJMP(T)].")
log_game("An alien egg has been delivered to [A] at [COORD(T)]")
var/message = "Attention [station_name()], we have entrusted you with a research specimen in [A]. Remember to follow all safety precautions when dealing with the specimen."
- addtimer(CALLBACK(GLOBAL_PROC, /.proc/print_command_report, message), announcement_time)
+ SSticker.OnRoundstart(CALLBACK(GLOBAL_PROC, /proc/addtimer, CALLBACK(GLOBAL_PROC, /.proc/print_command_report, message), announcement_time))
qdel(src)
diff --git a/code/game/objects/effects/spiders.dm b/code/game/objects/effects/spiders.dm
index c62260080d..5663bc41d8 100644
--- a/code/game/objects/effects/spiders.dm
+++ b/code/game/objects/effects/spiders.dm
@@ -30,7 +30,7 @@
/obj/structure/spider/stickyweb
icon_state = "stickyweb1"
-/obj/structure/spider/stickyweb/New()
+/obj/structure/spider/stickyweb/Initialize()
if(prob(50))
icon_state = "stickyweb2"
. = ..()
@@ -57,7 +57,7 @@
var/poison_per_bite = 5
var/list/faction = list("spiders")
-/obj/structure/spider/eggcluster/New()
+/obj/structure/spider/eggcluster/Initialize()
pixel_x = rand(3,-3)
pixel_y = rand(3,-3)
START_PROCESSING(SSobj, src)
@@ -92,7 +92,7 @@
var/poison_per_bite = 5
var/list/faction = list("spiders")
-/obj/structure/spider/spiderling/New()
+/obj/structure/spider/spiderling/Initialize()
pixel_x = rand(6,-6)
pixel_y = rand(6,-6)
START_PROCESSING(SSobj, src)
@@ -190,7 +190,7 @@
icon_state = "cocoon1"
obj_integrity = 60
-/obj/structure/spider/cocoon/New()
+/obj/structure/spider/cocoon/Initialize()
icon_state = pick("cocoon1","cocoon2","cocoon3")
. = ..()
diff --git a/code/game/objects/explosion.dm b/code/game/objects/explosion.dm
index 1a6dbe7e6d..07ffe61689 100644
--- a/code/game/objects/explosion.dm
+++ b/code/game/objects/explosion.dm
@@ -1,5 +1,3 @@
-var/explosionid = 1
-
/proc/explosion(turf/epicenter, devastation_range, heavy_impact_range, light_impact_range, flash_range, adminlog = 1, ignorecap = 0, flame_range = 0 ,silent = 0, smoke = 1)
set waitfor = 0
src = null //so we don't abort once src is deleted
@@ -14,11 +12,11 @@ var/explosionid = 1
if(!ignorecap && epicenter.z != ZLEVEL_MINING)
//Clamp all values to MAX_EXPLOSION_RANGE
- devastation_range = min(MAX_EX_DEVESTATION_RANGE, devastation_range)
- heavy_impact_range = min(MAX_EX_HEAVY_RANGE, heavy_impact_range)
- light_impact_range = min(MAX_EX_LIGHT_RANGE, light_impact_range)
- flash_range = min(MAX_EX_FLASH_RANGE, flash_range)
- flame_range = min(MAX_EX_FLAME_RANGE, flame_range)
+ devastation_range = min(GLOB.MAX_EX_DEVESTATION_RANGE, devastation_range)
+ heavy_impact_range = min(GLOB.MAX_EX_HEAVY_RANGE, heavy_impact_range)
+ light_impact_range = min(GLOB.MAX_EX_LIGHT_RANGE, light_impact_range)
+ flash_range = min(GLOB.MAX_EX_FLASH_RANGE, flash_range)
+ flame_range = min(GLOB.MAX_EX_FLAME_RANGE, flame_range)
//DO NOT REMOVE THIS SLEEP, IT BREAKS THINGS
//not sleeping causes us to ex_act() the thing that triggered the explosion
@@ -29,6 +27,7 @@ var/explosionid = 1
//and somethings expect us to ex_act them so they can qdel()
sleep(1) //tldr, let the calling proc call qdel(src) before we explode
+ var/static/explosionid = 1
var/id = explosionid++
var/start = world.timeofday
@@ -36,7 +35,7 @@ var/explosionid = 1
var/list/cached_exp_block = list()
if(adminlog)
- message_admins("Explosion with size ([devastation_range], [heavy_impact_range], [light_impact_range], [flame_range]) in area [epicenter.loc.name] ([epicenter.x],[epicenter.y],[epicenter.z] - JMP )")
+ message_admins("Explosion with size ([devastation_range], [heavy_impact_range], [light_impact_range], [flame_range]) in area: [get_area(epicenter)] [ADMIN_COORDJMP(epicenter)]")
log_game("Explosion with size ([devastation_range], [heavy_impact_range], [light_impact_range], [flame_range]) in area [epicenter.loc.name] ([epicenter.x],[epicenter.y],[epicenter.z])")
// Play sounds; we want sounds to be different depending on distance so we will manually do it ourselves.
@@ -51,7 +50,8 @@ var/explosionid = 1
if(!silent)
var/frequency = get_rand_frequency()
- for(var/mob/M in player_list)
+ var/ex_sound = get_sfx("explosion")
+ for(var/mob/M in GLOB.player_list)
// Double check for client
if(M && M.client)
var/turf/M_turf = get_turf(M)
@@ -59,7 +59,7 @@ var/explosionid = 1
var/dist = get_dist(M_turf, epicenter)
// If inside the blast radius + world.view - 2
if(dist <= round(max_range + world.view - 2, 1))
- M.playsound_local(epicenter, get_sfx("explosion"), 100, 1, frequency, falloff = 5) // get_sfx() is so that everyone gets the same sound
+ M.playsound_local(epicenter, ex_sound, 100, 1, frequency, falloff = 5)
// You hear a far explosion if you're outside the blast radius. Small bombs shouldn't be heard all over the station.
else if(dist <= far_dist)
var/far_volume = Clamp(far_dist, 30, 50) // Volume is based on explosion size and dist
@@ -69,7 +69,7 @@ var/explosionid = 1
//postpone processing for a bit
var/postponeCycles = max(round(devastation_range/8),1)
SSlighting.postpone(postponeCycles)
- SSmachine.postpone(postponeCycles)
+ SSmachines.postpone(postponeCycles)
if(heavy_impact_range > 1)
if(smoke)
@@ -164,7 +164,7 @@ var/explosionid = 1
if(TICK_CHECK)
stoplag()
- var/circumference = (PI * init_dist * 2) + 8 //+8 to prevent shit gaps
+ var/circumference = (PI * (init_dist + 4) * 2) //+4 to radius to prevent shit gaps
if(exploded_this_tick.len > circumference) //only do this every revolution
for(var/Unexplode in exploded_this_tick)
var/turf/UnexplodeT = Unexplode
@@ -179,11 +179,11 @@ var/explosionid = 1
var/took = (world.timeofday-start)/10
//You need to press the DebugGame verb to see these now....they were getting annoying and we've collected a fair bit of data. Just -test- changes to explosion code using this please so we can compare
- if(Debug2)
+ if(GLOB.Debug2)
log_world("## DEBUG: Explosion([x0],[y0],[z0])(d[devastation_range],h[heavy_impact_range],l[light_impact_range]): Took [took] seconds.")
//Machines which report explosions.
- for(var/array in doppler_arrays)
+ for(var/array in GLOB.doppler_arrays)
var/obj/machinery/doppler_array/A = array
A.sense_explosion(epicenter,devastation_range,heavy_impact_range,light_impact_range,took,orig_dev_range,orig_heavy_range,orig_light_range)
@@ -277,7 +277,7 @@ var/explosionid = 1
if(!power)
return
var/range = 0
- range = round((2 * power)**DYN_EX_SCALE)
+ range = round((2 * power)**GLOB.DYN_EX_SCALE)
explosion(epicenter, round(range * 0.25), round(range * 0.5), round(range), flash_range*range, adminlog, ignorecap, flame_range*range, silent, smoke)
// Using default dyn_ex scale:
diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm
index 76206ff1fb..b0876e394d 100644
--- a/code/game/objects/items.dm
+++ b/code/game/objects/items.dm
@@ -1,4 +1,4 @@
-var/global/image/fire_overlay = image("icon" = 'icons/effects/fire.dmi', "icon_state" = "fire")
+GLOBAL_DATUM_INIT(fire_overlay, /image, image("icon" = 'icons/effects/fire.dmi', "icon_state" = "fire"))
/obj/item
name = "item"
@@ -349,7 +349,7 @@ var/global/image/fire_overlay = image("icon" = 'icons/effects/fire.dmi', "icon_s
return 1
return 0
-/obj/item/proc/talk_into(mob/M, input, channel, spans)
+/obj/item/proc/talk_into(mob/M, input, channel, spans, datum/language/language)
return ITALICS | REDUCE_RANGE
/obj/item/proc/dropped(mob/user)
@@ -502,7 +502,7 @@ var/global/image/fire_overlay = image("icon" = 'icons/effects/fire.dmi', "icon_s
if(.)
if(initial(icon) && initial(icon_state))
var/index = blood_splatter_index()
- var/icon/blood_splatter_icon = blood_splatter_icons[index]
+ var/icon/blood_splatter_icon = GLOB.blood_splatter_icons[index]
if(blood_splatter_icon)
cut_overlay(blood_splatter_icon)
diff --git a/code/game/objects/items/apc_frame.dm b/code/game/objects/items/apc_frame.dm
index fb6c349f17..edc7d0f3fe 100644
--- a/code/game/objects/items/apc_frame.dm
+++ b/code/game/objects/items/apc_frame.dm
@@ -12,7 +12,7 @@
if(get_dist(on_wall,user)>1)
return
var/ndir = get_dir(on_wall, user)
- if(!(ndir in cardinal))
+ if(!(ndir in GLOB.cardinal))
return
var/turf/T = get_turf(user)
var/area/A = get_area(T)
diff --git a/code/game/objects/items/blueprints.dm b/code/game/objects/items/blueprints.dm
index f1e5b7f83b..f1535db19d 100644
--- a/code/game/objects/items/blueprints.dm
+++ b/code/game/objects/items/blueprints.dm
@@ -168,18 +168,18 @@
/obj/item/areaeditor/blueprints/proc/view_wire_devices(mob/user)
var/message = " You examine the wire legend. "
- for(var/wireset in wire_color_directory)
- message += "[wire_name_directory[wireset]] "
+ for(var/wireset in GLOB.wire_color_directory)
+ message += "[GLOB.wire_name_directory[wireset]] "
message += ""
return message
/obj/item/areaeditor/blueprints/proc/view_wire_set(mob/user, wireset)
//for some reason you can't use wireset directly as a derefencer so this is the next best :/
- for(var/device in wire_color_directory)
+ for(var/device in GLOB.wire_color_directory)
if("[device]" == wireset) //I know... don't change it...
- var/message = "[wire_name_directory[device]]: "
- for(var/Col in wire_color_directory[device])
- var/wire_name = wire_color_directory[device][Col]
+ var/message = "
[GLOB.wire_name_directory[device]]: "
+ for(var/Col in GLOB.wire_color_directory[device])
+ var/wire_name = GLOB.wire_color_directory[device][Col]
if(!findtext(wire_name, WIRE_DUD_PREFIX)) //don't show duds
message += "
[Col] : [wire_name]
"
message += ""
@@ -309,7 +309,7 @@
return ROOM_ERR_TOOLARGE
var/turf/T = pending[1] //why byond havent list::pop()?
pending -= T
- for (var/dir in cardinal)
+ for (var/dir in GLOB.cardinal)
var/skip = 0
for (var/obj/structure/window/W in T)
if(dir == W.dir || (W.dir in list(NORTHEAST,SOUTHEAST,NORTHWEST,SOUTHWEST)))
@@ -343,7 +343,7 @@
for(var/V in border) //lazy but works
var/turf/F = V
- for(var/direction in cardinal)
+ for(var/direction in GLOB.cardinal)
if(direction == border[F])
continue //don't want to grab turfs from outside the border
var/turf/U = get_step(F, direction)
diff --git a/code/game/objects/items/bodybag.dm b/code/game/objects/items/bodybag.dm
index c1ccf0d440..2cb6c5b93f 100644
--- a/code/game/objects/items/bodybag.dm
+++ b/code/game/objects/items/bodybag.dm
@@ -21,11 +21,6 @@
R.add_fingerprint(user)
qdel(src)
-/obj/item/weapon/storage/box/bodybags/New()
- ..()
- for(var/i in 1 to 7)
- new /obj/item/bodybag(src)
-
// Bluespace bodybag
diff --git a/code/game/objects/items/cardboard_cutouts.dm b/code/game/objects/items/cardboard_cutouts.dm
index b7e5e9edf8..352a4fb9a7 100644
--- a/code/game/objects/items/cardboard_cutouts.dm
+++ b/code/game/objects/items/cardboard_cutouts.dm
@@ -97,15 +97,15 @@
add_atom_colour("#FFD7A7", FIXED_COLOUR_PRIORITY)
switch(new_appearance)
if("Assistant")
- name = "[pick(first_names_male)] [pick(last_names)]"
+ name = "[pick(GLOB.first_names_male)] [pick(GLOB.last_names)]"
desc = "A cardboat cutout of an assistant."
icon_state = "cutout_greytide"
if("Clown")
- name = pick(clown_names)
+ name = pick(GLOB.clown_names)
desc = "A cardboard cutout of a clown. You get the feeling that it should be in a corner."
icon_state = "cutout_clown"
if("Mime")
- name = pick(mime_names)
+ name = pick(GLOB.mime_names)
desc = "...(A cardboard cutout of a mime.)"
icon_state = "cutout_mime"
if("Traitor")
@@ -121,7 +121,7 @@
desc = "A cardboard cutout of a cultist."
icon_state = "cutout_cultist"
if("Clockwork Cultist")
- name = "[pick(first_names_male)] [pick(last_names)]"
+ name = "[pick(GLOB.first_names_male)] [pick(GLOB.last_names)]"
desc = "A cardboard cutout of a servant of Ratvar."
icon_state = "cutout_servant"
if("Revolutionary")
@@ -129,7 +129,7 @@
desc = "A cardboard cutout of a revolutionary."
icon_state = "cutout_viva"
if("Wizard")
- name = "[pick(wizard_first)], [pick(wizard_second)]"
+ name = "[pick(GLOB.wizard_first)], [pick(GLOB.wizard_second)]"
desc = "A cardboard cutout of a wizard."
icon_state = "cutout_wizard"
if("Shadowling")
@@ -151,7 +151,7 @@
desc = "A cardboard cutout of an ash walker."
icon_state = "cutout_free_antag"
if("Deathsquad Officer")
- name = pick(commando_names)
+ name = pick(GLOB.commando_names)
desc = "A cardboard cutout of a death commando."
icon_state = "cutout_deathsquad"
if("Ian")
diff --git a/code/game/objects/items/charter.dm b/code/game/objects/items/charter.dm
index 24d3f65d6d..e5f4ac1cb7 100644
--- a/code/game/objects/items/charter.dm
+++ b/code/game/objects/items/charter.dm
@@ -18,10 +18,10 @@
/obj/item/station_charter/New()
. = ..()
if(!standard_station_regex)
- var/prefixes = jointext(station_prefixes, "|")
- var/names = jointext(station_names, "|")
- var/suffixes = jointext(station_suffixes, "|")
- var/numerals = jointext(station_numerals, "|")
+ var/prefixes = jointext(GLOB.station_prefixes, "|")
+ var/names = jointext(GLOB.station_names, "|")
+ var/suffixes = jointext(GLOB.station_suffixes, "|")
+ var/numerals = jointext(GLOB.station_numerals, "|")
var/regexstr = "(([prefixes]) )?(([names]) ?)([suffixes]) ([numerals])"
standard_station_regex = new(regexstr)
@@ -35,7 +35,7 @@
if(used)
to_chat(user, "This charter has already been used to name the station.")
return
- if(!ignores_timeout && (world.time-round_start_time > STATION_RENAME_TIME_LIMIT)) //5 minutes
+ if(!ignores_timeout && (world.time-SSticker.round_start_time > STATION_RENAME_TIME_LIMIT)) //5 minutes
to_chat(user, "The crew has already settled into the shift. It probably wouldn't be good to rename the station right now.")
return
if(response_timer_id)
@@ -60,7 +60,7 @@
to_chat(user, "Your name has been sent to your employers for approval.")
// Autoapproves after a certain time
response_timer_id = addtimer(CALLBACK(src, .proc/rename_station, new_name, user.name, user.real_name, key_name(user)), approval_time, TIMER_STOPPABLE)
- to_chat(admins, "CUSTOM STATION RENAME: [key_name_admin(user)] (? ) proposes to rename the station to [new_name] (will autoapprove in [approval_time / 10] seconds). (BSA ) (REJECT ) (RPLY ) ")
+ to_chat(GLOB.admins, "CUSTOM STATION RENAME: [key_name_admin(user)] (? ) proposes to rename the station to [new_name] (will autoapprove in [approval_time / 10] seconds). [ADMIN_SMITE(user)] (REJECT ) (RPLY ) ")
/obj/item/station_charter/proc/reject_proposed(user)
if(!user)
diff --git a/code/game/objects/items/crayons.dm b/code/game/objects/items/crayons.dm
index 96464e0435..098d337123 100644
--- a/code/game/objects/items/crayons.dm
+++ b/code/game/objects/items/crayons.dm
@@ -137,7 +137,7 @@
qdel(src)
. = TRUE
-/obj/item/toy/crayon/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = 0, datum/tgui/master_ui = null, datum/ui_state/state = hands_state)
+/obj/item/toy/crayon/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = 0, datum/tgui/master_ui = null, datum/ui_state/state = GLOB.hands_state)
// tgui is a plague upon this codebase
SStgui.try_update_ui(user, src, ui_key, ui, force_open)
@@ -409,7 +409,7 @@
return TRUE
/obj/item/toy/crayon/proc/territory_claimed(area/territory, mob/user)
- for(var/datum/gang/G in ticker.mode.gangs)
+ for(var/datum/gang/G in SSticker.mode.gangs)
if(territory.type in (G.territory|G.territory_new))
. = G.name
break
diff --git a/code/game/objects/items/devices/PDA/PDA.dm b/code/game/objects/items/devices/PDA/PDA.dm
index 0c0e7bff50..5e49db24a4 100644
--- a/code/game/objects/items/devices/PDA/PDA.dm
+++ b/code/game/objects/items/devices/PDA/PDA.dm
@@ -1,7 +1,7 @@
//The advanced pea-green monochrome lcd of tomorrow.
-var/global/list/obj/item/device/pda/PDAs = list()
+GLOBAL_LIST_EMPTY(PDAs)
/obj/item/device/pda
@@ -62,7 +62,7 @@ var/global/list/obj/item/device/pda/PDAs = list()
if(fon)
set_light(f_lum)
- PDAs += src
+ GLOB.PDAs += src
if(default_cartridge)
cartridge = new default_cartridge(src)
inserted_item = new /obj/item/weapon/pen(src)
@@ -138,7 +138,7 @@ var/global/list/obj/item/device/pda/PDAs = list()
dat += text("[id ? "Update PDA Info" : ""] ")
dat += "[worldtime2text()] " //:[world.time / 100 % 6][world.time / 100 % 10]"
- dat += "[time2text(world.realtime, "MMM DD")] [year_integer+540]"
+ dat += "[time2text(world.realtime, "MMM DD")] [GLOB.year_integer+540]"
dat += " "
@@ -474,7 +474,7 @@ var/global/list/obj/item/device/pda/PDAs = list()
if("Toggle Door")
if(cartridge && cartridge.access_remote_door)
- for(var/obj/machinery/door/poddoor/M in machines)
+ for(var/obj/machinery/door/poddoor/M in GLOB.machines)
if(M.id == cartridge.remote_door_id)
if(M.density)
M.open()
@@ -636,7 +636,7 @@ var/global/list/obj/item/device/pda/PDAs = list()
add_overlay(image(icon, icon_alert))
/obj/item/device/pda/proc/show_to_ghosts(mob/living/user, datum/data_pda_msg/msg,multiple = 0)
- for(var/mob/M in player_list)
+ for(var/mob/M in GLOB.player_list)
if(isobserver(M) && M.client && (M.client.prefs.chat_toggles & CHAT_GHOSTPDA))
var/link = FOLLOW_LINK(M, user)
to_chat(M, "[link] [msg.sender] PDA Message --> [multiple ? "Everyone" : msg.recipient] : [msg.message][msg.get_photo_ref()] ")
@@ -646,8 +646,8 @@ var/global/list/obj/item/device/pda/PDAs = list()
return null
var/obj/machinery/message_server/useMS = null
- if(message_servers)
- for (var/obj/machinery/message_server/MS in message_servers)
+ if(GLOB.message_servers)
+ for (var/obj/machinery/message_server/MS in GLOB.message_servers)
//PDAs are now dependant on the Message Server.
if(MS.active)
useMS = MS
@@ -721,7 +721,7 @@ var/global/list/obj/item/device/pda/PDAs = list()
var/mob/M = loc
M.put_in_hands(inserted_item)
else
- inserted_item.forceMove(loc)
+ inserted_item.forceMove(get_turf(src))
to_chat(usr, "You remove \the [inserted_item] from \the [src]. ")
inserted_item = null
update_icon()
@@ -895,7 +895,7 @@ var/global/list/obj/item/device/pda/PDAs = list()
return
/obj/item/device/pda/Destroy()
- PDAs -= src
+ GLOB.PDAs -= src
if(id)
qdel(id)
id = null
@@ -978,20 +978,6 @@ var/global/list/obj/item/device/pda/PDAs = list()
else
to_chat(user, "You do not have a PDA. You should make an issue report about this.")
-/obj/item/weapon/storage/box/PDAs/New()
- ..()
- new /obj/item/device/pda(src)
- new /obj/item/device/pda(src)
- new /obj/item/device/pda(src)
- new /obj/item/device/pda(src)
- new /obj/item/weapon/cartridge/head(src)
-
- var/newcart = pick( /obj/item/weapon/cartridge/engineering,
- /obj/item/weapon/cartridge/security,
- /obj/item/weapon/cartridge/medical,
- /obj/item/weapon/cartridge/signal/toxins,
- /obj/item/weapon/cartridge/quartermaster)
- new newcart(src)
// Pass along the pulse to atoms in contents, largely added so pAIs are vulnerable to EMP
/obj/item/device/pda/emp_act(severity)
@@ -1004,7 +990,7 @@ var/global/list/obj/item/device/pda/PDAs = list()
/proc/get_viewable_pdas()
. = list()
// Returns a list of PDAs which can be viewed from another PDA/message monitor.
- for(var/obj/item/device/pda/P in PDAs)
+ for(var/obj/item/device/pda/P in GLOB.PDAs)
if(!P.owner || P.toff || P.hidden) continue
. += P
return .
diff --git a/code/game/objects/items/devices/PDA/cart.dm b/code/game/objects/items/devices/PDA/cart.dm
index 6039734d4b..1fd52cf5d9 100644
--- a/code/game/objects/items/devices/PDA/cart.dm
+++ b/code/game/objects/items/devices/PDA/cart.dm
@@ -305,8 +305,8 @@ Code:
menu = " Crew Manifest "
menu += "Entries cannot be modified from this terminal. "
- if(data_core.general)
- for (var/datum/data/record/t in sortRecord(data_core.general))
+ if(GLOB.data_core.general)
+ for (var/datum/data/record/t in sortRecord(GLOB.data_core.general))
menu += "[t.fields["name"]] - [t.fields["rank"]] "
menu += " "
@@ -332,7 +332,7 @@ Code:
- for(var/obj/machinery/computer/monitor/pMon in machines)
+ for(var/obj/machinery/computer/monitor/pMon in GLOB.machines)
if(!(pMon.stat & (NOPOWER|BROKEN)) )
powercount++
powermonitors += pMon
@@ -379,14 +379,14 @@ Code:
if (44) //medical records //This thing only displays a single screen so it's hard to really get the sub-menu stuff working.
menu = " Medical Record List "
- if(data_core.general)
- for(var/datum/data/record/R in sortRecord(data_core.general))
+ if(GLOB.data_core.general)
+ for(var/datum/data/record/R in sortRecord(GLOB.data_core.general))
menu += "[R.fields["id"]]: [R.fields["name"]] "
menu += " "
if(441)
menu = " Medical Record "
- if(active1 in data_core.general)
+ if(active1 in GLOB.data_core.general)
menu += "Name: [active1.fields["name"]] ID: [active1.fields["id"]] "
menu += "Sex: [active1.fields["sex"]] "
menu += "Age: [active1.fields["age"]] "
@@ -400,7 +400,7 @@ Code:
menu += " "
menu += " Medical Data "
- if(active2 in data_core.medical)
+ if(active2 in GLOB.data_core.medical)
menu += "Blood Type: [active2.fields["blood_type"]] "
menu += "Minor Disabilities: [active2.fields["mi_dis"]] "
@@ -422,15 +422,15 @@ Code:
menu += " "
if (45) //security records
menu = " Security Record List "
- if(data_core.general)
- for (var/datum/data/record/R in sortRecord(data_core.general))
+ if(GLOB.data_core.general)
+ for (var/datum/data/record/R in sortRecord(GLOB.data_core.general))
menu += " [R.fields["id"]]: [R.fields["name"]] "
menu += " "
if(451)
menu = " Security Record "
- if(active1 in data_core.general)
+ if(active1 in GLOB.data_core.general)
menu += "Name: [active1.fields["name"]] ID: [active1.fields["id"]] "
menu += "Sex: [active1.fields["sex"]] "
menu += "Age: [active1.fields["age"]] "
@@ -444,7 +444,7 @@ Code:
menu += " "
menu += " Security Data "
- if(active3 in data_core.security)
+ if(active3 in GLOB.data_core.security)
menu += "Criminal Status: [active3.fields["criminal"]] "
menu += text(" \nMinor Crimes:")
@@ -563,7 +563,7 @@ Code:
menu += "Located Cleanbots: "
ldat = null
- for (var/mob/living/simple_animal/bot/cleanbot/B in living_mob_list)
+ for (var/mob/living/simple_animal/bot/cleanbot/B in GLOB.living_mob_list)
var/turf/bl = get_turf(B)
if(bl)
@@ -585,7 +585,7 @@ Code:
menu = " Newscaster Access "
menu += " Current Newsfeed: [current_channel ? current_channel : "None"] "
var/datum/newscaster/feed_channel/current
- for(var/datum/newscaster/feed_channel/chan in news_network.network_channels)
+ for(var/datum/newscaster/feed_channel/chan in GLOB.news_network.network_channels)
if (chan.channel_name == current_channel)
current = chan
if(!current)
@@ -619,18 +619,18 @@ Code:
switch(href_list["choice"])
if("Medical Records")
- active1 = find_record("id", href_list["target"], data_core.general)
+ active1 = find_record("id", href_list["target"], GLOB.data_core.general)
if(active1)
- active2 = find_record("id", href_list["target"], data_core.medical)
+ active2 = find_record("id", href_list["target"], GLOB.data_core.medical)
pda.mode = 441
mode = 441
if(!active2)
active1 = null
if("Security Records")
- active1 = find_record("id", href_list["target"], data_core.general)
+ active1 = find_record("id", href_list["target"], GLOB.data_core.general)
if(active1)
- active3 = find_record("id", href_list["target"], data_core.security)
+ active3 = find_record("id", href_list["target"], GLOB.data_core.security)
pda.mode = 451
mode = 451
if(!active3)
@@ -685,14 +685,14 @@ Code:
var/pda_owner_name = pda.id ? "[pda.id.registered_name] ([pda.id.assignment])" : "Unknown"
var/message = pda.msg_input()
var/datum/newscaster/feed_channel/current
- for(var/datum/newscaster/feed_channel/chan in news_network.network_channels)
+ for(var/datum/newscaster/feed_channel/chan in GLOB.news_network.network_channels)
if (chan.channel_name == current_channel)
current = chan
if(current.locked && current.author != pda_owner_name)
pda.cart += " ERROR : NOT AUTHORIZED [pda.id ? "" : "- ID SLOT EMPTY"] "
pda.Topic(null,list("choice"="Refresh"))
return
- news_network.SubmitArticle(message,pda.owner,current_channel)
+ GLOB.news_network.SubmitArticle(message,pda.owner,current_channel)
pda.Topic(null,list("choice"=num2text(mode)))
return
@@ -775,7 +775,7 @@ Code:
var/turf/current_turf = get_turf(src)
var/zlevel = current_turf.z
var/botcount = 0
- for(Bot in living_mob_list) //Git da botz
+ for(Bot in GLOB.living_mob_list) //Git da botz
if(!Bot.on || Bot.z != zlevel || Bot.remote_disabled || !(bot_access_flags & Bot.bot_type)) //Only non-emagged bots on the same Z-level are detected!
continue //Also, the PDA must have access to the bot type.
menu += "[Bot.name] ([Bot.get_mode()]) "
diff --git a/code/game/objects/items/devices/PDA/radio.dm b/code/game/objects/items/devices/PDA/radio.dm
index ae56779298..a837bfc198 100644
--- a/code/game/objects/items/devices/PDA/radio.dm
+++ b/code/game/objects/items/devices/PDA/radio.dm
@@ -54,7 +54,7 @@
var/time = time2text(world.realtime,"hh:mm:ss")
var/turf/T = get_turf(src)
- lastsignalers.Add("[time] : [usr.key] used [src] @ location ([T.x],[T.y],[T.z]) : [format_frequency(frequency)]/[code]")
+ GLOB.lastsignalers.Add("[time] : [usr.key] used [src] @ location ([T.x],[T.y],[T.z]) : [format_frequency(frequency)]/[code]")
var/datum/signal/signal = new
signal.source = src
diff --git a/code/game/objects/items/devices/aicard.dm b/code/game/objects/items/devices/aicard.dm
index 0e4c97e816..d7cf9b0b9b 100644
--- a/code/game/objects/items/devices/aicard.dm
+++ b/code/game/objects/items/devices/aicard.dm
@@ -38,7 +38,7 @@
cut_overlays()
/obj/item/device/aicard/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = 0, \
- datum/tgui/master_ui = null, datum/ui_state/state = hands_state)
+ datum/tgui/master_ui = null, datum/ui_state/state = GLOB.hands_state)
ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open)
if(!ui)
ui = new(user, src, ui_key, "intellicard", name, 500, 500, master_ui, state)
diff --git a/code/game/objects/items/devices/camera_bug.dm b/code/game/objects/items/devices/camera_bug.dm
index 9272082def..520646f478 100644
--- a/code/game/objects/items/devices/camera_bug.dm
+++ b/code/game/objects/items/devices/camera_bug.dm
@@ -74,7 +74,7 @@
/obj/item/device/camera_bug/proc/get_cameras()
if( world.time > (last_net_update + 100))
bugged_cameras = list()
- for(var/obj/machinery/camera/camera in cameranet.cameras)
+ for(var/obj/machinery/camera/camera in GLOB.cameranet.cameras)
if(camera.stat || !camera.can_use())
continue
if(length(list("SS13","MINE")&camera.network))
diff --git a/code/game/objects/items/devices/chameleonproj.dm b/code/game/objects/items/devices/chameleonproj.dm
index 3c1e827f01..0e4f7200bb 100644
--- a/code/game/objects/items/devices/chameleonproj.dm
+++ b/code/game/objects/items/devices/chameleonproj.dm
@@ -31,6 +31,8 @@
/obj/item/device/chameleon/afterattack(atom/target, mob/user , proximity)
if(!proximity) return
+ if(!check_sprite(target))
+ return
if(!active_dummy)
if(istype(target,/obj/item) && !istype(target, /obj/item/weapon/disk/nuclear))
playsound(get_turf(src), 'sound/weapons/flash.ogg', 100, 1, -6)
@@ -41,6 +43,11 @@
temp.plane = initial(target.plane)
saved_appearance = temp.appearance
+/obj/item/device/chameleon/proc/check_sprite(atom/target)
+ if(target.icon_state in icon_states(target.icon))
+ return TRUE
+ return FALSE
+
/obj/item/device/chameleon/proc/toggle()
if(!can_use || !saved_appearance) return
if(active_dummy)
@@ -137,4 +144,4 @@
/obj/effect/dummy/chameleon/Destroy()
master.disrupt(0)
- return ..()
\ No newline at end of file
+ return ..()
diff --git a/code/game/objects/items/devices/doorCharge.dm b/code/game/objects/items/devices/doorCharge.dm
index e5d66e466c..c9539da58f 100644
--- a/code/game/objects/items/devices/doorCharge.dm
+++ b/code/game/objects/items/devices/doorCharge.dm
@@ -34,7 +34,7 @@
/obj/item/device/doorCharge/examine(mob/user)
..()
- if(user.mind in ticker.mode.traitors) //No nuke ops because the device is excluded from nuclear
+ if(user.mind in SSticker.mode.traitors) //No nuke ops because the device is excluded from nuclear
to_chat(user, "A small explosive device that can be used to sabotage airlocks to cause an explosion upon opening. To apply, remove the airlock's maintenance panel and place it within.")
else
to_chat(user, "A small, suspicious object that feels lukewarm when held.")
diff --git a/code/modules/telesci/gps.dm b/code/game/objects/items/devices/gps.dm
similarity index 88%
rename from code/modules/telesci/gps.dm
rename to code/game/objects/items/devices/gps.dm
index 53874de1ce..00e221918c 100644
--- a/code/modules/telesci/gps.dm
+++ b/code/game/objects/items/devices/gps.dm
@@ -1,4 +1,4 @@
-var/list/GPS_list = list()
+GLOBAL_LIST_EMPTY(GPS_list)
/obj/item/device/gps
name = "global positioning system"
desc = "Helping lost spacemen find their way through the planets since 2016. Alt+click to toggle power."
@@ -8,25 +8,25 @@ var/list/GPS_list = list()
slot_flags = SLOT_BELT
origin_tech = "materials=2;magnets=1;bluespace=2"
var/gpstag = "COM0"
- var/emped = 0
+ var/emped = FALSE
var/turf/locked_location
var/tracking = TRUE
-/obj/item/device/gps/New()
+/obj/item/device/gps/Initialize()
..()
- GPS_list.Add(src)
+ GLOB.GPS_list += src
name = "global positioning system ([gpstag])"
add_overlay("working")
/obj/item/device/gps/Destroy()
- GPS_list.Remove(src)
+ GLOB.GPS_list -= src
return ..()
/obj/item/device/gps/emp_act(severity)
emped = TRUE
cut_overlay("working")
add_overlay("emp")
- addtimer(CALLBACK(src, .proc/reboot), 300)
+ addtimer(CALLBACK(src, .proc/reboot), 300, TIMER_OVERRIDE) //if a new EMP happens, remove the old timer so it doesn't reactivate early
/obj/item/device/gps/proc/reboot()
emped = FALSE
@@ -38,6 +38,7 @@ var/list/GPS_list = list()
return //user not valid to use gps
if(emped)
to_chat(user, "It's busted!")
+ return
if(tracking)
cut_overlay("working")
to_chat(user, "[src] is no longer tracking, or visible to other GPS devices.")
@@ -53,7 +54,7 @@ var/list/GPS_list = list()
return
var/obj/item/device/gps/t = ""
- var/gps_window_height = 110 + GPS_list.len * 20 // Variable window height, depending on how many GPS units there are to show
+ var/gps_window_height = 110 + GLOB.GPS_list.len * 20 // Variable window height, depending on how many GPS units there are to show
if(emped)
t += "ERROR"
else
@@ -63,7 +64,7 @@ var/list/GPS_list = list()
t += " Bluespace coordinates saved: [locked_location.loc]"
gps_window_height += 20
- for(var/obj/item/device/gps/G in GPS_list)
+ for(var/obj/item/device/gps/G in GLOB.GPS_list)
var/turf/pos = get_turf(G)
var/area/gps_area = get_area(G)
var/tracked_gpstag = G.gpstag
@@ -131,10 +132,10 @@ var/list/GPS_list = list()
for marking the area around the transition edges."
var/list/turf/tagged
-/obj/item/device/gps/visible_debug/New()
+/obj/item/device/gps/visible_debug/Initialize()
. = ..()
tagged = list()
- SSfastprocess.processing += src
+ START_PROCESSING(SSfastprocess, src)
/obj/item/device/gps/visible_debug/process()
var/turf/T = get_turf(src)
@@ -155,5 +156,5 @@ var/list/GPS_list = list()
if(tagged)
clear()
tagged = null
- SSfastprocess.processing -= src
+ STOP_PROCESSING(SSfastprocess, src)
. = ..()
diff --git a/code/game/objects/items/devices/multitool.dm b/code/game/objects/items/devices/multitool.dm
index 20960a64e1..e298e0500e 100644
--- a/code/game/objects/items/devices/multitool.dm
+++ b/code/game/objects/items/devices/multitool.dm
@@ -53,13 +53,13 @@
/obj/item/device/multitool/ai_detect/proc/multitool_detect()
var/turf/our_turf = get_turf(src)
- for(var/mob/living/silicon/ai/AI in ai_list)
+ for(var/mob/living/silicon/ai/AI in GLOB.ai_list)
if(AI.cameraFollow == src)
detect_state = PROXIMITY_ON_SCREEN
break
- if(!detect_state && cameranet.chunkGenerated(our_turf.x, our_turf.y, our_turf.z))
- var/datum/camerachunk/chunk = cameranet.getCameraChunk(our_turf.x, our_turf.y, our_turf.z)
+ if(!detect_state && GLOB.cameranet.chunkGenerated(our_turf.x, our_turf.y, our_turf.z))
+ var/datum/camerachunk/chunk = GLOB.cameranet.getCameraChunk(our_turf.x, our_turf.y, our_turf.z)
if(chunk)
if(chunk.seenby.len)
for(var/mob/camera/aiEye/A in chunk.seenby)
@@ -78,7 +78,7 @@
/obj/item/device/multitool/ai_detect/admin/multitool_detect()
var/turf/our_turf = get_turf(src)
for(var/mob/J in urange(rangewarning,our_turf))
- if(admin_datums[J.ckey])
+ if(GLOB.admin_datums[J.ckey])
detect_state = PROXIMITY_NEAR
var/turf/detect_turf = get_turf(J)
if(get_dist(our_turf, detect_turf) < rangealert)
diff --git a/code/game/objects/items/devices/paicard.dm b/code/game/objects/items/devices/paicard.dm
index 5465790f2b..be69869d73 100644
--- a/code/game/objects/items/devices/paicard.dm
+++ b/code/game/objects/items/devices/paicard.dm
@@ -9,14 +9,14 @@
var/mob/living/silicon/pai/pai
resistance_flags = FIRE_PROOF | ACID_PROOF | INDESTRUCTIBLE
-/obj/item/device/paicard/New()
+/obj/item/device/paicard/Initialize()
..()
- pai_card_list += src
+ SSpai.pai_card_list += src
add_overlay("pai-off")
/obj/item/device/paicard/Destroy()
//Will stop people throwing friend pAIs into the singularity so they can respawn
- pai_card_list -= src
+ SSpai.pai_card_list -= src
if(!isnull(pai))
pai.death(0)
return ..()
diff --git a/code/game/objects/items/devices/radio/beacon.dm b/code/game/objects/items/devices/radio/beacon.dm
index 3161fb5ac3..d2e788e7a3 100644
--- a/code/game/objects/items/devices/radio/beacon.dm
+++ b/code/game/objects/items/devices/radio/beacon.dm
@@ -9,13 +9,13 @@
/obj/item/device/radio/beacon/New()
..()
- teleportbeacons += src
+ GLOB.teleportbeacons += src
/obj/item/device/radio/beacon/Destroy()
- teleportbeacons.Remove(src)
+ GLOB.teleportbeacons.Remove(src)
return ..()
-/obj/item/device/radio/beacon/Hear(message, atom/movable/speaker, message_langs, raw_message, radio_freq, list/spans)
+/obj/item/device/radio/beacon/Hear(message, atom/movable/speaker, message_langs, raw_message, radio_freq, list/spans, message_mode)
return
/obj/item/device/radio/beacon/send_hear()
diff --git a/code/game/objects/items/devices/radio/electropack.dm b/code/game/objects/items/devices/radio/electropack.dm
index f17d08082c..f1689ec334 100644
--- a/code/game/objects/items/devices/radio/electropack.dm
+++ b/code/game/objects/items/devices/radio/electropack.dm
@@ -19,7 +19,7 @@
/obj/item/device/electropack/Initialize()
..()
- SSradio.add_object(src, frequency, RADIO_CHAT)
+ SSradio.add_object(src, frequency, GLOB.RADIO_CHAT)
/obj/item/device/electropack/Destroy()
if(SSradio)
@@ -66,7 +66,7 @@
if(href_list["freq"])
SSradio.remove_object(src, frequency)
frequency = sanitize_frequency(frequency + text2num(href_list["freq"]))
- SSradio.add_object(src, frequency, RADIO_CHAT)
+ SSradio.add_object(src, frequency, GLOB.RADIO_CHAT)
else
if(href_list["code"])
code += text2num(href_list["code"])
@@ -107,7 +107,7 @@
spawn(100)
shock_cooldown = 0
var/mob/M = loc
- step(M, pick(cardinal))
+ step(M, pick(GLOB.cardinal))
to_chat(M, "You feel a sharp shock! ")
var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
diff --git a/code/game/objects/items/devices/radio/encryptionkey.dm b/code/game/objects/items/devices/radio/encryptionkey.dm
index aa06cc380b..b34e64bb89 100644
--- a/code/game/objects/items/devices/radio/encryptionkey.dm
+++ b/code/game/objects/items/devices/radio/encryptionkey.dm
@@ -1,4 +1,3 @@
-
/obj/item/device/encryptionkey
name = "standard encryption key"
desc = "An encryption key for a radio headset. Has no special codes in it. WHY DOES IT EXIST? ASK NANOTRASEN."
@@ -8,7 +7,7 @@
origin_tech = "engineering=2;bluespace=1"
var/translate_binary = 0
var/syndie = 0
- var/centcom = 0
+ var/independent = FALSE
var/list/channels = list()
/obj/item/device/encryptionkey/syndicate
@@ -126,7 +125,7 @@
name = "centcom radio encryption key"
desc = "An encryption key for a radio headset. To access the centcom channel, use :y."
icon_state = "cent_cypherkey"
- centcom = 1
+ independent = TRUE
channels = list("Centcom" = 1)
/obj/item/device/encryptionkey/ai //ported from NT, this goes 'inside' the AI.
diff --git a/code/game/objects/items/devices/radio/headset.dm b/code/game/objects/items/devices/radio/headset.dm
index d9e3e34ab4..0cbd594b85 100644
--- a/code/game/objects/items/devices/radio/headset.dm
+++ b/code/game/objects/items/devices/radio/headset.dm
@@ -22,7 +22,7 @@
keyslot2 = null
return ..()
-/obj/item/device/radio/headset/talk_into(mob/living/M, message, channel, list/spans)
+/obj/item/device/radio/headset/talk_into(mob/living/M, message, channel, list/spans,datum/language/language)
if (!listening)
return ITALICS | REDUCE_RANGE
return ..()
@@ -231,7 +231,7 @@
for(var/ch_name in channels)
- SSradio.remove_object(src, radiochannels[ch_name])
+ SSradio.remove_object(src, GLOB.radiochannels[ch_name])
secure_radio_connections[ch_name] = null
@@ -291,11 +291,18 @@
if(keyslot2.syndie)
src.syndie = 1
- if (keyslot2.centcom)
- centcom = 1
+ if (keyslot2.independent)
+ independent = TRUE
for(var/ch_name in channels)
- secure_radio_connections[ch_name] = add_radio(src, radiochannels[ch_name])
+ secure_radio_connections[ch_name] = add_radio(src, GLOB.radiochannels[ch_name])
return
+
+/obj/item/device/radio/headset/AltClick(mob/living/user)
+ if(!istype(user) || !Adjacent(user) || user.incapacitated())
+ return
+ if (command)
+ use_command = !use_command
+ to_chat(user, "You toggle high-volume mode [use_command ? "on" : "off"]. ")
diff --git a/code/game/objects/items/devices/radio/intercom.dm b/code/game/objects/items/devices/radio/intercom.dm
index 5482af5fc0..22a850f905 100644
--- a/code/game/objects/items/devices/radio/intercom.dm
+++ b/code/game/objects/items/devices/radio/intercom.dm
@@ -27,7 +27,7 @@
/obj/item/device/radio/intercom/interact(mob/user)
..()
- ui_interact(user, state = default_state)
+ ui_interact(user, state = GLOB.default_state)
/obj/item/device/radio/intercom/receive_range(freq, level)
if(!on)
@@ -40,14 +40,14 @@
return -1
if(!src.listening)
return -1
- if(freq == SYND_FREQ)
+ if(freq == GLOB.SYND_FREQ)
if(!(src.syndie))
return -1//Prevents broadcast of messages over devices lacking the encryption
return canhear_range
-/obj/item/device/radio/intercom/Hear(message, atom/movable/speaker, message_langs, raw_message, radio_freq, list/spans)
+/obj/item/device/radio/intercom/Hear(message, atom/movable/speaker, message_langs, raw_message, radio_freq, list/spans, message_mode)
if(!anyai && !(speaker in ai))
return
..()
diff --git a/code/game/objects/items/devices/radio/radio.dm b/code/game/objects/items/devices/radio/radio.dm
index 9ea214d459..1f2f86e42a 100644
--- a/code/game/objects/items/devices/radio/radio.dm
+++ b/code/game/objects/items/devices/radio/radio.dm
@@ -23,14 +23,12 @@
var/subspace_switchable = 0
var/subspace_transmission = 0
var/syndie = 0//Holder to see if it's a syndicate encrpyed radio
- var/centcom = 0//Bleh, more dirty booleans
+ var/independent = FALSE // If true, bypasses any tcomms machinery.
var/freqlock = 0 //Frequency lock to stop the user from untuning specialist radios.
var/emped = 0 //Highjacked to track the number of consecutive EMPs on the radio, allowing consecutive EMP's to stack properly.
// "Example" = FREQ_LISTENING|FREQ_BROADCASTING
flags = CONDUCT | HEAR
slot_flags = SLOT_BELT
- languages_spoken = HUMAN | ROBOT
- languages_understood = HUMAN | ROBOT
throw_speed = 3
throw_range = 7
w_class = WEIGHT_CLASS_SMALL
@@ -58,7 +56,7 @@
channels = list()
translate_binary = 0
syndie = 0
- centcom = 0
+ independent = FALSE
if(keyslot)
for(var/ch_name in keyslot.channels)
@@ -73,11 +71,11 @@
if(keyslot.syndie)
syndie = 1
- if(keyslot.centcom)
- centcom = 1
+ if(keyslot.independent)
+ independent = TRUE
for(var/ch_name in channels)
- secure_radio_connections[ch_name] = add_radio(src, radiochannels[ch_name])
+ secure_radio_connections[ch_name] = add_radio(src, GLOB.radiochannels[ch_name])
/obj/item/device/radio/proc/make_syndie() // Turns normal radios into Syndicate radios!
qdel(keyslot)
@@ -99,7 +97,7 @@
set_frequency(frequency)
for(var/ch_name in channels)
- secure_radio_connections[ch_name] = add_radio(src, radiochannels[ch_name])
+ secure_radio_connections[ch_name] = add_radio(src, GLOB.radiochannels[ch_name])
/obj/item/device/radio/interact(mob/user)
if (..())
@@ -110,7 +108,7 @@
ui_interact(user)
/obj/item/device/radio/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = 0, \
- datum/tgui/master_ui = null, datum/ui_state/state = inventory_state)
+ datum/tgui/master_ui = null, datum/ui_state/state = GLOB.inventory_state)
ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open)
if(!ui)
ui = new(user, src, ui_key, "radio", name, 370, 220 + channels.len * 22, master_ui, state)
@@ -190,11 +188,15 @@
recalculateChannels()
. = TRUE
-/obj/item/device/radio/talk_into(atom/movable/M, message, channel, list/spans)
- INVOKE_ASYNC(src, .proc/talk_into_impl, M, message, channel, spans)
+/obj/item/device/radio/talk_into(atom/movable/M, message, channel, list/spans, datum/language/language)
+ if(!spans)
+ spans = M.get_spans()
+ if(!language)
+ language = M.get_default_language()
+ INVOKE_ASYNC(src, .proc/talk_into_impl, M, message, channel, spans, language)
return ITALICS | REDUCE_RANGE
-/obj/item/device/radio/proc/talk_into_impl(atom/movable/M, message, channel, list/spans)
+/obj/item/device/radio/proc/talk_into_impl(atom/movable/M, message, channel, list/spans, datum/language/language)
if(!on) return // the device has to be on
// Fix for permacell radios, but kinda eh about actually fixing them.
if(!M || !message) return
@@ -239,7 +241,7 @@
var/turf/position = get_turf(src)
var/jammed = FALSE
- for(var/obj/item/device/jammer/jammer in active_jammers)
+ for(var/obj/item/device/jammer/jammer in GLOB.active_jammers)
if(get_dist(position,get_turf(jammer)) < jammer.range)
jammed = TRUE
break
@@ -265,7 +267,7 @@
// --- Human: use their job as seen on the crew manifest - makes it unneeded to carry an ID for an AI to see their job
if(ishuman(M))
- var/datum/data/record/findjob = find_record("name", voice, data_core.general)
+ var/datum/data/record/findjob = find_record("name", voice, GLOB.data_core.general)
if(voice != real_name)
voicemask = 1
@@ -299,9 +301,9 @@
else
jobname = "Unknown"
- /* ###### Centcom channel bypasses all comms relays. ###### */
+ /* ###### `independent` radios bypass all comms relays. ###### */
- if (freqnum == CENTCOM_FREQ && centcom)
+ if(independent)
var/datum/signal/signal = new
signal.transmission_method = 2
signal.data = list(
@@ -322,18 +324,18 @@
"server" = null,
"reject" = 0,
"level" = 0,
- "languages" = languages_spoken,
+ "language" = language,
"spans" = spans,
"verb_say" = M.verb_say,
"verb_ask" = M.verb_ask,
"verb_exclaim" = M.verb_exclaim,
- "verb_yell" = M.verb_yell
+ "verb_yell" = M.verb_yell,
)
signal.frequency = freqnum // Quick frequency set
Broadcast_Message(M, voicemask,
src, message, voice, jobname, real_name,
5, signal.data["compression"], list(position.z, 0), freq, spans,
- verb_say, verb_ask, verb_exclaim, verb_yell)
+ verb_say, verb_ask, verb_exclaim, verb_yell, language)
return
/* ###### Radio headsets can only broadcast through subspace ###### */
@@ -367,7 +369,7 @@
"server" = null, // the last server to log this signal
"reject" = 0, // if nonzero, the signal will not be accepted by any broadcasting machinery
"level" = position.z, // The source's z level
- "languages" = M.languages_spoken, //The languages M is talking in.
+ "language" = language,
"spans" = spans, //the span classes of this message.
"verb_say" = M.verb_say, //the verb used when talking normally
"verb_ask" = M.verb_ask, //the verb used when asking
@@ -378,11 +380,11 @@
//#### Sending the signal to all subspace receivers ####//
- for(var/obj/machinery/telecomms/receiver/R in telecomms_list)
+ for(var/obj/machinery/telecomms/receiver/R in GLOB.telecomms_list)
R.receive_signal(signal)
// Allinone can act as receivers.
- for(var/obj/machinery/telecomms/allinone/R in telecomms_list)
+ for(var/obj/machinery/telecomms/allinone/R in GLOB.telecomms_list)
R.receive_signal(signal)
// Receiving code can be located in Telecommunications.dm
@@ -417,7 +419,7 @@
"server" = null,
"reject" = 0,
"level" = position.z,
- "languages" = languages_spoken,
+ "language" = language,
"spans" = spans,
"verb_say" = M.verb_say,
"verb_ask" = M.verb_ask,
@@ -425,7 +427,7 @@
"verb_yell" = M.verb_yell
)
signal.frequency = freqnum // Quick frequency set
- for(var/obj/machinery/telecomms/receiver/R in telecomms_list)
+ for(var/obj/machinery/telecomms/receiver/R in GLOB.telecomms_list)
R.receive_signal(signal)
@@ -440,14 +442,14 @@
Broadcast_Message(M, voicemask,
src, message, voice, jobname, real_name,
filter_type, signal.data["compression"], list(position.z), freq, spans,
- verb_say, verb_ask, verb_exclaim, verb_yell)
+ verb_say, verb_ask, verb_exclaim, verb_yell, language)
-/obj/item/device/radio/Hear(message, atom/movable/speaker, message_langs, raw_message, radio_freq, list/spans)
+/obj/item/device/radio/Hear(message, atom/movable/speaker, message_language, raw_message, radio_freq, list/spans, message_mode)
if(radio_freq)
return
if(broadcasting)
if(get_dist(src, speaker) <= canhear_range)
- talk_into(speaker, raw_message, , spans)
+ talk_into(speaker, raw_message, , spans, language=message_language)
/*
/obj/item/device/radio/proc/accept_rad(obj/item/device/radio/R as obj, message)
@@ -474,11 +476,11 @@
var/turf/position = get_turf(src)
if(!position || !(position.z in level))
return -1
- if(freq == SYND_FREQ)
+ if(freq == GLOB.SYND_FREQ)
if(!(src.syndie)) //Checks to see if it's allowed on that frequency, based on the encryption keys
return -1
- if(freq == CENTCOM_FREQ)
- if (!(src.centcom))
+ if(freq == GLOB.CENTCOM_FREQ)
+ if(!independent)
return -1
if (!on)
return -1
@@ -490,7 +492,7 @@
if (!accept)
for(var/ch_name in channels)
if(channels[ch_name] & FREQ_LISTENING)
- if(radiochannels[ch_name] == text2num(freq) || syndie) //the radiochannels list is located in communications.dm
+ if(GLOB.radiochannels[ch_name] == text2num(freq) || syndie) //the GLOB.radiochannels list is located in communications.dm
accept = 1
break
if (!accept)
@@ -559,14 +561,14 @@
/obj/item/device/radio/borg/syndicate/New()
..()
- set_frequency(SYND_FREQ)
+ set_frequency(GLOB.SYND_FREQ)
/obj/item/device/radio/borg/attackby(obj/item/weapon/W, mob/user, params)
if(istype(W, /obj/item/weapon/screwdriver))
if(keyslot)
for(var/ch_name in channels)
- SSradio.remove_object(src, radiochannels[ch_name])
+ SSradio.remove_object(src, GLOB.radiochannels[ch_name])
secure_radio_connections[ch_name] = null
diff --git a/code/game/objects/items/devices/scanners.dm b/code/game/objects/items/devices/scanners.dm
index 3c6968d7f4..c3a1388b18 100644
--- a/code/game/objects/items/devices/scanners.dm
+++ b/code/game/objects/items/devices/scanners.dm
@@ -195,7 +195,7 @@ MASS SPECTROMETER
var/blood_percent = round((C.blood_volume / BLOOD_VOLUME_NORMAL)*100)
var/blood_type = C.dna.blood_type
if(blood_id != "blood")//special blood substance
- var/datum/reagent/R = chemical_reagents_list[blood_id]
+ var/datum/reagent/R = GLOB.chemical_reagents_list[blood_id]
if(R)
blood_type = R.name
else
@@ -285,7 +285,7 @@ MASS SPECTROMETER
if(total_moles)
var/list/env_gases = environment.gases
- environment.assert_gases(arglist(hardcoded_gases))
+ environment.assert_gases(arglist(GLOB.hardcoded_gases))
var/o2_concentration = env_gases["o2"][MOLES]/total_moles
var/n2_concentration = env_gases["n2"][MOLES]/total_moles
var/co2_concentration = env_gases["co2"][MOLES]/total_moles
@@ -314,7 +314,7 @@ MASS SPECTROMETER
for(var/id in env_gases)
- if(id in hardcoded_gases)
+ if(id in GLOB.hardcoded_gases)
continue
var/gas_concentration = env_gases[id][MOLES]/total_moles
to_chat(user, "[env_gases[id][GAS_META][META_GAS_NAME]]: [round(gas_concentration*100, 0.01)] % ")
@@ -368,7 +368,7 @@ MASS SPECTROMETER
dat += " None"
else
for(var/R in blood_traces)
- dat += " [chemical_reagents_list[R]]"
+ dat += " [GLOB.chemical_reagents_list[R]]"
if(details)
dat += " ([blood_traces[R]] units)"
dat += ""
diff --git a/code/game/objects/items/devices/sensor_device.dm b/code/game/objects/items/devices/sensor_device.dm
index d15e254904..a2deafe916 100644
--- a/code/game/objects/items/devices/sensor_device.dm
+++ b/code/game/objects/items/devices/sensor_device.dm
@@ -8,4 +8,4 @@
origin_tech = "programming=3;materials=3;magnets=3"
/obj/item/device/sensor_device/attack_self(mob/user)
- crewmonitor.show(user) //Proc already exists, just had to call it
+ GLOB.crewmonitor.show(user) //Proc already exists, just had to call it
diff --git a/code/game/objects/items/devices/taperecorder.dm b/code/game/objects/items/devices/taperecorder.dm
index 95c04e9579..bb59779f81 100644
--- a/code/game/objects/items/devices/taperecorder.dm
+++ b/code/game/objects/items/devices/taperecorder.dm
@@ -6,8 +6,6 @@
w_class = WEIGHT_CLASS_SMALL
flags = HEAR
slot_flags = SLOT_BELT
- languages_spoken = ALL //this is a translator, after all.
- languages_understood = ALL //this is a translator, after all.
materials = list(MAT_METAL=60, MAT_GLASS=30)
force = 2
throwforce = 0
@@ -15,14 +13,16 @@
var/playing = 0
var/playsleepseconds = 0
var/obj/item/device/tape/mytape
+ var/starting_tape_type = /obj/item/device/tape/random
var/open_panel = 0
var/canprint = 1
-/obj/item/device/taperecorder/New()
- mytape = new /obj/item/device/tape/random(src)
- update_icon()
+/obj/item/device/taperecorder/Initialize(mapload)
..()
+ if(starting_tape_type)
+ mytape = new starting_tape_type(src)
+ update_icon()
/obj/item/device/taperecorder/examine(mob/user)
@@ -92,7 +92,7 @@
icon_state = "taperecorder_idle"
-/obj/item/device/taperecorder/Hear(message, atom/movable/speaker, message_langs, raw_message, radio_freq, spans)
+/obj/item/device/taperecorder/Hear(message, atom/movable/speaker, message_langs, raw_message, radio_freq, spans, message_mode)
if(mytape && recording)
mytape.timestamp += mytape.used_capacity
mytape.storedinfo += "\[[time2text(mytape.used_capacity * 10,"mm:ss")]\] [message]"
@@ -229,8 +229,8 @@
//empty tape recorders
-/obj/item/device/taperecorder/empty/New()
- return
+/obj/item/device/taperecorder/empty
+ starting_tape_type = null
/obj/item/device/tape
@@ -287,4 +287,4 @@
//Random colour tapes
/obj/item/device/tape/random/New()
icon_state = "tape_[pick("white", "blue", "red", "yellow", "purple")]"
- ..()
\ No newline at end of file
+ ..()
diff --git a/code/game/objects/items/devices/traitordevices.dm b/code/game/objects/items/devices/traitordevices.dm
index e51cc33fe0..7a9470d991 100644
--- a/code/game/objects/items/devices/traitordevices.dm
+++ b/code/game/objects/items/devices/traitordevices.dm
@@ -230,15 +230,15 @@ effective or pretty fucking useless.
desc = "Device used to disrupt nearby radio communication."
icon_state = "jammer"
var/active = FALSE
- var/range = 7
+ var/range = 12
/obj/item/device/jammer/attack_self(mob/user)
to_chat(user,"You [active ? "deactivate" : "activate"] the [src]")
active = !active
if(active)
- active_jammers |= src
+ GLOB.active_jammers |= src
else
- active_jammers -= src
+ GLOB.active_jammers -= src
update_icon()
\ No newline at end of file
diff --git a/code/game/objects/items/devices/transfer_valve.dm b/code/game/objects/items/devices/transfer_valve.dm
index 80d0d31056..257418eaa7 100644
--- a/code/game/objects/items/devices/transfer_valve.dm
+++ b/code/game/objects/items/devices/transfer_valve.dm
@@ -53,7 +53,7 @@
A.holder = src
A.toggle_secure() //this calls update_icon(), which calls update_icon() on the holder (i.e. the bomb).
- bombers += "[key_name(user)] attached a [item] to a transfer valve."
+ GLOB.bombers += "[key_name(user)] attached a [item] to a transfer valve."
message_admins("[key_name_admin(user)] attached a [item] to a transfer valve.")
log_game("[key_name_admin(user)] attached a [item] to a transfer valve.")
attacher = user
@@ -189,7 +189,7 @@
var/bomb_message = "[log_str1] [A.name] [log_str2][log_attacher] [log_str3][last_touch_info]"
- bombers += bomb_message
+ GLOB.bombers += bomb_message
message_admins(bomb_message, 0, 1)
log_game("[log_str1] [A.name]([A.x],[A.y],[A.z]) [log_str2] [log_str3]")
diff --git a/code/game/objects/items/eightball.dm b/code/game/objects/items/eightball.dm
index eb3a4172f7..28e42813b6 100644
--- a/code/game/objects/items/eightball.dm
+++ b/code/game/objects/items/eightball.dm
@@ -54,7 +54,7 @@
shaking = TRUE
start_shaking(user)
- if(do_after(user, shake_time, needhand=TRUE, target=src, progress=TRUE))
+ if(do_after(user, shake_time, needhand=TRUE, target=user, progress=TRUE))
var/answer = get_answer()
say(answer)
@@ -98,10 +98,10 @@
/obj/item/toy/eightball/haunted/Initialize(mapload)
..()
votes = list()
- poi_list |= src
+ GLOB.poi_list |= src
/obj/item/toy/eightball/haunted/Destroy()
- poi_list -= src
+ GLOB.poi_list -= src
. = ..()
/obj/item/toy/eightball/haunted/attack_ghost(mob/user)
@@ -110,7 +110,7 @@
return
interact(user)
-/obj/item/toy/eightball/haunted/Hear(message, atom/movable/speaker, message_langs, raw_message, radio_freq, spans)
+/obj/item/toy/eightball/haunted/Hear(message, atom/movable/speaker, message_langs, raw_message, radio_freq, spans, message_mode)
last_message = raw_message
/obj/item/toy/eightball/haunted/start_shaking(mob/user)
@@ -155,7 +155,7 @@
return most_popular_answer
-/obj/item/toy/eightball/haunted/ui_interact(mob/user, ui_key="main", datum/tgui/ui=null, force_open=0, datum/tgui/master_ui=null, datum/ui_state/state=observer_state)
+/obj/item/toy/eightball/haunted/ui_interact(mob/user, ui_key="main", datum/tgui/ui=null, force_open=0, datum/tgui/master_ui=null, datum/ui_state/state = GLOB.observer_state)
ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open)
if(!ui)
diff --git a/code/game/objects/items/robot/robot_parts.dm b/code/game/objects/items/robot/robot_parts.dm
index a0d0728487..1028ca1429 100644
--- a/code/game/objects/items/robot/robot_parts.dm
+++ b/code/game/objects/items/robot/robot_parts.dm
@@ -42,17 +42,17 @@
/obj/item/robot_suit/proc/updateicon()
cut_overlays()
if(l_arm)
- add_overlay("l_arm+o")
+ add_overlay("[l_arm.icon_state]+o")
if(r_arm)
- add_overlay("r_arm+o")
+ add_overlay("[r_arm.icon_state]+o")
if(chest)
- add_overlay("chest+o")
+ add_overlay("[chest.icon_state]+o")
if(l_leg)
- add_overlay("l_leg+o")
+ add_overlay("[l_leg.icon_state]+o")
if(r_leg)
- add_overlay("r_leg+o")
+ add_overlay("[r_leg.icon_state]+o")
if(head)
- add_overlay("head+o")
+ add_overlay("[head.icon_state]+o")
/obj/item/robot_suit/proc/check_completion()
if(src.l_arm && src.r_arm)
@@ -206,7 +206,7 @@
lawsync = 0
O.connected_ai = null
else
- O.notify_ai(1)
+ O.notify_ai(NEW_BORG)
if(forced_ai)
O.connected_ai = forced_ai
if(!lawsync)
@@ -214,7 +214,7 @@
if(M.laws.id == DEFAULT_AI_LAWID)
O.make_laws()
- ticker.mode.remove_antag_for_borging(BM.mind)
+ SSticker.mode.remove_antag_for_borging(BM.mind)
if(!istype(M.laws, /datum/ai_laws/ratvar))
remove_servant_of_ratvar(BM, TRUE)
BM.mind.transfer_to(O)
@@ -248,6 +248,41 @@
else
to_chat(user, "The MMI must go in after everything else! ")
+ else if(istype(W, /obj/item/borg/upgrade/ai))
+ var/obj/item/borg/upgrade/ai/M = W
+ if(check_completion())
+ if(!isturf(loc))
+ to_chat(user, "You cannot install[M], the frame has to be standing on the ground to be perfectly precise! ")
+ return
+ if(!user.drop_item())
+ to_chat(user, "[M] is stuck to your hand! ")
+ return
+ qdel(M)
+ var/mob/living/silicon/robot/O = new /mob/living/silicon/robot/shell(get_turf(src))
+
+ if(!aisync)
+ lawsync = FALSE
+ O.connected_ai = null
+ else
+ if(forced_ai)
+ O.connected_ai = forced_ai
+ O.notify_ai(AI_SHELL)
+ if(!lawsync)
+ O.lawupdate = FALSE
+ O.make_laws()
+
+
+ O.cell = chest.cell
+ chest.cell.loc = O
+ chest.cell = null
+ O.locked = panel_locked
+ O.job = "Cyborg"
+ forceMove(O)
+ O.robot_suit = src
+ if(!locomotion)
+ O.lockcharge = TRUE
+ O.update_canmove()
+
else if(istype(W,/obj/item/weapon/pen))
to_chat(user, "You need to use a multitool to name [src]! ")
else
diff --git a/code/game/objects/items/robot/robot_upgrades.dm b/code/game/objects/items/robot/robot_upgrades.dm
index a83cf764ae..2aee5acdd9 100644
--- a/code/game/objects/items/robot/robot_upgrades.dm
+++ b/code/game/objects/items/robot/robot_upgrades.dm
@@ -43,7 +43,7 @@
R.custom_name = heldname
R.updatename()
if(oldname == R.real_name)
- R.notify_ai(3, oldname, R.real_name)
+ R.notify_ai(RENAME, oldname, R.real_name)
return 1
@@ -381,3 +381,22 @@
R.module.add_module(S, FALSE, TRUE)
return 1
+
+/obj/item/borg/upgrade/ai
+ name = "B.O.R.I.S. module"
+ desc = "Bluespace Optimized Remote Intelligence Synchronization. An uplink device which takes the place of an MMI in cyborg endoskeletons, creating a robotic shell controlled by an AI."
+ icon_state = "boris"
+ origin_tech = "engineering=4;magnets=4;programming=4"
+
+/obj/item/borg/upgrade/ai/action(mob/living/silicon/robot/R)
+ if(..())
+ return
+ if(R.shell)
+ to_chat(usr, "This unit is already an AI shell! ")
+ return
+ if(R.key) //You cannot replace a player unless the key is completely removed.
+ to_chat(usr, "Intelligence patterns detected in this [R.braintype]. Aborting. ")
+ return
+
+ R.make_shell(src)
+ return TRUE
\ No newline at end of file
diff --git a/code/modules/telesci/bscrystal.dm b/code/game/objects/items/stacks/bscrystal.dm
similarity index 83%
rename from code/modules/telesci/bscrystal.dm
rename to code/game/objects/items/stacks/bscrystal.dm
index a346540df4..1563781267 100644
--- a/code/modules/telesci/bscrystal.dm
+++ b/code/game/objects/items/stacks/bscrystal.dm
@@ -1,5 +1,4 @@
-// Bluespace crystals, used in telescience and when crushed it will blink you to a random turf.
-
+//Bluespace crystals, used in telescience and when crushed it will blink you to a random turf.
/obj/item/weapon/ore/bluespace_crystal
name = "bluespace crystal"
desc = "A glowing bluespace crystal, not much is known about how they work. It looks very delicate."
@@ -42,19 +41,17 @@
blink_mob(hit_atom)
qdel(src)
-// Artifical bluespace crystal, doesn't give you much research.
-
+//Artifical bluespace crystal, doesn't give you much research.
/obj/item/weapon/ore/bluespace_crystal/artificial
name = "artificial bluespace crystal"
desc = "An artificially made bluespace crystal, it looks delicate."
origin_tech = "bluespace=3;plasmatech=4"
materials = list(MAT_BLUESPACE=MINERAL_MATERIAL_AMOUNT / 2)
blink_range = 4 // Not as good as the organic stuff!
- points = 0 // nice try
+ points = 0 //nice try
refined_type = null
-// Polycrystals, aka stacks
-
+//Polycrystals, aka stacks
/obj/item/stack/sheet/bluespace_crystal
name = "bluespace polycrystal"
icon = 'icons/obj/telescience.dmi'
@@ -65,21 +62,19 @@
attack_verb = list("bluespace polybashed", "bluespace polybattered", "bluespace polybludgeoned", "bluespace polythrashed", "bluespace polysmashed")
var/crystal_type = /obj/item/weapon/ore/bluespace_crystal/refined
-/obj/item/stack/sheet/bluespace_crystal/attack_self(mob/user) // to prevent the construction menu from ever happening
+/obj/item/stack/sheet/bluespace_crystal/attack_self(mob/user)// to prevent the construction menu from ever happening
to_chat(user, "You cannot crush the polycrystal in-hand, try breaking one off. ")
- return
/obj/item/stack/sheet/bluespace_crystal/attack_hand(mob/user)
- if (user.get_inactive_held_item() == src)
- if(zero_amount()) // in this case, a sanity check
+ if(user.get_inactive_held_item() == src)
+ if(zero_amount())
return
var/BC = new crystal_type(src)
user.put_in_hands(BC)
- amount--
- if (amount == 0)
- qdel(src)
+ use(1)
+ if(!amount)
to_chat(user, "You break the final crystal off. ")
- else to_chat(user, "You break off a crystal. ")
+ else
+ to_chat(user, "You break off a crystal. ")
else
..()
- return
\ No newline at end of file
diff --git a/code/game/objects/items/stacks/medical.dm b/code/game/objects/items/stacks/medical.dm
index 7906de1547..018d5573a3 100644
--- a/code/game/objects/items/stacks/medical.dm
+++ b/code/game/objects/items/stacks/medical.dm
@@ -73,7 +73,7 @@
else if(user.gender == FEMALE)
t_himself = "herself"
user.visible_message("[user] starts to apply [src] on [t_himself]... ", "You begin applying [src] on yourself... ")
- if(!do_mob(user, M, self_delay))
+ if(!do_mob(user, M, self_delay, extra_checks=CALLBACK(M, /mob/living/proc/can_inject,user,1)))
return
user.visible_message("[user] applies [src] on [t_himself]. ", "You apply [src] on yourself. ")
@@ -118,6 +118,7 @@
icon_state = "gauze"
stop_bleeding = 1800
self_delay = 20
+ max_amount = 12
/obj/item/stack/medical/gauze/improvised
name = "improvised gauze"
diff --git a/code/game/objects/items/stacks/rods.dm b/code/game/objects/items/stacks/rods.dm
index 45f9672540..4ebafdff30 100644
--- a/code/game/objects/items/stacks/rods.dm
+++ b/code/game/objects/items/stacks/rods.dm
@@ -1,12 +1,12 @@
-var/global/list/datum/stack_recipe/rod_recipes = list ( \
+GLOBAL_LIST_INIT(rod_recipes, list ( \
new/datum/stack_recipe("grille", /obj/structure/grille, 2, time = 10, one_per_turf = 1, on_floor = 1), \
new/datum/stack_recipe("table frame", /obj/structure/table_frame, 2, time = 10, one_per_turf = 1, on_floor = 1), \
new/datum/stack_recipe("scooter frame", /obj/item/scooter_frame, 10, time = 25, one_per_turf = 0), \
- )
+ ))
/obj/item/stack/rods
name = "metal rod"
- desc = "Some rods. Can be used for building, or something."
+ desc = "Some rods. Can be used for building or something."
singular_name = "metal rod"
icon_state = "rods"
item_state = "rods"
@@ -24,7 +24,7 @@ var/global/list/datum/stack_recipe/rod_recipes = list ( \
/obj/item/stack/rods/Initialize(mapload, new_amount, merge = TRUE)
..()
- recipes = rod_recipes
+ recipes = GLOB.rod_recipes
update_icon()
/obj/item/stack/rods/update_icon()
diff --git a/code/game/objects/items/stacks/sheets/glass.dm b/code/game/objects/items/stacks/sheets/glass.dm
index ebe30f01ad..e4ec02e746 100644
--- a/code/game/objects/items/stacks/sheets/glass.dm
+++ b/code/game/objects/items/stacks/sheets/glass.dm
@@ -8,10 +8,10 @@
/*
* Glass sheets
*/
-var/global/list/datum/stack_recipe/glass_recipes = list ( \
+GLOBAL_LIST_INIT(glass_recipes, list ( \
new/datum/stack_recipe("directional window", /obj/structure/window/unanchored, time = 0, on_floor = TRUE, window_checks = TRUE), \
new/datum/stack_recipe("fulltile window", /obj/structure/window/fulltile/unanchored, 2, time = 0, on_floor = TRUE, window_checks = TRUE) \
-)
+))
/obj/item/stack/sheet/glass
name = "glass"
@@ -33,7 +33,7 @@ var/global/list/datum/stack_recipe/glass_recipes = list ( \
amount = 50
/obj/item/stack/sheet/glass/Initialize(mapload, new_amount, merge = TRUE)
- recipes = glass_recipes
+ recipes = GLOB.glass_recipes
..()
/obj/item/stack/sheet/glass/attackby(obj/item/W, mob/user, params)
@@ -70,12 +70,12 @@ var/global/list/datum/stack_recipe/glass_recipes = list ( \
/*
* Reinforced glass sheets
*/
-var/global/list/datum/stack_recipe/reinforced_glass_recipes = list ( \
+GLOBAL_LIST_INIT(reinforced_glass_recipes, list ( \
new/datum/stack_recipe("windoor frame", /obj/structure/windoor_assembly, 5, time = 0, on_floor = TRUE, window_checks = TRUE), \
null, \
new/datum/stack_recipe("directional reinforced window", /obj/structure/window/reinforced/unanchored, time = 0, on_floor = TRUE, window_checks = TRUE), \
new/datum/stack_recipe("fulltile reinforced window", /obj/structure/window/reinforced/fulltile/unanchored, 2, time = 0, on_floor = TRUE, window_checks = TRUE) \
-)
+))
/obj/item/stack/sheet/rglass
@@ -107,7 +107,7 @@ var/global/list/datum/stack_recipe/reinforced_glass_recipes = list ( \
glasource.add_charge(amount * glacost)
/obj/item/stack/sheet/rglass/Initialize(mapload, new_amount, merge = TRUE)
- recipes = reinforced_glass_recipes
+ recipes = GLOB.reinforced_glass_recipes
..()
@@ -135,7 +135,8 @@ var/global/list/datum/stack_recipe/reinforced_glass_recipes = list ( \
return (BRUTELOSS)
-/obj/item/weapon/shard/New()
+/obj/item/weapon/shard/Initialize()
+ . = ..()
icon_state = pick("large", "medium", "small")
switch(icon_state)
if("small")
diff --git a/code/game/objects/items/stacks/sheets/leather.dm b/code/game/objects/items/stacks/sheets/leather.dm
index 17a4c74e91..dfd0723ab1 100644
--- a/code/game/objects/items/stacks/sheets/leather.dm
+++ b/code/game/objects/items/stacks/sheets/leather.dm
@@ -9,12 +9,12 @@
singular_name = "human skin piece"
icon_state = "sheet-hide"
-var/global/list/datum/stack_recipe/human_recipes = list( \
+GLOBAL_LIST_INIT(human_recipes, list( \
new/datum/stack_recipe("bloated human costume", /obj/item/clothing/suit/hooded/bloated_human, 5, on_floor = 1), \
- )
+ ))
/obj/item/stack/sheet/animalhide/human/Initialize(mapload, new_amount, merge = TRUE)
- recipes = human_recipes
+ recipes = GLOB.human_recipes
return ..()
/obj/item/stack/sheet/animalhide/generic
@@ -29,12 +29,12 @@ var/global/list/datum/stack_recipe/human_recipes = list( \
singular_name = "corgi hide piece"
icon_state = "sheet-corgi"
-var/global/list/datum/stack_recipe/corgi_recipes = list ( \
+GLOBAL_LIST_INIT(corgi_recipes, list ( \
new/datum/stack_recipe("corgi costume", /obj/item/clothing/suit/hooded/ian_costume, 3, on_floor = 1), \
- )
+ ))
/obj/item/stack/sheet/animalhide/corgi/Initialize(mapload, new_amount, merge = TRUE)
- recipes = corgi_recipes
+ recipes = GLOB.corgi_recipes
return ..()
/obj/item/stack/sheet/animalhide/cat
@@ -49,13 +49,13 @@ var/global/list/datum/stack_recipe/corgi_recipes = list ( \
singular_name = "monkey hide piece"
icon_state = "sheet-monkey"
-var/global/list/datum/stack_recipe/monkey_recipes = list ( \
+GLOBAL_LIST_INIT(monkey_recipes, list ( \
new/datum/stack_recipe("monkey mask", /obj/item/clothing/mask/gas/monkeymask, 1, on_floor = 1), \
new/datum/stack_recipe("monkey suit", /obj/item/clothing/suit/monkeysuit, 2, on_floor = 1), \
- )
+ ))
/obj/item/stack/sheet/animalhide/monkey/Initialize(mapload, new_amount, merge = TRUE)
- recipes = monkey_recipes
+ recipes = GLOB.monkey_recipes
return ..()
/obj/item/stack/sheet/animalhide/lizard
@@ -70,13 +70,13 @@ var/global/list/datum/stack_recipe/monkey_recipes = list ( \
singular_name = "alien hide piece"
icon_state = "sheet-xeno"
-var/global/list/datum/stack_recipe/xeno_recipes = list ( \
+GLOBAL_LIST_INIT(xeno_recipes, list ( \
new/datum/stack_recipe("alien helmet", /obj/item/clothing/head/xenos, 1, on_floor = 1), \
new/datum/stack_recipe("alien suit", /obj/item/clothing/suit/xenos, 2, on_floor = 1), \
- )
+ ))
/obj/item/stack/sheet/animalhide/xeno/Initialize(mapload, new_amount, merge = TRUE)
- recipes = xeno_recipes
+ recipes = GLOB.xeno_recipes
return ..()
//don't see anywhere else to put these, maybe together they could be used to make the xenos suit?
@@ -134,12 +134,12 @@ var/global/list/datum/stack_recipe/xeno_recipes = list ( \
origin_tech = "biotech=4"
-var/global/list/datum/stack_recipe/sinew_recipes = list ( \
+GLOBAL_LIST_INIT(sinew_recipes, list ( \
new/datum/stack_recipe("sinew restraints", /obj/item/weapon/restraints/handcuffs/sinew, 1, on_floor = 1), \
- )
+ ))
/obj/item/stack/sheet/sinew/Initialize(mapload, new_amount, merge = TRUE)
- recipes = sinew_recipes
+ recipes = GLOB.sinew_recipes
return ..()
/*
* Plates
diff --git a/code/game/objects/items/stacks/sheets/mineral.dm b/code/game/objects/items/stacks/sheets/mineral.dm
index 61eb42d6ca..611ef76eb4 100644
--- a/code/game/objects/items/stacks/sheets/mineral.dm
+++ b/code/game/objects/items/stacks/sheets/mineral.dm
@@ -26,14 +26,14 @@ Mineral Sheets
* Sandstone
*/
-var/global/list/datum/stack_recipe/sandstone_recipes = list ( \
+GLOBAL_LIST_INIT(sandstone_recipes, list ( \
new/datum/stack_recipe("pile of dirt", /obj/machinery/hydroponics/soil, 3, time = 10, one_per_turf = 1, on_floor = 1), \
new/datum/stack_recipe("sandstone door", /obj/structure/mineral_door/sandstone, 10, one_per_turf = 1, on_floor = 1), \
new/datum/stack_recipe("Assistant Statue", /obj/structure/statue/sandstone/assistant, 5, one_per_turf = 1, on_floor = 1), \
new/datum/stack_recipe("Breakdown into sand", /obj/item/weapon/ore/glass, 1, one_per_turf = 0, on_floor = 1), \
/* new/datum/stack_recipe("sandstone wall", ???), \
new/datum/stack_recipe("sandstone floor", ???),\ */
- )
+ ))
/obj/item/stack/sheet/mineral/sandstone
name = "sandstone brick"
@@ -47,7 +47,7 @@ var/global/list/datum/stack_recipe/sandstone_recipes = list ( \
sheettype = "sandstone"
/obj/item/stack/sheet/mineral/sandstone/Initialize(mapload, new_amount, merge = TRUE)
- recipes = sandstone_recipes
+ recipes = GLOB.sandstone_recipes
pixel_x = rand(0,4)-4
pixel_y = rand(0,4)-4
..()
@@ -67,12 +67,12 @@ var/global/list/datum/stack_recipe/sandstone_recipes = list ( \
layer = LOW_ITEM_LAYER
origin_tech = "materials=2"
-var/global/list/datum/stack_recipe/sandbag_recipes = list ( \
+GLOBAL_LIST_INIT(sandbag_recipes, list ( \
new/datum/stack_recipe("sandbags", /obj/structure/barricade/sandbags, 1, time = 25, one_per_turf = 1, on_floor = 1), \
- )
+ ))
/obj/item/stack/sheet/mineral/sandbags/Initialize(mapload, new_amount, merge = TRUE)
- recipes = sandbag_recipes
+ recipes = GLOB.sandbag_recipes
pixel_x = rand(0,4)-4
pixel_y = rand(0,4)-4
..()
@@ -88,16 +88,16 @@ var/global/list/datum/stack_recipe/sandbag_recipes = list ( \
sheettype = "diamond"
materials = list(MAT_DIAMOND=MINERAL_MATERIAL_AMOUNT)
-var/global/list/datum/stack_recipe/diamond_recipes = list ( \
+GLOBAL_LIST_INIT(diamond_recipes, list ( \
new/datum/stack_recipe("diamond door", /obj/structure/mineral_door/transparent/diamond, 10, one_per_turf = 1, on_floor = 1), \
new/datum/stack_recipe("diamond tile", /obj/item/stack/tile/mineral/diamond, 1, 4, 20), \
new/datum/stack_recipe("Captain Statue", /obj/structure/statue/diamond/captain, 5, one_per_turf = 1, on_floor = 1), \
new/datum/stack_recipe("AI Hologram Statue", /obj/structure/statue/diamond/ai1, 5, one_per_turf = 1, on_floor = 1), \
new/datum/stack_recipe("AI Core Statue", /obj/structure/statue/diamond/ai2, 5, one_per_turf = 1, on_floor = 1), \
- )
+ ))
/obj/item/stack/sheet/mineral/diamond/Initialize(mapload, new_amount, merge = TRUE)
- recipes = diamond_recipes
+ recipes = GLOB.diamond_recipes
pixel_x = rand(0,4)-4
pixel_y = rand(0,4)-4
..()
@@ -113,15 +113,15 @@ var/global/list/datum/stack_recipe/diamond_recipes = list ( \
sheettype = "uranium"
materials = list(MAT_URANIUM=MINERAL_MATERIAL_AMOUNT)
-var/global/list/datum/stack_recipe/uranium_recipes = list ( \
+GLOBAL_LIST_INIT(uranium_recipes, list ( \
new/datum/stack_recipe("uranium door", /obj/structure/mineral_door/uranium, 10, one_per_turf = 1, on_floor = 1), \
new/datum/stack_recipe("uranium tile", /obj/item/stack/tile/mineral/uranium, 1, 4, 20), \
new/datum/stack_recipe("Nuke Statue", /obj/structure/statue/uranium/nuke, 5, one_per_turf = 1, on_floor = 1), \
new/datum/stack_recipe("Engineer Statue", /obj/structure/statue/uranium/eng, 5, one_per_turf = 1, on_floor = 1), \
- )
+ ))
/obj/item/stack/sheet/mineral/uranium/Initialize(mapload, new_amount, merge = TRUE)
- recipes = uranium_recipes
+ recipes = GLOB.uranium_recipes
pixel_x = rand(0,4)-4
pixel_y = rand(0,4)-4
..()
@@ -140,14 +140,14 @@ var/global/list/datum/stack_recipe/uranium_recipes = list ( \
max_integrity = 100
materials = list(MAT_PLASMA=MINERAL_MATERIAL_AMOUNT)
-var/global/list/datum/stack_recipe/plasma_recipes = list ( \
+GLOBAL_LIST_INIT(plasma_recipes, list ( \
new/datum/stack_recipe("plasma door", /obj/structure/mineral_door/transparent/plasma, 10, one_per_turf = 1, on_floor = 1), \
new/datum/stack_recipe("plasma tile", /obj/item/stack/tile/mineral/plasma, 1, 4, 20), \
new/datum/stack_recipe("Scientist Statue", /obj/structure/statue/plasma/scientist, 5, one_per_turf = 1, on_floor = 1), \
- )
+ ))
/obj/item/stack/sheet/mineral/plasma/Initialize(mapload, new_amount, merge = TRUE)
- recipes = plasma_recipes
+ recipes = GLOB.plasma_recipes
pixel_x = rand(0,4)-4
pixel_y = rand(0,4)-4
..()
@@ -175,7 +175,7 @@ var/global/list/datum/stack_recipe/plasma_recipes = list ( \
sheettype = "gold"
materials = list(MAT_GOLD=MINERAL_MATERIAL_AMOUNT)
-var/global/list/datum/stack_recipe/gold_recipes = list ( \
+GLOBAL_LIST_INIT(gold_recipes, list ( \
new/datum/stack_recipe("golden door", /obj/structure/mineral_door/gold, 10, one_per_turf = 1, on_floor = 1), \
new/datum/stack_recipe("gold tile", /obj/item/stack/tile/mineral/gold, 1, 4, 20), \
new/datum/stack_recipe("HoS Statue", /obj/structure/statue/gold/hos, 5, one_per_turf = 1, on_floor = 1), \
@@ -184,10 +184,10 @@ var/global/list/datum/stack_recipe/gold_recipes = list ( \
new/datum/stack_recipe("RD Statue", /obj/structure/statue/gold/rd, 5, one_per_turf = 1, on_floor = 1), \
new/datum/stack_recipe("Simple Crown", /obj/item/clothing/head/crown, 5), \
new/datum/stack_recipe("CMO Statue", /obj/structure/statue/gold/cmo, 5, one_per_turf = 1, on_floor = 1), \
- )
+ ))
/obj/item/stack/sheet/mineral/gold/Initialize(mapload, new_amount, merge = TRUE)
- recipes = gold_recipes
+ recipes = GLOB.gold_recipes
pixel_x = rand(0,4)-4
pixel_y = rand(0,4)-4
..()
@@ -203,7 +203,7 @@ var/global/list/datum/stack_recipe/gold_recipes = list ( \
sheettype = "silver"
materials = list(MAT_SILVER=MINERAL_MATERIAL_AMOUNT)
-var/global/list/datum/stack_recipe/silver_recipes = list ( \
+GLOBAL_LIST_INIT(silver_recipes, list ( \
new/datum/stack_recipe("silver door", /obj/structure/mineral_door/silver, 10, one_per_turf = 1, on_floor = 1), \
new/datum/stack_recipe("silver tile", /obj/item/stack/tile/mineral/silver, 1, 4, 20), \
new/datum/stack_recipe("Med Officer Statue", /obj/structure/statue/silver/md, 5, one_per_turf = 1, on_floor = 1), \
@@ -211,10 +211,10 @@ var/global/list/datum/stack_recipe/silver_recipes = list ( \
new/datum/stack_recipe("Sec Officer Statue", /obj/structure/statue/silver/sec, 5, one_per_turf = 1, on_floor = 1), \
new/datum/stack_recipe("Sec Borg Statue", /obj/structure/statue/silver/secborg, 5, one_per_turf = 1, on_floor = 1), \
new/datum/stack_recipe("Med Borg Statue", /obj/structure/statue/silver/medborg, 5, one_per_turf = 1, on_floor = 1), \
- )
+ ))
/obj/item/stack/sheet/mineral/silver/Initialize(mapload, new_amount, merge = TRUE)
- recipes = silver_recipes
+ recipes = GLOB.silver_recipes
pixel_x = rand(0,4)-4
pixel_y = rand(0,4)-4
..()
@@ -230,13 +230,13 @@ var/global/list/datum/stack_recipe/silver_recipes = list ( \
sheettype = "clown"
materials = list(MAT_BANANIUM=MINERAL_MATERIAL_AMOUNT)
-var/global/list/datum/stack_recipe/clown_recipes = list ( \
+GLOBAL_LIST_INIT(clown_recipes, list ( \
new/datum/stack_recipe("bananium tile", /obj/item/stack/tile/mineral/bananium, 1, 4, 20), \
new/datum/stack_recipe("Clown Statue", /obj/structure/statue/bananium/clown, 5, one_per_turf = 1, on_floor = 1), \
- )
+ ))
/obj/item/stack/sheet/mineral/bananium/Initialize(mapload, new_amount, merge = TRUE)
- recipes = clown_recipes
+ recipes = GLOB.clown_recipes
pixel_x = rand(0,4)-4
pixel_y = rand(0,4)-4
..()
@@ -257,12 +257,12 @@ var/global/list/datum/stack_recipe/clown_recipes = list ( \
sheettype = "titanium"
materials = list(MAT_TITANIUM=MINERAL_MATERIAL_AMOUNT)
-var/global/list/datum/stack_recipe/titanium_recipes = list ( \
+GLOBAL_LIST_INIT(titanium_recipes, list ( \
new/datum/stack_recipe("titanium tile", /obj/item/stack/tile/mineral/titanium, 1, 4, 20), \
- )
+ ))
/obj/item/stack/sheet/mineral/titanium/Initialize(mapload, new_amount, merge = TRUE)
- recipes = titanium_recipes
+ recipes = GLOB.titanium_recipes
pixel_x = rand(0,4)-4
pixel_y = rand(0,4)-4
..()
@@ -284,12 +284,12 @@ var/global/list/datum/stack_recipe/titanium_recipes = list ( \
sheettype = "plastitanium"
materials = list(MAT_TITANIUM=2000, MAT_PLASMA=2000)
-var/global/list/datum/stack_recipe/plastitanium_recipes = list ( \
+GLOBAL_LIST_INIT(plastitanium_recipes, list ( \
new/datum/stack_recipe("plas-titanium tile", /obj/item/stack/tile/mineral/plastitanium, 1, 4, 20), \
- )
+ ))
/obj/item/stack/sheet/mineral/plastitanium/Initialize(mapload, new_amount, merge = TRUE)
- recipes = plastitanium_recipes
+ recipes = GLOB.plastitanium_recipes
pixel_x = rand(0,4)-4
pixel_y = rand(0,4)-4
..()
@@ -307,14 +307,14 @@ var/global/list/datum/stack_recipe/plastitanium_recipes = list ( \
origin_tech = "materials=1"
sheettype = "snow"
-var/global/list/datum/stack_recipe/snow_recipes = list ( \
+GLOBAL_LIST_INIT(snow_recipes, list ( \
new/datum/stack_recipe("Snow Wall",/turf/closed/wall/mineral/snow, 5, one_per_turf = 1, on_floor = 1), \
new/datum/stack_recipe("Snowman", /obj/structure/statue/snow/snowman, 5, one_per_turf = 1, on_floor = 1), \
new/datum/stack_recipe("Snowball", /obj/item/toy/snowball, 1), \
- )
+ ))
/obj/item/stack/sheet/mineral/snow/Initialize(mapload, new_amount, merge = TRUE)
- recipes = snow_recipes
+ recipes = GLOB.snow_recipes
pixel_x = rand(0,4)-4
pixel_y = rand(0,4)-4
..()
@@ -360,7 +360,7 @@ var/global/list/datum/stack_recipe/snow_recipes = list ( \
origin_tech = "materials=6;abductor=1"
sheettype = "abductor"
-var/global/list/datum/stack_recipe/abductor_recipes = list ( \
+GLOBAL_LIST_INIT(abductor_recipes, list ( \
/* new/datum/stack_recipe("alien chair", /obj/structure/chair, one_per_turf = 1, on_floor = 1), \ */
new/datum/stack_recipe("alien bed", /obj/structure/bed/abductor, 2, one_per_turf = 1, on_floor = 1), \
new/datum/stack_recipe("alien locker", /obj/structure/closet/abductor, 1, time = 15, one_per_turf = 1, on_floor = 1), \
@@ -371,8 +371,8 @@ var/global/list/datum/stack_recipe/abductor_recipes = list ( \
/* null, \
new/datum/stack_recipe("Abductor Agent Statue", /obj/structure/statue/bananium/clown, 5, one_per_turf = 1, on_floor = 1), \
new/datum/stack_recipe("Abductor Sciencist Statue", /obj/structure/statue/bananium/clown, 5, one_per_turf = 1, on_floor = 1)*/
- )
+ ))
/obj/item/stack/sheet/mineral/abductor/Initialize(mapload, new_amount, merge = TRUE)
- recipes = abductor_recipes
+ recipes = GLOB.abductor_recipes
..()
diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm
index 6eedb62766..dbd2de2e75 100644
--- a/code/game/objects/items/stacks/sheets/sheet_types.dm
+++ b/code/game/objects/items/stacks/sheets/sheet_types.dm
@@ -13,7 +13,7 @@
/*
* Metal
*/
-var/global/list/datum/stack_recipe/metal_recipes = list ( \
+GLOBAL_LIST_INIT(metal_recipes, list ( \
new/datum/stack_recipe("stool", /obj/structure/chair/stool, one_per_turf = 1, on_floor = 1), \
new/datum/stack_recipe("bar stool", /obj/structure/chair/stool/bar, one_per_turf = 1, on_floor = 1), \
new/datum/stack_recipe("chair", /obj/structure/chair, one_per_turf = 1, on_floor = 1), \
@@ -51,7 +51,8 @@ var/global/list/datum/stack_recipe/metal_recipes = list ( \
new/datum/stack_recipe("button frame", /obj/item/wallframe/button, 1), \
null, \
new/datum/stack_recipe("iron door", /obj/structure/mineral_door/iron, 20, one_per_turf = 1, on_floor = 1), \
-)
+ new/datum/stack_recipe("floodlight frame", /obj/structure/floodlight_frame, 5, one_per_turf = 1, on_floor = 1), \
+))
/obj/item/stack/sheet/metal
name = "metal"
@@ -86,16 +87,16 @@ var/global/list/datum/stack_recipe/metal_recipes = list ( \
cost = 500
/obj/item/stack/sheet/metal/Initialize(mapload, new_amount, merge = TRUE)
- recipes = metal_recipes
+ recipes = GLOB.metal_recipes
return ..()
/*
* Plasteel
*/
-var/global/list/datum/stack_recipe/plasteel_recipes = list ( \
+GLOBAL_LIST_INIT(plasteel_recipes, list ( \
new/datum/stack_recipe("AI core", /obj/structure/AIcore, 4, time = 50, one_per_turf = 1), \
new/datum/stack_recipe("bomb assembly", /obj/machinery/syndicatebomb/empty, 10, time = 50), \
-)
+))
/obj/item/stack/sheet/plasteel
name = "plasteel"
@@ -112,7 +113,7 @@ var/global/list/datum/stack_recipe/plasteel_recipes = list ( \
merge_type = /obj/item/stack/sheet/plasteel
/obj/item/stack/sheet/plasteel/Initialize(mapload, new_amount, merge = TRUE)
- recipes = plasteel_recipes
+ recipes = GLOB.plasteel_recipes
return ..()
/obj/item/stack/sheet/plasteel/twenty
@@ -124,7 +125,7 @@ var/global/list/datum/stack_recipe/plasteel_recipes = list ( \
/*
* Wood
*/
-var/global/list/datum/stack_recipe/wood_recipes = list ( \
+GLOBAL_LIST_INIT(wood_recipes, list ( \
new/datum/stack_recipe("wooden sandals", /obj/item/clothing/shoes/sandal, 1), \
new/datum/stack_recipe("wood floor tile", /obj/item/stack/tile/wood, 1, 4, 20), \
new/datum/stack_recipe("wood table frame", /obj/structure/table_frame/wood, 2, time = 10), \
@@ -146,7 +147,7 @@ var/global/list/datum/stack_recipe/wood_recipes = list ( \
new/datum/stack_recipe("honey frame", /obj/item/honey_frame, 5, time = 10),\
new/datum/stack_recipe("ore box", /obj/structure/ore_box, 4, time = 50, one_per_turf = 1, on_floor = 1),\
new/datum/stack_recipe("baseball bat", /obj/item/weapon/melee/baseball_bat, 5, time = 15),\
- )
+ ))
/obj/item/stack/sheet/mineral/wood
name = "wooden plank"
@@ -161,7 +162,7 @@ var/global/list/datum/stack_recipe/wood_recipes = list ( \
merge_type = /obj/item/stack/sheet/mineral/wood
/obj/item/stack/sheet/mineral/wood/Initialize(mapload, new_amount, merge = TRUE)
- recipes = wood_recipes
+ recipes = GLOB.wood_recipes
return ..()
/obj/item/stack/sheet/mineral/wood/fifty
@@ -170,7 +171,7 @@ var/global/list/datum/stack_recipe/wood_recipes = list ( \
/*
* Cloth
*/
-var/global/list/datum/stack_recipe/cloth_recipes = list ( \
+GLOBAL_LIST_INIT(cloth_recipes, list ( \
new/datum/stack_recipe("grey jumpsuit", /obj/item/clothing/under/color/grey, 3), \
new/datum/stack_recipe("black shoes", /obj/item/clothing/shoes/sneakers/black, 2), \
null, \
@@ -192,7 +193,7 @@ var/global/list/datum/stack_recipe/cloth_recipes = list ( \
new/datum/stack_recipe("black gloves", /obj/item/clothing/gloves/color/black, 3), \
null, \
new/datum/stack_recipe("blindfold", /obj/item/clothing/glasses/sunglasses/blindfold, 2), \
- )
+ ))
/obj/item/stack/sheet/cloth
name = "cloth"
@@ -206,7 +207,7 @@ var/global/list/datum/stack_recipe/cloth_recipes = list ( \
merge_type = /obj/item/stack/sheet/cloth
/obj/item/stack/sheet/cloth/Initialize(mapload, new_amount, merge = TRUE)
- recipes = cloth_recipes
+ recipes = GLOB.cloth_recipes
return ..()
/obj/item/stack/sheet/cloth/ten
@@ -215,7 +216,7 @@ var/global/list/datum/stack_recipe/cloth_recipes = list ( \
/*
* Cardboard
*/
-var/global/list/datum/stack_recipe/cardboard_recipes = list ( \
+GLOBAL_LIST_INIT(cardboard_recipes, list ( \
new/datum/stack_recipe("box", /obj/item/weapon/storage/box), \
new/datum/stack_recipe("light tubes", /obj/item/weapon/storage/box/lights/tubes), \
new/datum/stack_recipe("light bulbs", /obj/item/weapon/storage/box/lights/bulbs), \
@@ -226,7 +227,7 @@ var/global/list/datum/stack_recipe/cardboard_recipes = list ( \
new/datum/stack_recipe("folder", /obj/item/weapon/folder), \
new/datum/stack_recipe("large box", /obj/structure/closet/cardboard, 4), \
new/datum/stack_recipe("cardboard cutout", /obj/item/cardboard_cutout, 5), \
-)
+))
/obj/item/stack/sheet/cardboard //BubbleWrap //it's cardboard you fuck
name = "cardboard"
@@ -238,8 +239,8 @@ var/global/list/datum/stack_recipe/cardboard_recipes = list ( \
merge_type = /obj/item/stack/sheet/cardboard
/obj/item/stack/sheet/cardboard/Initialize(mapload, new_amount, merge = TRUE)
- recipes = cardboard_recipes
- return ..()
+ recipes = GLOB.cardboard_recipes
+ return ..()
/obj/item/stack/sheet/cardboard/fifty
amount = 50
@@ -248,14 +249,14 @@ var/global/list/datum/stack_recipe/cardboard_recipes = list ( \
* Runed Metal
*/
-var/global/list/datum/stack_recipe/runed_metal_recipes = list ( \
+GLOBAL_LIST_INIT(runed_metal_recipes, list ( \
new/datum/stack_recipe("runed door", /obj/machinery/door/airlock/cult, 1, time = 50, one_per_turf = 1, on_floor = 1), \
new/datum/stack_recipe("runed girder", /obj/structure/girder/cult, 1, time = 50, one_per_turf = 1, on_floor = 1), \
new/datum/stack_recipe("pylon", /obj/structure/destructible/cult/pylon, 4, time = 40, one_per_turf = 1, on_floor = 1), \
new/datum/stack_recipe("forge", /obj/structure/destructible/cult/forge, 3, time = 40, one_per_turf = 1, on_floor = 1), \
new/datum/stack_recipe("archives", /obj/structure/destructible/cult/tome, 3, time = 40, one_per_turf = 1, on_floor = 1), \
new/datum/stack_recipe("altar", /obj/structure/destructible/cult/talisman, 3, time = 40, one_per_turf = 1, on_floor = 1), \
- )
+ ))
/obj/item/stack/sheet/runed_metal
name = "runed metal"
@@ -286,13 +287,13 @@ var/global/list/datum/stack_recipe/runed_metal_recipes = list ( \
amount = 50
/obj/item/stack/sheet/runed_metal/Initialize(mapload, new_amount, merge = TRUE)
- recipes = runed_metal_recipes
+ recipes = GLOB.runed_metal_recipes
return ..()
/*
* Brass
*/
-var/global/list/datum/stack_recipe/brass_recipes = list ( \
+GLOBAL_LIST_INIT(brass_recipes, list ( \
new/datum/stack_recipe("wall gear", /obj/structure/destructible/clockwork/wall_gear, 3, time = 30, one_per_turf = TRUE, on_floor = TRUE), \
null,
new/datum/stack_recipe("pinion airlock", /obj/machinery/door/airlock/clockwork, 5, time = 50, one_per_turf = TRUE, on_floor = TRUE), \
@@ -302,7 +303,7 @@ var/global/list/datum/stack_recipe/brass_recipes = list ( \
new/datum/stack_recipe("directional brass window", /obj/structure/window/reinforced/clockwork/unanchored, time = 0, on_floor = TRUE, window_checks = TRUE), \
new/datum/stack_recipe("fulltile brass window", /obj/structure/window/reinforced/clockwork/fulltile/unanchored, 2, time = 0, on_floor = TRUE, window_checks = TRUE), \
new/datum/stack_recipe("brass table frame", /obj/structure/table_frame/brass, 1, time = 5, one_per_turf = TRUE, on_floor = TRUE) \
-)
+))
/obj/item/stack/tile/brass
name = "brass"
@@ -323,7 +324,7 @@ var/global/list/datum/stack_recipe/brass_recipes = list ( \
qdel(src)
/obj/item/stack/tile/brass/Initialize(mapload, new_amount, merge = TRUE)
- recipes = brass_recipes
+ recipes = GLOB.brass_recipes
..()
pixel_x = 0
pixel_y = 0
@@ -359,8 +360,8 @@ var/global/list/datum/stack_recipe/brass_recipes = list ( \
throw_range = 3
origin_tech = "materials=2;biotech=2"
-var/global/list/datum/stack_recipe/plastic_recipes = list(
- new /datum/stack_recipe("plastic flaps", /obj/structure/plasticflaps, 5, one_per_turf = 1, on_floor = 1, time = 40))
+GLOBAL_LIST_INIT(plastic_recipes, list(
+ new /datum/stack_recipe("plastic flaps", /obj/structure/plasticflaps, 5, one_per_turf = 1, on_floor = 1, time = 40)))
/obj/item/stack/sheet/plastic
name = "plastic"
@@ -379,5 +380,5 @@ var/global/list/datum/stack_recipe/plastic_recipes = list(
amount = 5
/obj/item/stack/sheet/plastic/Initialize(mapload, new_amount, merge = TRUE)
- recipes = plastic_recipes
+ recipes = GLOB.plastic_recipes
. = ..()
diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm
index c903b9d739..f332422578 100644
--- a/code/game/objects/items/toys.dm
+++ b/code/game/objects/items/toys.dm
@@ -532,10 +532,10 @@
var/datum/devilinfo/devil = randomDevilInfo()
var/list/messages = list()
messages += "Some fun facts about: [devil.truename]"
- messages += "[lawlorify[LORE][devil.bane]]"
- messages += "[lawlorify[LORE][devil.obligation]]"
- messages += "[lawlorify[LORE][devil.ban]]"
- messages += "[lawlorify[LORE][devil.banish]]"
+ messages += "[GLOB.lawlorify[LORE][devil.bane]]"
+ messages += "[GLOB.lawlorify[LORE][devil.obligation]]"
+ messages += "[GLOB.lawlorify[LORE][devil.ban]]"
+ messages += "[GLOB.lawlorify[LORE][devil.banish]]"
return messages
/obj/item/toy/talking/owl
@@ -554,81 +554,6 @@
chattering = TRUE
phomeme = "griffin"
-/obj/item/toy/talking/skeleton
- name = "skeleton action figure"
- desc = "An action figure modeled after 'Oh-cee', the original content \
- skeleton.\nNot suitable for infants or assistants under 36 months \
- of age."
- icon_state = "skeletonprize"
- attack_verb = list("boned", "dunked on", "worked down to the bone")
- chattering = TRUE
-
- var/list/regular_messages = list(
- "Why was the skeleton such a bad liar? \
- Because you can see right through him!",
- "When does a skeleton laugh? When something tickles his funny bone!",
- "Why couldn't the skeleton win the beauty contest? \
- Because he had no body!",
- "What do you call a skeleton in the winter? A numbskull!",
- "What did the skeleton say before eating? Bone appetit!",
- "What type of art do skeletons like? Skulltures!",
- "What instrument do skeletons play? The trom-bone!",
- "Why are skeletons always so calm? \
- Because nothing gets under their skin!",
- "How did the skeleton know it was going to rain? \
- He could feel it in his bones.",
- "Why did the skeleton go to the hospital? \
- To get his ghoul stones removed.",
- "Why can't skeletons play music in churches? \
- Because they have no organs.",
- "There's a skeleton inside everyone! Except slime people I guess...",
- "The birds are too busy to notice me acting in the shadows!",
- "Giraffes have the same number of bones in their necks as humans. \
- You should never trust a giraffe.",
- "When I meet a dog in the street, I always offer it a bone!",
- "In corsetry, a bone is one of the rigid parts of a corset that \
- forms its frame and gives it rigidity.",
- "A person who plays the trombone is called a trombonist or \
- trombone player.",
- "Remember, compromise is for those without backbones!",
- "If you go up to the captain and say the word 'bone' repeatedly, \
- eventually he'll brig you.",
- "Yo ho ho, shiver me bones!",
- "So what you're saying is, you only love me for my legs?",
- "You will never again find socks that match!",
- "BONES! BONES! BONES!",
- "Bones absorb x-rays, which is why radiation gives you superpowers.",
- "Oh-cee! The ORIGINAL CONTENT SKELETON. Suitable for ages 36 months \
- and up.",
- "I just don't have the heart to judge you.",
- "I don't have the stomach for this.",
- "I'm a fighter, not a liver.",
- "How can I see without eyeballs?",
- "Ask your parents about 'boning', before you get pregnant.",
- "Remember, a dog is for life, not just for christmas.")
-
-/obj/item/toy/talking/skeleton/suicide_act(mob/user)
- user.visible_message("[user] is trying to commit suicide with [src]. ")
-
- if(ishuman(user))
- var/mob/living/carbon/human/H = user
- H.set_species(/datum/species/skeleton)
-
- toy_talk(user, "RATTLE ME BONES")
-
- user.Stun(5)
- sleep(20)
- return OXYLOSS
-
-/obj/item/toy/talking/skeleton/generate_messages()
- return list(pick(regular_messages))
-
-/obj/item/toy/talking/skeleton/toy_talk(user, message)
- phomeme = pick("sans", "papyrus")
-
- span = "danger [phomeme]"
- ..()
-
/*
|| A Deck of Cards for playing various games of chance ||
*/
@@ -1381,34 +1306,10 @@
to_chat(user, "You name the dummy as \"[doll_name]\"")
name = "[initial(name)] - [doll_name]"
-/obj/item/toy/dummy/talk_into(atom/movable/M, message, channel, list/spans)
+/obj/item/toy/dummy/talk_into(atom/movable/M, message, channel, list/spans, datum/language/language)
log_say("[key_name(M)] : through dummy : [message]")
- say(message)
+ say(message, language)
return NOPASS
/obj/item/toy/dummy/GetVoice()
return doll_name
-
- /*
- * Ash drake plushie
- */
-
-/obj/item/plush_drake
- name = "Ash drake plushie"
- desc = "An adorable stuffed toy that resembles a fierce dragon."
- icon = 'icons/obj/plush_drake.dmi'
- icon_state = "plush_drake"
- item_state = "ash_plush"
- w_class = WEIGHT_CLASS_SMALL
- attack_verb = list("burned", "bitten", "swooped")
- resistance_flags = FLAMMABLE
-
-//Attack mob
-/obj/item/plush_drake/attack(mob/M, mob/user)
- return ..()
-
-//Attack self
-/obj/item/plush_drake/attack_self(mob/user)
- user << "You pet [src]. D'awww. "
- return ..()
-
diff --git a/code/game/objects/items/weapons/AI_modules.dm b/code/game/objects/items/weapons/AI_modules.dm
index 4e00f6447a..9457682582 100644
--- a/code/game/objects/items/weapons/AI_modules.dm
+++ b/code/game/objects/items/weapons/AI_modules.dm
@@ -67,7 +67,7 @@ AI MODULES
var/time = time2text(world.realtime,"hh:mm:ss")
var/ainame = law_datum.owner ? law_datum.owner.name : "empty AI core"
var/aikey = law_datum.owner ? law_datum.owner.ckey : "null"
- lawchanges.Add("[time] : [user.name]([user.key]) used [src.name] on [ainame]([aikey]).[law2log ? " The law specified [law2log]" : ""]")
+ GLOB.lawchanges.Add("[time] : [user.name]([user.key]) used [src.name] on [ainame]([aikey]).[law2log ? " The law specified [law2log]" : ""]")
log_law("[user.key]/[user.name] used [src.name] on [aikey]/([ainame]).[law2log ? " The law specified [law2log]" : ""]")
message_admins("[key_name_admin(user)] used [src.name] on [key_name_admin(law_datum.owner)].[law2log ? " The law specified [law2log]" : ""]")
diff --git a/code/game/objects/items/weapons/RCD.dm b/code/game/objects/items/weapons/RCD.dm
index 6cd581460a..dbb3149a38 100644
--- a/code/game/objects/items/weapons/RCD.dm
+++ b/code/game/objects/items/weapons/RCD.dm
@@ -213,13 +213,13 @@ RCD
src.spark_system = new /datum/effect_system/spark_spread
spark_system.set_up(5, 0, src)
spark_system.attach(src)
- rcd_list += src
+ GLOB.rcd_list += src
/obj/item/weapon/rcd/Destroy()
qdel(spark_system)
spark_system = null
- rcd_list -= src
+ GLOB.rcd_list -= src
. = ..()
/obj/item/weapon/rcd/attackby(obj/item/weapon/W, mob/user, params)
diff --git a/code/game/objects/items/weapons/RPD.dm b/code/game/objects/items/weapons/RPD.dm
index 3daa86ed8e..c0065b7751 100644
--- a/code/game/objects/items/weapons/RPD.dm
+++ b/code/game/objects/items/weapons/RPD.dm
@@ -31,7 +31,7 @@ RPD
/datum/pipe_info/New(pid,direction,dt)
src.id=pid
- src.icon_state=pipeID2State["[pid]"]
+ src.icon_state=GLOB.pipeID2State["[pid]"]
src.dir = direction
src.dirtype=dt
@@ -48,7 +48,7 @@ RPD
/datum/pipe_info/meter/Render(dispenser,label)
return "[label] " //hardcoding is no
-var/global/list/disposalpipeID2State=list(
+GLOBAL_LIST_INIT(disposalpipeID2State, list(
"pipe-s",
"pipe-c",
"pipe-j1",
@@ -59,8 +59,7 @@ var/global/list/disposalpipeID2State=list(
"outlet",
"intake",
"pipe-j1s",
- "pipe-j2s"
-)
+ "pipe-j2s"))
/datum/pipe_info/disposal
categoryId = CATEGORY_DISPOSALS
@@ -69,7 +68,7 @@ var/global/list/disposalpipeID2State=list(
/datum/pipe_info/disposal/New(var/pid,var/dt)
src.id=pid
- src.icon_state=disposalpipeID2State[pid+1]
+ src.icon_state=GLOB.disposalpipeID2State[pid+1]
src.dir = SOUTH
src.dirtype=dt
if(pidDISP_END_CHUTE)
@@ -79,7 +78,7 @@ var/global/list/disposalpipeID2State=list(
return "[label] " //avoid hardcoding.
//find these defines in code\game\machinery\pipe\consruction.dm
-var/global/list/RPD_recipes=list(
+GLOBAL_LIST_INIT(RPD_recipes, list(
"Regular Pipes" = list(
"Pipe" = new /datum/pipe_info(PIPE_SIMPLE, 1, PIPE_BENDABLE),
//"Bent Pipe" = new /datum/pipe_info(PIPE_SIMPLE, 5, PIPE_BENT),
@@ -119,7 +118,7 @@ var/global/list/RPD_recipes=list(
"Chute" = new /datum/pipe_info/disposal(DISP_END_CHUTE, PIPE_UNARY),
"Sort Junction" = new /datum/pipe_info/disposal(DISP_SORTJUNCTION, PIPE_TRINARY),
)
-)
+))
/obj/item/weapon/pipe_dispenser
name = "Rapid Piping Device (RPD)"
desc = "A device used to rapidly pipe things."
@@ -205,8 +204,8 @@ var/global/list/RPD_recipes=list(
var/icon/preview=null
var/datbuild = ""
- for(var/category in RPD_recipes)
- var/list/cat=RPD_recipes[category]
+ for(var/category in GLOB.RPD_recipes)
+ var/list/cat = GLOB.RPD_recipes[category]
for(var/label in cat)
var/datum/pipe_info/I = cat[label]
var/found=0
diff --git a/code/game/objects/items/weapons/cards_ids.dm b/code/game/objects/items/weapons/cards_ids.dm
index b2c92183bd..5832dbfbf1 100644
--- a/code/game/objects/items/weapons/cards_ids.dm
+++ b/code/game/objects/items/weapons/cards_ids.dm
@@ -131,11 +131,11 @@ update_label("John Doe", "Clowny")
/obj/item/weapon/card/id/syndicate
name = "agent card"
- access = list(access_maint_tunnels, access_syndicate)
+ access = list(GLOB.access_maint_tunnels, GLOB.access_syndicate)
origin_tech = "syndicate=1"
var/anyone = FALSE //Can anyone forge the ID or just syndicate?
-/obj/item/weapon/card/id/syndicate/New()
+/obj/item/weapon/card/id/syndicate/Initialize()
..()
var/datum/action/item_action/chameleon/change/chameleon_action = new(src)
chameleon_action.chameleon_type = /obj/item/weapon/card/id
@@ -181,7 +181,7 @@ update_label("John Doe", "Clowny")
desc = "An ID straight from the Syndicate."
registered_name = "Syndicate"
assignment = "Syndicate Overlord"
- access = list(access_syndicate)
+ access = list(GLOB.access_syndicate)
/obj/item/weapon/card/id/captains_spare
name = "captain's spare ID"
@@ -191,7 +191,7 @@ update_label("John Doe", "Clowny")
registered_name = "Captain"
assignment = "Captain"
-/obj/item/weapon/card/id/captains_spare/New()
+/obj/item/weapon/card/id/captains_spare/Initialize()
var/datum/job/captain/J = new/datum/job/captain
access = J.get_access()
..()
@@ -203,7 +203,7 @@ update_label("John Doe", "Clowny")
registered_name = "Central Command"
assignment = "General"
-/obj/item/weapon/card/id/centcom/New()
+/obj/item/weapon/card/id/centcom/Initialize()
access = get_all_centcom_access()
..()
@@ -214,29 +214,33 @@ update_label("John Doe", "Clowny")
registered_name = "Emergency Response Team Commander"
assignment = "Emergency Response Team Commander"
-/obj/item/weapon/card/id/ert/New()
- access = get_all_accesses()+get_ert_access("commander")-access_change_ids
+/obj/item/weapon/card/id/ert/Initialize()
+ access = get_all_accesses()+get_ert_access("commander")-GLOB.access_change_ids
+ ..()
/obj/item/weapon/card/id/ert/Security
registered_name = "Security Response Officer"
assignment = "Security Response Officer"
-/obj/item/weapon/card/id/ert/Security/New()
- access = get_all_accesses()+get_ert_access("sec")-access_change_ids
+/obj/item/weapon/card/id/ert/Security/Initialize()
+ access = get_all_accesses()+get_ert_access("sec")-GLOB.access_change_ids
+ ..()
/obj/item/weapon/card/id/ert/Engineer
registered_name = "Engineer Response Officer"
assignment = "Engineer Response Officer"
-/obj/item/weapon/card/id/ert/Engineer/New()
- access = get_all_accesses()+get_ert_access("eng")-access_change_ids
+/obj/item/weapon/card/id/ert/Engineer/Initialize()
+ access = get_all_accesses()+get_ert_access("eng")-GLOB.access_change_ids
+ ..()
/obj/item/weapon/card/id/ert/Medical
registered_name = "Medical Response Officer"
assignment = "Medical Response Officer"
-/obj/item/weapon/card/id/ert/Medical/New()
- access = get_all_accesses()+get_ert_access("med")-access_change_ids
+/obj/item/weapon/card/id/ert/Medical/Initialize()
+ access = get_all_accesses()+get_ert_access("med")-GLOB.access_change_ids
+ ..()
/obj/item/weapon/card/id/prisoner
name = "prisoner ID card"
@@ -281,18 +285,18 @@ update_label("John Doe", "Clowny")
/obj/item/weapon/card/id/mining
name = "mining ID"
- access = list(access_mining, access_mining_station, access_mineral_storeroom)
+ access = list(GLOB.access_mining, GLOB.access_mining_station, GLOB.access_mineral_storeroom)
/obj/item/weapon/card/id/away
name = "a perfectly generic identification card"
desc = "A perfectly generic identification card. Looks like it could use some flavor."
- access = list(access_away_general)
+ access = list(GLOB.access_away_general)
/obj/item/weapon/card/id/away/hotel
name = "Staff ID"
desc = "A staff ID used to access the hotel's doors."
- access = list(access_away_general, access_away_maint)
+ access = list(GLOB.access_away_general, GLOB.access_away_maint)
/obj/item/weapon/card/id/away/hotel/securty
name = "Officer ID"
- access = list(access_away_general, access_away_maint, access_away_sec)
+ access = list(GLOB.access_away_general, GLOB.access_away_maint, GLOB.access_away_sec)
diff --git a/code/game/objects/items/weapons/cigs_lighters.dm b/code/game/objects/items/weapons/cigs_lighters.dm
index 9c873e2048..68d4b985c3 100644
--- a/code/game/objects/items/weapons/cigs_lighters.dm
+++ b/code/game/objects/items/weapons/cigs_lighters.dm
@@ -104,24 +104,29 @@ CIGARETTE PACKETS ARE IN FANCY.DM
item_state = "cigoff"
w_class = WEIGHT_CLASS_TINY
body_parts_covered = null
- var/lit = 0
+ var/lit = FALSE
+ var/starts_lit = FALSE
var/icon_on = "cigon" //Note - these are in masks.dmi not in cigarette.dmi
var/icon_off = "cigoff"
var/type_butt = /obj/item/weapon/cigbutt
var/lastHolder = null
var/smoketime = 300
var/chem_volume = 30
+ var/list/list_reagents = list("nicotine" = 15)
heat = 1000
/obj/item/clothing/mask/cigarette/suicide_act(mob/user)
user.visible_message("[user] is huffing [src] as quickly as [user.p_they()] can! It looks like [user.p_theyre()] trying to give [user.p_them()]self cancer. ")
return (TOXLOSS|OXYLOSS)
-/obj/item/clothing/mask/cigarette/New()
+/obj/item/clothing/mask/cigarette/Initialize()
..()
create_reagents(chem_volume)
reagents.set_reacting(FALSE) // so it doesn't react until you light it
- reagents.add_reagent("nicotine", 15)
+ if(list_reagents)
+ reagents.add_reagent_list(list_reagents)
+ if(starts_lit)
+ light()
/obj/item/clothing/mask/cigarette/Destroy()
STOP_PROCESSING(SSobj, src)
@@ -245,6 +250,38 @@ CIGARETTE PACKETS ARE IN FANCY.DM
/obj/item/clothing/mask/cigarette/is_hot()
return lit * heat
+// Cigarette brands.
+
+/obj/item/clothing/mask/cigarette/space_cigarette
+ desc = "A Space Cigarette brand cigarette."
+
+/obj/item/clothing/mask/cigarette/dromedary
+ desc = "A DromedaryCo brand cigarette."
+
+/obj/item/clothing/mask/cigarette/uplift
+ desc = "An Uplift Smooth brand cigarette."
+ list_reagents = list("nicotine" = 7.5, "menthol" = 7.5)
+
+/obj/item/clothing/mask/cigarette/robust
+ desc = "A Robust brand cigarette."
+
+/obj/item/clothing/mask/cigarette/robustgold
+ desc = "A Robust Gold brand cigarette."
+ list_reagents = list("nicotine" = 15, "gold" = 1)
+
+/obj/item/clothing/mask/cigarette/carp
+ desc = "A Carp Classic brand cigarette."
+
+/obj/item/clothing/mask/cigarette/syndicate
+ desc = "An unknown brand cigarette."
+ list_reagents = list("nicotine" = 15, "omnizine" = 15)
+
+/obj/item/clothing/mask/cigarette/shadyjims
+ desc = "A Shady Jim's Super Slims cigarette."
+ list_reagents = list("nicotine" = 15, "lipolicide" = 4, "ammonia" = 2, "plantbgone" = 1, "toxin" = 1.5)
+
+// Rollies.
+
/obj/item/clothing/mask/cigarette/rollie
name = "rollie"
desc = "A roll of dried plant matter wrapped in thin paper."
@@ -262,11 +299,9 @@ CIGARETTE PACKETS ARE IN FANCY.DM
src.pixel_x = rand(-5, 5)
src.pixel_y = rand(-5, 5)
-/obj/item/clothing/mask/cigarette/rollie/trippy/New()
- ..()
- reagents.add_reagent("mushroomhallucinogen", 50)
- light()
-
+/obj/item/clothing/mask/cigarette/rollie/trippy
+ list_reagents = list("nicotine" = 15, "mushroomhallucinogen" = 35)
+ starts_lit = TRUE
/obj/item/weapon/cigbutt/roach
name = "roach"
@@ -338,9 +373,10 @@ CIGARETTE PACKETS ARE IN FANCY.DM
icon_off = "pipeoff"
smoketime = 0
chem_volume = 100
+ list_reagents = null
var/packeditem = 0
-/obj/item/clothing/mask/cigarette/pipe/New()
+/obj/item/clothing/mask/cigarette/pipe/Initialize()
..()
name = "empty [initial(name)]"
diff --git a/code/game/objects/items/weapons/dna_injector.dm b/code/game/objects/items/weapons/dna_injector.dm
index 952e51fc96..00d6a55f2e 100644
--- a/code/game/objects/items/weapons/dna_injector.dm
+++ b/code/game/objects/items/weapons/dna_injector.dm
@@ -23,9 +23,9 @@
/obj/item/weapon/dnainjector/proc/prepare()
for(var/mut_key in add_mutations_static)
- add_mutations.Add(mutations_list[mut_key])
+ add_mutations.Add(GLOB.mutations_list[mut_key])
for(var/mut_key in remove_mutations_static)
- remove_mutations.Add(mutations_list[mut_key])
+ remove_mutations.Add(GLOB.mutations_list[mut_key])
/obj/item/weapon/dnainjector/proc/inject(mob/living/carbon/M, mob/user)
prepare()
diff --git a/code/game/objects/items/weapons/explosives.dm b/code/game/objects/items/weapons/explosives.dm
index 394eda9a7a..5c637ba31c 100644
--- a/code/game/objects/items/weapons/explosives.dm
+++ b/code/game/objects/items/weapons/explosives.dm
@@ -88,7 +88,7 @@
forceMove(null)
var/message = "[ADMIN_LOOKUPFLW(user)] planted [name] on [target.name] at [ADMIN_COORDJMP(target)] with [timer] second fuse"
- bombers += message
+ GLOB.bombers += message
message_admins(message,0,1)
log_game("[key_name(user)] planted [name] on [target.name] at [COORD(target)] with [timer] second fuse")
diff --git a/code/game/objects/items/weapons/grenades/flashbang.dm b/code/game/objects/items/weapons/grenades/flashbang.dm
index 3da3bb011a..556f727909 100644
--- a/code/game/objects/items/weapons/grenades/flashbang.dm
+++ b/code/game/objects/items/weapons/grenades/flashbang.dm
@@ -19,6 +19,8 @@
qdel(src)
/obj/item/weapon/grenade/flashbang/proc/bang(turf/T , mob/living/M)
+ if(M.stat == DEAD) //They're dead!
+ return
M.show_message("BANG ", 2)
playsound(loc, 'sound/weapons/flashbang.ogg', 100, 1)
var/distance = max(0,get_dist(get_turf(src),T))
diff --git a/code/game/objects/items/weapons/grenades/grenade.dm b/code/game/objects/items/weapons/grenades/grenade.dm
index a8d9826421..e478813558 100644
--- a/code/game/objects/items/weapons/grenades/grenade.dm
+++ b/code/game/objects/items/weapons/grenades/grenade.dm
@@ -56,7 +56,7 @@
var/turf/bombturf = get_turf(src)
var/area/A = get_area(bombturf)
var/message = "[ADMIN_LOOKUPFLW(user)]) has primed a [name] for detonation at [ADMIN_COORDJMP(bombturf)]"
- bombers += message
+ GLOB.bombers += message
message_admins(message)
log_game("[key_name(usr)] has primed a [name] for detonation at [A.name] [COORD(bombturf)].")
if(iscarbon(user))
diff --git a/code/game/objects/items/weapons/holy_weapons.dm b/code/game/objects/items/weapons/holy_weapons.dm
index 868ec8e059..d42e135aeb 100644
--- a/code/game/objects/items/weapons/holy_weapons.dm
+++ b/code/game/objects/items/weapons/holy_weapons.dm
@@ -15,37 +15,31 @@
return (BRUTELOSS|FIRELOSS)
/obj/item/weapon/nullrod/attack_self(mob/user)
- if(reskinned)
- return
- if(user.mind && (user.mind.isholy))
+ if(user.mind && (user.mind.isholy) && !reskinned)
reskin_holy_weapon(user)
/obj/item/weapon/nullrod/proc/reskin_holy_weapon(mob/M)
+ if(SSreligion.holy_weapon_type)
+ return
var/obj/item/weapon/nullrod/holy_weapon
+ var/list/holy_weapons_list = typesof(/obj/item/weapon/nullrod)
+ var/list/display_names = list()
+ for(var/V in holy_weapons_list)
+ var/atom/A = V
+ display_names += initial(A.name)
- if(SSreligion.holy_weapon)
- holy_weapon = new SSreligion.holy_weapon
- to_chat(M, "The null rod suddenly morphs into your religions already chosen holy weapon. ")
- else
- var/list/holy_weapons_list = typesof(/obj/item/weapon/nullrod)
- var/list/display_names = list()
- for(var/V in holy_weapons_list)
- var/atom/A = V
- display_names += initial(A.name)
+ var/choice = input(M,"What theme would you like for your holy weapon?","Holy Weapon Theme") as null|anything in display_names
+ if(QDELETED(src) || !choice || M.stat || !in_range(M, src) || M.restrained() || !M.canmove || reskinned)
+ return
- var/choice = input(M,"What theme would you like for your holy weapon?","Holy Weapon Theme") as null|anything in display_names
- if(!src || !choice || M.stat || !in_range(M, src) || M.restrained() || !M.canmove || reskinned)
- return
+ var/index = display_names.Find(choice)
+ var/A = holy_weapons_list[index]
- var/index = display_names.Find(choice)
- var/A = holy_weapons_list[index]
+ holy_weapon = new A
- holy_weapon = new A
-
- SSreligion.holy_weapon = holy_weapon.type
-
- feedback_set_details("chaplain_weapon","[choice]")
+ SSreligion.holy_weapon_type = holy_weapon.type
+ feedback_set_details("chaplain_weapon","[choice]")
if(holy_weapon)
holy_weapon.reskinned = TRUE
diff --git a/code/game/objects/items/weapons/implants/implant_abductor.dm b/code/game/objects/items/weapons/implants/implant_abductor.dm
index f5a38e2098..1d382a4ece 100644
--- a/code/game/objects/items/weapons/implants/implant_abductor.dm
+++ b/code/game/objects/items/weapons/implants/implant_abductor.dm
@@ -39,7 +39,7 @@
/obj/item/weapon/implant/abductor/proc/get_team_console(var/team)
var/obj/machinery/abductor/console/console
- for(var/obj/machinery/abductor/console/c in machines)
+ for(var/obj/machinery/abductor/console/c in GLOB.machines)
if(c.team == team)
console = c
break
diff --git a/code/game/objects/items/weapons/implants/implant_chem.dm b/code/game/objects/items/weapons/implants/implant_chem.dm
index 014a35c6ff..e537bf44de 100644
--- a/code/game/objects/items/weapons/implants/implant_chem.dm
+++ b/code/game/objects/items/weapons/implants/implant_chem.dm
@@ -24,11 +24,11 @@
/obj/item/weapon/implant/chem/New()
..()
create_reagents(50)
- tracked_chem_implants += src
+ GLOB.tracked_chem_implants += src
/obj/item/weapon/implant/chem/Destroy()
. = ..()
- tracked_chem_implants -= src
+ GLOB.tracked_chem_implants -= src
/obj/item/weapon/implant/chem/trigger(emote, mob/source)
if(emote == "deathgasp")
@@ -57,7 +57,7 @@
/obj/item/weapon/implantcase/chem/attackby(obj/item/weapon/W, mob/user, params)
if(istype(W,/obj/item/weapon/reagent_containers/syringe) && imp)
- W.afterattack(imp, user, params)
+ W.afterattack(imp, user, TRUE, params)
return TRUE
else
return ..()
diff --git a/code/game/objects/items/weapons/implants/implant_explosive.dm b/code/game/objects/items/weapons/implants/implant_explosive.dm
index 9e93d3fb3e..ad7079fee1 100644
--- a/code/game/objects/items/weapons/implants/implant_explosive.dm
+++ b/code/game/objects/items/weapons/implants/implant_explosive.dm
@@ -3,10 +3,14 @@
desc = "And boom goes the weasel."
icon_state = "explosive"
origin_tech = "materials=2;combat=3;biotech=4;syndicate=4"
+ actions_types = list(/datum/action/item_action/explosive_implant)
+ // Explosive implant action is always availible.
var/weak = 2
var/medium = 0.8
var/heavy = 0.4
var/delay = 7
+ var/popup = FALSE // is the DOUWANNABLOWUP window open?
+ var/active = FALSE
/obj/item/weapon/implant/explosive/get_data()
var/dat = {"Implant Specifications:
@@ -25,14 +29,19 @@
activate("death")
/obj/item/weapon/implant/explosive/activate(cause)
- if(!cause || !imp_in)
- return 0
- if(cause == "action_button" && alert(imp_in, "Are you sure you want to activate your [name]? This will cause you to explode!", "[name] Confirmation", "Yes", "No") != "Yes")
+ if(!cause || !imp_in || active)
return 0
+ if(cause == "action_button" || !popup)
+ popup = TRUE
+ var/response = alert(imp_in, "Are you sure you want to activate your [name]? This will cause you to explode!", "[name] Confirmation", "Yes", "No")
+ popup = FALSE
+ if(response == "No")
+ return 0
heavy = round(heavy)
medium = round(medium)
weak = round(weak)
to_chat(imp_in, "You activate your [name]. ")
+ active = TRUE
var/turf/boomturf = get_turf(imp_in)
var/area/A = get_area(boomturf)
message_admins("[key_name_admin(imp_in)]? (FLW ) has activated their [name] at [A.name] (JMP) .")
diff --git a/code/game/objects/items/weapons/implants/implant_gang.dm b/code/game/objects/items/weapons/implants/implant_gang.dm
index bef3f030ce..664e80f07b 100644
--- a/code/game/objects/items/weapons/implants/implant_gang.dm
+++ b/code/game/objects/items/weapons/implants/implant_gang.dm
@@ -31,8 +31,8 @@
return 0
var/success
- if(target.mind in ticker.mode.get_gangsters())
- if(ticker.mode.remove_gangster(target.mind,0,1))
+ if(target.mind in SSticker.mode.get_gangsters())
+ if(SSticker.mode.remove_gangster(target.mind,0,1))
success = 1 //Was not a gang boss, convert as usual
else
success = 1
diff --git a/code/game/objects/items/weapons/implants/implant_loyality.dm b/code/game/objects/items/weapons/implants/implant_loyality.dm
index 0a6d276415..67182d48a8 100644
--- a/code/game/objects/items/weapons/implants/implant_loyality.dm
+++ b/code/game/objects/items/weapons/implants/implant_loyality.dm
@@ -19,23 +19,23 @@
/obj/item/weapon/implant/mindshield/implant(mob/living/target, mob/user, silent = 0)
if(..())
- if((target.mind in (ticker.mode.head_revolutionaries | ticker.mode.get_gang_bosses())))
+ if((target.mind in (SSticker.mode.head_revolutionaries | SSticker.mode.get_gang_bosses())))
if(!silent)
target.visible_message("[target] seems to resist the implant! ", "You feel something interfering with your mental conditioning, but you resist it! ")
removed(target, 1)
qdel(src)
return 0
- if(target.mind in ticker.mode.get_gangsters())
- ticker.mode.remove_gangster(target.mind)
+ if(target.mind in SSticker.mode.get_gangsters())
+ SSticker.mode.remove_gangster(target.mind)
if(!silent)
target.visible_message("[src] was destroyed in the process! ", "You feel a sense of peace and security. You are now protected from brainwashing. ")
removed(target, 1)
qdel(src)
return 0
- if(target.mind in ticker.mode.revolutionaries)
- ticker.mode.remove_revolutionary(target.mind)
+ if(target.mind in SSticker.mode.revolutionaries)
+ SSticker.mode.remove_revolutionary(target.mind)
if(!silent)
- if(target.mind in ticker.mode.cult)
+ if(target.mind in SSticker.mode.cult)
to_chat(target, "You feel something interfering with your mental conditioning, but you resist it! ")
else
to_chat(target, "You feel a sense of peace and security. You are now protected from brainwashing. ")
diff --git a/code/game/objects/items/weapons/implants/implant_track.dm b/code/game/objects/items/weapons/implants/implant_track.dm
index 68b7285ca9..ea631e360d 100644
--- a/code/game/objects/items/weapons/implants/implant_track.dm
+++ b/code/game/objects/items/weapons/implants/implant_track.dm
@@ -6,11 +6,11 @@
/obj/item/weapon/implant/tracking/New()
..()
- tracked_implants += src
+ GLOB.tracked_implants += src
/obj/item/weapon/implant/tracking/Destroy()
. = ..()
- tracked_implants -= src
+ GLOB.tracked_implants -= src
/obj/item/weapon/implanter/tracking
imp_type = /obj/item/weapon/implant/tracking
diff --git a/code/game/objects/items/weapons/implants/implantchair.dm b/code/game/objects/items/weapons/implants/implantchair.dm
index eea213d0cf..6f1a43a93a 100644
--- a/code/game/objects/items/weapons/implants/implantchair.dm
+++ b/code/game/objects/items/weapons/implants/implantchair.dm
@@ -27,7 +27,7 @@
/obj/machinery/implantchair/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = 0, \
- datum/tgui/master_ui = null, datum/ui_state/state = notcontained_state)
+ datum/tgui/master_ui = null, datum/ui_state/state = GLOB.notcontained_state)
ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open)
if(!ui)
diff --git a/code/game/objects/items/weapons/melee/energy.dm b/code/game/objects/items/weapons/melee/energy.dm
index af53bfba54..56c53e9cd8 100644
--- a/code/game/objects/items/weapons/melee/energy.dm
+++ b/code/game/objects/items/weapons/melee/energy.dm
@@ -238,9 +238,6 @@
icon_state_on = "cutlass1"
light_color = "#ff0000"
-/obj/item/weapon/melee/energy/sword/pirate/New()
- return
-
/obj/item/weapon/melee/energy/blade
name = "energy blade"
desc = "A concentrated beam of energy in the shape of a blade. Very stylish... and lethal."
diff --git a/code/game/objects/items/weapons/scrolls.dm b/code/game/objects/items/weapons/scrolls.dm
index 06559be4a0..75400b0256 100644
--- a/code/game/objects/items/weapons/scrolls.dm
+++ b/code/game/objects/items/weapons/scrolls.dm
@@ -50,10 +50,10 @@
var/A
- A = input(user, "Area to jump to", "BOOYEA", A) as null|anything in teleportlocs
+ A = input(user, "Area to jump to", "BOOYEA", A) as null|anything in GLOB.teleportlocs
if(!src || QDELETED(src) || !user || !user.is_holding(src) || user.incapacitated() || !A || !uses)
return
- var/area/thearea = teleportlocs[A]
+ var/area/thearea = GLOB.teleportlocs[A]
var/datum/effect_system/smoke_spread/smoke = new
smoke.set_up(2, user.loc)
diff --git a/code/game/objects/items/weapons/storage/backpack.dm b/code/game/objects/items/weapons/storage/backpack.dm
index 8d918c0e91..662f451e81 100644
--- a/code/game/objects/items/weapons/storage/backpack.dm
+++ b/code/game/objects/items/weapons/storage/backpack.dm
@@ -198,9 +198,8 @@
icon_state = "satchel"
resistance_flags = 0
-/obj/item/weapon/storage/backpack/satchel/leather/withwallet/New()
- ..()
- new /obj/item/weapon/storage/wallet/random( src )
+/obj/item/weapon/storage/backpack/satchel/leather/withwallet/PopulateContents()
+ new /obj/item/weapon/storage/wallet/random(src)
/obj/item/weapon/storage/backpack/satchel/eng
name = "industrial satchel"
@@ -284,11 +283,13 @@
anchored = 0
icon_state = initial(icon_state)
-/obj/item/weapon/storage/backpack/satchel/flat/New()
+/obj/item/weapon/storage/backpack/satchel/flat/Initialize(mapload)
..()
+ SSpersistence.new_secret_satchels += src
+
+/obj/item/weapon/storage/backpack/satchel/flat/PopulateContents()
new /obj/item/stack/tile/plasteel(src)
new /obj/item/weapon/crowbar(src)
- SSpersistence.new_secret_satchels += src
/obj/item/weapon/storage/backpack/satchel/flat/Destroy()
SSpersistence.new_secret_satchels -= src
@@ -299,7 +300,7 @@
var/list/reward_all_of_these = list() //use paths!
var/revealed = 0
-/obj/item/weapon/storage/backpack/satchel/flat/secret/New()
+/obj/item/weapon/storage/backpack/satchel/flat/secret/Initialize()
..()
if(isfloorturf(loc) && !istype(loc,/turf/open/floor/plating/))
@@ -356,9 +357,7 @@
item_state = "duffle-drone"
resistance_flags = FIRE_PROOF
-/obj/item/weapon/storage/backpack/dufflebag/drone/New()
- ..()
-
+/obj/item/weapon/storage/backpack/dufflebag/drone/PopulateContents()
new /obj/item/weapon/screwdriver(src)
new /obj/item/weapon/wrench(src)
new /obj/item/weapon/weldingtool(src)
@@ -373,8 +372,7 @@
icon_state = "duffle-clown"
item_state = "duffle-clown"
-/obj/item/weapon/storage/backpack/dufflebag/clown/cream_pie/New()
- . = ..()
+/obj/item/weapon/storage/backpack/dufflebag/clown/cream_pie/PopulateContents()
for(var/i in 1 to 10)
new /obj/item/weapon/reagent_containers/food/snacks/pie/cream(src)
@@ -399,9 +397,7 @@
icon_state = "duffle-syndiemed"
item_state = "duffle-syndiemed"
-/obj/item/weapon/storage/backpack/dufflebag/syndie/surgery/New()
- ..()
- contents = list()
+/obj/item/weapon/storage/backpack/dufflebag/syndie/surgery/PopulateContents()
new /obj/item/weapon/scalpel(src)
new /obj/item/weapon/hemostat(src)
new /obj/item/weapon/retractor(src)
@@ -412,7 +408,6 @@
new /obj/item/clothing/suit/straight_jacket(src)
new /obj/item/clothing/mask/muzzle(src)
new /obj/item/device/mmi/syndie(src)
- return
/obj/item/weapon/storage/backpack/dufflebag/syndie/ammo
name = "ammunition dufflebag"
@@ -423,80 +418,60 @@
/obj/item/weapon/storage/backpack/dufflebag/syndie/ammo/shotgun
desc = "A large dufflebag, packed to the brim with Bulldog shotgun ammo."
-/obj/item/weapon/storage/backpack/dufflebag/syndie/ammo/shotgun/New()
- ..()
- contents = list()
+/obj/item/weapon/storage/backpack/dufflebag/syndie/ammo/shotgun/PopulateContents()
for(var/i in 1 to 6)
new /obj/item/ammo_box/magazine/m12g(src)
new /obj/item/ammo_box/magazine/m12g/buckshot(src)
new /obj/item/ammo_box/magazine/m12g/slug(src)
new /obj/item/ammo_box/magazine/m12g/dragon(src)
- return
/obj/item/weapon/storage/backpack/dufflebag/syndie/ammo/smg
desc = "A large dufflebag, packed to the brim with C20r magazines."
-/obj/item/weapon/storage/backpack/dufflebag/syndie/ammo/smg/New()
- ..()
- contents = list()
+/obj/item/weapon/storage/backpack/dufflebag/syndie/ammo/smg/PopulateContents()
for(var/i in 1 to 9)
new /obj/item/ammo_box/magazine/smgm45(src)
- return
/obj/item/weapon/storage/backpack/dufflebag/syndie/c20rbundle
desc = "A large dufflebag containing a C20r, some magazines, and a cheap looking suppressor."
-/obj/item/weapon/storage/backpack/dufflebag/syndie/c20rbundle/New()
- ..()
- contents = list()
+/obj/item/weapon/storage/backpack/dufflebag/syndie/c20rbundle/PopulateContents()
new /obj/item/ammo_box/magazine/smgm45(src)
new /obj/item/ammo_box/magazine/smgm45(src)
new /obj/item/weapon/gun/ballistic/automatic/c20r(src)
new /obj/item/weapon/suppressor/specialoffer(src)
- return
/obj/item/weapon/storage/backpack/dufflebag/syndie/bulldogbundle
desc = "A large dufflebag containing a Bulldog, several drums, and a collapsed hardsuit."
-/obj/item/weapon/storage/backpack/dufflebag/syndie/bulldogbundle/New()
- ..()
- contents = list()
+/obj/item/weapon/storage/backpack/dufflebag/syndie/bulldogbundle/PopulateContents()
new /obj/item/ammo_box/magazine/m12g(src)
new /obj/item/weapon/gun/ballistic/automatic/shotgun/bulldog(src)
new /obj/item/ammo_box/magazine/m12g/buckshot(src)
new /obj/item/clothing/glasses/thermal/syndi(src)
- return
/obj/item/weapon/storage/backpack/dufflebag/syndie/med/medicalbundle
desc = "A large dufflebag containing a medical equipment, a Donksoft machine gun, a big jumbo box of darts, and a knock-off pair of magboots."
-/obj/item/weapon/storage/backpack/dufflebag/syndie/med/medicalbundle/New()
- ..()
- contents = list()
+/obj/item/weapon/storage/backpack/dufflebag/syndie/med/medicalbundle/PopulateContents()
new /obj/item/clothing/shoes/magboots/syndie(src)
new /obj/item/weapon/storage/firstaid/tactical(src)
new /obj/item/weapon/gun/ballistic/automatic/l6_saw/toy(src)
new /obj/item/ammo_box/foambox/riot(src)
- return
/obj/item/weapon/storage/backpack/dufflebag/syndie/med/medicalbundle
desc = "A large dufflebag containing a medical equipment, a Donksoft machine gun, a big jumbo box of darts, and a knock-off pair of magboots."
-/obj/item/weapon/storage/backpack/dufflebag/syndie/med/medicalbundle/New()
- ..()
- contents = list()
+/obj/item/weapon/storage/backpack/dufflebag/syndie/med/medicalbundle/PopulateContents()
new /obj/item/clothing/shoes/magboots/syndie(src)
new /obj/item/weapon/storage/firstaid/tactical(src)
new /obj/item/weapon/gun/ballistic/automatic/l6_saw/toy(src)
new /obj/item/ammo_box/foambox/riot(src)
- return
/obj/item/weapon/storage/backpack/dufflebag/syndie/med/bioterrorbundle
desc = "A large dufflebag containing a deadly chemicals, a chemical spray, chemical grenade, a Donksoft assault rifle, riot grade darts, a minature syringe gun, and a box of syringes"
-/obj/item/weapon/storage/backpack/dufflebag/syndie/med/bioterrorbundle/New()
- ..()
- contents = list()
+/obj/item/weapon/storage/backpack/dufflebag/syndie/med/bioterrorbundle/PopulateContents()
new /obj/item/weapon/reagent_containers/spray/chemsprayer/bioterror(src)
new /obj/item/weapon/storage/box/syndie_kit/chemical(src)
new /obj/item/weapon/gun/syringe/syndicate(src)
@@ -504,26 +479,19 @@
new /obj/item/weapon/storage/box/syringes(src)
new /obj/item/ammo_box/foambox/riot(src)
new /obj/item/weapon/grenade/chem_grenade/bioterrorfoam(src)
- return
-/obj/item/weapon/storage/backpack/dufflebag/syndie/c4/New()
- ..()
- contents = list()
+/obj/item/weapon/storage/backpack/dufflebag/syndie/c4/PopulateContents()
for(var/i in 1 to 10)
new /obj/item/weapon/grenade/plastic/c4(src)
- return
-/obj/item/weapon/storage/backpack/dufflebag/syndie/x4/New()
- ..()
- contents = list()
+/obj/item/weapon/storage/backpack/dufflebag/syndie/x4/PopulateContents()
for(var/i in 1 to 3)
new /obj/item/weapon/grenade/plastic/x4(src)
/obj/item/weapon/storage/backpack/dufflebag/syndie/firestarter
desc = "A large dufflebag containing New Russian pyro backpack sprayer, a pistol, a pipebomb, fireproof hardsuit, ammo, and other equipment."
-/obj/item/weapon/storage/backpack/dufflebag/syndie/firestarter/New()
- ..()
+/obj/item/weapon/storage/backpack/dufflebag/syndie/firestarter/PopulateContents()
new /obj/item/clothing/under/syndicate/soviet(src)
new /obj/item/weapon/watertank/operator(src)
new /obj/item/clothing/suit/space/hardsuit/syndi/elite(src)
diff --git a/code/game/objects/items/weapons/storage/bags.dm b/code/game/objects/items/weapons/storage/bags.dm
index 2be74aa1cf..9806dee20d 100644
--- a/code/game/objects/items/weapons/storage/bags.dm
+++ b/code/game/objects/items/weapons/storage/bags.dm
@@ -151,11 +151,6 @@
allow_quick_empty = 1 // this function is superceded
-/obj/item/weapon/storage/bag/sheetsnatcher/New()
- ..()
- //verbs -= /obj/item/weapon/storage/verb/quick_empty
- //verbs += /obj/item/weapon/storage/bag/sheetsnatcher/quick_empty
-
/obj/item/weapon/storage/bag/sheetsnatcher/can_be_inserted(obj/item/W, stop_messages = 0)
if(!istype(W,/obj/item/stack/sheet) || istype(W,/obj/item/stack/sheet/mineral/sandstone) || istype(W,/obj/item/stack/sheet/mineral/wood))
if(!stop_messages)
diff --git a/code/game/objects/items/weapons/storage/belt.dm b/code/game/objects/items/weapons/storage/belt.dm
index b48ea18632..589cf3270d 100644
--- a/code/game/objects/items/weapons/storage/belt.dm
+++ b/code/game/objects/items/weapons/storage/belt.dm
@@ -42,8 +42,7 @@
icon_state = "utilitybelt_ce"
item_state = "utility_ce"
-/obj/item/weapon/storage/belt/utility/chief/full/New()
- ..()
+/obj/item/weapon/storage/belt/utility/chief/full/PopulateContents()
new /obj/item/weapon/screwdriver/power(src)
new /obj/item/weapon/crowbar/power(src)
new /obj/item/weapon/weldingtool/experimental(src)//This can be changed if this is too much
@@ -54,8 +53,7 @@
//much roomier now that we've managed to remove two tools
-/obj/item/weapon/storage/belt/utility/full/New()
- ..()
+/obj/item/weapon/storage/belt/utility/full/PopulateContents()
new /obj/item/weapon/screwdriver(src)
new /obj/item/weapon/wrench(src)
new /obj/item/weapon/weldingtool(src)
@@ -65,8 +63,7 @@
new /obj/item/stack/cable_coil(src,30,pick("red","yellow","orange"))
-/obj/item/weapon/storage/belt/utility/atmostech/New()
- ..()
+/obj/item/weapon/storage/belt/utility/atmostech/PopulateContents()
new /obj/item/weapon/screwdriver(src)
new /obj/item/weapon/wrench(src)
new /obj/item/weapon/weldingtool(src)
@@ -153,8 +150,7 @@
/obj/item/weapon/restraints/legcuffs/bola
)
-/obj/item/weapon/storage/belt/security/full/New()
- ..()
+/obj/item/weapon/storage/belt/security/full/PopulateContents()
new /obj/item/weapon/reagent_containers/spray/pepper(src)
new /obj/item/weapon/restraints/handcuffs(src)
new /obj/item/weapon/grenade/flashbang(src)
@@ -235,8 +231,7 @@
/obj/item/device/soulstone
)
-/obj/item/weapon/storage/belt/soulstone/full/New()
- ..()
+/obj/item/weapon/storage/belt/soulstone/full/PopulateContents()
for(var/i in 1 to 6)
new /obj/item/device/soulstone(src)
@@ -265,8 +260,7 @@
icon_state = "belt"
item_state = "security"
-/obj/item/weapon/storage/belt/military/abductor/full/New()
- ..()
+/obj/item/weapon/storage/belt/military/abductor/full/PopulateContents()
new /obj/item/weapon/screwdriver/abductor(src)
new /obj/item/weapon/wrench/abductor(src)
new /obj/item/weapon/weldingtool/abductor(src)
@@ -304,8 +298,7 @@
/obj/item/weapon/reagent_containers/food/drinks/bottle/molotov,
/obj/item/weapon/c4,
)
-/obj/item/weapon/storage/belt/grenade/full/New()
- ..()
+/obj/item/weapon/storage/belt/grenade/full/PopulateContents()
new /obj/item/weapon/grenade/flashbang(src)
new /obj/item/weapon/grenade/smokebomb(src)
new /obj/item/weapon/grenade/smokebomb(src)
@@ -345,8 +338,7 @@
/obj/item/weapon/gun/magic/wand
)
-/obj/item/weapon/storage/belt/wands/full/New()
- ..()
+/obj/item/weapon/storage/belt/wands/full/PopulateContents()
new /obj/item/weapon/gun/magic/wand/death(src)
new /obj/item/weapon/gun/magic/wand/resurrection(src)
new /obj/item/weapon/gun/magic/wand/polymorph(src)
@@ -400,8 +392,7 @@
)
alternate_worn_layer = UNDER_SUIT_LAYER
-/obj/item/weapon/storage/belt/holster/full/New()
- ..()
+/obj/item/weapon/storage/belt/holster/full/PopulateContents()
new /obj/item/weapon/gun/ballistic/revolver/detective(src)
new /obj/item/ammo_box/c38(src)
new /obj/item/ammo_box/c38(src)
@@ -505,7 +496,6 @@
..()
-/obj/item/weapon/storage/belt/sabre/New()
- ..()
+/obj/item/weapon/storage/belt/sabre/PopulateContents()
new /obj/item/weapon/melee/sabre(src)
update_icon()
diff --git a/code/game/objects/items/weapons/storage/book.dm b/code/game/objects/items/weapons/storage/book.dm
index daf8e8e78f..83805d969a 100644
--- a/code/game/objects/items/weapons/storage/book.dm
+++ b/code/game/objects/items/weapons/storage/book.dm
@@ -11,17 +11,18 @@
var/title = "book"
/obj/item/weapon/storage/book/attack_self(mob/user)
- to_chat(user, "The pages of [title] have been cut out! ")
+ to_chat(user, "The pages of [title] have been cut out! ")
-var/global/list/biblenames = list("Bible", "Quran", "Scrapbook", "Burning Bible", "Clown Bible", "Banana Bible", "Creeper Bible", "White Bible", "Holy Light", "The God Delusion", "Tome", "The King in Yellow", "Ithaqua", "Scientology", "Melted Bible", "Necronomicon")
-var/global/list/biblestates = list("bible", "koran", "scrapbook", "burning", "honk1", "honk2", "creeper", "white", "holylight", "atheist", "tome", "kingyellow", "ithaqua", "scientology", "melted", "necronomicon")
-var/global/list/bibleitemstates = list("bible", "koran", "scrapbook", "bible", "bible", "bible", "syringe_kit", "syringe_kit", "syringe_kit", "syringe_kit", "syringe_kit", "kingyellow", "ithaqua", "scientology", "melted", "necronomicon")
+GLOBAL_LIST_INIT(biblenames, list("Bible", "Quran", "Scrapbook", "Burning Bible", "Clown Bible", "Banana Bible", "Creeper Bible", "White Bible", "Holy Light", "The God Delusion", "Tome", "The King in Yellow", "Ithaqua", "Scientology", "Melted Bible", "Necronomicon"))
+GLOBAL_LIST_INIT(biblestates, list("bible", "koran", "scrapbook", "burning", "honk1", "honk2", "creeper", "white", "holylight", "atheist", "tome", "kingyellow", "ithaqua", "scientology", "melted", "necronomicon"))
+GLOBAL_LIST_INIT(bibleitemstates, list("bible", "koran", "scrapbook", "bible", "bible", "bible", "syringe_kit", "syringe_kit", "syringe_kit", "syringe_kit", "syringe_kit", "kingyellow", "ithaqua", "scientology", "melted", "necronomicon"))
/obj/item/weapon/storage/book/bible
name = "bible"
desc = "Apply to head repeatedly."
icon = 'icons/obj/storage.dmi'
- icon_state ="bible"
+ icon_state = "bible"
+ item_state = "bible"
var/mob/affecting = null
var/deity_name = "Christ"
@@ -33,12 +34,11 @@ var/global/list/bibleitemstates = list("bible", "koran", "scrapbook", "bible",
if(!istype(H))
return
// If H is the Chaplain, we can set the icon_state of the bible (but only once!)
- if(!SSreligion.Bible_icon_state && H.job == "Chaplain")
+ if(!SSreligion.bible_icon_state && H.job == "Chaplain")
var/dat = "Pick Bible Style Pick a bible style "
- var/i
- for(i = 1, i < biblestates.len, i++)
- var/icon/bibleicon = icon('icons/obj/storage.dmi', biblestates[i])
- var/nicename = biblenames[i]
+ for(var/i in 1 to GLOB.biblestates.len)
+ var/icon/bibleicon = icon('icons/obj/storage.dmi', GLOB.biblestates[i])
+ var/nicename = GLOB.biblenames[i]
H << browse_rsc(bibleicon, nicename)
dat += {"[nicename] "}
dat += "
"
@@ -47,20 +47,20 @@ var/global/list/bibleitemstates = list("bible", "koran", "scrapbook", "bible",
/obj/item/weapon/storage/book/bible/Topic(href, href_list)
if(!usr.canUseTopic(src))
return
- if(href_list["seticon"] && ticker && !SSreligion.Bible_icon_state)
+ if(href_list["seticon"] && SSreligion && !SSreligion.bible_icon_state)
var/iconi = text2num(href_list["seticon"])
- var/biblename = biblenames[iconi]
+ var/biblename = GLOB.biblenames[iconi]
var/obj/item/weapon/storage/book/bible/B = locate(href_list["src"])
- B.icon_state = biblestates[iconi]
- B.item_state = bibleitemstates[iconi]
+ B.icon_state = GLOB.biblestates[iconi]
+ B.item_state = GLOB.bibleitemstates[iconi]
if(B.icon_state == "honk1" || B.icon_state == "honk2")
var/mob/living/carbon/human/H = usr
H.dna.add_mutation(CLOWNMUT)
H.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/clown_hat(H), slot_wear_mask)
- SSreligion.Bible_icon_state = B.icon_state
- SSreligion.Bible_item_state = B.item_state
+ SSreligion.bible_icon_state = B.icon_state
+ SSreligion.bible_item_state = B.item_state
feedback_set_details("religion_book","[biblename]")
usr << browse(null, "window=editicon")
@@ -154,6 +154,5 @@ var/global/list/bibleitemstates = list("bible", "koran", "scrapbook", "bible",
/obj/item/weapon/storage/book/bible/booze
desc = "To be applied to the head repeatedly."
-/obj/item/weapon/storage/book/bible/booze/New()
- ..()
+/obj/item/weapon/storage/book/bible/booze/PopulateContents()
new /obj/item/weapon/reagent_containers/food/drinks/bottle/whiskey(src)
diff --git a/code/game/objects/items/weapons/storage/boxes.dm b/code/game/objects/items/weapons/storage/boxes.dm
index ecad2dd215..9410b29ea0 100644
--- a/code/game/objects/items/weapons/storage/boxes.dm
+++ b/code/game/objects/items/weapons/storage/boxes.dm
@@ -30,8 +30,8 @@
var/foldable = /obj/item/stack/sheet/cardboard
var/illustration = "writing"
-/obj/item/weapon/storage/box/Initialize()
- . = ..()
+/obj/item/weapon/storage/box/Initialize(mapload)
+ ..()
update_icon()
/obj/item/weapon/storage/box/update_icon()
@@ -72,8 +72,7 @@
name = "diskette box"
illustration = "disk_kit"
-/obj/item/weapon/storage/box/disks/Initialize()
- ..()
+/obj/item/weapon/storage/box/disks/PopulateContents()
for(var/i in 1 to 7)
new /obj/item/weapon/disk/data(src)
@@ -82,24 +81,21 @@
name = "plant data disks box"
illustration = "disk_kit"
-/obj/item/weapon/storage/box/disks_plantgene/Initialize()
- ..()
+/obj/item/weapon/storage/box/disks_plantgene/PopulateContents()
for(var/i in 1 to 7)
new /obj/item/weapon/disk/plantgene(src)
// Ordinary survival box
-/obj/item/weapon/storage/box/survival/New()
- ..()
+/obj/item/weapon/storage/box/survival/PopulateContents()
new /obj/item/clothing/mask/breath(src)
new /obj/item/weapon/tank/internals/emergency_oxygen(src)
new /obj/item/weapon/reagent_containers/hypospray/medipen(src)
-/obj/item/weapon/storage/box/survival/radio/New()
- ..()
+/obj/item/weapon/storage/box/survival/radio/PopulateContents()
+ ..() // we want the survival stuff too.
new /obj/item/device/radio/off(src)
-/obj/item/weapon/storage/box/survival_mining/New()
- ..()
+/obj/item/weapon/storage/box/survival_mining/PopulateContents()
new /obj/item/clothing/mask/gas/explorer(src)
new /obj/item/weapon/tank/internals/emergency_oxygen/engi(src)
new /obj/item/weapon/crowbar/red(src)
@@ -107,31 +103,28 @@
// Engineer survival box
-/obj/item/weapon/storage/box/engineer/New()
- ..()
+/obj/item/weapon/storage/box/engineer/PopulateContents()
new /obj/item/clothing/mask/breath(src)
new /obj/item/weapon/tank/internals/emergency_oxygen/engi(src)
new /obj/item/weapon/reagent_containers/hypospray/medipen(src)
-/obj/item/weapon/storage/box/engineer/radio/New()
- ..()
+/obj/item/weapon/storage/box/engineer/radio/PopulateContents()
+ ..() // we want the regular items too.
new /obj/item/device/radio/off(src)
// Syndie survival box
-/obj/item/weapon/storage/box/syndie/New()
- ..()
+/obj/item/weapon/storage/box/syndie/PopulateContents()
new /obj/item/clothing/mask/gas/syndicate(src)
new /obj/item/weapon/tank/internals/emergency_oxygen/engi(src)
// Security survival box
-/obj/item/weapon/storage/box/security/New()
- ..()
+/obj/item/weapon/storage/box/security/PopulateContents()
new /obj/item/clothing/mask/gas/sechailer(src)
new /obj/item/weapon/tank/internals/emergency_oxygen(src)
new /obj/item/weapon/reagent_containers/hypospray/medipen(src)
-/obj/item/weapon/storage/box/security/radio/New()
- ..()
+/obj/item/weapon/storage/box/security/radio/PopulateContents()
+ ..() // we want the regular stuff too
new /obj/item/device/radio/off(src)
/obj/item/weapon/storage/box/gloves
@@ -139,8 +132,7 @@
desc = "Contains sterile latex gloves."
illustration = "latex"
-/obj/item/weapon/storage/box/gloves/New()
- ..()
+/obj/item/weapon/storage/box/gloves/PopulateContents()
for(var/i in 1 to 7)
new /obj/item/clothing/gloves/color/latex(src)
@@ -149,8 +141,7 @@
desc = "This box contains sterile medical masks."
illustration = "sterile"
-/obj/item/weapon/storage/box/masks/New()
- ..()
+/obj/item/weapon/storage/box/masks/PopulateContents()
for(var/i in 1 to 7)
new /obj/item/clothing/mask/surgical(src)
@@ -159,47 +150,34 @@
desc = "A box full of syringes."
illustration = "syringe"
-/obj/item/weapon/storage/box/syringes/New()
- ..()
+/obj/item/weapon/storage/box/syringes/PopulateContents()
for(var/i in 1 to 7)
- new /obj/item/weapon/reagent_containers/syringe( src )
+ new /obj/item/weapon/reagent_containers/syringe(src)
/obj/item/weapon/storage/box/medipens
name = "box of medipens"
desc = "A box full of epinephrine MediPens."
illustration = "syringe"
-/obj/item/weapon/storage/box/medipens/New()
- ..()
+/obj/item/weapon/storage/box/medipens/PopulateContents()
for(var/i in 1 to 7)
- new /obj/item/weapon/reagent_containers/hypospray/medipen( src )
+ new /obj/item/weapon/reagent_containers/hypospray/medipen(src)
/obj/item/weapon/storage/box/medipens/utility
name = "stimpack value kit"
desc = "A box with several stimpack medipens for the economical miner."
illustration = "syringe"
-/obj/item/weapon/storage/box/medipens/utility/New()
- ..()
+/obj/item/weapon/storage/box/medipens/utility/PopulateContents()
+ ..() // includes regular medipens.
for(var/i in 1 to 5)
new /obj/item/weapon/reagent_containers/hypospray/medipen/stimpack(src)
-/obj/item/weapon/storage/box/medipens/survival
- name = "Survival pen bundle"
- desc = "a box with several survival pens inside, welcome to immortality!!"
- illustration = "syringe"
-
-/obj/item/weapon/storage/box/medipens/survival/New()
- ..()
- for(var/i in 1 to 5)
- new /obj/item/weapon/reagent_containers/hypospray/medipen/survival(src)
-
/obj/item/weapon/storage/box/beakers
name = "box of beakers"
illustration = "beaker"
-/obj/item/weapon/storage/box/beakers/New()
- ..()
+/obj/item/weapon/storage/box/beakers/PopulateContents()
for(var/i in 1 to 7)
new /obj/item/weapon/reagent_containers/glass/beaker( src )
@@ -207,8 +185,7 @@
name = "box of DNA injectors"
desc = "This box contains injectors, it seems."
-/obj/item/weapon/storage/box/injectors/New()
- ..()
+/obj/item/weapon/storage/box/injectors/PopulateContents()
for(var/i in 1 to 3)
new /obj/item/weapon/dnainjector/h2m(src)
for(var/i in 1 to 3)
@@ -220,8 +197,7 @@
icon_state = "secbox"
illustration = "flashbang"
-/obj/item/weapon/storage/box/flashbangs/New()
- ..()
+/obj/item/weapon/storage/box/flashbangs/PopulateContents()
for(var/i in 1 to 7)
new /obj/item/weapon/grenade/flashbang(src)
@@ -231,8 +207,7 @@
icon_state = "secbox"
illustration = "flashbang"
-/obj/item/weapon/storage/box/flashes/New()
- ..()
+/obj/item/weapon/storage/box/flashes/PopulateContents()
for(var/i in 1 to 6)
new /obj/item/device/assembly/flash/handheld(src)
@@ -241,9 +216,9 @@
desc = "This box contains everything necessary to build a wall-mounted flash. WARNING: Flashes can cause serious eye damage, protective eyewear is required. "
illustration = "flashbang"
-/obj/item/weapon/storage/box/wall_flash/New()
- ..()
+/obj/item/weapon/storage/box/wall_flash/PopulateContents()
var/id = rand(1000, 9999)
+ // FIXME what if this conflicts with an existing one?
new /obj/item/wallframe/button(src)
new /obj/item/weapon/electronics/airlock(src)
@@ -260,8 +235,7 @@
desc = "WARNING: These devices are extremely dangerous and can cause blindness and skin irritation. "
illustration = "flashbang"
-/obj/item/weapon/storage/box/teargas/New()
- ..()
+/obj/item/weapon/storage/box/teargas/PopulateContents()
for(var/i in 1 to 7)
new /obj/item/weapon/grenade/chem_grenade/teargas(src)
@@ -270,8 +244,7 @@
desc = "A box with 5 emp grenades."
illustration = "flashbang"
-/obj/item/weapon/storage/box/emps/New()
- ..()
+/obj/item/weapon/storage/box/emps/PopulateContents()
for(var/i in 1 to 5)
new /obj/item/weapon/grenade/empgrenade(src)
@@ -280,8 +253,7 @@
desc = "Box full of scum-bag tracking utensils."
illustration = "implant"
-/obj/item/weapon/storage/box/trackimp/New()
- ..()
+/obj/item/weapon/storage/box/trackimp/PopulateContents()
for(var/i in 1 to 4)
new /obj/item/weapon/implantcase/tracking(src)
new /obj/item/weapon/implanter(src)
@@ -293,8 +265,7 @@
desc = "For finding those who have died on the accursed lavaworld."
illustration = "implant"
-/obj/item/weapon/storage/box/minertracker/New()
- ..()
+/obj/item/weapon/storage/box/minertracker/PopulateContents()
for(var/i in 1 to 3)
new /obj/item/weapon/implantcase/tracking(src)
new /obj/item/weapon/implanter(src)
@@ -306,8 +277,7 @@
desc = "Box of stuff used to implant chemicals."
illustration = "implant"
-/obj/item/weapon/storage/box/chemimp/New()
- ..()
+/obj/item/weapon/storage/box/chemimp/PopulateContents()
for(var/i in 1 to 5)
new /obj/item/weapon/implantcase/chem(src)
new /obj/item/weapon/implanter(src)
@@ -318,8 +288,7 @@
desc = "Box of exile implants. It has a picture of a clown being booted through the Gateway."
illustration = "implant"
-/obj/item/weapon/storage/box/exileimp/New()
- ..()
+/obj/item/weapon/storage/box/exileimp/PopulateContents()
for(var/i in 1 to 5)
new /obj/item/weapon/implantcase/exile(src)
new /obj/item/weapon/implanter(src)
@@ -329,13 +298,17 @@
desc = "The label indicates that it contains body bags."
illustration = "bodybags"
+/obj/item/weapon/storage/box/bodybags/PopulateContents()
+ ..()
+ for(var/i in 1 to 7)
+ new /obj/item/bodybag(src)
+
/obj/item/weapon/storage/box/rxglasses
name = "box of prescription glasses"
desc = "This box contains nerd glasses."
illustration = "glasses"
-/obj/item/weapon/storage/box/rxglasses/New()
- ..()
+/obj/item/weapon/storage/box/rxglasses/PopulateContents()
for(var/i in 1 to 7)
new /obj/item/clothing/glasses/regular(src)
@@ -343,8 +316,7 @@
name = "box of drinking glasses"
desc = "It has a picture of drinking glasses on it."
-/obj/item/weapon/storage/box/drinkingglasses/New()
- ..()
+/obj/item/weapon/storage/box/drinkingglasses/PopulateContents()
for(var/i in 1 to 6)
new /obj/item/weapon/reagent_containers/food/drinks/drinkingglass(src)
@@ -352,8 +324,7 @@
name = "box of condiment bottles"
desc = "It has a large ketchup smear on it."
-/obj/item/weapon/storage/box/condimentbottles/New()
- ..()
+/obj/item/weapon/storage/box/condimentbottles/PopulateContents()
for(var/i in 1 to 6)
new /obj/item/weapon/reagent_containers/food/condiment(src)
@@ -361,8 +332,7 @@
name = "box of paper cups"
desc = "It has pictures of paper cups on the front."
-/obj/item/weapon/storage/box/cups/New()
- ..()
+/obj/item/weapon/storage/box/cups/PopulateContents()
for(var/i in 1 to 7)
new /obj/item/weapon/reagent_containers/food/drinks/sillycup( src )
@@ -371,8 +341,7 @@
desc = "Instructions: Heat in microwave. Product will cool if not eaten within seven minutes. "
illustration = "donk_kit"
-/obj/item/weapon/storage/box/donkpockets/New()
- ..()
+/obj/item/weapon/storage/box/donkpockets/PopulateContents()
for(var/i in 1 to 6)
new /obj/item/weapon/reagent_containers/food/snacks/donkpocket(src)
@@ -384,9 +353,8 @@
can_hold = list(/obj/item/weapon/reagent_containers/food/snacks/monkeycube)
illustration = null
-/obj/item/weapon/storage/box/monkeycubes/New()
- ..()
- for(var/i = 1; i <= 5; i++)
+/obj/item/weapon/storage/box/monkeycubes/PopulateContents()
+ for(var/i in 1 to 5)
new /obj/item/weapon/reagent_containers/food/snacks/monkeycube(src)
/obj/item/weapon/storage/box/ids
@@ -394,8 +362,7 @@
desc = "Has so many empty IDs."
illustration = "id"
-/obj/item/weapon/storage/box/ids/New()
- ..()
+/obj/item/weapon/storage/box/ids/PopulateContents()
for(var/i in 1 to 7)
new /obj/item/weapon/card/id(src)
@@ -405,13 +372,26 @@
desc = "A box of spare PDA microcomputers."
illustration = "pda"
+/obj/item/weapon/storage/box/PDAs/PopulateContents()
+ new /obj/item/device/pda(src)
+ new /obj/item/device/pda(src)
+ new /obj/item/device/pda(src)
+ new /obj/item/device/pda(src)
+ new /obj/item/weapon/cartridge/head(src)
+
+ var/newcart = pick( /obj/item/weapon/cartridge/engineering,
+ /obj/item/weapon/cartridge/security,
+ /obj/item/weapon/cartridge/medical,
+ /obj/item/weapon/cartridge/signal/toxins,
+ /obj/item/weapon/cartridge/quartermaster)
+ new newcart(src)
+
/obj/item/weapon/storage/box/silver_ids
name = "box of spare silver IDs"
desc = "Shiny IDs for important people."
illustration = "id"
-/obj/item/weapon/storage/box/silver_ids/New()
- ..()
+/obj/item/weapon/storage/box/silver_ids/PopulateContents()
for(var/i in 1 to 7)
new /obj/item/weapon/card/id/silver(src)
@@ -420,7 +400,7 @@
desc = "Take away their last shred of dignity, their name."
illustration = "id"
-/obj/item/weapon/storage/box/prisoner/New()
+/obj/item/weapon/storage/box/prisoner/PopulateContents()
..()
new /obj/item/weapon/card/id/prisoner/one(src)
new /obj/item/weapon/card/id/prisoner/two(src)
@@ -435,8 +415,7 @@
desc = "A box full of PDA cartridges used by Security."
illustration = "pda"
-/obj/item/weapon/storage/box/seccarts/New()
- ..()
+/obj/item/weapon/storage/box/seccarts/PopulateContents()
new /obj/item/weapon/cartridge/detective(src)
for(var/i in 1 to 6)
new /obj/item/weapon/cartridge/security(src)
@@ -446,8 +425,7 @@
desc = "A box full of standard firing pins, to allow newly-developed firearms to operate."
illustration = "id"
-/obj/item/weapon/storage/box/firingpins/New()
- ..()
+/obj/item/weapon/storage/box/firingpins/PopulateContents()
for(var/i in 1 to 5)
new /obj/item/device/firing_pin(src)
@@ -456,8 +434,7 @@
desc = "A box full of laser tag firing pins, to allow newly-developed firearms to require wearing brightly coloured plastic armor before being able to be used."
illustration = "id"
-/obj/item/weapon/storage/box/lasertagpins/New()
- ..()
+/obj/item/weapon/storage/box/lasertagpins/PopulateContents()
for(var/i in 1 to 3)
new /obj/item/device/firing_pin/tag/red(src)
new /obj/item/device/firing_pin/tag/blue(src)
@@ -468,8 +445,7 @@
icon_state = "secbox"
illustration = "handcuff"
-/obj/item/weapon/storage/box/handcuffs/New()
- ..()
+/obj/item/weapon/storage/box/handcuffs/PopulateContents()
for(var/i in 1 to 7)
new /obj/item/weapon/restraints/handcuffs(src)
@@ -479,8 +455,7 @@
icon_state = "secbox"
illustration = "handcuff"
-/obj/item/weapon/storage/box/zipties/New()
- ..()
+/obj/item/weapon/storage/box/zipties/PopulateContents()
for(var/i in 1 to 7)
new /obj/item/weapon/restraints/handcuffs/cable/zipties(src)
@@ -490,8 +465,7 @@
icon_state = "alienbox"
illustration = "handcuff"
-/obj/item/weapon/storage/box/alienhandcuffs/New()
- ..()
+/obj/item/weapon/storage/box/alienhandcuffs/PopulateContents()
for(var/i in 1 to 7)
new /obj/item/weapon/restraints/handcuffs/alien(src)
@@ -500,8 +474,7 @@
desc = "A sleek, sturdy box used to hold replica spacesuits."
icon_state = "syndiebox"
-/obj/item/weapon/storage/box/fakesyndiesuit/New()
- ..()
+/obj/item/weapon/storage/box/fakesyndiesuit/PopulateContents()
new /obj/item/clothing/head/syndicatefake(src)
new /obj/item/clothing/suit/syndicatefake(src)
@@ -510,20 +483,18 @@
desc = "Keep out of reach of children. "
illustration = "mousetraps"
-/obj/item/weapon/storage/box/mousetraps/New()
- ..()
+/obj/item/weapon/storage/box/mousetraps/PopulateContents()
for(var/i in 1 to 6)
- new /obj/item/device/assembly/mousetrap( src )
+ new /obj/item/device/assembly/mousetrap(src)
/obj/item/weapon/storage/box/pillbottles
name = "box of pill bottles"
desc = "It has pictures of pill bottles on its front."
illustration = "pillbox"
-/obj/item/weapon/storage/box/pillbottles/New()
- ..()
+/obj/item/weapon/storage/box/pillbottles/PopulateContents()
for(var/i in 1 to 7)
- new /obj/item/weapon/storage/pill_bottle( src )
+ new /obj/item/weapon/storage/pill_bottle(src)
/obj/item/weapon/storage/box/snappops
name = "snap pop box"
@@ -533,9 +504,8 @@
storage_slots = 8
can_hold = list(/obj/item/toy/snappop)
-/obj/item/weapon/storage/box/snappops/New()
- ..()
- for(var/i=1; i <= storage_slots; i++)
+/obj/item/weapon/storage/box/snappops/PopulateContents()
+ for(var/i in 1 to storage_slots)
new /obj/item/toy/snappop(src)
/obj/item/weapon/storage/box/matches
@@ -549,9 +519,8 @@
slot_flags = SLOT_BELT
can_hold = list(/obj/item/weapon/match)
-/obj/item/weapon/storage/box/matches/New()
- ..()
- for(var/i=1; i <= storage_slots; i++)
+/obj/item/weapon/storage/box/matches/PopulateContents()
+ for(var/i in 1 to storage_slots)
new /obj/item/weapon/match(src)
/obj/item/weapon/storage/box/matches/attackby(obj/item/weapon/match/W as obj, mob/user as mob, params)
@@ -570,29 +539,26 @@
max_combined_w_class = 21
use_to_pickup = 1 // for picking up broken bulbs, not that most people will try
-/obj/item/weapon/storage/box/lights/bulbs/New()
- ..()
- for(var/i = 0; i < 21; i++)
+/obj/item/weapon/storage/box/lights/bulbs/PopulateContents()
+ for(var/i in 1 to 21)
new /obj/item/weapon/light/bulb(src)
/obj/item/weapon/storage/box/lights/tubes
name = "box of replacement tubes"
illustration = "lighttube"
-/obj/item/weapon/storage/box/lights/tubes/New()
- ..()
- for(var/i = 0; i < 21; i++)
+/obj/item/weapon/storage/box/lights/tubes/PopulateContents()
+ for(var/i in 1 to 21)
new /obj/item/weapon/light/tube(src)
/obj/item/weapon/storage/box/lights/mixed
name = "box of replacement lights"
illustration = "lightmixed"
-/obj/item/weapon/storage/box/lights/mixed/New()
- ..()
- for(var/i = 0; i < 14; i++)
+/obj/item/weapon/storage/box/lights/mixed/PopulateContents()
+ for(var/i in 1 to 14)
new /obj/item/weapon/light/tube(src)
- for(var/i = 0; i < 7; i++)
+ for(var/i in 1 to 7)
new /obj/item/weapon/light/bulb(src)
@@ -600,8 +566,7 @@
name = "box of deputy armbands"
desc = "To be issued to those authorized to act as deputy of security."
-/obj/item/weapon/storage/box/deputy/New()
- ..()
+/obj/item/weapon/storage/box/deputy/PopulateContents()
for(var/i in 1 to 7)
new /obj/item/clothing/tie/armband/deputy(src)
@@ -610,8 +575,7 @@
desc = "To be used to rapidly seal hull breaches."
illustration = "flashbang"
-/obj/item/weapon/storage/box/metalfoam/New()
- ..()
+/obj/item/weapon/storage/box/metalfoam/PopulateContents()
for(var/i in 1 to 7)
new /obj/item/weapon/grenade/chem_grenade/metalfoam(src)
@@ -632,28 +596,23 @@
playsound(loc, "rustle", 50, 1, -5)
user.visible_message("[user] hugs \the [src]. ","You hug \the [src]. ")
-/obj/item/weapon/storage/box/hug/medical/New()
- ..()
+/obj/item/weapon/storage/box/hug/medical/PopulateContents()
new /obj/item/stack/medical/bruise_pack(src)
new /obj/item/stack/medical/ointment(src)
new /obj/item/weapon/reagent_containers/hypospray/medipen(src)
-/obj/item/weapon/storage/box/hug/survival/New()
- ..()
+/obj/item/weapon/storage/box/hug/survival/PopulateContents()
new /obj/item/clothing/mask/breath(src)
new /obj/item/weapon/tank/internals/emergency_oxygen(src)
new /obj/item/weapon/reagent_containers/hypospray/medipen(src)
-/obj/item/ammo_casing/shotgun/rubbershot
-
/obj/item/weapon/storage/box/rubbershot
name = "box of rubber shots"
desc = "A box full of rubber shots, designed for riot shotguns."
icon_state = "rubbershot_box"
illustration = null
-/obj/item/weapon/storage/box/rubbershot/New()
- ..()
+/obj/item/weapon/storage/box/rubbershot/PopulateContents()
for(var/i in 1 to 7)
new /obj/item/ammo_casing/shotgun/rubbershot(src)
@@ -663,15 +622,9 @@
icon_state = "lethalshot_box"
illustration = null
-/obj/item/weapon/storage/box/lethalshot/New()
- ..()
- new /obj/item/ammo_casing/shotgun/buckshot(src)
- new /obj/item/ammo_casing/shotgun/buckshot(src)
- new /obj/item/ammo_casing/shotgun/buckshot(src)
- new /obj/item/ammo_casing/shotgun/buckshot(src)
- new /obj/item/ammo_casing/shotgun/buckshot(src)
- new /obj/item/ammo_casing/shotgun/buckshot(src)
- new /obj/item/ammo_casing/shotgun/buckshot(src)
+/obj/item/weapon/storage/box/lethalshot/PopulateContents()
+ for(var/i in 1 to 7)
+ new /obj/item/ammo_casing/shotgun/buckshot(src)
/obj/item/weapon/storage/box/beanbag
name = "box of beanbags"
@@ -679,23 +632,16 @@
icon_state = "rubbershot_box"
illustration = null
-/obj/item/weapon/storage/box/beanbag/New()
- ..()
- new /obj/item/ammo_casing/shotgun/beanbag(src)
- new /obj/item/ammo_casing/shotgun/beanbag(src)
- new /obj/item/ammo_casing/shotgun/beanbag(src)
- new /obj/item/ammo_casing/shotgun/beanbag(src)
- new /obj/item/ammo_casing/shotgun/beanbag(src)
- new /obj/item/ammo_casing/shotgun/beanbag(src)
-
+/obj/item/weapon/storage/box/beanbag/PopulateContents()
+ for(var/i in 1 to 6)
+ new /obj/item/ammo_casing/shotgun/beanbag(src)
/obj/item/weapon/storage/box/actionfigure
name = "box of action figures"
desc = "The latest set of collectable action figures."
icon_state = "box"
-/obj/item/weapon/storage/box/actionfigure/New()
- ..()
+/obj/item/weapon/storage/box/actionfigure/PopulateContents()
for(var/i in 1 to 4)
var/randomFigure = pick(subtypesof(/obj/item/toy/figure))
new randomFigure(src)
@@ -775,11 +721,16 @@
illustration = "donk_kit"
item_state = null
+/obj/item/weapon/storage/box/ingredients/Initialize()
+ ..()
+ if(item_state)
+ name = "[name] ([item_state])"
+ desc = "A box containing supplementary ingredients for the aspiring chef. This box's theme is '[item_state]'."
+
/obj/item/weapon/storage/box/ingredients/wildcard
item_state = "wildcard"
-/obj/item/weapon/storage/box/ingredients/wildcard/New()
- ..()
+/obj/item/weapon/storage/box/ingredients/wildcard/PopulateContents()
for(var/i in 1 to 7)
var/randomFood = pick(/obj/item/weapon/reagent_containers/food/snacks/grown/chili,
/obj/item/weapon/reagent_containers/food/snacks/grown/tomato,
@@ -800,8 +751,7 @@
/obj/item/weapon/storage/box/ingredients/fiesta
item_state = "fiesta"
-/obj/item/weapon/storage/box/ingredients/fiesta/New()
- ..()
+/obj/item/weapon/storage/box/ingredients/fiesta/PopulateContents()
new /obj/item/weapon/reagent_containers/food/snacks/tortilla(src)
for(var/i in 1 to 2)
new /obj/item/weapon/reagent_containers/food/snacks/grown/corn(src)
@@ -811,8 +761,7 @@
/obj/item/weapon/storage/box/ingredients/italian
item_state = "italian"
-/obj/item/weapon/storage/box/ingredients/italian/New()
- ..()
+/obj/item/weapon/storage/box/ingredients/italian/PopulateContents()
for(var/i in 1 to 3)
new /obj/item/weapon/reagent_containers/food/snacks/grown/tomato(src)
new /obj/item/weapon/reagent_containers/food/snacks/faggot(src)
@@ -821,8 +770,7 @@
/obj/item/weapon/storage/box/ingredients/vegetarian
item_state = "vegetarian"
-/obj/item/weapon/storage/box/ingredients/vegetarian/New()
- ..()
+/obj/item/weapon/storage/box/ingredients/vegetarian/PopulateContents()
for(var/i in 1 to 2)
new /obj/item/weapon/reagent_containers/food/snacks/grown/carrot(src)
new /obj/item/weapon/reagent_containers/food/snacks/grown/eggplant(src)
@@ -834,8 +782,7 @@
/obj/item/weapon/storage/box/ingredients/american
item_state = "american"
-/obj/item/weapon/storage/box/ingredients/american/New()
- ..()
+/obj/item/weapon/storage/box/ingredients/american/PopulateContents()
for(var/i in 1 to 2)
new /obj/item/weapon/reagent_containers/food/snacks/grown/potato(src)
new /obj/item/weapon/reagent_containers/food/snacks/grown/tomato(src)
@@ -845,8 +792,7 @@
/obj/item/weapon/storage/box/ingredients/fruity
item_state = "fruity"
-/obj/item/weapon/storage/box/ingredients/fruity/New()
- ..()
+/obj/item/weapon/storage/box/ingredients/fruity/PopulateContents()
for(var/i in 1 to 2)
new /obj/item/weapon/reagent_containers/food/snacks/grown/apple(src)
new /obj/item/weapon/reagent_containers/food/snacks/grown/citrus/orange(src)
@@ -857,8 +803,7 @@
/obj/item/weapon/storage/box/ingredients/sweets
item_state = "sweets"
-/obj/item/weapon/storage/box/ingredients/sweets/New()
- ..()
+/obj/item/weapon/storage/box/ingredients/sweets/PopulateContents()
for(var/i in 1 to 2)
new /obj/item/weapon/reagent_containers/food/snacks/grown/cherries(src)
new /obj/item/weapon/reagent_containers/food/snacks/grown/banana(src)
@@ -869,8 +814,7 @@
/obj/item/weapon/storage/box/ingredients/delights
item_state = "delights"
-/obj/item/weapon/storage/box/ingredients/delights/New()
- ..()
+/obj/item/weapon/storage/box/ingredients/delights/PopulateContents()
for(var/i in 1 to 2)
new /obj/item/weapon/reagent_containers/food/snacks/grown/potato/sweet(src)
new /obj/item/weapon/reagent_containers/food/snacks/grown/bluecherries(src)
@@ -881,8 +825,7 @@
/obj/item/weapon/storage/box/ingredients/grains
item_state = "grains"
-/obj/item/weapon/storage/box/ingredients/grains/New()
- ..()
+/obj/item/weapon/storage/box/ingredients/grains/PopulateContents()
for(var/i in 1 to 3)
new /obj/item/weapon/reagent_containers/food/snacks/grown/oat(src)
new /obj/item/weapon/reagent_containers/food/snacks/grown/wheat(src)
@@ -893,8 +836,7 @@
/obj/item/weapon/storage/box/ingredients/carnivore
item_state = "carnivore"
-/obj/item/weapon/storage/box/ingredients/carnivore/New()
- ..()
+/obj/item/weapon/storage/box/ingredients/carnivore/PopulateContents()
new /obj/item/weapon/reagent_containers/food/snacks/meat/slab/bear(src)
new /obj/item/weapon/reagent_containers/food/snacks/meat/slab/spider(src)
new /obj/item/weapon/reagent_containers/food/snacks/spidereggs(src)
@@ -906,40 +848,34 @@
/obj/item/weapon/storage/box/ingredients/exotic
item_state = "exotic"
-/obj/item/weapon/storage/box/ingredients/exotic/New()
- ..()
+/obj/item/weapon/storage/box/ingredients/exotic/PopulateContents()
for(var/i in 1 to 2)
new /obj/item/weapon/reagent_containers/food/snacks/carpmeat(src)
new /obj/item/weapon/reagent_containers/food/snacks/grown/soybeans(src)
new /obj/item/weapon/reagent_containers/food/snacks/grown/cabbage(src)
new /obj/item/weapon/reagent_containers/food/snacks/grown/chili(src)
-/obj/item/weapon/storage/box/ingredients/New()
- ..()
- if(item_state)
- name = "[name] ([item_state])"
- desc = "A box containing supplementary ingredients for the aspiring chef. This box's theme is '[item_state]'."
-
/obj/item/weapon/storage/box/emptysandbags
name = "box of empty sandbags"
-/obj/item/weapon/storage/box/emptysandbags/New()
- ..()
- new /obj/item/weapon/emptysandbag(src)
- new /obj/item/weapon/emptysandbag(src)
- new /obj/item/weapon/emptysandbag(src)
- new /obj/item/weapon/emptysandbag(src)
- new /obj/item/weapon/emptysandbag(src)
- new /obj/item/weapon/emptysandbag(src)
- new /obj/item/weapon/emptysandbag(src)
+/obj/item/weapon/storage/box/emptysandbags/PopulateContents()
+ for(var/i in 1 to 7)
+ new /obj/item/weapon/emptysandbag(src)
/obj/item/weapon/storage/box/rndboards
name = "\proper the liberator's legacy"
desc = "A box containing a gift for worthy golems."
-/obj/item/weapon/storage/box/rndboards/New()
- ..()
+/obj/item/weapon/storage/box/rndboards/PopulateContents()
new /obj/item/weapon/circuitboard/machine/protolathe(src)
new /obj/item/weapon/circuitboard/machine/destructive_analyzer(src)
new /obj/item/weapon/circuitboard/machine/circuit_imprinter(src)
new /obj/item/weapon/circuitboard/computer/rdconsole(src)
+
+/obj/item/weapon/storage/box/silver_sulf
+ name = "box of silver sulfadiazine patches"
+ desc = "Contains patches used to treat burns."
+
+/obj/item/weapon/storage/box/silver_sulf/PopulateContents()
+ for(var/i in 1 to 7)
+ new /obj/item/weapon/reagent_containers/pill/patch/silver_sulf(src)
diff --git a/code/game/objects/items/weapons/storage/briefcase.dm b/code/game/objects/items/weapons/storage/briefcase.dm
index 0deb3c43dc..bc7f1d3fb2 100644
--- a/code/game/objects/items/weapons/storage/briefcase.dm
+++ b/code/game/objects/items/weapons/storage/briefcase.dm
@@ -16,8 +16,7 @@
max_integrity = 150
var/folder_path = /obj/item/weapon/folder //this is the path of the folder that gets spawned in New()
-/obj/item/weapon/storage/briefcase/New()
- ..()
+/obj/item/weapon/storage/briefcase/PopulateContents()
new /obj/item/weapon/pen(src)
var/obj/item/weapon/folder/folder = new folder_path(src)
for(var/i in 1 to 6)
@@ -26,7 +25,7 @@
/obj/item/weapon/storage/briefcase/lawyer
folder_path = /obj/item/weapon/folder/blue
-/obj/item/weapon/storage/briefcase/lawyer/New()
+/obj/item/weapon/storage/briefcase/lawyer/PopulateContents()
new /obj/item/weapon/stamp/law(src)
..()
@@ -47,8 +46,8 @@
obj_integrity = 150
max_integrity = 150
-/obj/item/weapon/storage/briefcase/sniperbundle/New()
- ..()
+/obj/item/weapon/storage/briefcase/sniperbundle/PopulateContents()
+ ..() // in case you need any paperwork done after your rampage
new /obj/item/weapon/gun/ballistic/automatic/sniper_rifle/syndicate(src)
new /obj/item/clothing/neck/tie/red(src)
new /obj/item/clothing/under/syndicate/sniper(src)
diff --git a/code/game/objects/items/weapons/storage/fancy.dm b/code/game/objects/items/weapons/storage/fancy.dm
index 95978000bf..3923bf9da9 100644
--- a/code/game/objects/items/weapons/storage/fancy.dm
+++ b/code/game/objects/items/weapons/storage/fancy.dm
@@ -22,8 +22,7 @@
var/spawn_type = null
var/fancy_open = FALSE
-/obj/item/weapon/storage/fancy/New()
- ..()
+/obj/item/weapon/storage/fancy/PopulateContents()
for(var/i = 1 to storage_slots)
new spawn_type(src)
@@ -111,7 +110,7 @@
//CIG PACK//
////////////
/obj/item/weapon/storage/fancy/cigarettes
- name = "Space Cigarettes"
+ name = "\improper Space Cigarettes packet"
desc = "The most popular brand of cigarettes, sponsors of the Space Olympics."
icon = 'icons/obj/cigarettes.dmi'
icon_state = "cig"
@@ -122,15 +121,7 @@
storage_slots = 6
can_hold = list(/obj/item/clothing/mask/cigarette, /obj/item/weapon/lighter)
icon_type = "cigarette"
- spawn_type = /obj/item/clothing/mask/cigarette
-
-/obj/item/weapon/storage/fancy/cigarettes/New()
- ..()
- create_reagents(15 * storage_slots)//so people can inject cigarettes without opening a packet, now with being able to inject the whole one
- reagents.set_reacting(FALSE)
- for(var/obj/item/clothing/mask/cigarette/cig in src)
- cig.desc = "\An [name] brand [cig.name]."
- name = "\improper [name] packet"
+ spawn_type = /obj/item/clothing/mask/cigarette/space_cigarette
/obj/item/weapon/storage/fancy/cigarettes/AltClick(mob/user)
if(user.get_active_held_item())
@@ -160,13 +151,6 @@
else
cut_overlays()
-/obj/item/weapon/storage/fancy/cigarettes/remove_from_storage(obj/item/W, atom/new_location)
- if(istype(W,/obj/item/clothing/mask/cigarette))
- if(reagents)
- reagents.trans_to(W,(reagents.total_volume/contents.len))
- fancy_open = TRUE
- ..()
-
/obj/item/weapon/storage/fancy/cigarettes/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob)
if(!istype(M, /mob))
return
@@ -184,65 +168,52 @@
to_chat(user, "There are no [icon_type]s left in the pack. ")
/obj/item/weapon/storage/fancy/cigarettes/dromedaryco
- name = "DromedaryCo"
+ name = "\improper DromedaryCo packet"
desc = "A packet of six imported DromedaryCo cancer sticks. A label on the packaging reads, \"Wouldn't a slow death make a change?\""
icon_state = "dromedary"
+ spawn_type = /obj/item/clothing/mask/cigarette/dromedary
/obj/item/weapon/storage/fancy/cigarettes/cigpack_uplift
- name = "Uplift Smooth"
+ name = "\improper Uplift Smooth packet"
desc = "Your favorite brand, now menthol flavored."
icon_state = "uplift"
+ spawn_type = /obj/item/clothing/mask/cigarette/uplift
/obj/item/weapon/storage/fancy/cigarettes/cigpack_robust
- name = "Robust"
+ name = "\improper Robust packet"
desc = "Smoked by the robust."
icon_state = "robust"
+ spawn_type = /obj/item/clothing/mask/cigarette/robust
/obj/item/weapon/storage/fancy/cigarettes/cigpack_robustgold
- name = "Robust Gold"
+ name = "\improper Robust Gold packet"
desc = "Smoked by the truly robust."
icon_state = "robustg"
-
-/obj/item/weapon/storage/fancy/cigarettes/cigpack_robustgold/New()
- ..()
- for(var/i = 1 to storage_slots)
- reagents.add_reagent("gold",1)
+ spawn_type = /obj/item/clothing/mask/cigarette/robustgold
/obj/item/weapon/storage/fancy/cigarettes/cigpack_carp
- name = "Carp Classic"
+ name = "\improper Carp Classic packet"
desc = "Since 2313."
icon_state = "carp"
+ spawn_type = /obj/item/clothing/mask/cigarette/carp
/obj/item/weapon/storage/fancy/cigarettes/cigpack_syndicate
- name = "unknown"
+ name = "cigarette packet"
desc = "An obscure brand of cigarettes."
icon_state = "syndie"
-
-/obj/item/weapon/storage/fancy/cigarettes/cigpack_syndicate/New()
- ..()
- for(var/i = 1 to storage_slots)
- reagents.add_reagent("omnizine",15)
- name = "cigarette packet"
-
+ spawn_type = /obj/item/clothing/mask/cigarette/syndicate
/obj/item/weapon/storage/fancy/cigarettes/cigpack_midori
- name = "Midori Tabako"
+ name = "\improper Midori Tabako packet"
desc = "You can't understand the runes, but the packet smells funny."
icon_state = "midori"
spawn_type = /obj/item/clothing/mask/cigarette/rollie
/obj/item/weapon/storage/fancy/cigarettes/cigpack_shadyjims
- name ="Shady Jim's Super Slims"
+ name = "\improper Shady Jim's Super Slims packet"
desc = "Is your weight slowing you down? Having trouble running away from gravitational singularities? Can't stop stuffing your mouth? Smoke Shady Jim's Super Slims and watch all that fat burn away. Guaranteed results!"
icon_state = "shadyjim"
-
-/obj/item/weapon/storage/fancy/cigarettes/cigpack_shadyjims/New()
- ..()
- for(var/i = 1 to storage_slots)
- reagents.add_reagent("lipolicide",4)
- reagents.add_reagent("ammonia",2)
- reagents.add_reagent("plantbgone",1)
- reagents.add_reagent("toxin",1.5)
+ spawn_type = /obj/item/clothing/mask/cigarette/shadyjims
/obj/item/weapon/storage/fancy/rollingpapers
name = "rolling paper pack"
diff --git a/code/game/objects/items/weapons/storage/firstaid.dm b/code/game/objects/items/weapons/storage/firstaid.dm
index a792f03bf7..3beecc4f71 100644
--- a/code/game/objects/items/weapons/storage/firstaid.dm
+++ b/code/game/objects/items/weapons/storage/firstaid.dm
@@ -20,9 +20,9 @@
icon_state = "firstaid"
desc = "A first aid kit with the ability to heal common types of injuries."
-/obj/item/weapon/storage/firstaid/regular/New()
- ..()
- if(empty) return
+/obj/item/weapon/storage/firstaid/regular/PopulateContents()
+ if(empty)
+ return
new /obj/item/stack/medical/gauze(src)
new /obj/item/stack/medical/bruise_pack(src)
new /obj/item/stack/medical/bruise_pack(src)
@@ -30,7 +30,6 @@
new /obj/item/stack/medical/ointment(src)
new /obj/item/weapon/reagent_containers/hypospray/medipen(src)
new /obj/item/device/healthanalyzer(src)
- return
/obj/item/weapon/storage/firstaid/fire
name = "burn treatment kit"
@@ -38,17 +37,19 @@
icon_state = "ointment"
item_state = "firstaid-ointment"
-/obj/item/weapon/storage/firstaid/fire/New()
+/obj/item/weapon/storage/firstaid/fire/Initialize(mapload)
..()
- if(empty) return
icon_state = pick("ointment","firefirstaid")
+
+/obj/item/weapon/storage/firstaid/fire/PopulateContents()
+ if(empty)
+ return
for(var/i in 1 to 3)
new /obj/item/weapon/reagent_containers/pill/patch/silver_sulf(src)
new /obj/item/weapon/reagent_containers/pill/oxandrolone(src)
new /obj/item/weapon/reagent_containers/pill/oxandrolone(src)
new /obj/item/weapon/reagent_containers/hypospray/medipen(src)
new /obj/item/device/healthanalyzer(src)
- return
/obj/item/weapon/storage/firstaid/toxin
name = "toxin treatment kit"
@@ -56,16 +57,18 @@
icon_state = "antitoxin"
item_state = "firstaid-toxin"
-/obj/item/weapon/storage/firstaid/toxin/New()
- ..()
- if(empty) return
+/obj/item/weapon/storage/firstaid/toxin/Initialize(mapload)
+ . = ..()
icon_state = pick("antitoxin","antitoxfirstaid","antitoxfirstaid2","antitoxfirstaid3")
+
+/obj/item/weapon/storage/firstaid/toxin/PopulateContents()
+ if(empty)
+ return
for(var/i in 1 to 4)
new /obj/item/weapon/reagent_containers/syringe/charcoal(src)
for(var/i in 1 to 2)
new /obj/item/weapon/storage/pill_bottle/charcoal(src)
new /obj/item/device/healthanalyzer(src)
- return
/obj/item/weapon/storage/firstaid/o2
name = "oxygen deprivation treatment kit"
@@ -73,15 +76,14 @@
icon_state = "o2"
item_state = "firstaid-o2"
-/obj/item/weapon/storage/firstaid/o2/New()
- ..()
- if(empty) return
+/obj/item/weapon/storage/firstaid/o2/PopulateContents()
+ if(empty)
+ return
for(var/i in 1 to 4)
new /obj/item/weapon/reagent_containers/pill/salbutamol(src)
new /obj/item/weapon/reagent_containers/hypospray/medipen(src)
new /obj/item/weapon/reagent_containers/hypospray/medipen(src)
new /obj/item/device/healthanalyzer(src)
- return
/obj/item/weapon/storage/firstaid/brute
name = "brute trauma treatment kit"
@@ -89,15 +91,14 @@
icon_state = "brute"
item_state = "firstaid-brute"
-/obj/item/weapon/storage/firstaid/brute/New()
- ..()
- if(empty) return
+/obj/item/weapon/storage/firstaid/brute/PopulateContents()
+ if(empty)
+ return
for(var/i in 1 to 4)
new /obj/item/weapon/reagent_containers/pill/patch/styptic(src)
new /obj/item/stack/medical/gauze(src)
new /obj/item/stack/medical/gauze(src)
new /obj/item/device/healthanalyzer(src)
- return
/obj/item/weapon/storage/firstaid/tactical
name = "combat medical kit"
@@ -105,9 +106,9 @@
icon_state = "bezerk"
max_w_class = WEIGHT_CLASS_NORMAL
-/obj/item/weapon/storage/firstaid/tactical/New()
- ..()
- if(empty) return
+/obj/item/weapon/storage/firstaid/tactical/PopulateContents()
+ if(empty)
+ return
new /obj/item/stack/medical/gauze(src)
new /obj/item/weapon/defibrillator/compact/combat/loaded(src)
new /obj/item/weapon/reagent_containers/hypospray/combat(src)
@@ -115,7 +116,6 @@
new /obj/item/weapon/reagent_containers/pill/patch/silver_sulf(src)
new /obj/item/weapon/reagent_containers/syringe/lethal/choral(src)
new /obj/item/clothing/glasses/hud/health/night(src)
- return
/*
@@ -147,21 +147,11 @@
usr.s_active.close(usr)
src.show_to(usr)
-/obj/item/weapon/storage/box/silver_sulf
- name = "box of silver sulfadiazine patches"
- desc = "Contains patches used to treat burns."
-
-/obj/item/weapon/storage/box/silver_sulf/New()
- ..()
- for(var/i in 1 to 7)
- new /obj/item/weapon/reagent_containers/pill/patch/silver_sulf(src)
-
/obj/item/weapon/storage/pill_bottle/charcoal
name = "bottle of charcoal pills"
desc = "Contains pills used to counter toxins."
-/obj/item/weapon/storage/pill_bottle/charcoal/New()
- ..()
+/obj/item/weapon/storage/pill_bottle/charcoal/PopulateContents()
for(var/i in 1 to 7)
new /obj/item/weapon/reagent_containers/pill/charcoal(src)
@@ -169,8 +159,7 @@
name = "bottle of epinephrine pills"
desc = "Contains pills used to stabilize patients."
-/obj/item/weapon/storage/pill_bottle/epinephrine/New()
- ..()
+/obj/item/weapon/storage/pill_bottle/epinephrine/PopulateContents()
for(var/i in 1 to 7)
new /obj/item/weapon/reagent_containers/pill/epinephrine(src)
@@ -178,8 +167,7 @@
name = "bottle of mutadone pills"
desc = "Contains pills used to treat genetic abnormalities."
-/obj/item/weapon/storage/pill_bottle/mutadone/New()
- ..()
+/obj/item/weapon/storage/pill_bottle/mutadone/PopulateContents()
for(var/i in 1 to 7)
new /obj/item/weapon/reagent_containers/pill/mutadone(src)
@@ -187,8 +175,7 @@
name = "bottle of mannitol pills"
desc = "Contains pills used to treat brain damage."
-/obj/item/weapon/storage/pill_bottle/mannitol/New()
- ..()
+/obj/item/weapon/storage/pill_bottle/mannitol/PopulateContents()
for(var/i in 1 to 7)
new /obj/item/weapon/reagent_containers/pill/mannitol(src)
@@ -196,17 +183,15 @@
name = "bottle of stimulant pills"
desc = "Guaranteed to give you that extra burst of energy during a long shift!"
-/obj/item/weapon/storage/pill_bottle/stimulant/New()
- ..()
+/obj/item/weapon/storage/pill_bottle/stimulant/PopulateContents()
for(var/i in 1 to 5)
new /obj/item/weapon/reagent_containers/pill/stimulant(src)
/obj/item/weapon/storage/pill_bottle/mining
- name = "box of patches"
+ name = "bottle of patches"
desc = "Contains patches used to treat brute and burn damage."
-/obj/item/weapon/storage/pill_bottle/mining/New()
- ..()
+/obj/item/weapon/storage/pill_bottle/mining/PopulateContents()
new /obj/item/weapon/reagent_containers/pill/patch/silver_sulf(src)
for(var/i in 1 to 3)
- new /obj/item/weapon/reagent_containers/pill/patch/styptic(src)
\ No newline at end of file
+ new /obj/item/weapon/reagent_containers/pill/patch/styptic(src)
diff --git a/code/game/objects/items/weapons/storage/internal.dm b/code/game/objects/items/weapons/storage/internal.dm
index 9fdc14f85c..8c7b7df04c 100644
--- a/code/game/objects/items/weapons/storage/internal.dm
+++ b/code/game/objects/items/weapons/storage/internal.dm
@@ -70,6 +70,5 @@
/obj/item/weapon/storage/internal/pocket/small/detective
priority = TRUE // so the detectives would discover pockets in their hats
-/obj/item/weapon/storage/internal/pocket/small/detective/New()
- ..()
+/obj/item/weapon/storage/internal/pocket/small/detective/PopulateContents()
new /obj/item/weapon/reagent_containers/food/drinks/flask/det(src)
diff --git a/code/game/objects/items/weapons/storage/lockbox.dm b/code/game/objects/items/weapons/storage/lockbox.dm
index e2b45252ae..2a026a8f9e 100644
--- a/code/game/objects/items/weapons/storage/lockbox.dm
+++ b/code/game/objects/items/weapons/storage/lockbox.dm
@@ -1,5 +1,3 @@
-
-
/obj/item/weapon/storage/lockbox
name = "lockbox"
desc = "A locked box."
@@ -9,7 +7,7 @@
max_w_class = WEIGHT_CLASS_NORMAL
max_combined_w_class = 14 //The sum of the w_classes of all the items in this storage item.
storage_slots = 4
- req_access = list(access_armory)
+ req_access = list(GLOB.access_armory)
var/locked = 1
var/broken = 0
var/icon_locked = "lockbox+l"
@@ -78,10 +76,9 @@
/obj/item/weapon/storage/lockbox/loyalty
name = "lockbox of mindshield implants"
- req_access = list(access_security)
+ req_access = list(GLOB.access_security)
-/obj/item/weapon/storage/lockbox/loyalty/New()
- ..()
+/obj/item/weapon/storage/lockbox/loyalty/PopulateContents()
for(var/i in 1 to 3)
new /obj/item/weapon/implantcase/mindshield(src)
new /obj/item/weapon/implanter/mindshield(src)
@@ -90,10 +87,9 @@
/obj/item/weapon/storage/lockbox/clusterbang
name = "lockbox of clusterbangs"
desc = "You have a bad feeling about opening this."
- req_access = list(access_security)
+ req_access = list(GLOB.access_security)
-/obj/item/weapon/storage/lockbox/clusterbang/New()
- ..()
+/obj/item/weapon/storage/lockbox/clusterbang/PopulateContents()
new /obj/item/weapon/grenade/clusterbuster(src)
/obj/item/weapon/storage/lockbox/medal
@@ -104,13 +100,12 @@
w_class = WEIGHT_CLASS_NORMAL
max_w_class = WEIGHT_CLASS_SMALL
storage_slots = 10
- req_access = list(access_captain)
+ req_access = list(GLOB.access_captain)
icon_locked = "medalbox+l"
icon_closed = "medalbox"
icon_broken = "medalbox+b"
-/obj/item/weapon/storage/lockbox/medal/New()
- ..()
+/obj/item/weapon/storage/lockbox/medal/PopulateContents()
new /obj/item/clothing/tie/medal/silver/valor(src)
new /obj/item/clothing/tie/medal/bronze_heart(src)
for(var/i in 1 to 3)
diff --git a/code/game/objects/items/weapons/storage/secure.dm b/code/game/objects/items/weapons/storage/secure.dm
index c248808aae..b628832aa7 100644
--- a/code/game/objects/items/weapons/storage/secure.dm
+++ b/code/game/objects/items/weapons/storage/secure.dm
@@ -145,10 +145,9 @@
max_combined_w_class = 21
attack_verb = list("bashed", "battered", "bludgeoned", "thrashed", "whacked")
-/obj/item/weapon/storage/secure/briefcase/New()
+/obj/item/weapon/storage/secure/briefcase/PopulateContents()
new /obj/item/weapon/paper(src)
new /obj/item/weapon/pen(src)
- return ..()
/obj/item/weapon/storage/secure/briefcase/attack_hand(mob/user)
if ((src.loc == user) && (src.locked == 1))
@@ -161,10 +160,10 @@
/obj/item/weapon/storage/secure/briefcase/syndie
force = 15
-/obj/item/weapon/storage/secure/briefcase/syndie/New()
+/obj/item/weapon/storage/secure/briefcase/syndie/PopulateContents()
+ ..()
for(var/i = 0, i < storage_slots - 2, i++)
new /obj/item/stack/spacecash/c1000(src)
- return ..()
// -----------------------------
@@ -185,14 +184,12 @@
density = 0
cant_hold = list(/obj/item/weapon/storage/secure/briefcase)
-/obj/item/weapon/storage/secure/safe/New()
- ..()
+/obj/item/weapon/storage/secure/safe/PopulateContents()
new /obj/item/weapon/paper(src)
new /obj/item/weapon/pen(src)
/obj/item/weapon/storage/secure/safe/attack_hand(mob/user)
return attack_self(user)
-/obj/item/weapon/storage/secure/safe/HoS/New()
- ..()
- //new /obj/item/weapon/storage/lockbox/clusterbang(src) This item is currently broken... and probably shouldnt exist to begin with (even though it's cool)
+/obj/item/weapon/storage/secure/safe/HoS
+ name = "head of security's safe"
diff --git a/code/game/objects/items/weapons/storage/storage.dm b/code/game/objects/items/weapons/storage/storage.dm
index 79bfb62312..60c5d9e587 100644
--- a/code/game/objects/items/weapons/storage/storage.dm
+++ b/code/game/objects/items/weapons/storage/storage.dm
@@ -498,7 +498,7 @@
remove_from_storage(I, T)
-/obj/item/weapon/storage/New()
+/obj/item/weapon/storage/Initialize(mapload)
..()
can_hold = typecacheof(can_hold)
@@ -528,6 +528,8 @@
closer.plane = ABOVE_HUD_PLANE
orient2hud()
+ PopulateContents()
+
/obj/item/weapon/storage/Destroy()
for(var/obj/O in contents)
@@ -561,3 +563,7 @@
for(var/atom/A in contents)
A.ex_act(severity, target)
CHECK_TICK
+
+//Cyberboss says: "USE THIS TO FILL IT, NOT INITIALIZE OR NEW"
+
+/obj/item/weapon/storage/proc/PopulateContents()
diff --git a/code/game/objects/items/weapons/storage/toolbox.dm b/code/game/objects/items/weapons/storage/toolbox.dm
index b1b7c823a2..b72a197791 100644
--- a/code/game/objects/items/weapons/storage/toolbox.dm
+++ b/code/game/objects/items/weapons/storage/toolbox.dm
@@ -41,8 +41,7 @@
icon_state = "red"
item_state = "toolbox_red"
-/obj/item/weapon/storage/toolbox/emergency/New()
- ..()
+/obj/item/weapon/storage/toolbox/emergency/PopulateContents()
new /obj/item/weapon/crowbar/red(src)
new /obj/item/weapon/weldingtool/mini(src)
new /obj/item/weapon/extinguisher/mini(src)
@@ -65,8 +64,7 @@
icon_state = "blue"
item_state = "toolbox_blue"
-/obj/item/weapon/storage/toolbox/mechanical/New()
- ..()
+/obj/item/weapon/storage/toolbox/mechanical/PopulateContents()
new /obj/item/weapon/screwdriver(src)
new /obj/item/weapon/wrench(src)
new /obj/item/weapon/weldingtool(src)
@@ -84,8 +82,7 @@
icon_state = "yellow"
item_state = "toolbox_yellow"
-/obj/item/weapon/storage/toolbox/electrical/New()
- ..()
+/obj/item/weapon/storage/toolbox/electrical/PopulateContents()
var/pickedcolor = pick("red","yellow","green","blue","pink","orange","cyan","white")
new /obj/item/weapon/screwdriver(src)
new /obj/item/weapon/wirecutters(src)
@@ -107,8 +104,7 @@
force = 15
throwforce = 18
-/obj/item/weapon/storage/toolbox/syndicate/New()
- ..()
+/obj/item/weapon/storage/toolbox/syndicate/PopulateContents()
new /obj/item/weapon/screwdriver/nuke(src)
new /obj/item/weapon/wrench(src)
new /obj/item/weapon/weldingtool/largetank(src)
@@ -122,8 +118,7 @@
icon_state = "blue"
item_state = "toolbox_blue"
-/obj/item/weapon/storage/toolbox/drone/New()
- ..()
+/obj/item/weapon/storage/toolbox/drone/PopulateContents()
var/pickedcolor = pick("red","yellow","green","blue","pink","orange","cyan","white")
new /obj/item/weapon/screwdriver(src)
new /obj/item/weapon/wrench(src)
@@ -147,8 +142,7 @@
attack_verb = list("robusted", "crushed", "smashed")
var/proselytizer_type = /obj/item/clockwork/clockwork_proselytizer/scarab
-/obj/item/weapon/storage/toolbox/brass/prefilled/New()
- ..()
+/obj/item/weapon/storage/toolbox/brass/prefilled/PopulateContents()
new proselytizer_type(src)
new /obj/item/weapon/screwdriver/brass(src)
new /obj/item/weapon/wirecutters/brass(src)
@@ -159,7 +153,7 @@
/obj/item/weapon/storage/toolbox/brass/prefilled/ratvar
var/slab_type = /obj/item/clockwork/slab/scarab
-/obj/item/weapon/storage/toolbox/brass/prefilled/ratvar/New()
+/obj/item/weapon/storage/toolbox/brass/prefilled/ratvar/PopulateContents()
..()
new slab_type(src)
@@ -177,8 +171,7 @@
storage_slots = 10
w_class = WEIGHT_CLASS_GIGANTIC //Holds more than a regular toolbox!
-/obj/item/weapon/storage/toolbox/artistic/New()
- ..()
+/obj/item/weapon/storage/toolbox/artistic/PopulateContents()
new/obj/item/weapon/storage/crayons(src)
new/obj/item/weapon/crowbar(src)
new/obj/item/stack/cable_coil/red(src)
diff --git a/code/game/objects/items/weapons/storage/uplink_kits.dm b/code/game/objects/items/weapons/storage/uplink_kits.dm
index 556fc94901..335545e8c9 100644
--- a/code/game/objects/items/weapons/storage/uplink_kits.dm
+++ b/code/game/objects/items/weapons/storage/uplink_kits.dm
@@ -1,7 +1,6 @@
/obj/item/weapon/storage/box/syndicate
-/obj/item/weapon/storage/box/syndicate/New()
- ..()
+/obj/item/weapon/storage/box/syndicate/PopulateContents()
switch (pickweight(list("bloodyspai" = 3, "stealth" = 2, "bond" = 2, "screwed" = 2, "sabotage" = 3, "guns" = 2, "murder" = 2, "implant" = 1, "hacker" = 3, "darklord" = 1, "sniper" = 1, "metaops" = 1, "ninja" = 1)))
if("bloodyspai") // 27 tc now this is more right
new /obj/item/clothing/under/chameleon(src) // 2 tc since it's not the full set
@@ -141,8 +140,7 @@
/obj/item/weapon/storage/box/syndie_kit/imp_freedom
name = "boxed freedom implant (with injector)"
-/obj/item/weapon/storage/box/syndie_kit/imp_freedom/New()
- ..()
+/obj/item/weapon/storage/box/syndie_kit/imp_freedom/PopulateContents()
var/obj/item/weapon/implanter/O = new(src)
O.imp = new /obj/item/weapon/implant/freedom(O)
O.update_icon()
@@ -150,25 +148,23 @@
/obj/item/weapon/storage/box/syndie_kit/imp_microbomb
name = "Microbomb Implant (with injector)"
-/obj/item/weapon/storage/box/syndie_kit/imp_microbomb/New()
+/obj/item/weapon/storage/box/syndie_kit/imp_microbomb/PopulateContents()
var/obj/item/weapon/implanter/O = new(src)
O.imp = new /obj/item/weapon/implant/explosive(O)
O.update_icon()
- ..()
/obj/item/weapon/storage/box/syndie_kit/imp_macrobomb
name = "Macrobomb Implant (with injector)"
-/obj/item/weapon/storage/box/syndie_kit/imp_macrobomb/New()
+/obj/item/weapon/storage/box/syndie_kit/imp_macrobomb/PopulateContents()
var/obj/item/weapon/implanter/O = new(src)
O.imp = new /obj/item/weapon/implant/explosive/macro(O)
O.update_icon()
- ..()
/obj/item/weapon/storage/box/syndie_kit/imp_uplink
name = "boxed uplink implant (with injector)"
-/obj/item/weapon/storage/box/syndie_kit/imp_uplink/New()
+/obj/item/weapon/storage/box/syndie_kit/imp_uplink/PopulateContents()
..()
var/obj/item/weapon/implanter/O = new(src)
O.imp = new /obj/item/weapon/implant/uplink(O)
@@ -177,16 +173,14 @@
/obj/item/weapon/storage/box/syndie_kit/bioterror
name = "bioterror syringe box"
-/obj/item/weapon/storage/box/syndie_kit/bioterror/New()
- ..()
+/obj/item/weapon/storage/box/syndie_kit/bioterror/PopulateContents()
for(var/i in 1 to 7)
new /obj/item/weapon/reagent_containers/syringe/bioterror(src)
/obj/item/weapon/storage/box/syndie_kit/imp_adrenal
name = "boxed adrenal implant (with injector)"
-/obj/item/weapon/storage/box/syndie_kit/imp_adrenal/New()
- ..()
+/obj/item/weapon/storage/box/syndie_kit/imp_adrenal/PopulateContents()
var/obj/item/weapon/implanter/O = new(src)
O.imp = new /obj/item/weapon/implant/adrenalin(O)
O.update_icon()
@@ -194,8 +188,7 @@
/obj/item/weapon/storage/box/syndie_kit/imp_storage
name = "boxed storage implant (with injector)"
-/obj/item/weapon/storage/box/syndie_kit/imp_storage/New()
- ..()
+/obj/item/weapon/storage/box/syndie_kit/imp_storage/PopulateContents()
new /obj/item/weapon/implanter/storage(src)
/obj/item/weapon/storage/box/syndie_kit/space
@@ -203,16 +196,14 @@
can_hold = list(/obj/item/clothing/suit/space/syndicate, /obj/item/clothing/head/helmet/space/syndicate)
max_w_class = WEIGHT_CLASS_NORMAL
-/obj/item/weapon/storage/box/syndie_kit/space/New()
- ..()
+/obj/item/weapon/storage/box/syndie_kit/space/PopulateContents()
new /obj/item/clothing/suit/space/syndicate/black/red(src) // Black and red is so in right now
new /obj/item/clothing/head/helmet/space/syndicate/black/red(src)
/obj/item/weapon/storage/box/syndie_kit/emp
name = "boxed EMP kit"
-/obj/item/weapon/storage/box/syndie_kit/emp/New()
- ..()
+/obj/item/weapon/storage/box/syndie_kit/emp/PopulateContents()
new /obj/item/weapon/grenade/empgrenade(src)
new /obj/item/weapon/grenade/empgrenade(src)
new /obj/item/weapon/grenade/empgrenade(src)
@@ -224,8 +215,7 @@
name = "boxed chemical kit"
storage_slots = 14
-/obj/item/weapon/storage/box/syndie_kit/chemical/New()
- ..()
+/obj/item/weapon/storage/box/syndie_kit/chemical/PopulateContents()
new /obj/item/weapon/reagent_containers/glass/bottle/polonium(src)
new /obj/item/weapon/reagent_containers/glass/bottle/venom(src)
new /obj/item/weapon/reagent_containers/glass/bottle/neurotoxin2(src)
@@ -243,8 +233,7 @@
/obj/item/weapon/storage/box/syndie_kit/nuke
name = "box"
-/obj/item/weapon/storage/box/syndie_kit/nuke/New()
- ..()
+/obj/item/weapon/storage/box/syndie_kit/nuke/PopulateContents()
new /obj/item/weapon/screwdriver/nuke(src)
new /obj/item/nuke_core_container(src)
new /obj/item/weapon/paper/nuke_instructions(src)
@@ -252,8 +241,7 @@
/obj/item/weapon/storage/box/syndie_kit/tuberculosisgrenade
name = "boxed virus grenade kit"
-/obj/item/weapon/storage/box/syndie_kit/tuberculosisgrenade/New()
- ..()
+/obj/item/weapon/storage/box/syndie_kit/tuberculosisgrenade/PopulateContents()
new /obj/item/weapon/grenade/chem_grenade/tuberculosis(src)
for(var/i in 1 to 5)
new /obj/item/weapon/reagent_containers/hypospray/medipen/tuberculosiscure(src)
@@ -263,8 +251,7 @@
/obj/item/weapon/storage/box/syndie_kit/chameleon
name = "chameleon kit"
-/obj/item/weapon/storage/box/syndie_kit/chameleon/New()
- ..()
+/obj/item/weapon/storage/box/syndie_kit/chameleon/PopulateContents()
new /obj/item/clothing/under/chameleon(src)
new /obj/item/clothing/suit/chameleon(src)
new /obj/item/clothing/gloves/chameleon(src)
@@ -280,9 +267,7 @@
//5*(2*4) = 5*8 = 45, 45 damage if you hit one person with all 5 stars.
//Not counting the damage it will do while embedded (2*4 = 8, at 15% chance)
-/obj/item/weapon/storage/box/syndie_kit/throwing_weapons/New()
- ..()
- contents = list()
+/obj/item/weapon/storage/box/syndie_kit/throwing_weapons/PopulateContents()
new /obj/item/weapon/throwing_star(src)
new /obj/item/weapon/throwing_star(src)
new /obj/item/weapon/throwing_star(src)
@@ -291,28 +276,23 @@
new /obj/item/weapon/restraints/legcuffs/bola/tactical(src)
new /obj/item/weapon/restraints/legcuffs/bola/tactical(src)
-/obj/item/weapon/storage/box/syndie_kit/cutouts/New()
- ..()
+/obj/item/weapon/storage/box/syndie_kit/cutouts/PopulateContents()
for(var/i in 1 to 3)
new/obj/item/cardboard_cutout/adaptive(src)
new/obj/item/toy/crayon/rainbow(src)
-/obj/item/weapon/storage/box/syndie_kit/romerol/New()
- ..()
+/obj/item/weapon/storage/box/syndie_kit/romerol/PopulateContents()
new /obj/item/weapon/reagent_containers/glass/bottle/romerol(src)
new /obj/item/weapon/reagent_containers/syringe(src)
new /obj/item/weapon/reagent_containers/dropper(src)
-/obj/item/weapon/storage/box/syndie_kit/ez_clean/New()
- ..()
+/obj/item/weapon/storage/box/syndie_kit/ez_clean/PopulateContents()
for(var/i in 1 to 3)
new/obj/item/weapon/grenade/chem_grenade/ez_clean(src)
-/obj/item/weapon/storage/box/hug/reverse_revolver/New()
- ..()
+/obj/item/weapon/storage/box/hug/reverse_revolver/PopulateContents()
new /obj/item/weapon/gun/ballistic/revolver/reverse(src)
-/obj/item/weapon/storage/box/syndie_kit/mimery/New()
- ..()
+/obj/item/weapon/storage/box/syndie_kit/mimery/PopulateContents()
new /obj/item/weapon/spellbook/oneuse/mimery_blockade(src)
new /obj/item/weapon/spellbook/oneuse/mimery_guns(src)
diff --git a/code/game/objects/items/weapons/storage/wallets.dm b/code/game/objects/items/weapons/storage/wallets.dm
index 72db963c59..b2501103aa 100644
--- a/code/game/objects/items/weapons/storage/wallets.dm
+++ b/code/game/objects/items/weapons/storage/wallets.dm
@@ -72,8 +72,7 @@
else
return ..()
-/obj/item/weapon/storage/wallet/random/New()
- ..()
+/obj/item/weapon/storage/wallet/random/PopulateContents()
var/item1_type = pick( /obj/item/stack/spacecash/c10,/obj/item/stack/spacecash/c100,/obj/item/stack/spacecash/c1000,/obj/item/stack/spacecash/c20,/obj/item/stack/spacecash/c200,/obj/item/stack/spacecash/c50, /obj/item/stack/spacecash/c500)
var/item2_type
if(prob(50))
diff --git a/code/game/objects/items/weapons/stunbaton.dm b/code/game/objects/items/weapons/stunbaton.dm
index c79e35d9ec..91372da6ae 100644
--- a/code/game/objects/items/weapons/stunbaton.dm
+++ b/code/game/objects/items/weapons/stunbaton.dm
@@ -29,7 +29,7 @@
/obj/item/weapon/melee/baton/throw_impact(atom/hit_atom)
..()
//Only mob/living types have stun handling
- if(status && prob(throw_hit_chance) && isliving(hit_atom))
+ if(status && prob(throw_hit_chance) && iscarbon(hit_atom))
baton_stun(hit_atom)
/obj/item/weapon/melee/baton/loaded/New() //this one starts with a cell pre-installed.
@@ -164,7 +164,7 @@
if(ishuman(L))
var/mob/living/carbon/human/H = L
- H.forcesay(hit_appends)
+ H.forcesay(GLOB.hit_appends)
return 1
diff --git a/code/game/objects/items/weapons/tanks/tanks.dm b/code/game/objects/items/weapons/tanks/tanks.dm
index ffac4b240b..0595076901 100644
--- a/code/game/objects/items/weapons/tanks/tanks.dm
+++ b/code/game/objects/items/weapons/tanks/tanks.dm
@@ -120,7 +120,7 @@
for(var/obj/item/W in H)
H.dropItemToGround(W)
if(prob(50))
- step(W, pick(alldirs))
+ step(W, pick(GLOB.alldirs))
H.status_flags |= DISFIGURED
H.bleed_rate = 5
H.gib_animation()
@@ -143,7 +143,7 @@
. = ..()
/obj/item/weapon/tank/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = 0, \
- datum/tgui/master_ui = null, datum/ui_state/state = hands_state)
+ datum/tgui/master_ui = null, datum/ui_state/state = GLOB.hands_state)
ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open)
if(!ui)
ui = new(user, src, ui_key, "tanks", name, 420, 200, master_ui, state)
diff --git a/code/game/objects/items/weapons/teleportation.dm b/code/game/objects/items/weapons/teleportation.dm
index 74a9bc324c..8a37452ffe 100644
--- a/code/game/objects/items/weapons/teleportation.dm
+++ b/code/game/objects/items/weapons/teleportation.dm
@@ -60,7 +60,7 @@ Frequency:
if (sr)
src.temp += "Located Beacons: "
- for(var/obj/item/device/radio/beacon/W in teleportbeacons)
+ for(var/obj/item/device/radio/beacon/W in GLOB.teleportbeacons)
if (W.frequency == src.frequency)
var/turf/tr = get_turf(W)
if (tr.z == sr.z && tr)
@@ -78,7 +78,7 @@ Frequency:
src.temp += "[W.code]-[dir2text(get_dir(sr, tr))]-[direct] "
src.temp += "Extranneous Signals: "
- for (var/obj/item/weapon/implant/tracking/W in tracked_implants)
+ for (var/obj/item/weapon/implant/tracking/W in GLOB.tracked_implants)
if (!W.imp_in || !ismob(W.loc))
continue
else
@@ -145,7 +145,7 @@ Frequency:
to_chat(user, "\The [src] is malfunctioning. ")
return
var/list/L = list( )
- for(var/obj/machinery/computer/teleporter/com in machines)
+ for(var/obj/machinery/computer/teleporter/com in GLOB.machines)
if(com.target)
var/area/A = get_area(com.target)
if(!A || A.noteleport)
diff --git a/code/game/objects/items/weapons/tools.dm b/code/game/objects/items/weapons/tools.dm
index 74d9d256de..be615b297b 100644
--- a/code/game/objects/items/weapons/tools.dm
+++ b/code/game/objects/items/weapons/tools.dm
@@ -1,4 +1,4 @@
-
+#define WELDER_FUEL_BURN_INTERVAL 13
/* Tools!
* Note: Multitools are /obj/item/device
@@ -336,6 +336,7 @@
var/change_icons = 1
var/can_off_process = 0
var/light_intensity = 2 //how powerful the emitted light is when used.
+ var/burned_fuel_for = 0 //when fuel was last removed
heat = 3800
toolspeed = 1
@@ -381,7 +382,8 @@
if(1)
force = 15
damtype = "fire"
- if(prob(5))
+ ++burned_fuel_for
+ if(burned_fuel_for >= WELDER_FUEL_BURN_INTERVAL)
remove_fuel(1)
update_icon()
@@ -455,6 +457,8 @@
/obj/item/weapon/weldingtool/proc/remove_fuel(amount = 1, mob/living/M = null)
if(!welding || !check_fuel())
return 0
+ if(amount)
+ burned_fuel_for = 0
if(get_fuel() >= amount)
reagents.remove_reagent("welding_fuel", amount)
check_fuel()
@@ -727,3 +731,5 @@
to_chat(user, "You attach the cutting jaws to [src]. ")
qdel(src)
user.put_in_active_hand(cutjaws)
+
+#undef WELDER_FUEL_BURN_INTERVAL
diff --git a/code/game/objects/items/weapons/vending_items.dm b/code/game/objects/items/weapons/vending_items.dm
index 0c0a3d804a..74ab7be4b6 100644
--- a/code/game/objects/items/weapons/vending_items.dm
+++ b/code/game/objects/items/weapons/vending_items.dm
@@ -63,11 +63,11 @@
/obj/item/weapon/vending_refill/autodrobe
machine_name = "AutoDrobe"
icon_state = "refill_costume"
- charges = list(33, 2, 3)// of 97 standard, 6 contraband, 9 premium
- init_charges = list(33, 2, 3)
+ charges = list(31, 2, 3)// of 94 standard, 6 contraband, 9 premium
+ init_charges = list(27, 2, 3)
/obj/item/weapon/vending_refill/clothing
machine_name = "ClothesMate"
icon_state = "refill_clothes"
- charges = list(39, 7, 4)// of 115 standard, 18 contraband, 10 premium(?)
- init_charges = list(39, 7, 4)
+ charges = list(31, 4, 4)// of 101 standard, 12 contraband, 10 premium(?)
+ init_charges = list(31, 4, 4)
diff --git a/code/game/objects/items/weapons/weaponry.dm b/code/game/objects/items/weapons/weaponry.dm
index 6fb24651b9..a0de9b5f76 100644
--- a/code/game/objects/items/weapons/weaponry.dm
+++ b/code/game/objects/items/weapons/weaponry.dm
@@ -123,7 +123,7 @@
/obj/item/weapon/claymore/highlander/attack_self(mob/living/user)
var/closest_victim
var/closest_distance = 255
- for(var/mob/living/carbon/human/H in player_list - user)
+ for(var/mob/living/carbon/human/H in GLOB.player_list - user)
if(H.client && H.mind.special_role == "highlander" && (!closest_victim || get_dist(user, closest_victim) < closest_distance))
closest_victim = H
if(!closest_victim)
diff --git a/code/game/objects/obj_defense.dm b/code/game/objects/obj_defense.dm
index a8c9518685..45f082f72c 100644
--- a/code/game/objects/obj_defense.dm
+++ b/code/game/objects/obj_defense.dm
@@ -100,7 +100,7 @@
/obj/attack_animal(mob/living/simple_animal/M)
if(!M.melee_damage_upper && !M.obj_damage)
- M.emote("custom", message = "[M.friendly] [src]")
+ M.emote("custom", message = "[M.friendly] [src].")
return 0
else
var/play_soundeffect = 1
@@ -148,7 +148,7 @@
///// ACID
-var/global/image/acid_overlay = image("icon" = 'icons/effects/effects.dmi', "icon_state" = "acid")
+GLOBAL_DATUM_INIT(acid_overlay, /image, image("icon" = 'icons/effects/effects.dmi', "icon_state" = "acid"))
//the obj's reaction when touched by acid
/obj/acid_act(acidpwr, acid_volume)
@@ -156,7 +156,7 @@ var/global/image/acid_overlay = image("icon" = 'icons/effects/effects.dmi', "ico
if(!acid_level)
SSacid.processing[src] = src
- add_overlay(acid_overlay, TRUE)
+ add_overlay(GLOB.acid_overlay, TRUE)
var/acid_cap = acidpwr * 300 //so we cannot use huge amounts of weak acids to do as well as strong acids.
if(acid_level < acid_cap)
acid_level = min(acid_level + acidpwr * acid_volume, acid_cap)
@@ -194,7 +194,7 @@ var/global/image/acid_overlay = image("icon" = 'icons/effects/effects.dmi', "ico
if(!(resistance_flags & ON_FIRE) && (resistance_flags & FLAMMABLE))
resistance_flags |= ON_FIRE
SSfire_burning.processing[src] = src
- add_overlay(fire_overlay, TRUE)
+ add_overlay(GLOB.fire_overlay, TRUE)
return 1
//called when the obj is destroyed by fire
@@ -206,7 +206,7 @@ var/global/image/acid_overlay = image("icon" = 'icons/effects/effects.dmi', "ico
/obj/proc/extinguish()
if(resistance_flags & ON_FIRE)
resistance_flags &= ~ON_FIRE
- cut_overlay(fire_overlay, TRUE)
+ cut_overlay(GLOB.fire_overlay, TRUE)
SSfire_burning.processing -= src
diff --git a/code/game/objects/objs.dm b/code/game/objects/objs.dm
index 905d3646e5..f297662c2d 100644
--- a/code/game/objects/objs.dm
+++ b/code/game/objects/objs.dm
@@ -1,12 +1,10 @@
/obj
- languages_spoken = HUMAN
- languages_understood = HUMAN
- var/crit_fail = 0
+ var/crit_fail = FALSE
animate_movement = 2
var/throwforce = 0
var/in_use = 0 // If we have a user using us, this will be set on. We will check if the user has stopped using us, and thus stop updating and LAGGING EVERYTHING!
- var/damtype = "brute"
+ var/damtype = BRUTE
var/force = 0
var/list/armor
@@ -18,14 +16,25 @@
var/acid_level = 0 //how much acid is on that obj
- var/being_shocked = 0
+ var/being_shocked = FALSE
var/on_blueprints = FALSE //Are we visible on the station blueprints at roundstart?
var/force_blueprints = FALSE //forces the obj to be on the blueprints, regardless of when it was created.
- var/persistence_replacement = null //have something WAY too amazing to live to the next round? Set a new path here. Overuse of this var will make me upset.
- var/unique_rename = 0 // can you customize the description/name of the thing?
+ var/persistence_replacement //have something WAY too amazing to live to the next round? Set a new path here. Overuse of this var will make me upset.
+ var/unique_rename = FALSE // can you customize the description/name of the thing?
+
+ var/dangerous_possession = FALSE //Admin possession yes/no
+/obj/vv_edit_var(vname, vval)
+ switch(vname)
+ if("dangerous_possession")
+ return FALSE
+ if("control_object")
+ var/obj/O = vval
+ if(istype(O) && O.dangerous_possession)
+ return FALSE
+ ..()
/obj/Initialize()
..()
diff --git a/code/game/objects/radiation.dm b/code/game/objects/radiation.dm
index 1b522d6971..4e763a7b5f 100644
--- a/code/game/objects/radiation.dm
+++ b/code/game/objects/radiation.dm
@@ -50,4 +50,7 @@
. = ..(amount, TRUE)
/mob/living/simple_animal/bot/rad_act(amount)
- . = ..(amount, TRUE)
\ No newline at end of file
+ . = ..(amount, TRUE)
+
+/mob/living/simple_animal/drone/rad_act(amount)
+ . = ..(amount, TRUE)
diff --git a/code/game/objects/structures.dm b/code/game/objects/structures.dm
index e35e3816d6..d7fa0f1084 100644
--- a/code/game/objects/structures.dm
+++ b/code/game/objects/structures.dm
@@ -17,12 +17,12 @@
queue_smooth(src)
queue_smooth_neighbors(src)
icon_state = ""
- if(ticker)
- cameranet.updateVisibility(src)
+ if(SSticker)
+ GLOB.cameranet.updateVisibility(src)
/obj/structure/Destroy()
- if(ticker)
- cameranet.updateVisibility(src)
+ if(SSticker)
+ GLOB.cameranet.updateVisibility(src)
if(smooth)
queue_smooth_neighbors(src)
return ..()
@@ -96,7 +96,7 @@
if(resistance_flags & ON_FIRE)
to_chat(user, "It's on fire! ")
if(broken)
- to_chat(user, "It looks broken. ")
+ to_chat(user, "It appears to be broken. ")
var/examine_status = examine_status(user)
if(examine_status)
to_chat(user, examine_status)
@@ -109,4 +109,5 @@
if(25 to 50)
return "It appears heavily damaged."
if(0 to 25)
- return "It's falling apart! "
+ if(!broken)
+ return "It's falling apart! "
diff --git a/code/game/objects/structures/ai_core.dm b/code/game/objects/structures/ai_core.dm
index 0fa60d55a9..3cf35daa03 100644
--- a/code/game/objects/structures/ai_core.dm
+++ b/code/game/objects/structures/ai_core.dm
@@ -174,7 +174,7 @@
playsound(loc, P.usesound, 50, 1)
to_chat(user, "You connect the monitor. ")
if(brain)
- ticker.mode.remove_antag_for_borging(brain.brainmob.mind)
+ SSticker.mode.remove_antag_for_borging(brain.brainmob.mind)
if(!istype(brain.laws, /datum/ai_laws/ratvar))
remove_servant_of_ratvar(brain.brainmob, TRUE)
var/mob/living/silicon/ai/A = new /mob/living/silicon/ai(loc, laws, brain.brainmob)
diff --git a/code/game/objects/structures/aliens.dm b/code/game/objects/structures/aliens.dm
index 3150d69013..cd5a72d308 100644
--- a/code/game/objects/structures/aliens.dm
+++ b/code/game/objects/structures/aliens.dm
@@ -69,7 +69,6 @@
/obj/structure/alien/resin/New(location)
..()
air_update_turf(1)
- return
/obj/structure/alien/resin/Move()
var/turf/T = loc
@@ -127,15 +126,20 @@
var/last_expand = 0 //last world.time this weed expanded
var/growth_cooldown_low = 150
var/growth_cooldown_high = 200
- var/static/list/blacklisted_turfs = typecacheof(list(
- /turf/open/space,
- /turf/open/chasm,
- /turf/open/floor/plating/lava))
+ var/static/list/blacklisted_turfs
-/obj/structure/alien/weeds/New()
+/obj/structure/alien/weeds/Initialize()
pixel_x = -4
pixel_y = -4 //so the sprites line up right in the map editor
..()
+
+ if(!blacklisted_turfs)
+ blacklisted_turfs = typecacheof(list(
+ /turf/open/space,
+ /turf/open/chasm,
+ /turf/open/floor/plating/lava))
+
+
last_expand = world.time + rand(growth_cooldown_low, growth_cooldown_high)
if(icon == initial(icon))
switch(rand(1,3))
@@ -171,12 +175,15 @@
name = "glowing resin"
desc = "Blue bioluminescence shines from beneath the surface."
icon_state = "weednode"
- light_range = 1
+ light_color = LIGHT_COLOR_BLUE
+ light_power = 0.5
+ var/lon_range = 4
var/node_range = NODERANGE
-/obj/structure/alien/weeds/node/New()
+/obj/structure/alien/weeds/node/Initialize()
icon = 'icons/obj/smooth_structures/alien/weednode.dmi'
..()
+ set_light(lon_range)
var/obj/structure/alien/weeds/W = locate(/obj/structure/alien/weeds) in loc
if(W && W != src)
qdel(W)
@@ -200,39 +207,58 @@
*/
//for the status var
-#define BURST 0
-#define BURSTING 1
-#define GROWING 2
-#define GROWN 3
+#define BURST "burst"
+#define GROWING "growing"
+#define GROWN "grown"
#define MIN_GROWTH_TIME 900 //time it takes to grow a hugger
#define MAX_GROWTH_TIME 1500
/obj/structure/alien/egg
name = "egg"
desc = "A large mottled egg."
+ var/base_icon = "egg"
icon_state = "egg_growing"
- density = 0
- anchored = 1
+ density = FALSE
+ anchored = TRUE
obj_integrity = 100
max_integrity = 100
+ integrity_failure = 5
var/status = GROWING //can be GROWING, GROWN or BURST; all mutually exclusive
layer = MOB_LAYER
+ var/obj/item/clothing/mask/facehugger/child
-/obj/structure/alien/egg/New()
- new /obj/item/clothing/mask/facehugger(src)
+/obj/structure/alien/egg/Initialize(mapload)
..()
- addtimer(CALLBACK(src, .proc/Grow), rand(MIN_GROWTH_TIME, MAX_GROWTH_TIME))
+ update_icon()
+ if(status == GROWING || status == GROWN)
+ child = new(src)
+ if(status == GROWING)
+ addtimer(CALLBACK(src, .proc/Grow), rand(MIN_GROWTH_TIME, MAX_GROWTH_TIME))
+ if(status == GROWN)
+ add_to_proximity_list(src, 1)
+ if(status == BURST)
+ obj_integrity = integrity_failure
/obj/structure/alien/egg/Destroy()
remove_from_proximity_list(src, 1)
- return ..()
+ . = ..()
+
+/obj/structure/alien/egg/update_icon()
+ ..()
+ switch(status)
+ if(GROWING)
+ icon_state = "[base_icon]_growing"
+ if(GROWN)
+ icon_state = "[base_icon]"
+ if(BURST)
+ icon_state = "[base_icon]_hatched"
/obj/structure/alien/egg/attack_paw(mob/living/user)
- return attack_hand(user)
+ . = attack_hand(user)
/obj/structure/alien/egg/attack_alien(mob/living/carbon/alien/user)
- return attack_hand(user)
+ . = attack_hand(user)
/obj/structure/alien/egg/attack_hand(mob/living/user)
if(user.getorgan(/obj/item/organ/alien/plasmavessel))
@@ -247,39 +273,39 @@
return
if(GROWN)
to_chat(user, "You retrieve the child. ")
- Burst(0)
+ Burst(kill=FALSE)
return
else
to_chat(user, "It feels slimy. ")
user.changeNext_move(CLICK_CD_MELEE)
-/obj/structure/alien/egg/proc/GetFacehugger()
- return locate(/obj/item/clothing/mask/facehugger) in contents
-
/obj/structure/alien/egg/proc/Grow()
- icon_state = "egg"
status = GROWN
+ update_icon()
add_to_proximity_list(src, 1)
-/obj/structure/alien/egg/proc/Burst(kill = 1) //drops and kills the hugger if any is remaining
+//drops and kills the hugger if any is remaining
+/obj/structure/alien/egg/proc/Burst(kill = TRUE)
if(status == GROWN || status == GROWING)
remove_from_proximity_list(src, 1)
- icon_state = "egg_hatched"
+ status = BURST
+ update_icon()
flick("egg_opening", src)
- status = BURSTING
- spawn(15)
- status = BURST
- var/obj/item/clothing/mask/facehugger/child = GetFacehugger()
- if(child)
- child.loc = get_turf(src)
- if(kill && istype(child))
- child.Die()
- else
- for(var/mob/M in range(1,src))
- if(CanHug(M))
- child.Attach(M)
- break
+ addtimer(CALLBACK(src, .proc/finish_bursting, kill), 15)
+
+/obj/structure/alien/egg/proc/finish_bursting(kill = TRUE)
+ if(child)
+ child.forceMove(get_turf(src))
+ // TECHNICALLY you could put non-facehuggers in the child var
+ if(istype(child))
+ if(kill)
+ child.Die()
+ else
+ for(var/mob/M in range(1,src))
+ if(CanHug(M))
+ child.Attach(M)
+ break
/obj/structure/alien/egg/Moved(oldloc)
remove_from_proximity_list(oldloc, 1)
@@ -287,14 +313,10 @@
add_to_proximity_list(src, 1)
return ..()
-/obj/structure/alien/egg/deconstruct()
+/obj/structure/alien/egg/obj_break(damage_flag)
if(!(flags & NODECONSTRUCT))
- if(status != BURST && status != BURSTING)
- Burst()
- else if(status == BURST)
- qdel(src) //Remove the egg after it has been hit after bursting.
- else
- qdel(src)
+ if(status != BURST)
+ Burst(kill=TRUE)
/obj/structure/alien/egg/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume)
if(exposed_temperature > 500)
@@ -310,10 +332,17 @@
if(C.stat == CONSCIOUS && C.getorgan(/obj/item/organ/body_egg/alien_embryo))
return
- Burst(0)
+ Burst(kill=FALSE)
+
+/obj/structure/alien/egg/grown
+ status = GROWN
+ icon_state = "egg"
+
+/obj/structure/alien/egg/burst
+ status = BURST
+ icon_state = "egg_hatched"
#undef BURST
-#undef BURSTING
#undef GROWING
#undef GROWN
#undef MIN_GROWTH_TIME
diff --git a/code/game/objects/structures/artstuff.dm b/code/game/objects/structures/artstuff.dm
index b4e80bf9da..23bbc40ed8 100644
--- a/code/game/objects/structures/artstuff.dm
+++ b/code/game/objects/structures/artstuff.dm
@@ -45,7 +45,7 @@
#define AMT_OF_CANVASES 4 //Keep this up to date or shit will break.
//To safe memory on making /icons we cache the blanks..
-var/global/list/globalBlankCanvases[AMT_OF_CANVASES]
+GLOBAL_LIST_INIT(globalBlankCanvases, new(AMT_OF_CANVASES))
/obj/item/weapon/canvas
name = "canvas"
@@ -71,11 +71,11 @@ var/global/list/globalBlankCanvases[AMT_OF_CANVASES]
//Find the right size blank canvas
/obj/item/weapon/canvas/proc/getGlobalBackup()
. = null
- if(globalBlankCanvases[whichGlobalBackup])
- . = globalBlankCanvases[whichGlobalBackup]
+ if(GLOB.globalBlankCanvases[whichGlobalBackup])
+ . = GLOB.globalBlankCanvases[whichGlobalBackup]
else
var/icon/I = icon(initial(icon),initial(icon_state))
- globalBlankCanvases[whichGlobalBackup] = I
+ GLOB.globalBlankCanvases[whichGlobalBackup] = I
. = I
diff --git a/code/game/objects/structures/barsigns.dm b/code/game/objects/structures/barsigns.dm
index 707702d9a7..2b1319c50e 100644
--- a/code/game/objects/structures/barsigns.dm
+++ b/code/game/objects/structures/barsigns.dm
@@ -3,7 +3,7 @@
desc = "A bar sign with no writing on it"
icon = 'icons/obj/barsigns.dmi'
icon_state = "empty"
- req_access = list(access_bar)
+ req_access = list(GLOB.access_bar)
obj_integrity = 500
max_integrity = 500
integrity_failure = 250
@@ -132,7 +132,7 @@
sleep(100) //10 seconds
set_sign(new /datum/barsign/hiddensigns/syndibarsign)
emagged = 1
- req_access = list(access_syndicate)
+ req_access = list(GLOB.access_syndicate)
@@ -299,6 +299,11 @@
icon = "thenet"
desc = "You just seem to get caught up in it for hours."
+/datum/barsign/maidcafe
+ name = "Maid Cafe"
+ icon = "maidcafe"
+ desc = "Welcome back, master!"
+
/datum/barsign/hiddensigns
hidden = 1
diff --git a/code/game/objects/structures/beds_chairs/chair.dm b/code/game/objects/structures/beds_chairs/chair.dm
index 990f22edf8..fdded787bd 100644
--- a/code/game/objects/structures/beds_chairs/chair.dm
+++ b/code/game/objects/structures/beds_chairs/chair.dm
@@ -25,7 +25,7 @@
return ..()
/obj/structure/chair/proc/RemoveFromLatejoin()
- latejoin -= src //These may be here due to the arrivals shuttle
+ GLOB.latejoin -= src //These may be here due to the arrivals shuttle
/obj/structure/chair/deconstruct()
// If we have materials, and don't have the NOCONSTRUCT flag
@@ -61,7 +61,7 @@
return ..()
/obj/structure/chair/attack_tk(mob/user)
- if(has_buckled_mobs())
+ if(!anchored || has_buckled_mobs())
..()
else
rotate()
diff --git a/code/game/objects/structures/crates_lockers/closets.dm b/code/game/objects/structures/crates_lockers/closets.dm
index 8317f96225..c0f50937d0 100644
--- a/code/game/objects/structures/crates_lockers/closets.dm
+++ b/code/game/objects/structures/crates_lockers/closets.dm
@@ -33,13 +33,19 @@
var/material_drop = /obj/item/stack/sheet/metal
var/material_drop_amount = 2
var/delivery_icon = "deliverycloset" //which icon to use when packagewrapped. null to be unwrappable.
+ var/anchorable = TRUE
/obj/structure/closet/Initialize(mapload)
- ..()
if(mapload && !opened) // if closed, any item at the crate's loc is put in the contents
- take_contents()
+ addtimer(CALLBACK(src, .proc/take_contents), 0)
+ ..()
update_icon()
+ PopulateContents()
+
+//USE THIS TO FILL IT, NOT INITIALIZE OR NEW
+/obj/structure/closet/proc/PopulateContents()
+ return
/obj/structure/closet/Destroy()
dump_contents()
@@ -73,8 +79,6 @@
..()
if(anchored)
to_chat(user, "It is anchored to the ground.")
- if(broken)
- to_chat(user, "It appears to be broken. ")
else if(secure && !opened)
to_chat(user, "Alt-click to [locked ? "unlock" : "lock"]. ")
@@ -118,7 +122,7 @@
/obj/structure/closet/proc/take_contents()
var/turf/T = get_turf(src)
for(var/atom/movable/AM in T)
- if(insert(AM) == -1) // limit reached
+ if(AM != src && insert(AM) == -1) // limit reached
break
/obj/structure/closet/proc/open(mob/living/user)
@@ -240,7 +244,7 @@
"You [welded ? "weld" : "unwelded"] \the [src] with \the [WT]. ",
"You hear welding. ")
update_icon()
- else if(istype(W, /obj/item/weapon/wrench))
+ else if(istype(W, /obj/item/weapon/wrench) && anchorable)
if(isinspace() && !anchored)
return
anchored = !anchored
@@ -315,6 +319,9 @@
togglelock(user)
return
+/obj/structure/closet/attack_paw(mob/user)
+ return attack_hand(user)
+
/obj/structure/closet/attack_robot(mob/user)
if(user.Adjacent(src))
return attack_hand(user)
diff --git a/code/game/objects/structures/crates_lockers/closets/bodybag.dm b/code/game/objects/structures/crates_lockers/closets/bodybag.dm
index 0cf4048841..e817942a90 100644
--- a/code/game/objects/structures/crates_lockers/closets/bodybag.dm
+++ b/code/game/objects/structures/crates_lockers/closets/bodybag.dm
@@ -11,6 +11,7 @@
integrity_failure = 0
material_drop = /obj/item/stack/sheet/cloth
delivery_icon = null //unwrappable
+ anchorable = FALSE
var/foldedbag_path = /obj/item/bodybag
var/tagged = 0 // so closet code knows to put the tag overlay back
diff --git a/code/game/objects/structures/crates_lockers/closets/cardboardbox.dm b/code/game/objects/structures/crates_lockers/closets/cardboardbox.dm
index d517c9a57f..bb9348ee75 100644
--- a/code/game/objects/structures/crates_lockers/closets/cardboardbox.dm
+++ b/code/game/objects/structures/crates_lockers/closets/cardboardbox.dm
@@ -14,6 +14,7 @@
cutting_sound = 'sound/items/poster_ripped.ogg'
material_drop = /obj/item/stack/sheet/cardboard
delivery_icon = "deliverybox"
+ anchorable = FALSE
var/move_speed_multiplier = 1
var/move_delay = 0
var/egged = 0
diff --git a/code/game/objects/structures/crates_lockers/closets/fitness.dm b/code/game/objects/structures/crates_lockers/closets/fitness.dm
index baa71a8b19..b22a13f53f 100644
--- a/code/game/objects/structures/crates_lockers/closets/fitness.dm
+++ b/code/game/objects/structures/crates_lockers/closets/fitness.dm
@@ -3,7 +3,7 @@
desc = "It's a storage unit for athletic wear."
icon_door = "mixed"
-/obj/structure/closet/athletic_mixed/New()
+/obj/structure/closet/athletic_mixed/PopulateContents()
..()
new /obj/item/clothing/under/shorts/purple(src)
new /obj/item/clothing/under/shorts/grey(src)
@@ -19,7 +19,7 @@
name = "boxing gloves"
desc = "It's a storage unit for gloves for use in the boxing ring."
-/obj/structure/closet/boxinggloves/New()
+/obj/structure/closet/boxinggloves/PopulateContents()
..()
new /obj/item/clothing/gloves/boxing/blue(src)
new /obj/item/clothing/gloves/boxing/green(src)
@@ -31,7 +31,7 @@
name = "mask closet"
desc = "IT'S A STORAGE UNIT FOR FIGHTER MASKS OLE!"
-/obj/structure/closet/masks/New()
+/obj/structure/closet/masks/PopulateContents()
..()
new /obj/item/clothing/mask/luchador(src)
new /obj/item/clothing/mask/luchador/rudos(src)
@@ -43,7 +43,7 @@
desc = "It's a storage unit for laser tag equipment."
icon_door = "red"
-/obj/structure/closet/lasertag/red/New()
+/obj/structure/closet/lasertag/red/PopulateContents()
..()
for(var/i in 1 to 3)
new /obj/item/weapon/gun/energy/laser/redtag(src)
@@ -57,7 +57,7 @@
desc = "It's a storage unit for laser tag equipment."
icon_door = "blue"
-/obj/structure/closet/lasertag/blue/New()
+/obj/structure/closet/lasertag/blue/PopulateContents()
..()
for(var/i in 1 to 3)
new /obj/item/weapon/gun/energy/laser/bluetag(src)
diff --git a/code/game/objects/structures/crates_lockers/closets/gimmick.dm b/code/game/objects/structures/crates_lockers/closets/gimmick.dm
index 9769f58989..54590da389 100644
--- a/code/game/objects/structures/crates_lockers/closets/gimmick.dm
+++ b/code/game/objects/structures/crates_lockers/closets/gimmick.dm
@@ -21,7 +21,7 @@
name = "russian surplus closet"
desc = "It's a storage unit for Russian standard-issue surplus."
-/obj/structure/closet/gimmick/russian/New()
+/obj/structure/closet/gimmick/russian/PopulateContents()
..()
for(var/i in 1 to 5)
new /obj/item/clothing/head/ushanka(src)
@@ -32,7 +32,7 @@
name = "tacticool gear closet"
desc = "It's a storage unit for Tacticool gear."
-/obj/structure/closet/gimmick/tacticool/New()
+/obj/structure/closet/gimmick/tacticool/PopulateContents()
..()
new /obj/item/clothing/glasses/eyepatch(src)
new /obj/item/clothing/glasses/sunglasses(src)
@@ -59,7 +59,7 @@
name = "red-team Thunderdome closet"
icon_door = "red"
-/obj/structure/closet/thunderdome/tdred/New()
+/obj/structure/closet/thunderdome/tdred/PopulateContents()
..()
for(var/i in 1 to 3)
new /obj/item/clothing/suit/armor/tdome/red(src)
@@ -78,7 +78,7 @@
name = "green-team Thunderdome closet"
icon_door = "green"
-/obj/structure/closet/thunderdome/tdgreen/New()
+/obj/structure/closet/thunderdome/tdgreen/PopulateContents()
..()
for(var/i in 1 to 3)
new /obj/item/clothing/suit/armor/tdome/green(src)
@@ -97,7 +97,7 @@
desc = "It's a storage unit for operational gear."
icon_state = "syndicate"
-/obj/structure/closet/malf/suits/New()
+/obj/structure/closet/malf/suits/PopulateContents()
..()
new /obj/item/weapon/tank/jetpack/void(src)
new /obj/item/clothing/mask/breath(src)
diff --git a/code/game/objects/structures/crates_lockers/closets/job_closets.dm b/code/game/objects/structures/crates_lockers/closets/job_closets.dm
index ed368ba3da..801808f25e 100644
--- a/code/game/objects/structures/crates_lockers/closets/job_closets.dm
+++ b/code/game/objects/structures/crates_lockers/closets/job_closets.dm
@@ -5,7 +5,7 @@
desc = "It's a storage unit for formal clothing."
icon_door = "black"
-/obj/structure/closet/gmcloset/New()
+/obj/structure/closet/gmcloset/PopulateContents()
..()
new /obj/item/clothing/head/that(src)
new /obj/item/device/radio/headset/headset_srv(src)
@@ -33,7 +33,7 @@
desc = "It's a storage unit for foodservice garments and mouse traps."
icon_door = "black"
-/obj/structure/closet/chefcloset/New()
+/obj/structure/closet/chefcloset/PopulateContents()
..()
new /obj/item/clothing/under/waiter(src)
new /obj/item/clothing/under/waiter(src)
@@ -57,7 +57,7 @@
desc = "It's a storage unit for janitorial clothes and gear."
icon_door = "mixed"
-/obj/structure/closet/jcloset/New()
+/obj/structure/closet/jcloset/PopulateContents()
..()
new /obj/item/clothing/under/rank/janitor(src)
new /obj/item/weapon/cartridge/janitor(src)
@@ -81,7 +81,7 @@
desc = "It's a storage unit for courtroom apparel and items."
icon_door = "blue"
-/obj/structure/closet/lawcloset/New()
+/obj/structure/closet/lawcloset/PopulateContents()
..()
new /obj/item/clothing/under/lawyer/female(src)
new /obj/item/clothing/under/lawyer/black(src)
@@ -102,9 +102,7 @@
desc = "It's a storage unit for Nanotrasen-approved religious attire."
icon_door = "black"
-/obj/structure/closet/wardrobe/chaplain_black/New()
- ..()
- contents = list()
+/obj/structure/closet/wardrobe/chaplain_black/PopulateContents()
new /obj/item/clothing/under/rank/chaplain(src)
new /obj/item/clothing/shoes/sneakers/black(src)
new /obj/item/clothing/suit/nun(src)
@@ -131,14 +129,14 @@
max_integrity = 70
horizontal = TRUE
delivery_icon = "deliverycrate"
+ material_drop = /obj/item/stack/sheet/mineral/wood
+ material_drop_amount = 5
/obj/structure/closet/wardrobe/red
name = "security wardrobe"
icon_door = "red"
-/obj/structure/closet/wardrobe/red/New()
- ..()
- contents = list()
+/obj/structure/closet/wardrobe/red/PopulateContents()
new /obj/item/clothing/suit/hooded/wintercoat/security(src)
new /obj/item/weapon/storage/backpack/security(src)
new /obj/item/weapon/storage/backpack/satchel/sec(src)
@@ -161,9 +159,7 @@
name = "cargo wardrobe"
icon_door = "orange"
-/obj/structure/closet/wardrobe/cargotech/New()
- ..()
- contents = list()
+/obj/structure/closet/wardrobe/cargotech/PopulateContents()
new /obj/item/clothing/suit/hooded/wintercoat/cargo(src)
for(var/i in 1 to 3)
new /obj/item/clothing/under/rank/cargotech(src)
@@ -179,9 +175,7 @@
name = "atmospherics wardrobe"
icon_door = "atmos_wardrobe"
-/obj/structure/closet/wardrobe/atmospherics_yellow/New()
- ..()
- contents = list()
+/obj/structure/closet/wardrobe/atmospherics_yellow/PopulateContents()
new /obj/item/weapon/storage/backpack/dufflebag/engineering(src)
new /obj/item/weapon/storage/backpack/satchel/eng(src)
new /obj/item/weapon/storage/backpack/industrial(src)
@@ -197,9 +191,7 @@
name = "engineering wardrobe"
icon_door = "yellow"
-/obj/structure/closet/wardrobe/engineering_yellow/New()
- ..()
- contents = list()
+/obj/structure/closet/wardrobe/engineering_yellow/PopulateContents()
new /obj/item/weapon/storage/backpack/dufflebag/engineering(src)
new /obj/item/weapon/storage/backpack/industrial(src)
new /obj/item/weapon/storage/backpack/satchel/eng(src)
@@ -217,9 +209,7 @@
/obj/structure/closet/wardrobe/white/medical
name = "medical doctor's wardrobe"
-/obj/structure/closet/wardrobe/white/medical/New()
- ..()
- contents = list()
+/obj/structure/closet/wardrobe/white/medical/PopulateContents()
new /obj/item/weapon/storage/backpack/dufflebag/med(src)
new /obj/item/weapon/storage/backpack/medic(src)
new /obj/item/weapon/storage/backpack/satchel/med(src)
@@ -245,9 +235,7 @@
name = "robotics wardrobe"
icon_door = "black"
-/obj/structure/closet/wardrobe/robotics_black/New()
- ..()
- contents = list()
+/obj/structure/closet/wardrobe/robotics_black/PopulateContents()
new /obj/item/clothing/glasses/hud/diagnostic(src)
new /obj/item/clothing/glasses/hud/diagnostic(src)
new /obj/item/clothing/under/rank/roboticist(src)
@@ -271,9 +259,7 @@
name = "chemistry wardrobe"
icon_door = "white"
-/obj/structure/closet/wardrobe/chemistry_white/New()
- ..()
- contents = list()
+/obj/structure/closet/wardrobe/chemistry_white/PopulateContents()
new /obj/item/clothing/under/rank/chemist(src)
new /obj/item/clothing/under/rank/chemist(src)
new /obj/item/clothing/shoes/sneakers/white(src)
@@ -293,9 +279,7 @@
name = "genetics wardrobe"
icon_door = "white"
-/obj/structure/closet/wardrobe/genetics_white/New()
- ..()
- contents = list()
+/obj/structure/closet/wardrobe/genetics_white/PopulateContents()
new /obj/item/clothing/under/rank/geneticist(src)
new /obj/item/clothing/under/rank/geneticist(src)
new /obj/item/clothing/shoes/sneakers/white(src)
@@ -313,9 +297,7 @@
name = "virology wardrobe"
icon_door = "white"
-/obj/structure/closet/wardrobe/virology_white/New()
- ..()
- contents = list()
+/obj/structure/closet/wardrobe/virology_white/PopulateContents()
new /obj/item/clothing/under/rank/virologist(src)
new /obj/item/clothing/under/rank/virologist(src)
new /obj/item/clothing/shoes/sneakers/white(src)
@@ -334,9 +316,7 @@
name = "science wardrobe"
icon_door = "white"
-/obj/structure/closet/wardrobe/science_white/New()
- ..()
- contents = list()
+/obj/structure/closet/wardrobe/science_white/PopulateContents()
new /obj/item/weapon/storage/backpack/science(src)
new /obj/item/weapon/storage/backpack/science(src)
new /obj/item/weapon/storage/backpack/satchel/tox(src)
@@ -358,9 +338,7 @@
name = "botanist wardrobe"
icon_door = "green"
-/obj/structure/closet/wardrobe/botanist/New()
- ..()
- contents = list()
+/obj/structure/closet/wardrobe/botanist/PopulateContents()
new /obj/item/weapon/storage/backpack/botany(src)
new /obj/item/weapon/storage/backpack/botany(src)
new /obj/item/weapon/storage/backpack/satchel/hyd(src)
diff --git a/code/game/objects/structures/crates_lockers/closets/l3closet.dm b/code/game/objects/structures/crates_lockers/closets/l3closet.dm
index df17705ae9..eb4a12c2de 100644
--- a/code/game/objects/structures/crates_lockers/closets/l3closet.dm
+++ b/code/game/objects/structures/crates_lockers/closets/l3closet.dm
@@ -3,7 +3,7 @@
desc = "It's a storage unit for level-3 biohazard gear."
icon_state = "bio"
-/obj/structure/closet/l3closet/New()
+/obj/structure/closet/l3closet/PopulateContents()
..()
new /obj/item/weapon/storage/bag/bio( src )
new /obj/item/clothing/suit/bio_suit/general( src )
@@ -13,9 +13,7 @@
/obj/structure/closet/l3closet/virology
icon_state = "bio_viro"
-/obj/structure/closet/l3closet/virology/New()
- ..()
- contents = list()
+/obj/structure/closet/l3closet/virology/PopulateContents()
new /obj/item/weapon/storage/bag/bio( src )
new /obj/item/clothing/suit/bio_suit/virology( src )
new /obj/item/clothing/head/bio_hood/virology( src )
@@ -24,9 +22,7 @@
/obj/structure/closet/l3closet/security
icon_state = "bio_sec"
-/obj/structure/closet/l3closet/security/New()
- ..()
- contents = list()
+/obj/structure/closet/l3closet/security/PopulateContents()
new /obj/item/clothing/suit/bio_suit/security( src )
new /obj/item/clothing/head/bio_hood/security( src )
@@ -34,9 +30,7 @@
/obj/structure/closet/l3closet/janitor
icon_state = "bio_jan"
-/obj/structure/closet/l3closet/janitor/New()
- ..()
- contents = list()
+/obj/structure/closet/l3closet/janitor/PopulateContents()
new /obj/item/clothing/suit/bio_suit/janitor( src )
new /obj/item/clothing/head/bio_hood/janitor( src )
@@ -44,9 +38,7 @@
/obj/structure/closet/l3closet/scientist
icon_state = "bio_viro"
-/obj/structure/closet/l3closet/scientist/New()
- ..()
- contents = list()
+/obj/structure/closet/l3closet/scientist/PopulateContents()
new /obj/item/weapon/storage/bag/bio( src )
new /obj/item/clothing/suit/bio_suit/scientist( src )
new /obj/item/clothing/head/bio_hood/scientist( src )
diff --git a/code/game/objects/structures/crates_lockers/closets/secure/bar.dm b/code/game/objects/structures/crates_lockers/closets/secure/bar.dm
index 0a093039d8..9aabb97eae 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/bar.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/bar.dm
@@ -1,12 +1,12 @@
/obj/structure/closet/secure_closet/bar
name = "booze storage"
- req_access = list(access_bar)
+ req_access = list(GLOB.access_bar)
icon_state = "cabinet"
resistance_flags = FLAMMABLE
obj_integrity = 70
max_integrity = 70
-/obj/structure/closet/secure_closet/bar/New()
+/obj/structure/closet/secure_closet/bar/PopulateContents()
..()
for(var/i in 1 to 10)
new /obj/item/weapon/reagent_containers/food/drinks/beer( src )
diff --git a/code/game/objects/structures/crates_lockers/closets/secure/cargo.dm b/code/game/objects/structures/crates_lockers/closets/secure/cargo.dm
index cfdb3fdf5f..00822f26c1 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/cargo.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/cargo.dm
@@ -1,9 +1,9 @@
/obj/structure/closet/secure_closet/quartermaster
name = "\proper quartermaster's locker"
- req_access = list(access_qm)
+ req_access = list(GLOB.access_qm)
icon_state = "qm"
-/obj/structure/closet/secure_closet/quartermaster/New()
+/obj/structure/closet/secure_closet/quartermaster/PopulateContents()
..()
new /obj/item/clothing/neck/cloak/qm(src)
new /obj/item/clothing/under/rank/cargo(src)
diff --git a/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm b/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm
index f770a3ba2e..f1c30a0bfb 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm
@@ -1,9 +1,9 @@
/obj/structure/closet/secure_closet/engineering_chief
name = "\proper chief engineer's locker"
- req_access = list(access_ce)
+ req_access = list(GLOB.access_ce)
icon_state = "ce"
-/obj/structure/closet/secure_closet/engineering_chief/New()
+/obj/structure/closet/secure_closet/engineering_chief/PopulateContents()
..()
new /obj/item/clothing/neck/cloak/ce(src)
new /obj/item/clothing/under/rank/chief_engineer(src)
@@ -29,11 +29,11 @@
/obj/structure/closet/secure_closet/engineering_electrical
name = "electrical supplies locker"
- req_access = list(access_engine_equip)
+ req_access = list(GLOB.access_engine_equip)
icon_state = "eng"
icon_door = "eng_elec"
-/obj/structure/closet/secure_closet/engineering_electrical/New()
+/obj/structure/closet/secure_closet/engineering_electrical/PopulateContents()
..()
new /obj/item/clothing/gloves/color/yellow(src)
new /obj/item/clothing/gloves/color/yellow(src)
@@ -46,11 +46,11 @@
/obj/structure/closet/secure_closet/engineering_welding
name = "welding supplies locker"
- req_access = list(access_engine_equip)
+ req_access = list(GLOB.access_engine_equip)
icon_state = "eng"
icon_door = "eng_weld"
-/obj/structure/closet/secure_closet/engineering_welding/New()
+/obj/structure/closet/secure_closet/engineering_welding/PopulateContents()
..()
for(var/i in 1 to 3)
new /obj/item/clothing/head/welding(src)
@@ -59,10 +59,10 @@
/obj/structure/closet/secure_closet/engineering_personal
name = "engineer's locker"
- req_access = list(access_engine_equip)
+ req_access = list(GLOB.access_engine_equip)
icon_state = "eng_secure"
-/obj/structure/closet/secure_closet/engineering_personal/New()
+/obj/structure/closet/secure_closet/engineering_personal/PopulateContents()
..()
new /obj/item/device/radio/headset/headset_eng(src)
new /obj/item/weapon/storage/toolbox/mechanical(src)
@@ -75,10 +75,10 @@
/obj/structure/closet/secure_closet/atmospherics
name = "\proper atmospheric technician's locker"
- req_access = list(access_atmospherics)
+ req_access = list(GLOB.access_atmospherics)
icon_state = "atmos"
-/obj/structure/closet/secure_closet/atmospherics/New()
+/obj/structure/closet/secure_closet/atmospherics/PopulateContents()
..()
new /obj/item/device/radio/headset/headset_eng(src)
new /obj/item/weapon/pipe_dispenser(src)
diff --git a/code/game/objects/structures/crates_lockers/closets/secure/freezer.dm b/code/game/objects/structures/crates_lockers/closets/secure/freezer.dm
index ba7c21e350..7c967c5be6 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/freezer.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/freezer.dm
@@ -3,9 +3,9 @@
/obj/structure/closet/secure_closet/freezer/kitchen
name = "kitchen Cabinet"
- req_access = list(access_kitchen)
+ req_access = list(GLOB.access_kitchen)
-/obj/structure/closet/secure_closet/freezer/kitchen/New()
+/obj/structure/closet/secure_closet/freezer/kitchen/PopulateContents()
..()
for(var/i = 0, i < 3, i++)
new /obj/item/weapon/reagent_containers/food/condiment/flour(src)
@@ -17,7 +17,7 @@
desc = "This refrigerator looks quite dusty, is there anything edible still inside?"
req_access = list()
-/obj/structure/closet/secure_closet/freezer/kitchen/maintenance/New()
+/obj/structure/closet/secure_closet/freezer/kitchen/maintenance/PopulateContents()
..()
for(var/i = 0, i < 5, i++)
new /obj/item/weapon/reagent_containers/food/condiment/milk(src)
@@ -32,14 +32,14 @@
/obj/structure/closet/secure_closet/freezer/meat
name = "meat fridge"
-/obj/structure/closet/secure_closet/freezer/meat/New()
+/obj/structure/closet/secure_closet/freezer/meat/PopulateContents()
..()
for(var/i = 0, i < 4, i++)
new /obj/item/weapon/reagent_containers/food/snacks/meat/slab/monkey(src)
/obj/structure/closet/secure_closet/freezer/fridge
name = "refrigerator"
-/obj/structure/closet/secure_closet/freezer/fridge/New()
+/obj/structure/closet/secure_closet/freezer/fridge/PopulateContents()
..()
for(var/i = 0, i < 5, i++)
new /obj/item/weapon/reagent_containers/food/condiment/milk(src)
@@ -51,9 +51,9 @@
/obj/structure/closet/secure_closet/freezer/money
name = "freezer"
desc = "This contains cold hard cash."
- req_access = list(access_heads_vault)
+ req_access = list(GLOB.access_heads_vault)
-/obj/structure/closet/secure_closet/freezer/money/New()
+/obj/structure/closet/secure_closet/freezer/money/PopulateContents()
..()
for(var/i = 0, i < 3, i++)
new /obj/item/stack/spacecash/c1000(src)
@@ -65,8 +65,8 @@
/obj/structure/closet/secure_closet/freezer/cream_pie
name = "cream pie closet"
desc = "Contains pies filled with cream and/or custard, you sickos."
- req_access = list(access_theatre)
+ req_access = list(GLOB.access_theatre)
-/obj/structure/closet/secure_closet/freezer/pie/New()
+/obj/structure/closet/secure_closet/freezer/pie/PopulateContents()
..()
new /obj/item/weapon/reagent_containers/food/snacks/pie/cream(src)
diff --git a/code/game/objects/structures/crates_lockers/closets/secure/hydroponics.dm b/code/game/objects/structures/crates_lockers/closets/secure/hydroponics.dm
index 0cf694fecd..ed0e5588bf 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/hydroponics.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/hydroponics.dm
@@ -1,9 +1,9 @@
/obj/structure/closet/secure_closet/hydroponics
name = "botanist's locker"
- req_access = list(access_hydroponics)
+ req_access = list(GLOB.access_hydroponics)
icon_state = "hydro"
-/obj/structure/closet/secure_closet/hydroponics/New()
+/obj/structure/closet/secure_closet/hydroponics/PopulateContents()
..()
new /obj/item/weapon/storage/bag/plants/portaseeder(src)
new /obj/item/device/plant_analyzer(src)
diff --git a/code/game/objects/structures/crates_lockers/closets/secure/medical.dm b/code/game/objects/structures/crates_lockers/closets/secure/medical.dm
index 4fc298c86c..aaf40e634b 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/medical.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/medical.dm
@@ -2,9 +2,9 @@
name = "medicine closet"
desc = "Filled to the brim with medical junk."
icon_state = "med"
- req_access = list(access_medical)
+ req_access = list(GLOB.access_medical)
-/obj/structure/closet/secure_closet/medical1/New()
+/obj/structure/closet/secure_closet/medical1/PopulateContents()
..()
new /obj/item/weapon/reagent_containers/glass/beaker(src)
new /obj/item/weapon/reagent_containers/glass/beaker(src)
@@ -24,9 +24,9 @@
/obj/structure/closet/secure_closet/medical2
name = "anesthetic closet"
desc = "Used to knock people out."
- req_access = list(access_surgery)
+ req_access = list(GLOB.access_surgery)
-/obj/structure/closet/secure_closet/medical2/New()
+/obj/structure/closet/secure_closet/medical2/PopulateContents()
..()
for(var/i in 1 to 3)
new /obj/item/weapon/tank/internals/anesthetic(src)
@@ -35,10 +35,10 @@
/obj/structure/closet/secure_closet/medical3
name = "medical doctor's locker"
- req_access = list(access_surgery)
+ req_access = list(GLOB.access_surgery)
icon_state = "med_secure"
-/obj/structure/closet/secure_closet/medical3/New()
+/obj/structure/closet/secure_closet/medical3/PopulateContents()
..()
new /obj/item/device/radio/headset/headset_med(src)
new /obj/item/weapon/defibrillator/loaded(src)
@@ -49,10 +49,10 @@
/obj/structure/closet/secure_closet/CMO
name = "\proper chief medical officer's locker"
- req_access = list(access_cmo)
+ req_access = list(GLOB.access_cmo)
icon_state = "cmo"
-/obj/structure/closet/secure_closet/CMO/New()
+/obj/structure/closet/secure_closet/CMO/PopulateContents()
..()
new /obj/item/clothing/neck/cloak/cmo(src)
new /obj/item/weapon/storage/backpack/dufflebag/med(src)
@@ -69,14 +69,14 @@
new /obj/item/weapon/storage/belt/medical(src)
new /obj/item/device/assembly/flash/handheld(src)
new /obj/item/weapon/reagent_containers/hypospray/CMO(src)
- new /obj/item/device/autoimplanter/cmo(src)
+ new /obj/item/device/autosurgeon/cmo(src)
new /obj/item/weapon/door_remote/chief_medical_officer(src)
/obj/structure/closet/secure_closet/animal
name = "animal control"
- req_access = list(access_surgery)
+ req_access = list(GLOB.access_surgery)
-/obj/structure/closet/secure_closet/animal/New()
+/obj/structure/closet/secure_closet/animal/PopulateContents()
..()
new /obj/item/device/assembly/signaler(src)
for(var/i in 1 to 3)
@@ -87,7 +87,7 @@
desc = "Store dangerous chemicals in here."
icon_door = "chemical"
-/obj/structure/closet/secure_closet/chemical/New()
+/obj/structure/closet/secure_closet/chemical/PopulateContents()
..()
new /obj/item/weapon/storage/box/pillbottles(src)
new /obj/item/weapon/storage/box/pillbottles(src)
diff --git a/code/game/objects/structures/crates_lockers/closets/secure/misc.dm b/code/game/objects/structures/crates_lockers/closets/secure/misc.dm
index 5ce6d85262..632dbd30e3 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/misc.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/misc.dm
@@ -1,10 +1,10 @@
/obj/structure/closet/secure_closet/ertCom
name = "commander's closet"
desc = "Emergency Response Team equipment locker."
- req_access = list(access_cent_captain)
+ req_access = list(GLOB.access_cent_captain)
icon_state = "cap"
-/obj/structure/closet/secure_closet/ertCom/New()
+/obj/structure/closet/secure_closet/ertCom/PopulateContents()
..()
new /obj/item/weapon/storage/firstaid/regular(src)
new /obj/item/weapon/storage/box/handcuffs(src)
@@ -22,10 +22,10 @@
/obj/structure/closet/secure_closet/ertSec
name = "security closet"
desc = "Emergency Response Team equipment locker."
- req_access = list(access_cent_specops)
+ req_access = list(GLOB.access_cent_specops)
icon_state = "hos"
-/obj/structure/closet/secure_closet/ertSec/New()
+/obj/structure/closet/secure_closet/ertSec/PopulateContents()
..()
new /obj/item/weapon/storage/box/flashbangs(src)
new /obj/item/weapon/storage/box/teargas(src)
@@ -36,10 +36,10 @@
/obj/structure/closet/secure_closet/ertMed
name = "medical closet"
desc = "Emergency Response Team equipment locker."
- req_access = list(access_cent_medical)
+ req_access = list(GLOB.access_cent_medical)
icon_state = "cmo"
-/obj/structure/closet/secure_closet/ertMed/New()
+/obj/structure/closet/secure_closet/ertMed/PopulateContents()
..()
new /obj/item/weapon/storage/firstaid/o2(src)
new /obj/item/weapon/storage/firstaid/toxin(src)
@@ -52,10 +52,10 @@
/obj/structure/closet/secure_closet/ertEngi
name = "engineer closet"
desc = "Emergency Response Team equipment locker."
- req_access = list(access_cent_storage)
+ req_access = list(GLOB.access_cent_storage)
icon_state = "ce"
-/obj/structure/closet/secure_closet/ertEngi/New()
+/obj/structure/closet/secure_closet/ertEngi/PopulateContents()
..()
new /obj/item/stack/sheet/plasteel(src, 50)
new /obj/item/stack/sheet/metal(src, 50)
diff --git a/code/game/objects/structures/crates_lockers/closets/secure/personal.dm b/code/game/objects/structures/crates_lockers/closets/secure/personal.dm
index 10ab9d09f5..c9638afadf 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/personal.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/personal.dm
@@ -1,10 +1,10 @@
/obj/structure/closet/secure_closet/personal
desc = "It's a secure locker for personnel. The first card swiped gains control."
name = "personal closet"
- req_access = list(access_all_personal_lockers)
+ req_access = list(GLOB.access_all_personal_lockers)
var/registered_name = null
-/obj/structure/closet/secure_closet/personal/New()
+/obj/structure/closet/secure_closet/personal/PopulateContents()
..()
if(prob(50))
new /obj/item/weapon/storage/backpack/dufflebag(src)
@@ -17,9 +17,7 @@
/obj/structure/closet/secure_closet/personal/patient
name = "patient's closet"
-/obj/structure/closet/secure_closet/personal/patient/New()
- ..()
- contents.Cut()
+/obj/structure/closet/secure_closet/personal/patient/PopulateContents()
new /obj/item/clothing/under/color/white( src )
new /obj/item/clothing/shoes/sneakers/white( src )
@@ -29,9 +27,7 @@
obj_integrity = 70
max_integrity = 70
-/obj/structure/closet/secure_closet/personal/cabinet/New()
- ..()
- contents = list()
+/obj/structure/closet/secure_closet/personal/cabinet/PopulateContents()
new /obj/item/weapon/storage/backpack/satchel/leather/withwallet( src )
new /obj/item/device/radio/headset( src )
diff --git a/code/game/objects/structures/crates_lockers/closets/secure/scientist.dm b/code/game/objects/structures/crates_lockers/closets/secure/scientist.dm
index 605145c7d3..684ba9af55 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/scientist.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/scientist.dm
@@ -1,9 +1,9 @@
/obj/structure/closet/secure_closet/RD
name = "\proper research director's locker"
- req_access = list(access_rd)
+ req_access = list(GLOB.access_rd)
icon_state = "rd"
-/obj/structure/closet/secure_closet/RD/New()
+/obj/structure/closet/secure_closet/RD/PopulateContents()
..()
new /obj/item/clothing/neck/cloak/rd(src)
new /obj/item/clothing/suit/bio_suit/scientist(src)
diff --git a/code/game/objects/structures/crates_lockers/closets/secure/security.dm b/code/game/objects/structures/crates_lockers/closets/secure/security.dm
index a0abf38286..67989257f2 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/security.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/security.dm
@@ -1,9 +1,9 @@
/obj/structure/closet/secure_closet/captains
name = "\proper captain's locker"
- req_access = list(access_captain)
+ req_access = list(GLOB.access_captain)
icon_state = "cap"
-/obj/structure/closet/secure_closet/captains/New()
+/obj/structure/closet/secure_closet/captains/PopulateContents()
..()
new /obj/item/clothing/suit/hooded/wintercoat/captain(src)
if(prob(50))
@@ -32,10 +32,10 @@
/obj/structure/closet/secure_closet/hop
name = "\proper head of personnel's locker"
- req_access = list(access_hop)
+ req_access = list(GLOB.access_hop)
icon_state = "hop"
-/obj/structure/closet/secure_closet/hop/New()
+/obj/structure/closet/secure_closet/hop/PopulateContents()
..()
new /obj/item/clothing/neck/cloak/hop(src)
new /obj/item/clothing/under/rank/head_of_personnel(src)
@@ -56,10 +56,10 @@
/obj/structure/closet/secure_closet/hos
name = "\proper head of security's locker"
- req_access = list(access_hos)
+ req_access = list(GLOB.access_hos)
icon_state = "hos"
-/obj/structure/closet/secure_closet/hos/New()
+/obj/structure/closet/secure_closet/hos/PopulateContents()
..()
new /obj/item/clothing/neck/cloak/hos(src)
new /obj/item/weapon/cartridge/hos(src)
@@ -85,10 +85,10 @@
/obj/structure/closet/secure_closet/warden
name = "\proper warden's locker"
- req_access = list(access_armory)
+ req_access = list(GLOB.access_armory)
icon_state = "warden"
-/obj/structure/closet/secure_closet/warden/New()
+/obj/structure/closet/secure_closet/warden/PopulateContents()
..()
new /obj/item/device/radio/headset/headset_sec(src)
new /obj/item/clothing/suit/armor/vest/warden(src)
@@ -109,10 +109,10 @@
/obj/structure/closet/secure_closet/security
name = "security officer's locker"
- req_access = list(access_security)
+ req_access = list(GLOB.access_security)
icon_state = "sec"
-/obj/structure/closet/secure_closet/security/New()
+/obj/structure/closet/secure_closet/security/PopulateContents()
..()
new /obj/item/clothing/suit/armor/vest(src)
new /obj/item/clothing/head/helmet/sec(src)
@@ -123,47 +123,47 @@
/obj/structure/closet/secure_closet/security/sec
-/obj/structure/closet/secure_closet/security/sec/New()
+/obj/structure/closet/secure_closet/security/sec/PopulateContents()
..()
new /obj/item/weapon/storage/belt/security/full(src)
/obj/structure/closet/secure_closet/security/cargo
-/obj/structure/closet/secure_closet/security/cargo/New()
+/obj/structure/closet/secure_closet/security/cargo/PopulateContents()
..()
new /obj/item/clothing/tie/armband/cargo(src)
new /obj/item/device/encryptionkey/headset_cargo(src)
/obj/structure/closet/secure_closet/security/engine
-/obj/structure/closet/secure_closet/security/engine/New()
+/obj/structure/closet/secure_closet/security/engine/PopulateContents()
..()
new /obj/item/clothing/tie/armband/engine(src)
new /obj/item/device/encryptionkey/headset_eng(src)
/obj/structure/closet/secure_closet/security/science
-/obj/structure/closet/secure_closet/security/science/New()
+/obj/structure/closet/secure_closet/security/science/PopulateContents()
..()
new /obj/item/clothing/tie/armband/science(src)
new /obj/item/device/encryptionkey/headset_sci(src)
/obj/structure/closet/secure_closet/security/med
-/obj/structure/closet/secure_closet/security/med/New()
+/obj/structure/closet/secure_closet/security/med/PopulateContents()
..()
new /obj/item/clothing/tie/armband/medblue(src)
new /obj/item/device/encryptionkey/headset_med(src)
/obj/structure/closet/secure_closet/detective
name = "\proper detective's cabinet"
- req_access = list(access_forensics_lockers)
+ req_access = list(GLOB.access_forensics_lockers)
icon_state = "cabinet"
resistance_flags = FLAMMABLE
obj_integrity = 70
max_integrity = 70
-/obj/structure/closet/secure_closet/detective/New()
+/obj/structure/closet/secure_closet/detective/PopulateContents()
..()
new /obj/item/clothing/under/rank/det(src)
new /obj/item/clothing/suit/det_suit(src)
@@ -185,29 +185,29 @@
/obj/structure/closet/secure_closet/injection
name = "lethal injections"
- req_access = list(access_hos)
+ req_access = list(GLOB.access_hos)
-/obj/structure/closet/secure_closet/injection/New()
+/obj/structure/closet/secure_closet/injection/PopulateContents()
..()
for(var/i in 1 to 5)
new /obj/item/weapon/reagent_containers/syringe/lethal/execution(src)
/obj/structure/closet/secure_closet/brig
name = "brig locker"
- req_access = list(access_brig)
+ req_access = list(GLOB.access_brig)
anchored = 1
var/id = null
-/obj/structure/closet/secure_closet/brig/New()
+/obj/structure/closet/secure_closet/brig/PopulateContents()
..()
new /obj/item/clothing/under/rank/prisoner( src )
new /obj/item/clothing/shoes/sneakers/orange( src )
/obj/structure/closet/secure_closet/courtroom
name = "courtroom locker"
- req_access = list(access_court)
+ req_access = list(GLOB.access_court)
-/obj/structure/closet/secure_closet/courtroom/New()
+/obj/structure/closet/secure_closet/courtroom/PopulateContents()
..()
new /obj/item/clothing/shoes/sneakers/brown(src)
for(var/i in 1 to 3)
@@ -219,10 +219,10 @@
/obj/structure/closet/secure_closet/armory1
name = "armory armor locker"
- req_access = list(access_armory)
+ req_access = list(GLOB.access_armory)
icon_state = "armory"
-/obj/structure/closet/secure_closet/armory1/New()
+/obj/structure/closet/secure_closet/armory1/PopulateContents()
..()
new /obj/item/clothing/suit/armor/laserproof(src)
for(var/i in 1 to 3)
@@ -234,10 +234,10 @@
/obj/structure/closet/secure_closet/armory2
name = "armory ballistics locker"
- req_access = list(access_armory)
+ req_access = list(GLOB.access_armory)
icon_state = "armory"
-/obj/structure/closet/secure_closet/armory2/New()
+/obj/structure/closet/secure_closet/armory2/PopulateContents()
..()
new /obj/item/weapon/storage/box/firingpins(src)
for(var/i in 1 to 3)
@@ -247,10 +247,10 @@
/obj/structure/closet/secure_closet/armory3
name = "armory energy gun locker"
- req_access = list(access_armory)
+ req_access = list(GLOB.access_armory)
icon_state = "armory"
-/obj/structure/closet/secure_closet/armory3/New()
+/obj/structure/closet/secure_closet/armory3/PopulateContents()
..()
new /obj/item/weapon/storage/box/firingpins(src)
new /obj/item/weapon/gun/energy/ionrifle(src)
@@ -261,10 +261,10 @@
/obj/structure/closet/secure_closet/tac
name = "armory tac locker"
- req_access = list(access_armory)
+ req_access = list(GLOB.access_armory)
icon_state = "tac"
-/obj/structure/closet/secure_closet/tac/New()
+/obj/structure/closet/secure_closet/tac/PopulateContents()
..()
new /obj/item/weapon/gun/ballistic/automatic/wt550(src)
new /obj/item/clothing/head/helmet/alt(src)
@@ -273,10 +273,10 @@
/obj/structure/closet/secure_closet/lethalshots
name = "shotgun lethal rounds"
- req_access = list(access_armory)
+ req_access = list(GLOB.access_armory)
icon_state = "tac"
-/obj/structure/closet/secure_closet/lethalshots/New()
+/obj/structure/closet/secure_closet/lethalshots/PopulateContents()
..()
for(var/i in 1 to 3)
new /obj/item/weapon/storage/box/lethalshot(src)
diff --git a/code/game/objects/structures/crates_lockers/closets/syndicate.dm b/code/game/objects/structures/crates_lockers/closets/syndicate.dm
index 76c7e8d3e2..c09f3d2ff7 100644
--- a/code/game/objects/structures/crates_lockers/closets/syndicate.dm
+++ b/code/game/objects/structures/crates_lockers/closets/syndicate.dm
@@ -6,7 +6,7 @@
/obj/structure/closet/syndicate/personal
desc = "It's a personal storage unit for operative gear."
-/obj/structure/closet/syndicate/personal/New()
+/obj/structure/closet/syndicate/personal/PopulateContents()
..()
new /obj/item/clothing/under/syndicate(src)
new /obj/item/clothing/shoes/sneakers/black(src)
@@ -20,9 +20,7 @@
/obj/structure/closet/syndicate/nuclear
desc = "It's a storage unit for a Syndicate boarding party."
-/obj/structure/closet/syndicate/nuclear/New()
- ..()
- contents = list()
+/obj/structure/closet/syndicate/nuclear/PopulateContents()
for(var/i in 1 to 5)
new /obj/item/ammo_box/magazine/m10mm(src)
new /obj/item/weapon/storage/box/flashbangs(src)
@@ -34,7 +32,7 @@
/obj/structure/closet/syndicate/resources
desc = "An old, dusty locker."
-/obj/structure/closet/syndicate/resources/New()
+/obj/structure/closet/syndicate/resources/PopulateContents()
..()
var/common_min = 30 //Minimum amount of minerals in the stack for common minerals
var/common_max = 50 //Maximum amount of HONK in the stack for HONK common minerals
@@ -99,9 +97,7 @@
/obj/structure/closet/syndicate/resources/everything
desc = "It's an emergency storage closet for repairs."
-/obj/structure/closet/syndicate/resources/everything/New()
- ..()
- contents = list()
+/obj/structure/closet/syndicate/resources/everything/PopulateContents()
var/list/resources = list(
/obj/item/stack/sheet/metal,
/obj/item/stack/sheet/glass,
diff --git a/code/game/objects/structures/crates_lockers/closets/utility_closets.dm b/code/game/objects/structures/crates_lockers/closets/utility_closets.dm
index 3763a1ff9b..1b864d1813 100644
--- a/code/game/objects/structures/crates_lockers/closets/utility_closets.dm
+++ b/code/game/objects/structures/crates_lockers/closets/utility_closets.dm
@@ -17,7 +17,7 @@
desc = "It's a storage unit for emergency breath masks and O2 tanks."
icon_state = "emergency"
-/obj/structure/closet/emcloset/New()
+/obj/structure/closet/emcloset/PopulateContents()
..()
if (prob(40))
@@ -63,7 +63,7 @@
desc = "It's a storage unit for fire-fighting supplies."
icon_state = "fire"
-/obj/structure/closet/firecloset/New()
+/obj/structure/closet/firecloset/PopulateContents()
..()
new /obj/item/clothing/suit/fire/firefighter(src)
@@ -72,10 +72,7 @@
new /obj/item/weapon/extinguisher(src)
new /obj/item/clothing/head/hardhat/red(src)
-/obj/structure/closet/firecloset/full/New()
- ..()
- contents = list()
-
+/obj/structure/closet/firecloset/full/PopulateContents()
new /obj/item/clothing/suit/fire/firefighter(src)
new /obj/item/clothing/mask/gas(src)
new /obj/item/device/flashlight(src)
@@ -92,7 +89,7 @@
icon_state = "eng"
icon_door = "eng_tool"
-/obj/structure/closet/toolcloset/New()
+/obj/structure/closet/toolcloset/PopulateContents()
..()
if(prob(40))
new /obj/item/clothing/suit/hazardvest(src)
@@ -135,7 +132,7 @@
icon_state = "eng"
icon_door = "eng_rad"
-/obj/structure/closet/radiation/New()
+/obj/structure/closet/radiation/PopulateContents()
..()
new /obj/item/device/geiger_counter(src)
new /obj/item/clothing/suit/radiation(src)
@@ -149,7 +146,7 @@
desc = "It's a storage unit for explosion-protective suits."
icon_state = "bomb"
-/obj/structure/closet/bombcloset/New()
+/obj/structure/closet/bombcloset/PopulateContents()
..()
new /obj/item/clothing/suit/bomb_suit( src )
new /obj/item/clothing/under/color/black( src )
@@ -162,9 +159,7 @@
desc = "It's a storage unit for explosion-protective suits."
icon_state = "bomb"
-/obj/structure/closet/bombclosetsecurity/New()
- ..()
- contents = list()
+/obj/structure/closet/bombclosetsecurity/PopulateContents()
new /obj/item/clothing/suit/bomb_suit/security( src )
new /obj/item/clothing/under/rank/security( src )
new /obj/item/clothing/shoes/sneakers/brown( src )
@@ -176,7 +171,7 @@
/obj/structure/closet/ammunitionlocker
name = "ammunition locker"
-/obj/structure/closet/ammunitionlocker/New()
+/obj/structure/closet/ammunitionlocker/PopulateContents()
..()
for(var/i in 1 to 8)
new /obj/item/ammo_casing/shotgun/beanbag(src)
diff --git a/code/game/objects/structures/crates_lockers/closets/wardrobe.dm b/code/game/objects/structures/crates_lockers/closets/wardrobe.dm
index 1ac9b16ea4..7b1ff30b45 100644
--- a/code/game/objects/structures/crates_lockers/closets/wardrobe.dm
+++ b/code/game/objects/structures/crates_lockers/closets/wardrobe.dm
@@ -3,7 +3,7 @@
desc = "It's a storage unit for standard-issue Nanotrasen attire."
icon_door = "blue"
-/obj/structure/closet/wardrobe/New()
+/obj/structure/closet/wardrobe/PopulateContents()
..()
for(var/i in 1 to 3)
new /obj/item/clothing/under/color/blue(src)
@@ -15,9 +15,7 @@
name = "pink wardrobe"
icon_door = "pink"
-/obj/structure/closet/wardrobe/pink/New()
- ..()
- contents = list()
+/obj/structure/closet/wardrobe/pink/PopulateContents()
for(var/i in 1 to 3)
new /obj/item/clothing/under/color/pink(src)
for(var/i in 1 to 3)
@@ -28,9 +26,7 @@
name = "black wardrobe"
icon_door = "black"
-/obj/structure/closet/wardrobe/black/New()
- ..()
- contents = list()
+/obj/structure/closet/wardrobe/black/PopulateContents()
for(var/i in 1 to 3)
new /obj/item/clothing/under/color/black(src)
if(prob(25))
@@ -54,9 +50,7 @@
name = "green wardrobe"
icon_door = "green"
-/obj/structure/closet/wardrobe/green/New()
- ..()
- contents = list()
+/obj/structure/closet/wardrobe/green/PopulateContents()
for(var/i in 1 to 3)
new /obj/item/clothing/under/color/green(src)
for(var/i in 1 to 3)
@@ -71,9 +65,7 @@
desc = "It's a storage unit for Nanotrasen-regulation prisoner attire."
icon_door = "orange"
-/obj/structure/closet/wardrobe/orange/New()
- ..()
- contents = list()
+/obj/structure/closet/wardrobe/orange/PopulateContents()
for(var/i in 1 to 3)
new /obj/item/clothing/under/rank/prisoner(src)
for(var/i in 1 to 3)
@@ -85,9 +77,7 @@
name = "yellow wardrobe"
icon_door = "yellow"
-/obj/structure/closet/wardrobe/yellow/New()
- ..()
- contents = list()
+/obj/structure/closet/wardrobe/yellow/PopulateContents()
for(var/i in 1 to 3)
new /obj/item/clothing/under/color/yellow(src)
for(var/i in 1 to 3)
@@ -101,9 +91,7 @@
name = "white wardrobe"
icon_door = "white"
-/obj/structure/closet/wardrobe/white/New()
- ..()
- contents = list()
+/obj/structure/closet/wardrobe/white/PopulateContents()
for(var/i in 1 to 3)
new /obj/item/clothing/under/color/white(src)
for(var/i in 1 to 3)
@@ -116,9 +104,7 @@
name = "pajama wardrobe"
icon_door = "white"
-/obj/structure/closet/wardrobe/pjs/New()
- ..()
- contents = list()
+/obj/structure/closet/wardrobe/pjs/PopulateContents()
new /obj/item/clothing/under/pj/red(src)
new /obj/item/clothing/under/pj/red(src)
new /obj/item/clothing/under/pj/blue(src)
@@ -132,9 +118,7 @@
name = "grey wardrobe"
icon_door = "grey"
-/obj/structure/closet/wardrobe/grey/New()
- ..()
- contents = list()
+/obj/structure/closet/wardrobe/grey/PopulateContents()
for(var/i in 1 to 3)
new /obj/item/clothing/under/color/grey(src)
for(var/i in 1 to 3)
@@ -160,9 +144,7 @@
name = "mixed wardrobe"
icon_door = "mixed"
-/obj/structure/closet/wardrobe/mixed/New()
- ..()
- contents = list()
+/obj/structure/closet/wardrobe/mixed/PopulateContents()
if(prob(40))
new /obj/item/clothing/suit/jacket(src)
if(prob(40))
diff --git a/code/game/objects/structures/crates_lockers/crates.dm b/code/game/objects/structures/crates_lockers/crates.dm
index 02394e4d5d..8724136b87 100644
--- a/code/game/objects/structures/crates_lockers/crates.dm
+++ b/code/game/objects/structures/crates_lockers/crates.dm
@@ -85,7 +85,7 @@
name = "blood freezer"
desc = "A freezer containing packs of blood."
-/obj/structure/closet/crate/freezer/blood/New()
+/obj/structure/closet/crate/freezer/blood/PopulateContents()
. = ..()
new /obj/item/weapon/reagent_containers/blood/empty(src)
new /obj/item/weapon/reagent_containers/blood/empty(src)
@@ -102,7 +102,7 @@
name = "surplus prosthetic limbs"
desc = "A crate containing an assortment of cheap prosthetic limbs."
-/obj/structure/closet/crate/freezer/surplus_limbs/New()
+/obj/structure/closet/crate/freezer/surplus_limbs/PopulateContents()
. = ..()
new /obj/item/bodypart/l_arm/robot/surplus(src)
new /obj/item/bodypart/l_arm/robot/surplus(src)
@@ -135,7 +135,7 @@
name = "\improper RCD crate"
icon_state = "engi_crate"
-/obj/structure/closet/crate/rcd/New()
+/obj/structure/closet/crate/rcd/PopulateContents()
..()
for(var/i in 1 to 4)
new /obj/item/weapon/rcd_ammo(src)
diff --git a/code/game/objects/structures/crates_lockers/crates/secure.dm b/code/game/objects/structures/crates_lockers/crates/secure.dm
index 1ddb99b6fc..603dce4358 100644
--- a/code/game/objects/structures/crates_lockers/crates/secure.dm
+++ b/code/game/objects/structures/crates_lockers/crates/secure.dm
@@ -33,7 +33,7 @@
if(user)
to_chat(user, "The crate's anti-tamper system activates! ")
var/message = "[ADMIN_LOOKUPFLW(user)] has detonated [src.name]."
- bombers += message
+ GLOB.bombers += message
message_admins(message)
log_game("[key_name(user)] has detonated [src.name].")
for(var/atom/movable/AM in src)
diff --git a/code/game/objects/structures/displaycase.dm b/code/game/objects/structures/displaycase.dm
index ee54173f75..dfd2574bbb 100644
--- a/code/game/objects/structures/displaycase.dm
+++ b/code/game/objects/structures/displaycase.dm
@@ -207,7 +207,7 @@
playsound(src.loc, I.usesound, 50, 1)
if(do_after(user, 30*I.toolspeed, target = src))
playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1)
- new /obj/item/stack/sheet/mineral/wood(get_turf(src))
+ new /obj/item/stack/sheet/mineral/wood(get_turf(src), 5)
qdel(src)
else if(istype(I, /obj/item/weapon/electronics/airlock))
@@ -238,15 +238,14 @@
return ..()
//The captains display case requiring specops ID access is intentional.
-//Intentional why? Because of this, the captain has to SMASH his own display case to get his own gun. WHY? -ktccd
//The lab cage and captains display case do not spawn with electronics, which is why req_access is needed.
/obj/structure/displaycase/captain
alert = 1
start_showpiece_type = /obj/item/weapon/gun/energy/laser/captain
- req_access = list(access_captain)
+ req_access = list(GLOB.access_captain)
/obj/structure/displaycase/labcage
name = "lab cage"
desc = "A glass lab container for storing interesting creatures."
start_showpiece_type = /obj/item/clothing/mask/facehugger/lamarr
- req_access = list(access_rd)
+ req_access = list(GLOB.access_rd)
diff --git a/code/game/objects/structures/dresser.dm b/code/game/objects/structures/dresser.dm
index 2eaa8e66c6..c072c052e5 100644
--- a/code/game/objects/structures/dresser.dm
+++ b/code/game/objects/structures/dresser.dm
@@ -18,16 +18,16 @@
return
switch(choice)
if("Underwear")
- var/new_undies = input(user, "Select your underwear", "Changing") as null|anything in underwear_list
+ var/new_undies = input(user, "Select your underwear", "Changing") as null|anything in GLOB.underwear_list
if(new_undies)
H.underwear = new_undies
if("Undershirt")
- var/new_undershirt = input(user, "Select your undershirt", "Changing") as null|anything in undershirt_list
+ var/new_undershirt = input(user, "Select your undershirt", "Changing") as null|anything in GLOB.undershirt_list
if(new_undershirt)
H.undershirt = new_undershirt
if("Socks")
- var/new_socks = input(user, "Select your socks", "Changing") as null|anything in socks_list
+ var/new_socks = input(user, "Select your socks", "Changing") as null|anything in GLOB.socks_list
if(new_socks)
H.socks= new_socks
diff --git a/code/game/objects/structures/false_walls.dm b/code/game/objects/structures/false_walls.dm
index 8c7c248667..466be07c50 100644
--- a/code/game/objects/structures/false_walls.dm
+++ b/code/game/objects/structures/false_walls.dm
@@ -339,5 +339,5 @@
return ..()
/obj/structure/falsewall/brass/ratvar_act()
- if(ratvar_awakens)
+ if(GLOB.ratvar_awakens)
obj_integrity = max_integrity
diff --git a/code/game/objects/structures/flora.dm b/code/game/objects/structures/flora.dm
index 18dcaa1d33..54e85e0eb7 100644
--- a/code/game/objects/structures/flora.dm
+++ b/code/game/objects/structures/flora.dm
@@ -44,7 +44,7 @@
icon = 'icons/obj/flora/pinetrees.dmi'
icon_state = "pine_1"
-/obj/structure/flora/tree/pine/New()
+/obj/structure/flora/tree/pine/Initialize()
icon_state = "pine_[rand(1, 3)]"
..()
@@ -52,7 +52,7 @@
name = "xmas tree"
icon_state = "pine_c"
-/obj/structure/flora/tree/pine/xmas/New()
+/obj/structure/flora/tree/pine/xmas/Initialize()
..()
icon_state = "pine_c"
@@ -64,7 +64,7 @@
icon = 'icons/misc/beach2.dmi'
icon_state = "palm1"
-/obj/structure/flora/tree/palm/New()
+/obj/structure/flora/tree/palm/Initialize()
..()
icon_state = pick("palm1","palm2")
pixel_x = 0
@@ -75,10 +75,21 @@
icon_state = "festivus_pole"
desc = "During last year's Feats of Strength the Research Director was able to suplex this passing immobile rod into a planter."
-/obj/structure/flora/tree/dead/New()
+/obj/structure/flora/tree/dead/Initialize()
icon_state = "tree_[rand(1, 6)]"
..()
+/obj/structure/flora/tree/jungle
+ name = "tree"
+ icon_state = "tree"
+ desc = "It's seriously hampering your view of the jungle."
+ icon = 'icons/obj/flora/jungletrees.dmi'
+ pixel_x = -48
+ pixel_y = -20
+
+/obj/structure/flora/tree/jungle/Initialize()
+ icon_state = "[icon_state][rand(1, 3)]"
+ ..()
//grass
/obj/structure/flora/grass
@@ -89,7 +100,7 @@
/obj/structure/flora/grass/brown
icon_state = "snowgrass1bb"
-/obj/structure/flora/grass/brown/New()
+/obj/structure/flora/grass/brown/Initialize()
icon_state = "snowgrass[rand(1, 3)]bb"
..()
@@ -97,14 +108,14 @@
/obj/structure/flora/grass/green
icon_state = "snowgrass1gb"
-/obj/structure/flora/grass/green/New()
+/obj/structure/flora/grass/green/Initialize()
icon_state = "snowgrass[rand(1, 3)]gb"
..()
/obj/structure/flora/grass/both
icon_state = "snowgrassall1"
-/obj/structure/flora/grass/both/New()
+/obj/structure/flora/grass/both/Initialize()
icon_state = "snowgrassall[rand(1, 3)]"
..()
@@ -116,7 +127,7 @@
icon_state = "snowbush1"
anchored = 1
-/obj/structure/flora/bush/New()
+/obj/structure/flora/bush/Initialize()
icon_state = "snowbush[rand(1, 6)]"
..()
@@ -127,7 +138,7 @@
icon = 'icons/obj/flora/ausflora.dmi'
icon_state = "firstbush_1"
-/obj/structure/flora/ausbushes/New()
+/obj/structure/flora/ausbushes/Initialize()
if(icon_state == "firstbush_1")
icon_state = "firstbush_[rand(1, 4)]"
..()
@@ -135,105 +146,105 @@
/obj/structure/flora/ausbushes/reedbush
icon_state = "reedbush_1"
-/obj/structure/flora/ausbushes/reedbush/New()
+/obj/structure/flora/ausbushes/reedbush/Initialize()
icon_state = "reedbush_[rand(1, 4)]"
..()
/obj/structure/flora/ausbushes/leafybush
icon_state = "leafybush_1"
-/obj/structure/flora/ausbushes/leafybush/New()
+/obj/structure/flora/ausbushes/leafybush/Initialize()
icon_state = "leafybush_[rand(1, 3)]"
..()
/obj/structure/flora/ausbushes/palebush
icon_state = "palebush_1"
-/obj/structure/flora/ausbushes/palebush/New()
+/obj/structure/flora/ausbushes/palebush/Initialize()
icon_state = "palebush_[rand(1, 4)]"
..()
/obj/structure/flora/ausbushes/stalkybush
icon_state = "stalkybush_1"
-/obj/structure/flora/ausbushes/stalkybush/New()
+/obj/structure/flora/ausbushes/stalkybush/Initialize()
icon_state = "stalkybush_[rand(1, 3)]"
..()
/obj/structure/flora/ausbushes/grassybush
icon_state = "grassybush_1"
-/obj/structure/flora/ausbushes/grassybush/New()
+/obj/structure/flora/ausbushes/grassybush/Initialize()
icon_state = "grassybush_[rand(1, 4)]"
..()
/obj/structure/flora/ausbushes/fernybush
icon_state = "fernybush_1"
-/obj/structure/flora/ausbushes/fernybush/New()
+/obj/structure/flora/ausbushes/fernybush/Initialize()
icon_state = "fernybush_[rand(1, 3)]"
..()
/obj/structure/flora/ausbushes/sunnybush
icon_state = "sunnybush_1"
-/obj/structure/flora/ausbushes/sunnybush/New()
+/obj/structure/flora/ausbushes/sunnybush/Initialize()
icon_state = "sunnybush_[rand(1, 3)]"
..()
/obj/structure/flora/ausbushes/genericbush
icon_state = "genericbush_1"
-/obj/structure/flora/ausbushes/genericbush/New()
+/obj/structure/flora/ausbushes/genericbush/Initialize()
icon_state = "genericbush_[rand(1, 4)]"
..()
/obj/structure/flora/ausbushes/pointybush
icon_state = "pointybush_1"
-/obj/structure/flora/ausbushes/pointybush/New()
+/obj/structure/flora/ausbushes/pointybush/Initialize()
icon_state = "pointybush_[rand(1, 4)]"
..()
/obj/structure/flora/ausbushes/lavendergrass
icon_state = "lavendergrass_1"
-/obj/structure/flora/ausbushes/lavendergrass/New()
+/obj/structure/flora/ausbushes/lavendergrass/Initialize()
icon_state = "lavendergrass_[rand(1, 4)]"
..()
/obj/structure/flora/ausbushes/ywflowers
icon_state = "ywflowers_1"
-/obj/structure/flora/ausbushes/ywflowers/New()
+/obj/structure/flora/ausbushes/ywflowers/Initialize()
icon_state = "ywflowers_[rand(1, 3)]"
..()
/obj/structure/flora/ausbushes/brflowers
icon_state = "brflowers_1"
-/obj/structure/flora/ausbushes/brflowers/New()
+/obj/structure/flora/ausbushes/brflowers/Initialize()
icon_state = "brflowers_[rand(1, 3)]"
..()
/obj/structure/flora/ausbushes/ppflowers
icon_state = "ppflowers_1"
-/obj/structure/flora/ausbushes/ppflowers/New()
+/obj/structure/flora/ausbushes/ppflowers/Initialize()
icon_state = "ppflowers_[rand(1, 3)]"
..()
/obj/structure/flora/ausbushes/sparsegrass
icon_state = "sparsegrass_1"
-/obj/structure/flora/ausbushes/sparsegrass/New()
+/obj/structure/flora/ausbushes/sparsegrass/Initialize()
icon_state = "sparsegrass_[rand(1, 3)]"
..()
/obj/structure/flora/ausbushes/fullgrass
icon_state = "fullgrass_1"
-/obj/structure/flora/ausbushes/fullgrass/New()
+/obj/structure/flora/ausbushes/fullgrass/Initialize()
icon_state = "fullgrass_[rand(1, 3)]"
..()
@@ -251,7 +262,7 @@
/obj/item/weapon/twohanded/required/kirbyplants/equipped(mob/living/user)
var/image/I = image(icon = 'icons/obj/flora/plants.dmi' , icon_state = src.icon_state, loc = user)
I.override = 1
- user.add_alt_appearance("sneaking_mission", I, player_list)
+ user.add_alt_appearance("sneaking_mission", I, GLOB.player_list)
..()
/obj/item/weapon/twohanded/required/kirbyplants/dropped(mob/living/user)
@@ -261,7 +272,7 @@
/obj/item/weapon/twohanded/required/kirbyplants/random
var/list/static/states
-/obj/item/weapon/twohanded/required/kirbyplants/random/New()
+/obj/item/weapon/twohanded/required/kirbyplants/random/Initialize()
. = ..()
if(!states)
generate_states()
@@ -295,7 +306,7 @@
resistance_flags = FIRE_PROOF
density = 1
-/obj/structure/flora/rock/New()
+/obj/structure/flora/rock/Initialize()
..()
icon_state = "[icon_state][rand(1,3)]"
@@ -303,6 +314,72 @@
icon_state = "lavarocks"
desc = "A pile of rocks"
-/obj/structure/flora/rock/pile/New()
+/obj/structure/flora/rock/pile/Initialize()
..()
icon_state = "[icon_state][rand(1,3)]"
+
+//Jungle grass
+
+/obj/structure/flora/grass/jungle
+ name = "jungle grass"
+ desc = "Thick alien flora."
+ icon = 'icons/obj/flora/jungleflora.dmi'
+ icon_state = "grassa"
+
+
+/obj/structure/flora/grass/jungle/Initialize()
+ icon_state = "[icon_state][rand(1, 5)]"
+ ..()
+
+/obj/structure/flora/grass/jungle/b
+ icon_state = "grassb"
+
+//Jungle rocks
+
+/obj/structure/flora/rock/jungle
+ icon_state = "pile of rocks"
+ desc = "A pile of rocks."
+ icon_state = "rock"
+ icon = 'icons/obj/flora/jungleflora.dmi'
+ density = FALSE
+
+/obj/structure/flora/rock/jungle/Initialize()
+ ..()
+ icon_state = "[initial(icon_state)][rand(1,5)]"
+
+
+//Jungle bushes
+
+/obj/structure/flora/junglebush
+ name = "bush"
+ icon = 'icons/obj/flora/jungleflora.dmi'
+ icon_state = "busha"
+
+/obj/structure/flora/junglebush/Initialize()
+ icon_state = "[icon_state][rand(1, 3)]"
+ ..()
+
+/obj/structure/flora/junglebush/b
+ icon_state = "bushb"
+
+/obj/structure/flora/junglebush/c
+ icon_state = "bushc"
+
+/obj/structure/flora/junglebush/large
+ icon_state = "bush"
+ icon = 'icons/obj/flora/largejungleflora.dmi'
+ pixel_x = -16
+ pixel_y = -12
+ layer = ABOVE_ALL_MOB_LAYER
+
+/obj/structure/flora/rock/pile/largejungle
+ name = "rocks"
+ icon_state = "rocks"
+ icon = 'icons/obj/flora/largejungleflora.dmi'
+ density = FALSE
+ pixel_x = -16
+ pixel_y = -16
+
+/obj/structure/flora/rock/pile/largejungle/Initialize()
+ ..()
+ icon_state = "[initial(icon_state)][rand(1,3)]"
\ No newline at end of file
diff --git a/code/game/objects/structures/ghost_role_spawners.dm b/code/game/objects/structures/ghost_role_spawners.dm
index 378f5030bf..f1a808938e 100644
--- a/code/game/objects/structures/ghost_role_spawners.dm
+++ b/code/game/objects/structures/ghost_role_spawners.dm
@@ -106,40 +106,21 @@
travel the stars with a single declaration: \"Yeah go do whatever.\" Though you are bound to the one who created you, it is customary in your society to repeat those same words to newborn \
golems, so that no golem may ever be forced to serve again."
-/obj/effect/mob_spawn/human/golem/New(loc, datum/species/golem/species = null, has_owner = FALSE, mob/creator = null)
+/obj/effect/mob_spawn/human/golem/Initialize(mapload, datum/species/golem/species = null, has_owner = FALSE, mob/creator = null)
..()
if(species)
- name += " ([initial(species.id)])"
+ name += " ([initial(species.prefix)])"
mob_species = species
var/area/A = get_area(src)
- if(A)
- notify_ghosts("\A [initial(species.id)] golem shell has been completed in \the [A.name].", source = src, action=NOTIFY_ATTACK, flashwindow = FALSE)
+ if(!mapload && A)
+ notify_ghosts("\A [initial(species.prefix)] golem shell has been completed in \the [A.name].", source = src, action=NOTIFY_ATTACK, flashwindow = FALSE)
if(has_owner && creator)
flavour_text = "You are a golem. You move slowly, but are highly resistant to heat and cold as well as blunt trauma. You are unable to wear clothes, but can still use most tools. \
Serve [creator], and assist [creator.p_them()] in completing [creator.p_their()] goals at any cost."
owner = creator
/obj/effect/mob_spawn/human/golem/special(mob/living/new_spawn)
- var/golem_surname = pick(golem_names)
- // 3% chance that our golem has a human surname, because
- // cultural contamination
- if(prob(3))
- golem_surname = pick(last_names)
-
var/datum/species/golem/X = mob_species
- var/golem_forename = initial(X.id)
-
- // The id of golem species is either their material "diamond","gold",
- // or just "golem" for the plain ones. So we're using it for naming.
-
- if(golem_forename == "golem")
- golem_forename = "iron"
-
- new_spawn.real_name = "[capitalize(golem_forename)] [golem_surname]"
- // This means golems have names like Iron Forge, or Diamond Quarry
- // also a tiny chance of being called "Plasma Meme"
- // which is clearly a feature
-
to_chat(new_spawn, "[initial(X.info_text)]")
if(!owner)
to_chat(new_spawn, "Build golem shells in the autolathe, and feed refined mineral sheets to the shells to bring them to life! You are generally a peaceful group unless provoked.")
@@ -151,6 +132,7 @@
if(ishuman(new_spawn))
var/mob/living/carbon/human/H = new_spawn
H.set_cloned_appearance()
+ H.real_name = H.dna.species.random_name()
/obj/effect/mob_spawn/human/golem/adamantine
name = "dust-caked golem shell"
diff --git a/code/game/objects/structures/guncase.dm b/code/game/objects/structures/guncase.dm
index 42a6664364..077e405616 100644
--- a/code/game/objects/structures/guncase.dm
+++ b/code/game/objects/structures/guncase.dm
@@ -17,15 +17,16 @@
if(mapload)
for(var/obj/item/I in loc.contents)
if(istype(I, gun_category))
- I.loc = src
+ I.forceMove(src)
if(contents.len >= capacity)
break
update_icon()
/obj/structure/guncase/update_icon()
cut_overlays()
- for(var/i = contents.len, i >= 1, i--)
- add_overlay(image(icon = src.icon, icon_state = "[case_type]", pixel_x = 4 * (i -1) ))
+ if(case_type && LAZYLEN(contents))
+ for(var/i in 1 to contents.len)
+ add_overlay(image(icon = src.icon, icon_state = "[case_type]", pixel_x = 3 * (i - 1) ))
if(open)
add_overlay("[icon_state]_open")
else
@@ -34,14 +35,16 @@
/obj/structure/guncase/attackby(obj/item/I, mob/user, params)
if(iscyborg(user) || isalien(user))
return
- if(istype(I, gun_category))
- if(contents.len < capacity && open)
+ if(istype(I, gun_category) && open)
+ if(LAZYLEN(contents) < capacity)
if(!user.drop_item())
return
- contents += I
+ I.forceMove(src)
to_chat(user, "You place [I] in [src]. ")
update_icon()
- return
+ else
+ to_chat(user, "[src] is full. ")
+ return
else if(user.a_intent != INTENT_HARM)
open = !open
@@ -62,9 +65,10 @@
var/dat = {"
Stored Guns
"}
- for(var/i = contents.len, i >= 1, i--)
- var/obj/item/I = contents[i]
- dat += "[I.name] "
+ if(LAZYLEN(contents))
+ for(var/i in 1 to contents.len)
+ var/obj/item/I = contents[i]
+ dat += "[I.name] "
dat += "
"
var/datum/browser/popup = new(user, "gunlocker", "[name]
", 350, 300)
@@ -76,7 +80,7 @@
var/obj/item/O = locate(href_list["retrieve"]) in contents
if(!O || !istype(O))
return
- if(!usr.canUseTopic(src))
+ if(!usr.canUseTopic(src) || !open)
return
if(ishuman(usr))
if(!usr.put_in_hands(O))
diff --git a/code/game/objects/structures/ladders.dm b/code/game/objects/structures/ladders.dm
index 9db8b4e07e..ec82b45a1f 100644
--- a/code/game/objects/structures/ladders.dm
+++ b/code/game/objects/structures/ladders.dm
@@ -13,20 +13,32 @@
desc = "An extremely sturdy metal ladder."
-/obj/structure/ladder/New()
- spawn(8)
- for(var/obj/structure/ladder/L in world)
- if(L.id == id)
- if(L.height == (height - 1))
- down = L
- continue
- if(L.height == (height + 1))
- up = L
- continue
+/obj/structure/ladder/Initialize(mapload)
+ if(!initialized)
+ GLOB.ladders += src
+ ..()
+ if(mapload)
+ return TRUE
+ update_link()
+
+/obj/structure/ladder/Destroy()
+ GLOB.ladders -= src
+ . = ..()
+
+/obj/structure/ladder/proc/update_link()
+ for(var/obj/structure/ladder/L in GLOB.ladders)
+ if(L.id == id)
+ if(L.height == (height - 1))
+ down = L
+ continue
+ if(L.height == (height + 1))
+ up = L
+ continue
+
+ if(up && down) //if both our connections are filled
+ break
+ update_icon()
- if(up && down) //if both our connections are filled
- break
- update_icon()
/obj/structure/ladder/update_icon()
if(up && down)
diff --git a/code/game/objects/structures/lattice.dm b/code/game/objects/structures/lattice.dm
index 312f6c32dc..ba859d5952 100644
--- a/code/game/objects/structures/lattice.dm
+++ b/code/game/objects/structures/lattice.dm
@@ -9,7 +9,7 @@
obj_integrity = 50
max_integrity = 50
layer = LATTICE_LAYER //under pipes
- var/obj/item/stack/rods/stored
+ var/number_of_rods = 1
canSmoothWith = list(/obj/structure/lattice,
/turf/open/floor,
/turf/closed/wall,
@@ -17,26 +17,20 @@
smooth = SMOOTH_MORE
// flags = CONDUCT
-/obj/structure/lattice/New()
+/obj/structure/lattice/Initialize(mapload)
..()
- for(var/obj/structure/lattice/LAT in src.loc)
+ for(var/obj/structure/lattice/LAT in loc)
if(LAT != src)
- qdel(LAT)
- stored = new/obj/item/stack/rods(src)
-
-/obj/structure/lattice/Destroy()
- qdel(stored)
- stored = null
- return ..()
+ QDEL_IN(LAT, 0)
/obj/structure/lattice/blob_act(obj/structure/blob/B)
return
/obj/structure/lattice/ratvar_act()
if(IsEven(x + y))
- new/obj/structure/lattice/clockwork(loc)
+ new /obj/structure/lattice/clockwork(loc)
else
- new/obj/structure/lattice/clockwork/large(loc)
+ new /obj/structure/lattice/clockwork/large(loc)
/obj/structure/lattice/attackby(obj/item/C, mob/user, params)
if(istype(C, /obj/item/weapon/wirecutters))
@@ -48,8 +42,7 @@
/obj/structure/lattice/deconstruct(disassembled = TRUE)
if(!(flags & NODECONSTRUCT))
- stored.forceMove(get_turf(src))
- stored = null
+ new /obj/item/stack/rods(get_turf(src), number_of_rods)
qdel(src)
/obj/structure/lattice/singularity_pull(S, current_size)
@@ -61,15 +54,15 @@
desc = "A lightweight support lattice. These hold the Justicar's station together."
icon = 'icons/obj/smooth_structures/lattice_clockwork.dmi'
-/obj/structure/lattice/clockwork/New()
+/obj/structure/lattice/clockwork/Initialize(mapload)
..()
ratvar_act()
/obj/structure/lattice/clockwork/ratvar_act()
if(IsOdd(x+y))
- new/obj/structure/lattice/clockwork/large(loc)
+ new /obj/structure/lattice/clockwork/large(loc) // deletes old one
-/obj/structure/lattice/clockwork/large/New()
+/obj/structure/lattice/clockwork/large/Initialize(mapload)
..()
icon = 'icons/obj/smooth_structures/lattice_clockwork_large.dmi'
pixel_x = -9
@@ -77,23 +70,19 @@
/obj/structure/lattice/clockwork/large/ratvar_act()
if(IsEven(x + y))
- new/obj/structure/lattice/clockwork(loc)
+ new /obj/structure/lattice/clockwork(loc)
/obj/structure/lattice/catwalk
name = "catwalk"
desc = "A catwalk for easier EVA maneuvering and cable placement."
icon = 'icons/obj/smooth_structures/catwalk.dmi'
icon_state = "catwalk"
+ number_of_rods = 2
smooth = SMOOTH_TRUE
canSmoothWith = null
-/obj/structure/lattice/catwalk/New()
- ..()
- stored.amount++
- stored.update_icon()
-
/obj/structure/lattice/catwalk/ratvar_act()
- new/obj/structure/lattice/catwalk/clockwork(loc)
+ new /obj/structure/lattice/catwalk/clockwork(loc)
/obj/structure/lattice/catwalk/Move()
var/turf/T = loc
@@ -111,7 +100,7 @@
name = "clockwork catwalk"
icon = 'icons/obj/smooth_structures/catwalk_clockwork.dmi'
-/obj/structure/lattice/catwalk/clockwork/New()
+/obj/structure/lattice/catwalk/clockwork/Initialize(mapload)
..()
new /obj/effect/overlay/temp/ratvar/floor/catwalk(loc)
new /obj/effect/overlay/temp/ratvar/beam/catwalk(loc)
diff --git a/code/game/objects/structures/mirror.dm b/code/game/objects/structures/mirror.dm
index 76e00ae67a..1dad6b094f 100644
--- a/code/game/objects/structures/mirror.dm
+++ b/code/game/objects/structures/mirror.dm
@@ -25,7 +25,7 @@
//handle facial hair (if necessary)
if(H.gender == MALE)
- var/new_style = input(user, "Select a facial hair style", "Grooming") as null|anything in facial_hair_styles_list
+ var/new_style = input(user, "Select a facial hair style", "Grooming") as null|anything in GLOB.facial_hair_styles_list
if(userloc != H.loc)
return //no tele-grooming
if(new_style)
@@ -34,7 +34,7 @@
H.facial_hair_style = "Shaved"
//handle normal hair
- var/new_style = input(user, "Select a hair style", "Grooming") as null|anything in hair_styles_list
+ var/new_style = input(user, "Select a hair style", "Grooming") as null|anything in GLOB.hair_styles_list
if(userloc != H.loc)
return //no tele-grooming
if(new_style)
@@ -90,7 +90,7 @@
name = "magic mirror"
desc = "Turn and face the strange... face."
icon_state = "magic_mirror"
- var/list/races_blacklist = list("skeleton", "agent", "angel", "military_synth")
+ var/list/races_blacklist = list("skeleton", "agent", "angel", "military_synth", "memezombie")
var/list/choosable_races = list()
/obj/structure/mirror/magic/New()
@@ -102,7 +102,7 @@
..()
/obj/structure/mirror/magic/lesser/New()
- choosable_races = roundstart_species
+ choosable_races = GLOB.roundstart_species
..()
/obj/structure/mirror/magic/badmin/New()
@@ -140,7 +140,7 @@
if("race")
var/newrace
var/racechoice = input(H, "What are we again?", "Race change") as null|anything in choosable_races
- newrace = species_list[racechoice]
+ newrace = GLOB.species_list[racechoice]
if(!newrace)
return
@@ -149,7 +149,7 @@
H.set_species(newrace, icon_update=0)
if(H.dna.species.use_skintones)
- var/new_s_tone = input(user, "Choose your skin tone:", "Race change") as null|anything in skin_tones
+ var/new_s_tone = input(user, "Choose your skin tone:", "Race change") as null|anything in GLOB.skin_tones
if(new_s_tone)
H.skin_tone = new_s_tone
@@ -223,4 +223,4 @@
curse(user)
/obj/structure/mirror/magic/proc/curse(mob/living/user)
- return
\ No newline at end of file
+ return
diff --git a/code/game/objects/structures/morgue.dm b/code/game/objects/structures/morgue.dm
index 3b9efb6410..b388fd78cf 100644
--- a/code/game/objects/structures/morgue.dm
+++ b/code/game/objects/structures/morgue.dm
@@ -147,7 +147,7 @@
/*
* Crematorium
*/
-var/global/list/crematoriums = new/list()
+GLOBAL_LIST_EMPTY(crematoriums)
/obj/structure/bodycontainer/crematorium
name = "crematorium"
desc = "A human incinerator. Works well on barbeque nights."
@@ -160,14 +160,14 @@ var/global/list/crematoriums = new/list()
return
/obj/structure/bodycontainer/crematorium/Destroy()
- crematoriums.Remove(src)
+ GLOB.crematoriums.Remove(src)
return ..()
/obj/structure/bodycontainer/crematorium/New()
connected = new/obj/structure/tray/c_tray(src)
connected.connected = src
- crematoriums.Add(src)
+ GLOB.crematoriums.Add(src)
..()
/obj/structure/bodycontainer/crematorium/update_icon()
diff --git a/code/game/objects/structures/musician.dm b/code/game/objects/structures/musician.dm
index 4ebb05b5b8..1ceb91ccd9 100644
--- a/code/game/objects/structures/musician.dm
+++ b/code/game/objects/structures/musician.dm
@@ -182,6 +182,27 @@
popup.set_title_image(user.browse_rsc_icon(instrumentObj.icon, instrumentObj.icon_state))
popup.open()
+/datum/song/proc/ParseSong(text)
+ set waitfor = FALSE
+ //split into lines
+ lines = splittext(text, "\n")
+ if(lines.len)
+ if(copytext(lines[1],1,6) == "BPM: ")
+ tempo = sanitize_tempo(600 / text2num(copytext(lines[1],6)))
+ lines.Cut(1,2)
+ else
+ tempo = sanitize_tempo(5) // default 120 BPM
+ if(lines.len > 50)
+ to_chat(usr, "Too many lines!")
+ lines.Cut(51)
+ var/linenum = 1
+ for(var/l in lines)
+ if(lentext(l) > 50)
+ to_chat(usr, "Line [linenum] too long!")
+ lines.Remove(l)
+ else
+ linenum++
+ updateDialog(usr) // make sure updates when complete
/datum/song/Topic(href, href_list)
if(!usr.canUseTopic(instrumentObj))
@@ -208,26 +229,7 @@
if(cont == "no")
break
while(lentext(t) > 3072)
-
- //split into lines
- spawn()
- lines = splittext(t, "\n")
- if(copytext(lines[1],1,6) == "BPM: ")
- tempo = sanitize_tempo(600 / text2num(copytext(lines[1],6)))
- lines.Cut(1,2)
- else
- tempo = sanitize_tempo(5) // default 120 BPM
- if(lines.len > 50)
- to_chat(usr, "Too many lines!")
- lines.Cut(51)
- var/linenum = 1
- for(var/l in lines)
- if(lentext(l) > 50)
- to_chat(usr, "Line [linenum] too long!")
- lines.Remove(l)
- else
- linenum++
- updateDialog(usr) // make sure updates when complete
+ ParseSong(t)
else if(href_list["help"])
help = text2num(href_list["help"]) - 1
diff --git a/code/game/objects/structures/noticeboard.dm b/code/game/objects/structures/noticeboard.dm
index 1a5982821d..5122d877ef 100644
--- a/code/game/objects/structures/noticeboard.dm
+++ b/code/game/objects/structures/noticeboard.dm
@@ -90,39 +90,39 @@
/obj/structure/noticeboard/captain
name = "Captain's Notice Board"
desc = "Important notices from the Captain."
- req_access = list(access_captain)
+ req_access = list(GLOB.access_captain)
/obj/structure/noticeboard/hop
name = "Head of Personnel's Notice Board"
desc = "Important notices from the Head of Personnel."
- req_access = list(access_hop)
+ req_access = list(GLOB.access_hop)
/obj/structure/noticeboard/ce
name = "Chief Engineer's Notice Board"
desc = "Important notices from the Chief Engineer."
- req_access = list(access_ce)
+ req_access = list(GLOB.access_ce)
/obj/structure/noticeboard/hos
name = "Head of Security's Notice Board"
desc = "Important notices from the Head of Security."
- req_access = list(access_hos)
+ req_access = list(GLOB.access_hos)
/obj/structure/noticeboard/cmo
name = "Chief Medical Officer's Notice Board"
desc = "Important notices from the Chief Medical Officer."
- req_access = list(access_cmo)
+ req_access = list(GLOB.access_cmo)
/obj/structure/noticeboard/rd
name = "Research Director's Notice Board"
desc = "Important notices from the Research Director."
- req_access = list(access_rd)
+ req_access = list(GLOB.access_rd)
/obj/structure/noticeboard/qm
name = "Quartermaster's Notice Board"
desc = "Important notices from the Quartermaster."
- req_access = list(access_qm)
+ req_access = list(GLOB.access_qm)
/obj/structure/noticeboard/staff
name = "Staff Notice Board"
desc = "Important notices from the heads of staff."
- req_access = list(access_heads)
+ req_access = list(GLOB.access_heads)
diff --git a/code/game/objects/structures/crates_lockers/closets/statue.dm b/code/game/objects/structures/petrified_statue.dm
similarity index 97%
rename from code/game/objects/structures/crates_lockers/closets/statue.dm
rename to code/game/objects/structures/petrified_statue.dm
index 016ed5a497..421bc0d699 100644
--- a/code/game/objects/structures/crates_lockers/closets/statue.dm
+++ b/code/game/objects/structures/petrified_statue.dm
@@ -82,9 +82,7 @@
var/obj/structure/statue/petrified/S = new(loc, src, statue_timer)
S.name = "statue of [name]"
bleedsuppress = 1
- S.icon = icon
- S.icon_state = icon_state
- S.copy_overlays(overlays)
+ S.copy_overlays(src)
var/newcolor = list(rgb(77,77,77), rgb(150,150,150), rgb(28,28,28), rgb(0,0,0))
S.add_atom_colour(newcolor, FIXED_COLOUR_PRIORITY)
return 1
diff --git a/code/game/objects/structures/safe.dm b/code/game/objects/structures/safe.dm
index cd52610be2..a1a2ea65ba 100644
--- a/code/game/objects/structures/safe.dm
+++ b/code/game/objects/structures/safe.dm
@@ -147,6 +147,7 @@ FLOOR SAFES
if(open)
if(P && in_range(src, user))
user.put_in_hands(P)
+ space -= P.w_class
updateUsrDialog()
diff --git a/code/game/objects/structures/signs.dm b/code/game/objects/structures/signs.dm
index e6eff359b1..11d20a2dc1 100644
--- a/code/game/objects/structures/signs.dm
+++ b/code/game/objects/structures/signs.dm
@@ -134,6 +134,11 @@
Cargo(brown ), Science(purple ), Escape(red and white ), and Medbay(blue ).\nIn the center of the station, you see the Bridge(dark blue ).\n\
Around those, you see Hallways/Entrances(light grey ), Public Areas(grey ), and Maintenance(dark grey )."
+/obj/structure/sign/map/left/ceres
+ icon_state = "map-CS"
+ desc = "A framed picture of the station.\nClockwise from the top, you see Security (red ), Dorms (light-green ), Bridge (dark-blue ), AI Core (gray ), \
+ Cargo (brown ), Medbay (blue ), Arrivals/Departures(orange/cyan ), Research (purple ), Service (dark-green ), and Engineering in the center (yellow )."
+
/obj/structure/sign/securearea
name = "\improper SECURE AREA"
desc = "A warning sign which reads 'SECURE AREA'."
@@ -241,6 +246,11 @@
desc = "A sign labelling an area as a place where xenobiological entities are researched."
icon_state = "xenobio"
+/obj/structure/sign/enginesafety
+ name = "\improper ENGINEERING SAFETY"
+ desc = "A sign detailing the various safety protocols when working on-site to ensure a safe shift."
+ icon_state = "safety"
+
/obj/structure/sign/directions/science
name = "science department"
desc = "A direction sign, pointing out which way the Science department is."
@@ -265,3 +275,13 @@
name = "escape arm"
desc = "A direction sign, pointing out which way the escape shuttle dock is."
icon_state = "direction_evac"
+
+/obj/structure/sign/directions/supply
+ name = "cargo bay"
+ desc = "A direction sign, pointing out which way the Cargo Bay is."
+ icon_state = "direction_supply"
+
+/obj/structure/sign/directions/command
+ name = "command department"
+ desc = "A direction sign, pointing out which way the Command department is."
+ icon_state = "direction_bridge"
diff --git a/code/game/objects/structures/statues.dm b/code/game/objects/structures/statues.dm
index 1987a4699e..f5defdab50 100644
--- a/code/game/objects/structures/statues.dm
+++ b/code/game/objects/structures/statues.dm
@@ -10,7 +10,7 @@
anchored = 0
obj_integrity = 100
max_integrity = 100
- var/oreAmount = 7
+ var/oreAmount = 5
var/material_drop_type = /obj/item/stack/sheet/metal
CanAtmosPass = ATMOS_PASS_DENSITY
diff --git a/code/game/objects/structures/tables_racks.dm b/code/game/objects/structures/tables_racks.dm
index 79224863e8..c42b61a622 100644
--- a/code/game/objects/structures/tables_racks.dm
+++ b/code/game/objects/structures/tables_racks.dm
@@ -366,7 +366,7 @@
/obj/structure/table/optable/New()
..()
- for(var/dir in cardinal)
+ for(var/dir in GLOB.cardinal)
computer = locate(/obj/machinery/computer/operating, get_step(src, dir))
if(computer)
computer.table = src
diff --git a/code/game/objects/structures/tank_dispenser.dm b/code/game/objects/structures/tank_dispenser.dm
index f5cc3da64f..12ad7eb2cc 100644
--- a/code/game/objects/structures/tank_dispenser.dm
+++ b/code/game/objects/structures/tank_dispenser.dm
@@ -69,7 +69,7 @@
update_icon()
/obj/structure/tank_dispenser/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = 0, \
- datum/tgui/master_ui = null, datum/ui_state/state = physical_state)
+ datum/tgui/master_ui = null, datum/ui_state/state = GLOB.physical_state)
ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open)
if(!ui)
ui = new(user, src, ui_key, "tank_dispenser", name, 275, 100, master_ui, state)
diff --git a/code/game/objects/structures/transit_tubes/transit_tube.dm b/code/game/objects/structures/transit_tubes/transit_tube.dm
index 135f5ca02f..eae2041a31 100644
--- a/code/game/objects/structures/transit_tubes/transit_tube.dm
+++ b/code/game/objects/structures/transit_tubes/transit_tube.dm
@@ -129,7 +129,7 @@
/obj/structure/transit_tube/proc/generate_tube_overlays()
for(var/direction in tube_dirs)
- if(direction in diagonals)
+ if(direction in GLOB.diagonals)
if(direction & NORTH)
create_tube_overlay(direction ^ 3, NORTH)
diff --git a/code/game/objects/structures/traps.dm b/code/game/objects/structures/traps.dm
index 2b32864aec..90500f14db 100644
--- a/code/game/objects/structures/traps.dm
+++ b/code/game/objects/structures/traps.dm
@@ -1,5 +1,5 @@
/obj/structure/trap
- name = "IT'S A TARP"
+ name = "IT'S A TRAP"
desc = "stepping on me is a guaranteed bad day"
icon = 'icons/obj/hand_of_god_structures.dmi'
icon_state = "trap"
diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm
index 9aabba3ed8..d5bcb8b60b 100644
--- a/code/game/objects/structures/window.dm
+++ b/code/game/objects/structures/window.dm
@@ -546,7 +546,7 @@
return ..()
/obj/structure/window/reinforced/clockwork/ratvar_act()
- if(ratvar_awakens)
+ if(GLOB.ratvar_awakens)
obj_integrity = max_integrity
update_icon()
diff --git a/code/game/say.dm b/code/game/say.dm
index 172bfc0fd3..efad2f105f 100644
--- a/code/game/say.dm
+++ b/code/game/say.dm
@@ -3,7 +3,7 @@
This file has the basic atom/movable level speech procs.
And the base of the send_speech() proc, which is the core of saycode.
*/
-var/list/freqtospan = list(
+GLOBAL_LIST_INIT(freqtospan, list(
"1351" = "sciradio",
"1355" = "medradio",
"1357" = "engradio",
@@ -13,33 +13,38 @@ var/list/freqtospan = list(
"1353" = "comradio",
"1447" = "aiprivradio",
"1213" = "syndradio",
- "1337" = "centcomradio"
- )
+ "1337" = "centcomradio",
+ "1215" = "redteamradio",
+ "1217" = "blueteamradio"
+ ))
-/atom/movable/proc/say(message)
+/atom/movable/proc/say(message, datum/language/language = null)
if(!can_speak())
return
if(message == "" || !message)
return
var/list/spans = get_spans()
- send_speech(message, 7, src, , spans)
+ if(!language)
+ language = get_default_language()
+ send_speech(message, 7, src, , spans, message_language=language)
-/atom/movable/proc/Hear(message, atom/movable/speaker, message_langs, raw_message, radio_freq, list/spans)
+/atom/movable/proc/Hear(message, atom/movable/speaker, message_language, raw_message, radio_freq, list/spans, message_mode)
return
/atom/movable/proc/can_speak()
return 1
-/atom/movable/proc/send_speech(message, range = 7, obj/source = src, bubble_type, list/spans)
- var/rendered = compose_message(src, languages_spoken, message, , spans)
- for(var/atom/movable/AM in get_hearers_in_view(range, src))
- AM.Hear(rendered, src, languages_spoken, message, , spans)
+/atom/movable/proc/send_speech(message, range = 7, obj/source = src, bubble_type, list/spans, datum/language/message_language = null, message_mode)
+ var/rendered = compose_message(src, message_language, message, , spans)
+ for(var/_AM in get_hearers_in_view(range, source))
+ var/atom/movable/AM = _AM
+ AM.Hear(rendered, src, message_language, message, , spans)
//To get robot span classes, stuff like that.
/atom/movable/proc/get_spans()
return list()
-/atom/movable/proc/compose_message(atom/movable/speaker, message_langs, raw_message, radio_freq, list/spans)
+/atom/movable/proc/compose_message(atom/movable/speaker, datum/language/message_language, raw_message, radio_freq, list/spans, message_mode)
//This proc uses text() because it is faster than appending strings. Thanks BYOND.
//Basic span
var/spanpart1 = ""
@@ -48,13 +53,13 @@ var/list/freqtospan = list(
//Radio freq/name display
var/freqpart = radio_freq ? "\[[get_radio_name(radio_freq)]\] " : ""
//Speaker name
- var/namepart = "[speaker.GetVoice()][speaker.get_alt_name()]"
+ var/namepart = "[speaker.GetVoice()][speaker.get_alt_name()]"
//End name span.
var/endspanpart = " "
//Message
- var/messagepart = " [lang_treat(speaker, message_langs, raw_message, spans)] "
+ var/messagepart = " [lang_treat(speaker, message_language, raw_message, spans, message_mode)] "
- return "[spanpart1][spanpart2][freqpart][compose_track_href(speaker, namepart)][namepart][compose_job(speaker, message_langs, raw_message, radio_freq)][endspanpart][messagepart]"
+ return "[spanpart1][spanpart2][freqpart][compose_track_href(speaker, namepart)][namepart][compose_job(speaker, message_language, raw_message, radio_freq)][endspanpart][messagepart]"
/atom/movable/proc/compose_track_href(atom/movable/speaker, message_langs, raw_message, radio_freq)
return ""
@@ -62,7 +67,7 @@ var/list/freqtospan = list(
/atom/movable/proc/compose_job(atom/movable/speaker, message_langs, raw_message, radio_freq)
return ""
-/atom/movable/proc/say_quote(input, list/spans=list())
+/atom/movable/proc/say_quote(input, list/spans=list(), message_mode)
if(!input)
return "says, \"...\"" //not the best solution, but it will stop a large number of runtimes. The cause is somewhere in the Tcomms code
var/ending = copytext(input, length(input))
@@ -77,46 +82,34 @@ var/list/freqtospan = list(
return "[verb_say], \"[input]\""
-/atom/movable/proc/lang_treat(atom/movable/speaker, message_langs, raw_message, list/spans)
- if(languages_understood & message_langs)
+/atom/movable/proc/lang_treat(atom/movable/speaker, datum/language/language, raw_message, list/spans, message_mode)
+ if(has_language(language))
var/atom/movable/AM = speaker.GetSource()
if(AM) //Basically means "if the speaker is virtual"
if(AM.verb_say != speaker.verb_say || AM.verb_ask != speaker.verb_ask || AM.verb_exclaim != speaker.verb_exclaim || AM.verb_yell != speaker.verb_yell) //If the saymod was changed
- return speaker.say_quote(raw_message, spans)
- return AM.say_quote(raw_message, spans)
+ return speaker.say_quote(raw_message, spans, message_mode)
+ return AM.say_quote(raw_message, spans, message_mode)
else
- return speaker.say_quote(raw_message, spans)
- else if((message_langs & HUMAN) || (message_langs & RATVAR)) //it's human or ratvar language
+ return speaker.say_quote(raw_message, spans, message_mode)
+ else if(language)
var/atom/movable/AM = speaker.GetSource()
- if(message_langs & HUMAN)
- raw_message = stars(raw_message)
- if(message_langs & RATVAR)
- raw_message = text2ratvar(raw_message)
+ var/datum/language/D = new language
+ raw_message = D.scramble(raw_message)
if(AM)
- return AM.say_quote(raw_message, spans)
+ return AM.say_quote(raw_message, spans, message_mode)
else
- return speaker.say_quote(raw_message, spans)
- else if(message_langs & MONKEY)
- return "chimpers."
- else if(message_langs & ALIEN)
- return "hisses."
- else if(message_langs & ROBOT)
- return "beeps rapidly."
- else if(message_langs & DRONE)
- return "chitters."
- else if(message_langs & SWARMER)
- return "hums."
+ return speaker.say_quote(raw_message, spans, message_mode)
else
return "makes a strange sound."
/proc/get_radio_span(freq)
- var/returntext = freqtospan["[freq]"]
+ var/returntext = GLOB.freqtospan["[freq]"]
if(returntext)
return returntext
return "radio"
/proc/get_radio_name(freq)
- var/returntext = radiochannelsreverse["[freq]"]
+ var/returntext = GLOB.reverseradiochannels["[freq]"]
if(returntext)
return returntext
return "[copytext("[freq]", 1, 4)].[copytext("[freq]", 4, 5)]"
diff --git a/code/game/sound.dm b/code/game/sound.dm
index 91b016d061..8d0c20d63d 100644
--- a/code/game/sound.dm
+++ b/code/game/sound.dm
@@ -1,4 +1,4 @@
-/proc/playsound(atom/source, soundin, vol as num, vary, extrarange as num, falloff, surround = 1, frequency = null)
+/proc/playsound(atom/source, soundin, vol as num, vary, extrarange as num, falloff, surround = 1, frequency = null, channel = 0, pressure_affected = TRUE)
soundin = get_sfx(soundin) // same sound for everyone
@@ -10,23 +10,28 @@
frequency = get_rand_frequency() // Same frequency for everybody
var/turf/turf_source = get_turf(source)
+ //allocate a channel if necessary now so its the same for everyone
+ channel = channel || open_sound_channel()
+
// Looping through the player list has the added bonus of working for mobs inside containers
- for (var/P in player_list)
+ for (var/P in GLOB.player_list)
var/mob/M = P
if(!M || !M.client)
continue
if(get_dist(M, turf_source) <= world.view + extrarange)
var/turf/T = get_turf(M)
if(T && T.z == turf_source.z)
- M.playsound_local(turf_source, soundin, vol, vary, frequency, falloff, surround)
+ M.playsound_local(turf_source, soundin, vol, vary, frequency, falloff, surround, channel, pressure_affected)
+/atom/proc/playsound_direct(soundin, vol as num, vary, frequency, falloff, surround = TRUE, channel = 0, pressure_affected = FALSE)
+ playsound_local(get_turf(src), soundin, vol, vary, frequency, falloff, surround, channel)
-/atom/proc/playsound_local(turf/turf_source, soundin, vol as num, vary, frequency, falloff, surround = 1)
+/atom/proc/playsound_local(turf/turf_source, soundin, vol as num, vary, frequency, falloff, surround = 1, channel = 0, pressure_affected = TRUE)
soundin = get_sfx(soundin)
var/sound/S = sound(soundin)
S.wait = 0 //No queue
- S.channel = 0 //Any channel
+ S.channel = channel || open_sound_channel()
S.volume = vol
if (vary)
@@ -38,27 +43,28 @@
if(isturf(turf_source))
var/turf/T = get_turf(src)
- //Atmosphere affects sound
- var/pressure_factor = 1
- var/datum/gas_mixture/hearer_env = T.return_air()
- var/datum/gas_mixture/source_env = turf_source.return_air()
+ if(pressure_affected)
+ //Atmosphere affects sound
+ var/pressure_factor = 1
+ var/datum/gas_mixture/hearer_env = T.return_air()
+ var/datum/gas_mixture/source_env = turf_source.return_air()
- if(hearer_env && source_env)
- var/pressure = min(hearer_env.return_pressure(), source_env.return_pressure())
- if(pressure < ONE_ATMOSPHERE)
- pressure_factor = max((pressure - SOUND_MINIMUM_PRESSURE)/(ONE_ATMOSPHERE - SOUND_MINIMUM_PRESSURE), 0)
- else //space
- pressure_factor = 0
+ if(hearer_env && source_env)
+ var/pressure = min(hearer_env.return_pressure(), source_env.return_pressure())
+ if(pressure < ONE_ATMOSPHERE)
+ pressure_factor = max((pressure - SOUND_MINIMUM_PRESSURE)/(ONE_ATMOSPHERE - SOUND_MINIMUM_PRESSURE), 0)
+ else //space
+ pressure_factor = 0
- var/distance = get_dist(T, turf_source)
- if(distance <= 1)
- pressure_factor = max(pressure_factor, 0.15) //touching the source of the sound
+ var/distance = get_dist(T, turf_source)
+ if(distance <= 1)
+ pressure_factor = max(pressure_factor, 0.15) //touching the source of the sound
- S.volume *= pressure_factor
- //End Atmosphere affecting sound
+ S.volume *= pressure_factor
+ //End Atmosphere affecting sound
- if(S.volume <= 0)
- return //No sound
+ if(S.volume <= 0)
+ return //No sound
// 3D sounds, the technology is here!
if (surround)
@@ -74,19 +80,25 @@
src << S
-/mob/playsound_local(turf/turf_source, soundin, vol as num, vary, frequency, falloff, surround = 1)
+/mob/playsound_local(turf/turf_source, soundin, vol as num, vary, frequency, falloff, surround = 1, channel = 0, pressure_affected = TRUE)
if(!client || ear_deaf > 0)
return
..()
-/mob/proc/stopLobbySound()
- src << sound(null, repeat = 0, wait = 0, volume = 85, channel = 1)
+/proc/open_sound_channel()
+ var/static/next_channel = 1 //loop through the available 1024 - (the ones we reserve) channels and pray that its not still being used
+ . = ++next_channel
+ if(next_channel > CHANNEL_HIGHEST_AVAILABLE)
+ next_channel = 1
+
+/mob/proc/stop_sound_channel(chan)
+ src << sound(null, repeat = 0, wait = 0, channel = chan)
/client/proc/playtitlemusic()
- UNTIL(ticker.login_music) //wait for ticker init to set the login music
+ UNTIL(SSticker.login_music) //wait for SSticker init to set the login music
if(prefs && (prefs.toggles & SOUND_LOBBY))
- src << sound(ticker.login_music, repeat = 0, wait = 0, volume = 85, channel = 1) // MAD JAMS
+ src << sound(SSticker.login_music, repeat = 0, wait = 0, volume = 85, channel = CHANNEL_LOBBYMUSIC) // MAD JAMS
/proc/get_rand_frequency()
return rand(32000, 55000) //Frequency stuff only works with 45kbps oggs.
@@ -125,5 +137,5 @@
return soundin
/proc/playsound_global(file, repeat=0, wait, channel, volume)
- for(var/V in clients)
- V << sound(file, repeat, wait, channel, volume)
\ No newline at end of file
+ for(var/V in GLOB.clients)
+ V << sound(file, repeat, wait, channel, volume)
diff --git a/code/game/turfs/closed.dm b/code/game/turfs/closed.dm
index 54b99c0bea..f8cb0d1be3 100644
--- a/code/game/turfs/closed.dm
+++ b/code/game/turfs/closed.dm
@@ -29,14 +29,23 @@
/turf/closed/indestructible/splashscreen
name = "Space Station 13"
- icon = 'config/title_screens/images/title1.dmi'
+ icon = 'config/title_screens/images/blank.png'
icon_state = ""
layer = FLY_LAYER
/turf/closed/indestructible/splashscreen/New()
- SStitle.title_screen = src
+ SStitle.splash_turf = src
+ if(SStitle.icon)
+ icon = SStitle.icon
..()
+/turf/closed/indestructible/splashscreen/vv_edit_var(var_name, var_value)
+ . = ..()
+ if(.)
+ switch(var_name)
+ if("icon")
+ SStitle.icon = icon
+
/turf/closed/indestructible/riveted
icon = 'icons/turf/walls/riveted.dmi'
icon_state = "riveted"
diff --git a/code/game/turfs/open.dm b/code/game/turfs/open.dm
index 00e11e2092..ee5527c0f5 100644
--- a/code/game/turfs/open.dm
+++ b/code/game/turfs/open.dm
@@ -57,11 +57,9 @@
current_cycle = times_fired
//cache some vars
- var/datum/gas_mixture/air = src.air
- air.holder = src
var/list/atmos_adjacent_turfs = src.atmos_adjacent_turfs
- for(var/direction in cardinal)
+ for(var/direction in GLOB.cardinal)
var/turf/open/enemy_tile = get_step(src, direction)
if(!istype(enemy_tile))
if (atmos_adjacent_turfs)
@@ -109,19 +107,17 @@
air.temperature += temp
air_update_turf()
-/turf/open/freon_gas_act()
+/turf/open/proc/freon_gas_act()
for(var/obj/I in contents)
if(!HAS_SECONDARY_FLAG(I, FROZEN)) //let it go
I.make_frozen_visual()
for(var/mob/living/L in contents)
- if(L.bodytemperature >= 10)
- L.bodytemperature -= 10
if(L.bodytemperature <= 50)
L.apply_status_effect(/datum/status_effect/freon)
MakeSlippery(TURF_WET_PERMAFROST, 5)
return 1
-/turf/open/water_vapor_gas_act()
+/turf/open/proc/water_vapor_gas_act()
MakeSlippery(min_wet_time = 10, wet_time_to_add = 5)
for(var/mob/living/simple_animal/slime/M in src)
diff --git a/code/game/turfs/simulated/chasm.dm b/code/game/turfs/simulated/chasm.dm
index e031bbe401..8890c50129 100644
--- a/code/game/turfs/simulated/chasm.dm
+++ b/code/game/turfs/simulated/chasm.dm
@@ -9,6 +9,7 @@
icon = 'icons/turf/floors/Chasms.dmi'
icon_state = "smooth"
canSmoothWith = list(/turf/open/floor/fakepit, /turf/open/chasm)
+ density = TRUE //This will prevent hostile mobs from pathing into chasms, while the canpass override will still let it function like an open turf
var/drop_x = 1
var/drop_y = 1
var/drop_z = 1
@@ -21,6 +22,7 @@
if(!drop_stuff())
STOP_PROCESSING(SSobj, src)
+
/turf/open/chasm/attackby(obj/item/C, mob/user, params, area/area_restriction)
..()
if(istype(C, /obj/item/stack/rods))
@@ -48,7 +50,6 @@
else
to_chat(user, "The plating is going to need some support! Place metal rods first. ")
-
/turf/open/chasm/proc/drop_stuff(AM)
. = 0
var/thing_to_check = src
@@ -122,6 +123,9 @@
L.notransform = TRUE
L.Stun(10)
L.resting = TRUE
+ var/oldtransform = AM.transform
+ var/oldcolor = AM.color
+ var/oldalpha = AM.alpha
animate(AM, transform = matrix() - matrix(), alpha = 0, color = rgb(0, 0, 0), time = 10)
for(var/i in 1 to 5)
//Make sure the item is still there after our sleep
@@ -139,6 +143,18 @@
qdel(S.mmi)
qdel(AM)
-
+
+ if(AM && !QDELETED(AM)) //It's indestructible
+ visible_message("[src] spits out the [AM]! ")
+ AM.alpha = oldalpha
+ AM.color = oldcolor
+ AM.transform = oldtransform
+ AM.throw_at(get_edge_target_turf(src,pick(GLOB.alldirs)),rand(1, 10),rand(1, 10))
+
/turf/open/chasm/straight_down/lava_land_surface/normal_air
- initial_gas_mix = "o2=22;n2=82;TEMP=293.15"
\ No newline at end of file
+ initial_gas_mix = "o2=22;n2=82;TEMP=293.15"
+
+
+
+/turf/open/chasm/CanPass(atom/movable/mover, turf/target, height=0)
+ return 1
diff --git a/code/game/turfs/simulated/dirtystation.dm b/code/game/turfs/simulated/dirtystation.dm
index 88d0b07181..3eef7272ed 100644
--- a/code/game/turfs/simulated/dirtystation.dm
+++ b/code/game/turfs/simulated/dirtystation.dm
@@ -5,39 +5,6 @@
//This file was made not awful by Xhuis on September 13, 2016
-/obj/effect/decal/cleanable/blood/old
- name = "dried blood"
- desc = "Looks like it's been here a while. Eew."
- bloodiness = 0
-
-/obj/effect/decal/cleanable/blood/old/New()
- ..()
- icon_state += "-old" //This IS necessary because the parent /blood type uses icon randomization.
- blood_DNA["Non-human DNA"] = "A+"
-
-/obj/effect/decal/cleanable/blood/gibs/old
- name = "old rotting gibs"
- desc = "Space Jesus, why didn't anyone clean this up? It smells terrible."
- bloodiness = 0
-
-/obj/effect/decal/cleanable/blood/gibs/old/New()
- ..()
- setDir(pick(1,2,4,8))
- icon_state += "-old"
- blood_DNA["Non-human DNA"] = "A+"
-
-/obj/effect/decal/cleanable/vomit/old
- name = "crusty dried vomit"
- desc = "You try not to look at the chunks, and fail."
-
-/obj/effect/decal/cleanable/vomit/old/New()
- ..()
- icon_state += "-old"
-
-/obj/effect/decal/cleanable/robot_debris/old
- name = "dusty robot debris"
- desc = "Looks like nobody has touched this in a while."
-
//Making the station dirty, one tile at a time. Called by master controller's setup_objects
/turf/open/floor/proc/MakeDirty()
diff --git a/code/game/turfs/simulated/floor.dm b/code/game/turfs/simulated/floor.dm
index 8a81e2b6d0..98c28256e9 100644
--- a/code/game/turfs/simulated/floor.dm
+++ b/code/game/turfs/simulated/floor.dm
@@ -1,20 +1,3 @@
-//This is so damaged or burnt tiles or platings don't get remembered as the default tile
-var/list/icons_to_ignore_at_floor_init = list("damaged1","damaged2","damaged3","damaged4",
- "damaged5","panelscorched","floorscorched1","floorscorched2","platingdmg1","platingdmg2",
- "platingdmg3","plating","light_on","light_on_flicker1","light_on_flicker2",
- "light_on_clicker3","light_on_clicker4","light_on_clicker5","light_broken",
- "light_on_broken","light_off","wall_thermite","grass", "sand",
- "asteroid","asteroid_dug",
- "asteroid0","asteroid1","asteroid2","asteroid3","asteroid4",
- "asteroid5","asteroid6","asteroid7","asteroid8","asteroid9","asteroid10","asteroid11","asteroid12",
- "basalt","basalt_dug",
- "basalt0","basalt1","basalt2","basalt3","basalt4",
- "basalt5","basalt6","basalt7","basalt8","basalt9","basalt10","basalt11","basalt12",
- "oldburning","light-on-r","light-on-y","light-on-g","light-on-b", "wood", "wood-broken",
- "carpetcorner", "carpetside", "carpet", "ironsand1", "ironsand2", "ironsand3", "ironsand4", "ironsand5",
- "ironsand6", "ironsand7", "ironsand8", "ironsand9", "ironsand10", "ironsand11",
- "ironsand12", "ironsand13", "ironsand14", "ironsand15")
-
/turf/open/floor
//NOTE: Floor code has been refactored, many procs were removed and refactored
//- you should use istype() if you want to find out whether a floor has a certain type
@@ -39,6 +22,22 @@ var/list/icons_to_ignore_at_floor_init = list("damaged1","damaged2","damaged3","
if (!burnt_states)
burnt_states = list()
..()
+ //This is so damaged or burnt tiles or platings don't get remembered as the default tile
+ var/static/list/icons_to_ignore_at_floor_init = list("damaged1","damaged2","damaged3","damaged4",
+ "damaged5","panelscorched","floorscorched1","floorscorched2","platingdmg1","platingdmg2",
+ "platingdmg3","plating","light_on","light_on_flicker1","light_on_flicker2",
+ "light_on_clicker3","light_on_clicker4","light_on_clicker5","light_broken",
+ "light_on_broken","light_off","wall_thermite","grass", "sand",
+ "asteroid","asteroid_dug",
+ "asteroid0","asteroid1","asteroid2","asteroid3","asteroid4",
+ "asteroid5","asteroid6","asteroid7","asteroid8","asteroid9","asteroid10","asteroid11","asteroid12",
+ "basalt","basalt_dug",
+ "basalt0","basalt1","basalt2","basalt3","basalt4",
+ "basalt5","basalt6","basalt7","basalt8","basalt9","basalt10","basalt11","basalt12",
+ "oldburning","light-on-r","light-on-y","light-on-g","light-on-b", "wood", "wood-broken",
+ "carpetcorner", "carpetside", "carpet", "ironsand1", "ironsand2", "ironsand3", "ironsand4", "ironsand5",
+ "ironsand6", "ironsand7", "ironsand8", "ironsand9", "ironsand10", "ironsand11",
+ "ironsand12", "ironsand13", "ironsand14", "ironsand15")
if(icon_state in icons_to_ignore_at_floor_init) //so damaged/burned tiles or plating icons aren't saved as the default
icon_regular_floor = "floor"
else
@@ -137,21 +136,22 @@ var/list/icons_to_ignore_at_floor_init = list("damaged1","damaged2","damaged3","
if(..())
return 1
if(intact && istype(C, /obj/item/weapon/crowbar))
- pry_tile(C, user)
- return 1
+ return pry_tile(C, user)
if(intact && istype(C, /obj/item/stack/tile))
- var/obj/item/stack/tile/T = C
- if(T.turf_type == type)
- return
- var/obj/item/weapon/crowbar/CB = user.is_holding_item_of_type(/obj/item/weapon/crowbar)
- if(!CB)
- return
- var/turf/open/floor/plating/P = pry_tile(CB, user, TRUE)
- if(!istype(P))
- return
- P.attackby(T, user, params)
+ try_replace_tile(C, user, params)
return 0
+/turf/open/floor/proc/try_replace_tile(obj/item/stack/tile/T, mob/user, params)
+ if(T.turf_type == type)
+ return
+ var/obj/item/weapon/crowbar/CB = user.is_holding_item_of_type(/obj/item/weapon/crowbar)
+ if(!CB)
+ return
+ var/turf/open/floor/plating/P = pry_tile(CB, user, TRUE)
+ if(!istype(P))
+ return
+ P.attackby(T, user, params)
+
/turf/open/floor/proc/pry_tile(obj/item/C, mob/user, silent = FALSE)
playsound(src, C.usesound, 80, 1)
return remove_tile(user, silent)
@@ -224,7 +224,7 @@ var/list/icons_to_ignore_at_floor_init = list("damaged1","damaged2","damaged3","
to_chat(user, "You build an airlock. ")
var/obj/machinery/door/airlock/A = new the_rcd.airlock_type(src)
- A.electronics = new/obj/item/weapon/electronics/airlock(src)
+ A.electronics = new/obj/item/weapon/electronics/airlock(A)
if(the_rcd.conf_access)
A.electronics.accesses = the_rcd.conf_access.Copy()
diff --git a/code/game/turfs/simulated/floor/fancy_floor.dm b/code/game/turfs/simulated/floor/fancy_floor.dm
index 0e9dda1b8c..eaba3d50eb 100644
--- a/code/game/turfs/simulated/floor/fancy_floor.dm
+++ b/code/game/turfs/simulated/floor/fancy_floor.dm
@@ -18,6 +18,19 @@
pry_tile(C, user)
return
+/turf/open/floor/wood/try_replace_tile(obj/item/stack/tile/T, mob/user, params)
+ if(T.turf_type == type)
+ return
+ var/obj/item/weapon/tool = user.is_holding_item_of_type(/obj/item/weapon/screwdriver)
+ if(!tool)
+ tool = user.is_holding_item_of_type(/obj/item/weapon/crowbar)
+ if(!tool)
+ return
+ var/turf/open/floor/plating/P = pry_tile(tool, user, TRUE)
+ if(!istype(P))
+ return
+ P.attackby(T, user, params)
+
/turf/open/floor/wood/pry_tile(obj/item/C, mob/user, silent = FALSE)
var/is_screwdriver = istype(C, /obj/item/weapon/screwdriver)
playsound(src, C.usesound, 80, 1)
@@ -155,4 +168,4 @@ turf/open/floor/fakepit
/turf/open/floor/fakespace/Initialize()
..()
- icon_state = "[rand(0,25)]"
\ No newline at end of file
+ icon_state = "[rand(0,25)]"
diff --git a/code/game/turfs/simulated/floor/light_floor.dm b/code/game/turfs/simulated/floor/light_floor.dm
index 8690982f26..d3f7ba8c64 100644
--- a/code/game/turfs/simulated/floor/light_floor.dm
+++ b/code/game/turfs/simulated/floor/light_floor.dm
@@ -16,6 +16,11 @@
..()
update_icon()
+/turf/open/floor/light/break_tile()
+ ..()
+ light_range = 0
+ update_light()
+
/turf/open/floor/light/update_icon()
..()
if(on)
diff --git a/code/game/turfs/simulated/floor/plating/asteroid.dm b/code/game/turfs/simulated/floor/plating/asteroid.dm
index 6eec8039a0..a17fcf2ca8 100644
--- a/code/game/turfs/simulated/floor/plating/asteroid.dm
+++ b/code/game/turfs/simulated/floor/plating/asteroid.dm
@@ -202,7 +202,7 @@
length = set_length
// Get our directiosn
- forward_cave_dir = pick(alldirs - exclude_dir)
+ forward_cave_dir = pick(GLOB.alldirs - exclude_dir)
// Get the opposite direction of our facing direction
backward_cave_dir = angle2dir(dir2angle(forward_cave_dir) + 180)
diff --git a/code/game/turfs/simulated/floor/plating/dirt.dm b/code/game/turfs/simulated/floor/plating/dirt.dm
new file mode 100644
index 0000000000..580aadc85f
--- /dev/null
+++ b/code/game/turfs/simulated/floor/plating/dirt.dm
@@ -0,0 +1,21 @@
+/turf/open/floor/plating/dirt
+ name = "dirt"
+ desc = "Upon closer examination, it's still dirt."
+ icon = 'icons/turf/floors.dmi'
+ icon_state = "dirt"
+ var/smooth_icon = 'icons/turf/floors/dirt.dmi'
+ canSmoothWith = list(/turf/closed, /turf/open/floor/plating/dirt)
+ smooth = SMOOTH_MORE|SMOOTH_BORDER
+ baseturf = /turf/open/chasm/straight_down/lava_land_surface
+ initial_gas_mix = "o2=14;n2=23;TEMP=300"
+ planetary_atmos = TRUE
+
+/turf/open/floor/plating/dirt/Initialize()
+ pixel_y = -2
+ pixel_x = -2
+ icon = smooth_icon
+ ..()
+
+/turf/open/floor/plating/dirt/dark
+ icon_state = "darkdirt"
+ smooth_icon = 'icons/turf/floors/darkdirt.dmi'
diff --git a/code/game/turfs/simulated/floor/plating/lava.dm b/code/game/turfs/simulated/floor/plating/lava.dm
index ec6adb09cf..9321b4f082 100644
--- a/code/game/turfs/simulated/floor/plating/lava.dm
+++ b/code/game/turfs/simulated/floor/plating/lava.dm
@@ -108,6 +108,12 @@
/turf/open/floor/plating/lava/break_tile()
return
+/turf/open/floor/plating/lava/pry_tile()
+ return
+
+/turf/open/floor/plating/lava/try_replace_tile()
+ return
+
/turf/open/floor/plating/lava/burn_tile()
return
diff --git a/code/game/turfs/simulated/minerals.dm b/code/game/turfs/simulated/minerals.dm
index 38095ae38d..ba84d0ff11 100644
--- a/code/game/turfs/simulated/minerals.dm
+++ b/code/game/turfs/simulated/minerals.dm
@@ -32,7 +32,7 @@
icon = smooth_icon
..()
if (mineralType && mineralAmt && spread && spreadChance)
- for(var/dir in cardinal)
+ for(var/dir in GLOB.cardinal)
if(prob(spreadChance))
var/turf/T = get_step(src, dir)
if(istype(T, /turf/closed/mineral/random))
diff --git a/code/game/turfs/simulated/river.dm b/code/game/turfs/simulated/river.dm
index 18e521b23f..49ac9a6d32 100644
--- a/code/game/turfs/simulated/river.dm
+++ b/code/game/turfs/simulated/river.dm
@@ -78,7 +78,7 @@
var/turf/closed/mineral/M = T
logged_turf_type = M.turf_type
- if(get_dir(src, F) in cardinal)
+ if(get_dir(src, F) in GLOB.cardinal)
cardinal_turfs += F
else
diagonal_turfs += F
diff --git a/code/game/turfs/simulated/wall/mineral_walls.dm b/code/game/turfs/simulated/wall/mineral_walls.dm
index 20d26dbdab..8b46ef679a 100644
--- a/code/game/turfs/simulated/wall/mineral_walls.dm
+++ b/code/game/turfs/simulated/wall/mineral_walls.dm
@@ -174,7 +174,7 @@
icon_state = "map-shuttle"
sheet_type = /obj/item/stack/sheet/mineral/titanium
smooth = SMOOTH_MORE|SMOOTH_DIAGONAL
- canSmoothWith = list(/turf/closed/wall/mineral/titanium, /obj/machinery/door/airlock/shuttle, /obj/machinery/door/airlock/, /turf/closed/wall/shuttle, /obj/structure/window/shuttle, /obj/structure/shuttle/engine/heater)
+ canSmoothWith = list(/turf/closed/wall/mineral/titanium, /obj/machinery/door/airlock/shuttle, /obj/machinery/door/airlock/, /turf/closed/wall/shuttle, /obj/structure/window/shuttle, /obj/structure/shuttle/engine/heater, /obj/structure/falsewall/titanium)
/turf/closed/wall/mineral/titanium/nodiagonal
smooth = SMOOTH_MORE
@@ -240,4 +240,4 @@
/turf/closed/wall/mineral/plastitanium/copyTurf(turf/T)
. = ..()
- T.transform = transform
\ No newline at end of file
+ T.transform = transform
diff --git a/code/game/turfs/simulated/wall/reinf_walls.dm b/code/game/turfs/simulated/wall/reinf_walls.dm
index c95f6090a3..c1eff8e415 100644
--- a/code/game/turfs/simulated/wall/reinf_walls.dm
+++ b/code/game/turfs/simulated/wall/reinf_walls.dm
@@ -38,6 +38,8 @@
/turf/closed/wall/r_wall/attack_animal(mob/living/simple_animal/M)
M.changeNext_move(CLICK_CD_MELEE)
M.do_attack_animation(src)
+ if(!M.environment_smash)
+ return
if(M.environment_smash == 3)
dismantle_wall(1)
playsound(src, 'sound/effects/meteorimpact.ogg', 100, 1)
@@ -249,8 +251,12 @@
if(prob(30))
dismantle_wall()
-/turf/closed/wall/r_vall/rcd_vals(mob/user, obj/item/weapon/rcd/the_rcd)
- return FALSE
+/turf/closed/wall/r_wall/rcd_vals(mob/user, obj/item/weapon/rcd/the_rcd)
+ if(!the_rcd.canRturf)
+ return FALSE
+ return ..()
-/turf/closed/wall/r_vall/rcd_act(mob/user, obj/item/weapon/rcd/the_rcd, passed_mode)
- return FALSE
\ No newline at end of file
+/turf/closed/wall/r_wall/rcd_act(mob/user, obj/item/weapon/rcd/the_rcd, passed_mode)
+ if(!the_rcd.canRturf)
+ return FALSE
+ return ..()
diff --git a/code/game/turfs/simulated/water.dm b/code/game/turfs/simulated/water.dm
new file mode 100644
index 0000000000..d0208218a5
--- /dev/null
+++ b/code/game/turfs/simulated/water.dm
@@ -0,0 +1,16 @@
+/turf/open/water
+ name = "water"
+ desc = "Shallow water."
+ icon = 'icons/turf/floors.dmi'
+ icon_state = "riverwater"
+ baseturf = /turf/open/chasm/straight_down/lava_land_surface
+ initial_gas_mix = "o2=14;n2=23;TEMP=300"
+ planetary_atmos = TRUE
+ slowdown = 1
+ wet = TURF_WET_WATER
+
+/turf/open/water/HandleWet()
+ if(wet == TURF_WET_WATER)
+ return
+ ..()
+ MakeSlippery(TURF_WET_WATER) //rewet after ..() clears out lube/ice etc.
\ No newline at end of file
diff --git a/code/game/turfs/space/space.dm b/code/game/turfs/space/space.dm
index cdddbeb62b..7262569762 100644
--- a/code/game/turfs/space/space.dm
+++ b/code/game/turfs/space/space.dm
@@ -76,11 +76,14 @@
/turf/open/space/attack_paw(mob/user)
return src.attack_hand(user)
-/turf/open/space/attackby(obj/item/C, mob/user, params, area/area_restriction)
+/turf/open/space/proc/CanBuildHere()
+ return TRUE
+
+/turf/open/space/attackby(obj/item/C, mob/user, params)
..()
+ if(!CanBuildHere())
+ return
if(istype(C, /obj/item/stack/rods))
- if(istype(area_restriction) && !istype(get_area(src), area_restriction))
- return
var/obj/item/stack/rods/R = C
var/obj/structure/lattice/L = locate(/obj/structure/lattice, src)
var/obj/structure/lattice/catwalk/W = locate(/obj/structure/lattice/catwalk, src)
@@ -136,43 +139,6 @@
stoplag()//Let a diagonal move finish, if necessary
A.newtonian_move(A.inertia_dir)
-/turf/open/space/proc/Sandbox_Spacemove(atom/movable/A)
- var/cur_x
- var/cur_y
- var/next_x = src.x
- var/next_y = src.y
- var/target_z
- var/list/y_arr
- var/list/cur_pos = src.get_global_map_pos()
- if(!cur_pos)
- return
- cur_x = cur_pos["x"]
- cur_y = cur_pos["y"]
-
- if(src.x <= 1)
- next_x = (--cur_x||global_map.len)
- y_arr = global_map[next_x]
- target_z = y_arr[cur_y]
- next_x = world.maxx - 2
- else if (src.x >= world.maxx)
- next_x = (++cur_x > global_map.len ? 1 : cur_x)
- y_arr = global_map[next_x]
- target_z = y_arr[cur_y]
- next_x = 3
- else if (src.y <= 1)
- y_arr = global_map[cur_x]
- next_y = (--cur_y||y_arr.len)
- target_z = y_arr[next_y]
- next_y = world.maxy - 2
- else if (src.y >= world.maxy)
- y_arr = global_map[cur_x]
- next_y = (++cur_y > y_arr.len ? 1 : cur_y)
- target_z = y_arr[next_y]
- next_y = 3
-
- var/turf/T = locate(next_x, next_y, target_z)
- A.Move(T)
-
/turf/open/space/handle_slip()
return
@@ -194,6 +160,8 @@
/turf/open/space/rcd_vals(mob/user, obj/item/weapon/rcd/the_rcd)
+ if(!CanBuildHere())
+ return FALSE
switch(the_rcd.mode)
if(RCD_FLOORWALL)
return list("mode" = RCD_FLOORWALL, "delay" = 0, "cost" = 2)
diff --git a/code/game/turfs/space/transit.dm b/code/game/turfs/space/transit.dm
index 5cea451da2..b3a322d407 100644
--- a/code/game/turfs/space/transit.dm
+++ b/code/game/turfs/space/transit.dm
@@ -58,9 +58,8 @@
AM.loc = T
AM.newtonian_move(dir)
-//Overwrite because we dont want people building rods
-/turf/open/space/transit/attackby(obj/item/C, mob/user, params)
- ..(C, user, params, /area/shuttle)
+/turf/open/space/transit/CanBuildHere()
+ return istype(get_area(src), /area/shuttle)
/turf/open/space/transit/Initialize()
..()
@@ -90,4 +89,4 @@
state = ((p*x+y) % 15) + 1
icon_state = "speedspace_ns_[state]"
- transform = turn(matrix(), angle)
+ transform = turn(matrix(), angle)
\ No newline at end of file
diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm
index afa1012152..b6ed50c576 100644
--- a/code/game/turfs/turf.dm
+++ b/code/game/turfs/turf.dm
@@ -217,13 +217,16 @@
/turf/proc/ChangeTurf(path, defer_change = FALSE, ignore_air = FALSE)
if(!path)
return
- if(!use_preloader && path == type) // Don't no-op if the map loader requires it to be reconstructed
+ if(!GLOB.use_preloader && path == type) // Don't no-op if the map loader requires it to be reconstructed
return src
+
var/old_baseturf = baseturf
changing_turf = TRUE
qdel(src) //Just get the side effects and call Destroy
var/turf/W = new path(src)
+
W.baseturf = old_baseturf
+
if(!defer_change)
W.AfterChange(ignore_air)
@@ -246,6 +249,8 @@
queue_smooth_neighbors(src)
+ HandleTurfChange(src)
+
/turf/open/AfterChange(ignore_air)
..()
RemoveLattice()
@@ -281,7 +286,6 @@
air_gases[id][MOLES] /= turf_count //Averages contents of the turfs, ignoring walls and the like
air.temperature /= turf_count
- air.holder = src
SSair.add_to_active(src)
/turf/proc/ReplaceWithLattice()
@@ -348,8 +352,8 @@
return can_have_cabling() & !intact
/turf/proc/visibilityChanged()
- if(ticker)
- cameranet.updateVisibility(src)
+ if(SSticker)
+ GLOB.cameranet.updateVisibility(src)
/turf/proc/burn_tile()
@@ -399,7 +403,7 @@
/turf/proc/add_blueprints_preround(atom/movable/AM)
- if(!ticker || ticker.current_state != GAME_STATE_PLAYING)
+ if(!SSticker || SSticker.current_state != GAME_STATE_PLAYING)
add_blueprints(AM)
/turf/proc/empty(turf_type=/turf/open/space)
diff --git a/code/modules/VR/vr_sleeper.dm b/code/modules/VR/vr_sleeper.dm
index 9eda00a8ea..41f3bbc001 100644
--- a/code/modules/VR/vr_sleeper.dm
+++ b/code/modules/VR/vr_sleeper.dm
@@ -27,7 +27,7 @@
if(!available_vr_spawnpoints || !available_vr_spawnpoints.len) //(re)build spawnpoint lists
available_vr_spawnpoints = list()
- for(var/obj/effect/landmark/vr_spawn/V in landmarks_list)
+ for(var/obj/effect/landmark/vr_spawn/V in GLOB.landmarks_list)
available_vr_spawnpoints[V.vr_category] = list()
var/turf/T = get_turf(V)
if(T)
@@ -80,7 +80,7 @@
ui_interact(occupant)
-/obj/machinery/vr_sleeper/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)
+/obj/machinery/vr_sleeper/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = 0, datum/tgui/master_ui = null, datum/ui_state/state = GLOB.default_state)
ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open)
if(!ui)
ui = new(user, src, ui_key, "vr_sleeper", "VR Sleeper", 475, 340, master_ui, state)
diff --git a/code/modules/admin/DB_ban/functions.dm b/code/modules/admin/DB_ban/functions.dm
index 236df58699..d6d88b6e8f 100644
--- a/code/modules/admin/DB_ban/functions.dm
+++ b/code/modules/admin/DB_ban/functions.dm
@@ -6,7 +6,7 @@
if(!check_rights(R_BAN))
return
- if(!dbcon.Connect())
+ if(!GLOB.dbcon.Connect())
to_chat(src, "Failed to establish database connection. ")
return
@@ -71,7 +71,7 @@
computerid = bancid
ip = banip
- var/DBQuery/query_add_ban_get_id = dbcon.NewQuery("SELECT id FROM [format_table_name("player")] WHERE ckey = '[ckey]'")
+ var/DBQuery/query_add_ban_get_id = GLOB.dbcon.NewQuery("SELECT id FROM [format_table_name("player")] WHERE ckey = '[ckey]'")
if(!query_add_ban_get_id.warn_execute())
return
var/validckey = 0
@@ -97,14 +97,14 @@
return
var/who
- for(var/client/C in clients)
+ for(var/client/C in GLOB.clients)
if(!who)
who = "[C]"
else
who += ", [C]"
var/adminwho
- for(var/client/C in admins)
+ for(var/client/C in GLOB.admins)
if(!adminwho)
adminwho = "[C]"
else
@@ -113,7 +113,7 @@
reason = sanitizeSQL(reason)
if(maxadminbancheck)
- var/DBQuery/query_check_adminban_amt = dbcon.NewQuery("SELECT count(id) AS num FROM [format_table_name("ban")] WHERE (a_ckey = '[a_ckey]') AND (bantype = 'ADMIN_PERMABAN' OR (bantype = 'ADMIN_TEMPBAN' AND expiration_time > Now())) AND isnull(unbanned)")
+ var/DBQuery/query_check_adminban_amt = GLOB.dbcon.NewQuery("SELECT count(id) AS num FROM [format_table_name("ban")] WHERE (a_ckey = '[a_ckey]') AND (bantype = 'ADMIN_PERMABAN' OR (bantype = 'ADMIN_TEMPBAN' AND expiration_time > Now())) AND isnull(unbanned)")
if(!query_check_adminban_amt.warn_execute())
return
if(query_check_adminban_amt.NextRow())
@@ -126,7 +126,7 @@
if(!ip)
ip = "0.0.0.0"
var/sql = "INSERT INTO [format_table_name("ban")] (`bantime`,`server_ip`,`server_port`,`bantype`,`reason`,`job`,`duration`,`expiration_time`,`ckey`,`computerid`,`ip`,`a_ckey`,`a_computerid`,`a_ip`,`who`,`adminwho`) VALUES (Now(), INET_ATON('[world.internet_address]'), '[world.port]', '[bantype_str]', '[reason]', '[job]', [(duration)?"[duration]":"0"], Now() + INTERVAL [(duration>0) ? duration : 0] MINUTE, '[ckey]', '[computerid]', INET_ATON('[ip]'), '[a_ckey]', '[a_computerid]', INET_ATON('[a_ip]'), '[who]', '[adminwho]')"
- var/DBQuery/query_add_ban = dbcon.NewQuery(sql)
+ var/DBQuery/query_add_ban = GLOB.dbcon.NewQuery(sql)
if(!query_add_ban.warn_execute())
return
to_chat(usr, "Ban saved to database. ")
@@ -187,13 +187,13 @@
if(job)
sql += " AND job = '[job]'"
- if(!dbcon.Connect())
+ if(!GLOB.dbcon.Connect())
return
var/ban_id
var/ban_number = 0 //failsafe
- var/DBQuery/query_unban_get_id = dbcon.NewQuery(sql)
+ var/DBQuery/query_unban_get_id = GLOB.dbcon.NewQuery(sql)
if(!query_unban_get_id.warn_execute())
return
while(query_unban_get_id.NextRow())
@@ -225,7 +225,7 @@
to_chat(usr, "Cancelled")
return
- var/DBQuery/query_edit_ban_get_details = dbcon.NewQuery("SELECT ckey, duration, reason FROM [format_table_name("ban")] WHERE id = [banid]")
+ var/DBQuery/query_edit_ban_get_details = GLOB.dbcon.NewQuery("SELECT ckey, duration, reason FROM [format_table_name("ban")] WHERE id = [banid]")
if(!query_edit_ban_get_details.warn_execute())
return
@@ -254,7 +254,7 @@
to_chat(usr, "Cancelled")
return
- var/DBQuery/query_edit_ban_reason = dbcon.NewQuery("UPDATE [format_table_name("ban")] SET reason = '[value]', edits = CONCAT(edits,'- [eckey] changed ban reason from \\\"[reason]\\\" to \\\"[value]\\\" ') WHERE id = [banid]")
+ var/DBQuery/query_edit_ban_reason = GLOB.dbcon.NewQuery("UPDATE [format_table_name("ban")] SET reason = '[value]', edits = CONCAT(edits,'- [eckey] changed ban reason from \\\"[reason]\\\" to \\\"[value]\\\" ') WHERE id = [banid]")
if(!query_edit_ban_reason.warn_execute())
return
message_admins("[key_name_admin(usr)] has edited a ban for [pckey]'s reason from [reason] to [value]",1)
@@ -265,7 +265,7 @@
to_chat(usr, "Cancelled")
return
- var/DBQuery/query_edit_ban_duration = dbcon.NewQuery("UPDATE [format_table_name("ban")] SET duration = [value], edits = CONCAT(edits,'- [eckey] changed ban duration from [duration] to [value] '), expiration_time = DATE_ADD(bantime, INTERVAL [value] MINUTE) WHERE id = [banid]")
+ var/DBQuery/query_edit_ban_duration = GLOB.dbcon.NewQuery("UPDATE [format_table_name("ban")] SET duration = [value], edits = CONCAT(edits,'- [eckey] changed ban duration from [duration] to [value] '), expiration_time = DATE_ADD(bantime, INTERVAL [value] MINUTE) WHERE id = [banid]")
if(!query_edit_ban_duration.warn_execute())
return
message_admins("[key_name_admin(usr)] has edited a ban for [pckey]'s duration from [duration] to [value]",1)
@@ -287,13 +287,13 @@
var/sql = "SELECT ckey FROM [format_table_name("ban")] WHERE id = [id]"
- if(!dbcon.Connect())
+ if(!GLOB.dbcon.Connect())
return
var/ban_number = 0 //failsafe
var/pckey
- var/DBQuery/query_unban_get_ckey = dbcon.NewQuery(sql)
+ var/DBQuery/query_unban_get_ckey = GLOB.dbcon.NewQuery(sql)
if(!query_unban_get_ckey.warn_execute())
return
while(query_unban_get_ckey.NextRow())
@@ -316,7 +316,7 @@
var/unban_ip = src.owner:address
var/sql_update = "UPDATE [format_table_name("ban")] SET unbanned = 1, unbanned_datetime = Now(), unbanned_ckey = '[unban_ckey]', unbanned_computerid = '[unban_computerid]', unbanned_ip = INET_ATON('[unban_ip]') WHERE id = [id]"
- var/DBQuery/query_unban = dbcon.NewQuery(sql_update)
+ var/DBQuery/query_unban = GLOB.dbcon.NewQuery(sql_update)
if(!query_unban.warn_execute())
return
message_admins("[key_name_admin(usr)] has lifted [pckey]'s ban.",1)
@@ -339,7 +339,7 @@
if(!check_rights(R_BAN))
return
- if(!dbcon.Connect())
+ if(!GLOB.dbcon.Connect())
to_chat(usr, "Failed to establish database connection. ")
return
@@ -371,7 +371,7 @@
output += "-- "
for(var/j in get_all_jobs())
output += "[j] "
- for(var/j in nonhuman_positions)
+ for(var/j in GLOB.nonhuman_positions)
output += "[j] "
for(var/j in list("traitor","changeling","operative","revolutionary", "gangster","cultist","wizard"))
output += "[j] "
@@ -405,7 +405,7 @@
var/bansperpage = 15
var/pagecount = 0
page = text2num(page)
- var/DBQuery/query_count_bans = dbcon.NewQuery("SELECT COUNT(id) FROM [format_table_name("ban")] WHERE 1 [playersearch] [adminsearch]")
+ var/DBQuery/query_count_bans = GLOB.dbcon.NewQuery("SELECT COUNT(id) FROM [format_table_name("ban")] WHERE 1 [playersearch] [adminsearch]")
if(!query_count_bans.warn_execute())
return
if(query_count_bans.NextRow())
@@ -431,7 +431,7 @@
output += " OPTIONS "
output += " "
var/limit = " LIMIT [bansperpage * page], [bansperpage]"
- var/DBQuery/query_search_bans = dbcon.NewQuery("SELECT id, bantime, bantype, reason, job, duration, expiration_time, ckey, a_ckey, unbanned, unbanned_ckey, unbanned_datetime, edits FROM [format_table_name("ban")] WHERE 1 [playersearch] [adminsearch] ORDER BY bantime DESC[limit]")
+ var/DBQuery/query_search_bans = GLOB.dbcon.NewQuery("SELECT id, bantime, bantype, reason, job, duration, expiration_time, ckey, a_ckey, unbanned, unbanned_ckey, unbanned_datetime, edits FROM [format_table_name("ban")] WHERE 1 [playersearch] [adminsearch] ORDER BY bantime DESC[limit]")
if(!query_search_bans.warn_execute())
return
diff --git a/code/modules/admin/IsBanned.dm b/code/modules/admin/IsBanned.dm
index e69897e183..afa1675bd2 100644
--- a/code/modules/admin/IsBanned.dm
+++ b/code/modules/admin/IsBanned.dm
@@ -16,7 +16,7 @@
return list("reason"="invalid login data", "desc"="Error: Could not check ban status, Please try again. Error message: Your computer provided an invalid Computer ID.)")
var/admin = 0
var/ckey = ckey(key)
- if((ckey in admin_datums) || (ckey in deadmins))
+ if((ckey in GLOB.admin_datums) || (ckey in GLOB.deadmins))
admin = 1
//Whitelist
@@ -32,10 +32,10 @@
//Guest Checking
if(IsGuestKey(key))
- if (!guests_allowed)
+ if (!GLOB.guests_allowed)
log_access("Failed Login: [key] - Guests not allowed")
return list("reason"="guest", "desc"="\nReason: Guests not allowed. Please sign in with a byond account.")
- if (config.panic_bunker && dbcon && dbcon.IsConnected())
+ if (config.panic_bunker && GLOB.dbcon && GLOB.dbcon.IsConnected())
log_access("Failed Login: [key] - Guests not allowed during panic bunker")
return list("reason"="guest", "desc"="\nReason: Sorry but the server is currently not accepting connections from never before seen players or guests. If you have played on this server with a byond account before, please log in to the byond account you have played from.")
@@ -61,9 +61,9 @@
var/ckeytext = ckey(key)
- if(!dbcon.Connect())
+ if(!GLOB.dbcon.Connect())
log_world("Ban database connection failure. Key [ckeytext] not checked")
- diary << "Ban database connection failure. Key [ckeytext] not checked"
+ GLOB.diary << "Ban database connection failure. Key [ckeytext] not checked"
return
var/ipquery = ""
@@ -74,7 +74,7 @@
if(computer_id)
cidquery = " OR computerid = '[computer_id]' "
- var/DBQuery/query_ban_check = dbcon.NewQuery("SELECT ckey, a_ckey, reason, expiration_time, duration, bantime, bantype FROM [format_table_name("ban")] WHERE (ckey = '[ckeytext]' [ipquery] [cidquery]) AND (bantype = 'PERMABAN' OR bantype = 'ADMIN_PERMABAN' OR ((bantype = 'TEMPBAN' OR bantype = 'ADMIN_TEMPBAN') AND expiration_time > Now())) AND isnull(unbanned)")
+ var/DBQuery/query_ban_check = GLOB.dbcon.NewQuery("SELECT ckey, a_ckey, reason, expiration_time, duration, bantime, bantype FROM [format_table_name("ban")] WHERE (ckey = '[ckeytext]' [ipquery] [cidquery]) AND (bantype = 'PERMABAN' OR bantype = 'ADMIN_PERMABAN' OR ((bantype = 'TEMPBAN' OR bantype = 'ADMIN_TEMPBAN') AND expiration_time > Now())) AND isnull(unbanned)")
if(!query_ban_check.Execute())
return
while(query_ban_check.NextRow())
@@ -120,7 +120,7 @@
bannedckey = ban["ckey"]
var/newmatch = FALSE
- var/client/C = directory[ckey]
+ var/client/C = GLOB.directory[ckey]
var/cachedban = SSstickyban.cache[bannedckey]
//rogue ban in the process of being reverted.
diff --git a/code/modules/admin/NewBan.dm b/code/modules/admin/NewBan.dm
index 0855ac13b9..aa8c8db2db 100644
--- a/code/modules/admin/NewBan.dm
+++ b/code/modules/admin/NewBan.dm
@@ -1,76 +1,77 @@
-var/CMinutes = null
-var/savefile/Banlist
+GLOBAL_VAR(CMinutes)
+GLOBAL_DATUM(Banlist, /savefile)
+GLOBAL_PROTECT(Banlist)
/proc/CheckBan(ckey, id, address)
- if(!Banlist) // if Banlist cannot be located for some reason
+ if(!GLOB.Banlist) // if Banlist cannot be located for some reason
LoadBans() // try to load the bans
- if(!Banlist) // uh oh, can't find bans!
+ if(!GLOB.Banlist) // uh oh, can't find bans!
return 0 // ABORT ABORT ABORT
. = list()
var/appeal
if(config && config.banappeals)
appeal = "\nFor more information on your ban, or to appeal, head to [config.banappeals] "
- Banlist.cd = "/base"
- if( "[ckey][id]" in Banlist.dir )
- Banlist.cd = "[ckey][id]"
- if (Banlist["temp"])
- if (!GetExp(Banlist["minutes"]))
+ GLOB.Banlist.cd = "/base"
+ if( "[ckey][id]" in GLOB.Banlist.dir )
+ GLOB.Banlist.cd = "[ckey][id]"
+ if (GLOB.Banlist["temp"])
+ if (!GetExp(GLOB.Banlist["minutes"]))
ClearTempbans()
return 0
else
- .["desc"] = "\nReason: [Banlist["reason"]]\nExpires: [GetExp(Banlist["minutes"])]\nBy: [Banlist["bannedby"]][appeal]"
+ .["desc"] = "\nReason: [GLOB.Banlist["reason"]]\nExpires: [GetExp(GLOB.Banlist["minutes"])]\nBy: [GLOB.Banlist["bannedby"]][appeal]"
else
- Banlist.cd = "/base/[ckey][id]"
- .["desc"] = "\nReason: [Banlist["reason"]]\nExpires: PERMENANT \nBy: [Banlist["bannedby"]][appeal]"
+ GLOB.Banlist.cd = "/base/[ckey][id]"
+ .["desc"] = "\nReason: [GLOB.Banlist["reason"]]\nExpires: PERMENANT \nBy: [GLOB.Banlist["bannedby"]][appeal]"
.["reason"] = "ckey/id"
return .
else
- for (var/A in Banlist.dir)
- Banlist.cd = "/base/[A]"
+ for (var/A in GLOB.Banlist.dir)
+ GLOB.Banlist.cd = "/base/[A]"
var/matches
- if( ckey == Banlist["key"] )
+ if( ckey == GLOB.Banlist["key"] )
matches += "ckey"
- if( id == Banlist["id"] )
+ if( id == GLOB.Banlist["id"] )
if(matches)
matches += "/"
matches += "id"
- if( address == Banlist["ip"] )
+ if( address == GLOB.Banlist["ip"] )
if(matches)
matches += "/"
matches += "ip"
if(matches)
- if(Banlist["temp"])
- if (!GetExp(Banlist["minutes"]))
+ if(GLOB.Banlist["temp"])
+ if (!GetExp(GLOB.Banlist["minutes"]))
ClearTempbans()
return 0
else
- .["desc"] = "\nReason: [Banlist["reason"]]\nExpires: [GetExp(Banlist["minutes"])]\nBy: [Banlist["bannedby"]][appeal]"
+ .["desc"] = "\nReason: [GLOB.Banlist["reason"]]\nExpires: [GetExp(GLOB.Banlist["minutes"])]\nBy: [GLOB.Banlist["bannedby"]][appeal]"
else
- .["desc"] = "\nReason: [Banlist["reason"]]\nExpires: PERMENANT \nBy: [Banlist["bannedby"]][appeal]"
+ .["desc"] = "\nReason: [GLOB.Banlist["reason"]]\nExpires: PERMENANT \nBy: [GLOB.Banlist["bannedby"]][appeal]"
.["reason"] = matches
return .
return 0
/proc/UpdateTime() //No idea why i made this a proc.
- CMinutes = (world.realtime / 10) / 60
+ GLOB.CMinutes = (world.realtime / 10) / 60
return 1
/proc/LoadBans()
- Banlist = new("data/banlist.bdb")
+ GLOB.Banlist = new("data/banlist.bdb")
log_admin("Loading Banlist")
- if (!length(Banlist.dir)) log_admin("Banlist is empty.")
+ if (!length(GLOB.Banlist.dir)) log_admin("Banlist is empty.")
- if (!Banlist.dir.Find("base"))
+ if (!GLOB.Banlist.dir.Find("base"))
log_admin("Banlist missing base dir.")
- Banlist.dir.Add("base")
- Banlist.cd = "/base"
- else if (Banlist.dir.Find("base"))
- Banlist.cd = "/base"
+ GLOB.Banlist.dir.Add("base")
+ GLOB.Banlist.cd = "/base"
+ else if (GLOB.Banlist.dir.Find("base"))
+ GLOB.Banlist.cd = "/base"
ClearTempbans()
return 1
@@ -78,17 +79,17 @@ var/savefile/Banlist
/proc/ClearTempbans()
UpdateTime()
- Banlist.cd = "/base"
- for (var/A in Banlist.dir)
- Banlist.cd = "/base/[A]"
- if (!Banlist["key"] || !Banlist["id"])
+ GLOB.Banlist.cd = "/base"
+ for (var/A in GLOB.Banlist.dir)
+ GLOB.Banlist.cd = "/base/[A]"
+ if (!GLOB.Banlist["key"] || !GLOB.Banlist["id"])
RemoveBan(A)
log_admin("Invalid Ban.")
message_admins("Invalid Ban.")
continue
- if (!Banlist["temp"]) continue
- if (CMinutes >= Banlist["minutes"]) RemoveBan(A)
+ if (!GLOB.Banlist["temp"]) continue
+ if (GLOB.CMinutes >= GLOB.Banlist["minutes"]) RemoveBan(A)
return 1
@@ -99,23 +100,23 @@ var/savefile/Banlist
if (temp)
UpdateTime()
- bantimestamp = CMinutes + minutes
+ bantimestamp = GLOB.CMinutes + minutes
- Banlist.cd = "/base"
- if ( Banlist.dir.Find("[ckey][computerid]") )
+ GLOB.Banlist.cd = "/base"
+ if ( GLOB.Banlist.dir.Find("[ckey][computerid]") )
to_chat(usr, text("Ban already exists. "))
return 0
else
- Banlist.dir.Add("[ckey][computerid]")
- Banlist.cd = "/base/[ckey][computerid]"
- Banlist["key"] << ckey
- Banlist["id"] << computerid
- Banlist["ip"] << address
- Banlist["reason"] << reason
- Banlist["bannedby"] << bannedby
- Banlist["temp"] << temp
+ GLOB.Banlist.dir.Add("[ckey][computerid]")
+ GLOB.Banlist.cd = "/base/[ckey][computerid]"
+ GLOB.Banlist["key"] << ckey
+ GLOB.Banlist["id"] << computerid
+ GLOB.Banlist["ip"] << address
+ GLOB.Banlist["reason"] << reason
+ GLOB.Banlist["bannedby"] << bannedby
+ GLOB.Banlist["temp"] << temp
if (temp)
- Banlist["minutes"] << bantimestamp
+ GLOB.Banlist["minutes"] << bantimestamp
if(!temp)
create_message("note", ckey, bannedby, "Permanently banned - [reason]", null, null, 0, 0)
else
@@ -126,12 +127,12 @@ var/savefile/Banlist
var/key
var/id
- Banlist.cd = "/base/[foldername]"
- Banlist["key"] >> key
- Banlist["id"] >> id
- Banlist.cd = "/base"
+ GLOB.Banlist.cd = "/base/[foldername]"
+ GLOB.Banlist["key"] >> key
+ GLOB.Banlist["id"] >> id
+ GLOB.Banlist.cd = "/base"
- if (!Banlist.dir.Remove(foldername)) return 0
+ if (!GLOB.Banlist.dir.Remove(foldername)) return 0
if(!usr)
log_admin_private("Ban Expired: [key]")
@@ -142,18 +143,18 @@ var/savefile/Banlist
message_admins("[key_name_admin(usr)] unbanned: [key]")
feedback_inc("ban_unban",1)
usr.client.holder.DB_ban_unban( ckey(key), BANTYPE_ANY_FULLBAN)
- for (var/A in Banlist.dir)
- Banlist.cd = "/base/[A]"
- if (key == Banlist["key"] /*|| id == Banlist["id"]*/)
- Banlist.cd = "/base"
- Banlist.dir.Remove(A)
+ for (var/A in GLOB.Banlist.dir)
+ GLOB.Banlist.cd = "/base/[A]"
+ if (key == GLOB.Banlist["key"] /*|| id == Banlist["id"]*/)
+ GLOB.Banlist.cd = "/base"
+ GLOB.Banlist.dir.Remove(A)
continue
return 1
/proc/GetExp(minutes as num)
UpdateTime()
- var/exp = minutes - CMinutes
+ var/exp = minutes - GLOB.CMinutes
if (exp <= 0)
return 0
else
@@ -170,19 +171,19 @@ var/savefile/Banlist
var/count = 0
var/dat
//var/dat = "Unban Player: \blue(U) = Unban , (E) = Edit Ban\green (Total"
- Banlist.cd = "/base"
- for (var/A in Banlist.dir)
+ GLOB.Banlist.cd = "/base"
+ for (var/A in GLOB.Banlist.dir)
count++
- Banlist.cd = "/base/[A]"
+ GLOB.Banlist.cd = "/base/[A]"
var/ref = "\ref[src]"
- var/key = Banlist["key"]
- var/id = Banlist["id"]
- var/ip = Banlist["ip"]
- var/reason = Banlist["reason"]
- var/by = Banlist["bannedby"]
+ var/key = GLOB.Banlist["key"]
+ var/id = GLOB.Banlist["id"]
+ var/ip = GLOB.Banlist["ip"]
+ var/reason = GLOB.Banlist["reason"]
+ var/by = GLOB.Banlist["bannedby"]
var/expiry
- if(Banlist["temp"])
- expiry = GetExp(Banlist["minutes"])
+ if(GLOB.Banlist["temp"])
+ expiry = GetExp(GLOB.Banlist["minutes"])
if(!expiry)
expiry = "Removal Pending"
else
@@ -207,26 +208,26 @@ var/savefile/Banlist
var/a = pick(1,0)
var/b = pick(1,0)
if(b)
- Banlist.cd = "/base"
- Banlist.dir.Add("trash[i]trashid[i]")
- Banlist.cd = "/base/trash[i]trashid[i]"
- Banlist["key"] << "trash[i]"
+ GLOB.Banlist.cd = "/base"
+ GLOB.Banlist.dir.Add("trash[i]trashid[i]")
+ GLOB.Banlist.cd = "/base/trash[i]trashid[i]"
+ GLOB.Banlist["key"] << "trash[i]"
else
- Banlist.cd = "/base"
- Banlist.dir.Add("[last]trashid[i]")
- Banlist.cd = "/base/[last]trashid[i]"
- Banlist["key"] << last
- Banlist["id"] << "trashid[i]"
- Banlist["reason"] << "Trashban[i]."
- Banlist["temp"] << a
- Banlist["minutes"] << CMinutes + rand(1,2000)
- Banlist["bannedby"] << "trashmin"
+ GLOB.Banlist.cd = "/base"
+ GLOB.Banlist.dir.Add("[last]trashid[i]")
+ GLOB.Banlist.cd = "/base/[last]trashid[i]"
+ GLOB.Banlist["key"] << last
+ GLOB.Banlist["id"] << "trashid[i]"
+ GLOB.Banlist["reason"] << "Trashban[i]."
+ GLOB.Banlist["temp"] << a
+ GLOB.Banlist["minutes"] << GLOB.CMinutes + rand(1,2000)
+ GLOB.Banlist["bannedby"] << "trashmin"
last = "trash[i]"
- Banlist.cd = "/base"
+ GLOB.Banlist.cd = "/base"
/proc/ClearAllBans()
- Banlist.cd = "/base"
- for (var/A in Banlist.dir)
+ GLOB.Banlist.cd = "/base"
+ for (var/A in GLOB.Banlist.dir)
RemoveBan(A)
diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm
index 4a536666ca..94cb8a4e95 100644
--- a/code/modules/admin/admin.dm
+++ b/code/modules/admin/admin.dm
@@ -1,19 +1,17 @@
-var/global/BSACooldown = 0
-
////////////////////////////////
/proc/message_admins(msg)
msg = "ADMIN LOG: [msg] "
- to_chat(admins, msg)
+ to_chat(GLOB.admins, msg)
/proc/relay_msg_admins(msg)
msg = "RELAY: [msg] "
- to_chat(admins, msg)
+ to_chat(GLOB.admins, msg)
///////////////////////////////////////////////////////////////////////////////////////////////Panels
-/datum/admins/proc/show_player_panel(mob/M in mob_list)
+/datum/admins/proc/show_player_panel(mob/M in GLOB.mob_list)
set category = "Admin"
set name = "Show Player Panel"
set desc="Edit player (respawn, ban, heal, etc)"
@@ -83,7 +81,8 @@ var/global/BSACooldown = 0
body += "Traitor panel | "
body += "Narrate to | "
body += "Subtle message | "
- body += "Individual Round Logs "
+ body += "Individual Round Logs | "
+ body += "Language Menu "
if (M.client)
if(!isnewplayer(M))
@@ -162,15 +161,12 @@ var/global/BSACooldown = 0
body += "Thunderdome 2 | "
body += "Thunderdome Admin | "
body += "Thunderdome Observer | "
- body += "Make Mentor | "
- body += "Remove Mentor | "
-
body += " "
body += "