diff --git a/.vscode/extensions.json b/.vscode/extensions.json index ca0e6ad997..f79100f563 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -2,6 +2,8 @@ "recommendations": [ "gbasood.byond-dm-language-support", "platymuus.dm-langclient", - "EditorConfig.EditorConfig" + "EditorConfig.EditorConfig", + "arcanis.vscode-zipfs", + "dbaeumer.vscode-eslint" ] } diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000000..f95b8f7cc6 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,18 @@ +{ + "eslint.nodePath": "tgui/.yarn/sdks", + "eslint.workingDirectories": [ + "./tgui" + ], + "search.exclude": { + "tgui/.yarn": true, + "tgui/.pnp.*": true + }, + "workbench.editorAssociations": [ + { + "filenamePattern": "*.dmi", + "viewType": "imagePreview.previewEditor" + } + ], + "files.eol": "\n", + "gitlens.advanced.blame.customArguments": ["-w"] +} diff --git a/README.md b/README.md index 0ecf4c5b01..bbceb0f05b 100644 --- a/README.md +++ b/README.md @@ -1,175 +1,175 @@ -## Citadel Station 13 -Based and maintained from /tg/station. - -[![Build Status](https://api.travis-ci.org/Citadel-Station-13/Citadel-Station-13.png)](https://travis-ci.org/Citadel-Station-13/Citadel-Station-13) -[![Percentage of issues still open](http://isitmaintained.com/badge/open/Citadel-Station-13/Citadel-Station-13.svg)](http://isitmaintained.com/project/Citadel-Station-13/Citadel-Station-13 "Percentage of issues still open") -[![Average time to resolve an issue](http://isitmaintained.com/badge/resolution/Citadel-Station-13/Citadel-Station-13.svg)](http://isitmaintained.com/project/Citadel-Station-13/Citadel-Station-13 "Average time to resolve an issue") - -[![forthebadge](http://forthebadge.com/images/badges/60-percent-of-the-time-works-every-time.svg)](https://forthebadge.com) [![forthebadge](http://forthebadge.com/images/badges/pretty-risque.svg)](https://forthebadge.com) [![forthebadge](http://forthebadge.com/images/badges/you-didnt-ask-for-this.svg)](http://forthebadge.com) [![forinfinityandbyond](https://user-images.githubusercontent.com/5211576/29499758-4efff304-85e6-11e7-8267-62919c3688a9.gif)](https://www.reddit.com/r/SS13/comments/5oplxp/what_is_the_main_problem_with_byond_as_an_engine/dclbu1a) - -**Upstream Information** -* **Website:** -* **Code:** -* **Wiki:** -* **Codedocs:** -* **/tg/station Discord:** -* **Coderbus Discord:** -* ~~**IRC:** ~~ (dead) - -**Citadel Station Information** -* **Website:** -* **Code:** -* **Wiki:** -* **Forums:** -* **Ban Appeals:** -* **Discord:** - -## 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 - -Option 1: -Follow this: http://www.tgstation13.org/wiki/Setting_up_git - -Option 2: Download the source code as a zip by clicking the ZIP button in the -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.) - -Option 3: Download a pre-compiled nightly at https://tgstation13.download/nightlies/ (same caveats as option 2) - -## INSTALLATION - -First-time installation should be fairly straightforward. First, you'll need -BYOND installed. You can get it from https://www.byond.com/download. Once you've done -that, extract the game files to wherever you want to keep them. This is a -sourcecode-only release, so the next step is to compile the server files. -Open tgstation.dme by double-clicking it, open the Build menu, and click -compile. This'll take a little while, and if everything's done right you'll get -a message like this: - -``` -saving tgstation.dmb (DEBUG mode) -tgstation.dmb - 0 errors, 0 warnings -``` - -If you see any errors or warnings, something has gone wrong - possibly a corrupt -download or the files extracted wrong. If problems persist, ask for assistance -in irc://irc.rizon.net/coderbus - -Once that's done, open up the config folder. You'll want to edit config.txt to -set the probabilities for different gamemodes in Secret and to set your server -location so that all your players don't get disconnected at the end of each -round. It's recommended you don't turn on the gamemodes with probability 0, -except Extended, as they have various issues and aren't currently being tested, -so they may have unknown and bizarre bugs. Extended is essentially no mode, and -isn't in the Secret rotation by default as it's just not very fun. - -You'll also want to edit config/admins.txt to remove the default admins and add -your own. "Game Master" is the highest level of access, and probably the one -you'll want to use for now. You can set up your own ranks and find out more in -config/admin_ranks.txt - -The format is - -``` -byondkey = Rank -``` - -where the admin rank must be properly capitalised. - -This codebase also depends on a native library called rust-g. A precompiled -Windows DLL is included in this repository, but Linux users will need to build -and install it themselves. Directions can be found at the [rust-g -repo](https://github.com/tgstation13/rust-g). - -Finally, to start the server, run Dream Daemon and enter the path to your -compiled tgstation.dmb file. Make sure to set the port to the one you -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 - -To update an existing installation, first back up your /config and /data folders -as these store your server configuration, player preferences and banlist. - -Then, extract the new files (preferably into a clean directory, but updating in -place should work fine), copy your /config and /data folders back into the new -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. - -## HOSTING - -If you'd like a more robust server hosting option for tgstation and its -derivatives. Check out our server tools suite at -https://github.com/tgstation/tgstation-server - -## MAPS - -/tg/station currently comes equipped with five maps. - -* [BoxStation (default)](http://tgstation13.org/wiki/Boxstation) -* [MetaStation](https://tgstation13.org/wiki/MetaStation) -* [DeltaStation](https://tgstation13.org/wiki/DeltaStation) -* [OmegaStation](https://tgstation13.org/wiki/OmegaStation) -* [PubbyStation](https://tgstation13.org/wiki/PubbyStation) - - -All maps have their own code file that is in the base of the _maps directory. Maps are loaded dynamically when the game starts. Follow this guideline when adding your own map, to your fork, for easy compatibility. - -The map that will be loaded for the upcoming round is determined by reading data/next_map.json, which is a copy of the json files found in the _maps tree. If this file does not exist, the default map from config/maps.txt will be loaded. Failing that, BoxStation will be loaded. If you want to set a specific map to load next round you can use the Change Map verb in game before restarting the server or copy a json from _maps to data/next_map.json before starting the server. Also, for debugging purposes, ticking a corresponding map's code file in Dream Maker will force that map to load every round. - -If you are hosting a server, and want randomly picked maps to be played each round, you can enable map rotation in [config.txt](config/config.txt) and then set the maps to be picked in the [maps.txt](config/maps.txt) file. - -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 - -/tg/station supports loading away missions however they are disabled by default. - -Map files for away missions are located in the _maps/RandomZLevels directory. Each away mission includes it's own code definitions located in /code/modules/awaymissions/mission_code. These files must be included and compiled with the server beforehand otherwise the server will crash upon trying to load away missions that lack their code. - -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 - -The SQL backend requires a Mariadb server running 10.2 or later. Mysql is not supported but Mariadb is a drop in replacement for mysql. 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: https://www.tgstation13.org/wiki/Downloading_the_source_code#Setting_up_the_database - -## WEB/CDN RESOURCE DELIVERY - -Web delivery of game resources makes it quicker for players to join and reduces some of the stress on the game server. - -1. Edit compile_options.dm to set the `PRELOAD_RSC` define to `0` -1. Add a url to config/external_rsc_urls pointing to a .zip file containing the .rsc. - * If you keep up to date with /tg/ you could reuse /tg/'s rsc cdn at http://tgstation13.download/byond/tgstation.zip. Otherwise you can use cdn services like CDN77 or cloudflare (requires adding a page rule to enable caching of the zip), or roll your own cdn using route 53 and vps providers. - * Regardless even offloading the rsc to a website without a CDN will be a massive improvement over the in game system for transferring files. - -## 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 /tools/minibot folder for more - -## CONTRIBUTING - -Please see [CONTRIBUTING.md](.github/CONTRIBUTING.md) - -## 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 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 and GPLv3.txt for more details. - -The TGS3 API is licensed as a subproject under the MIT license. - -See the footers of code/\_\_DEFINES/server\_tools.dm, code/modules/server\_tools/st\_commands.dm, and code/modules/server\_tools/st\_inteface.dm for the MIT license. - -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/). - -All assets including icons and sound are under a [Creative Commons 3.0 BY-SA license](https://creativecommons.org/licenses/by-sa/3.0/) unless otherwise indicated. +## Citadel Station 13 +Based and maintained from /tg/station. + +[![Build Status](https://api.travis-ci.org/Citadel-Station-13/Citadel-Station-13.png)](https://travis-ci.org/Citadel-Station-13/Citadel-Station-13) +[![Percentage of issues still open](http://isitmaintained.com/badge/open/Citadel-Station-13/Citadel-Station-13.svg)](http://isitmaintained.com/project/Citadel-Station-13/Citadel-Station-13 "Percentage of issues still open") +[![Average time to resolve an issue](http://isitmaintained.com/badge/resolution/Citadel-Station-13/Citadel-Station-13.svg)](http://isitmaintained.com/project/Citadel-Station-13/Citadel-Station-13 "Average time to resolve an issue") + +[![forthebadge](http://forthebadge.com/images/badges/60-percent-of-the-time-works-every-time.svg)](https://forthebadge.com) [![forthebadge](http://forthebadge.com/images/badges/pretty-risque.svg)](https://forthebadge.com) [![forthebadge](http://forthebadge.com/images/badges/you-didnt-ask-for-this.svg)](http://forthebadge.com) [![forinfinityandbyond](https://user-images.githubusercontent.com/5211576/29499758-4efff304-85e6-11e7-8267-62919c3688a9.gif)](https://www.reddit.com/r/SS13/comments/5oplxp/what_is_the_main_problem_with_byond_as_an_engine/dclbu1a) + +**Upstream Information** +* **Website:** +* **Code:** +* **Wiki:** +* **Codedocs:** +* **/tg/station Discord:** +* **Coderbus Discord:** +* ~~**IRC:** ~~ (dead) + +**Citadel Station Information** +* **Website:** +* **Code:** +* **Wiki:** +* **Forums:** +* **Ban Appeals:** +* **Discord:** + +## 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 + +Option 1: +Follow this: http://www.tgstation13.org/wiki/Setting_up_git + +Option 2: Download the source code as a zip by clicking the ZIP button in the +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.) + +Option 3: Download a pre-compiled nightly at https://tgstation13.download/nightlies/ (same caveats as option 2) + +## INSTALLATION + +First-time installation should be fairly straightforward. First, you'll need +BYOND installed. You can get it from https://www.byond.com/download. Once you've done +that, extract the game files to wherever you want to keep them. This is a +sourcecode-only release, so the next step is to compile the server files. +Open tgstation.dme by double-clicking it, open the Build menu, and click +compile. This'll take a little while, and if everything's done right you'll get +a message like this: + +``` +saving tgstation.dmb (DEBUG mode) +tgstation.dmb - 0 errors, 0 warnings +``` + +If you see any errors or warnings, something has gone wrong - possibly a corrupt +download or the files extracted wrong. If problems persist, ask for assistance +in irc://irc.rizon.net/coderbus + +Once that's done, open up the config folder. You'll want to edit config.txt to +set the probabilities for different gamemodes in Secret and to set your server +location so that all your players don't get disconnected at the end of each +round. It's recommended you don't turn on the gamemodes with probability 0, +except Extended, as they have various issues and aren't currently being tested, +so they may have unknown and bizarre bugs. Extended is essentially no mode, and +isn't in the Secret rotation by default as it's just not very fun. + +You'll also want to edit config/admins.txt to remove the default admins and add +your own. "Game Master" is the highest level of access, and probably the one +you'll want to use for now. You can set up your own ranks and find out more in +config/admin_ranks.txt + +The format is + +``` +byondkey = Rank +``` + +where the admin rank must be properly capitalised. + +This codebase also depends on a native library called rust-g. A precompiled +Windows DLL is included in this repository, but Linux users will need to build +and install it themselves. Directions can be found at the [rust-g +repo](https://github.com/tgstation13/rust-g). + +Finally, to start the server, run Dream Daemon and enter the path to your +compiled tgstation.dmb file. Make sure to set the port to the one you +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 + +To update an existing installation, first back up your /config and /data folders +as these store your server configuration, player preferences and banlist. + +Then, extract the new files (preferably into a clean directory, but updating in +place should work fine), copy your /config and /data folders back into the new +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. + +## HOSTING + +If you'd like a more robust server hosting option for tgstation and its +derivatives. Check out our server tools suite at +https://github.com/tgstation/tgstation-server + +## MAPS + +/tg/station currently comes equipped with five maps. + +* [BoxStation (default)](http://tgstation13.org/wiki/Boxstation) +* [MetaStation](https://tgstation13.org/wiki/MetaStation) +* [DeltaStation](https://tgstation13.org/wiki/DeltaStation) +* [OmegaStation](https://tgstation13.org/wiki/OmegaStation) +* [PubbyStation](https://tgstation13.org/wiki/PubbyStation) + + +All maps have their own code file that is in the base of the _maps directory. Maps are loaded dynamically when the game starts. Follow this guideline when adding your own map, to your fork, for easy compatibility. + +The map that will be loaded for the upcoming round is determined by reading data/next_map.json, which is a copy of the json files found in the _maps tree. If this file does not exist, the default map from config/maps.txt will be loaded. Failing that, BoxStation will be loaded. If you want to set a specific map to load next round you can use the Change Map verb in game before restarting the server or copy a json from _maps to data/next_map.json before starting the server. Also, for debugging purposes, ticking a corresponding map's code file in Dream Maker will force that map to load every round. + +If you are hosting a server, and want randomly picked maps to be played each round, you can enable map rotation in [config.txt](config/config.txt) and then set the maps to be picked in the [maps.txt](config/maps.txt) file. + +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 + +/tg/station supports loading away missions however they are disabled by default. + +Map files for away missions are located in the _maps/RandomZLevels directory. Each away mission includes it's own code definitions located in /code/modules/awaymissions/mission_code. These files must be included and compiled with the server beforehand otherwise the server will crash upon trying to load away missions that lack their code. + +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 + +The SQL backend requires a Mariadb server running 10.2 or later. Mysql is not supported but Mariadb is a drop in replacement for mysql. 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: https://www.tgstation13.org/wiki/Downloading_the_source_code#Setting_up_the_database + +## WEB/CDN RESOURCE DELIVERY + +Web delivery of game resources makes it quicker for players to join and reduces some of the stress on the game server. + +1. Edit compile_options.dm to set the `PRELOAD_RSC` define to `0` +1. Add a url to config/external_rsc_urls pointing to a .zip file containing the .rsc. + * If you keep up to date with /tg/ you could reuse /tg/'s rsc cdn at http://tgstation13.download/byond/tgstation.zip. Otherwise you can use cdn services like CDN77 or cloudflare (requires adding a page rule to enable caching of the zip), or roll your own cdn using route 53 and vps providers. + * Regardless even offloading the rsc to a website without a CDN will be a massive improvement over the in game system for transferring files. + +## 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 /tools/minibot folder for more + +## CONTRIBUTING + +Please see [CONTRIBUTING.md](.github/CONTRIBUTING.md) + +## 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 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 and GPLv3.txt for more details. + +The TGS3 API is licensed as a subproject under the MIT license. + +See the footers of code/\_\_DEFINES/server\_tools.dm, code/modules/server\_tools/st\_commands.dm, and code/modules/server\_tools/st\_inteface.dm for the MIT license. + +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/). + +All assets including icons and sound are under a [Creative Commons 3.0 BY-SA license](https://creativecommons.org/licenses/by-sa/3.0/) unless otherwise indicated. diff --git a/SQL/tgstation_schema.sql b/SQL/tgstation_schema.sql index dc0861220a..34baaaa4c6 100644 --- a/SQL/tgstation_schema.sql +++ b/SQL/tgstation_schema.sql @@ -1,473 +1,473 @@ -/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; -/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; -/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; -/*!40101 SET NAMES utf8 */; -/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; -/*!40103 SET TIME_ZONE='+00:00' */; -/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; -/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; -/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; -/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; - --- --- Table structure for table `admin` --- - -DROP TABLE IF EXISTS `admin`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `admin` ( - `ckey` varchar(32) NOT NULL, - `rank` varchar(32) NOT NULL, - PRIMARY KEY (`ckey`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `admin_log` --- - -DROP TABLE IF EXISTS `admin_log`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `admin_log` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `datetime` datetime NOT NULL, - `round_id` int(11) unsigned NOT NULL, - `adminckey` varchar(32) NOT NULL, - `adminip` int(10) unsigned NOT NULL, - `operation` enum('add admin','remove admin','change admin rank','add rank','remove rank','change rank flags') NOT NULL, - `target` varchar(32) NOT NULL, - `log` varchar(1000) NOT NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `admin_ranks` --- - -DROP TABLE IF EXISTS `admin_ranks`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `admin_ranks` ( - `rank` varchar(32) NOT NULL, - `flags` smallint(5) unsigned NOT NULL, - `exclude_flags` smallint(5) unsigned NOT NULL, - `can_edit_flags` smallint(5) unsigned NOT NULL, - PRIMARY KEY (`rank`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `ban` --- - -DROP TABLE IF EXISTS `ban`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `ban` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `bantime` datetime NOT NULL, - `server_ip` int(10) unsigned NOT NULL, - `server_port` smallint(5) unsigned NOT NULL, - `round_id` int(11) NOT NULL, - `bantype` enum('PERMABAN','TEMPBAN','JOB_PERMABAN','JOB_TEMPBAN','ADMIN_PERMABAN','ADMIN_TEMPBAN') NOT NULL, - `reason` varchar(2048) NOT NULL, - `job` varchar(32) DEFAULT NULL, - `duration` int(11) NOT NULL, - `expiration_time` datetime NOT NULL, - `ckey` varchar(32) NOT NULL, - `computerid` varchar(32) NOT NULL, - `ip` int(10) unsigned NOT NULL, - `a_ckey` varchar(32) NOT NULL, - `a_computerid` varchar(32) NOT NULL, - `a_ip` int(10) unsigned NOT NULL, - `who` varchar(2048) NOT NULL, - `adminwho` varchar(2048) NOT NULL, - `edits` text, - `unbanned` tinyint(3) unsigned DEFAULT NULL, - `unbanned_datetime` datetime DEFAULT NULL, - `unbanned_ckey` varchar(32) DEFAULT NULL, - `unbanned_computerid` varchar(32) DEFAULT NULL, - `unbanned_ip` int(10) unsigned DEFAULT NULL, - PRIMARY KEY (`id`), - KEY `idx_ban_checkban` (`ckey`,`bantype`,`expiration_time`,`unbanned`,`job`), - KEY `idx_ban_isbanned` (`ckey`,`ip`,`computerid`,`bantype`,`expiration_time`,`unbanned`), - KEY `idx_ban_count` (`id`,`a_ckey`,`bantype`,`expiration_time`,`unbanned`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `connection_log` --- - -DROP TABLE IF EXISTS `connection_log`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `connection_log` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `datetime` datetime DEFAULT NULL, - `server_ip` int(10) unsigned NOT NULL, - `server_port` smallint(5) unsigned NOT NULL, - `round_id` int(11) unsigned NOT NULL, - `ckey` varchar(45) DEFAULT NULL, - `ip` int(10) unsigned NOT NULL, - `computerid` varchar(45) DEFAULT NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `death` --- - -DROP TABLE IF EXISTS `death`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `death` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `pod` varchar(50) NOT NULL, - `x_coord` smallint(5) unsigned NOT NULL, - `y_coord` smallint(5) unsigned NOT NULL, - `z_coord` smallint(5) unsigned NOT NULL, - `mapname` varchar(32) NOT NULL, - `server_ip` int(10) unsigned NOT NULL, - `server_port` smallint(5) unsigned NOT NULL, - `round_id` int(11) NOT NULL, - `tod` datetime NOT NULL COMMENT 'Time of death', - `job` varchar(32) NOT NULL, - `special` varchar(32) DEFAULT NULL, - `name` varchar(96) NOT NULL, - `byondkey` varchar(32) NOT NULL, - `laname` varchar(96) DEFAULT NULL, - `lakey` varchar(32) DEFAULT NULL, - `bruteloss` smallint(5) unsigned NOT NULL, - `brainloss` smallint(5) unsigned NOT NULL, - `fireloss` smallint(5) unsigned NOT NULL, - `oxyloss` smallint(5) unsigned NOT NULL, - `toxloss` smallint(5) unsigned NOT NULL, - `cloneloss` smallint(5) unsigned NOT NULL, - `staminaloss` smallint(5) unsigned NOT NULL, - `last_words` varchar(255) DEFAULT NULL, - `suicide` tinyint(1) NOT NULL DEFAULT '0', - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `feedback` --- - -DROP TABLE IF EXISTS `feedback`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `feedback` ( - `id` int(11) unsigned NOT NULL AUTO_INCREMENT, - `datetime` datetime NOT NULL, - `round_id` int(11) unsigned NOT NULL, - `key_name` varchar(32) NOT NULL, - `key_type` enum('text', 'amount', 'tally', 'nested tally', 'associative') NOT NULL, - `version` tinyint(3) unsigned NOT NULL, - `json` json NOT NULL, - PRIMARY KEY (`id`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `ipintel` --- - -DROP TABLE IF EXISTS `ipintel`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `ipintel` ( - `ip` int(10) unsigned NOT NULL, - `date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - `intel` double NOT NULL DEFAULT '0', - PRIMARY KEY (`ip`), - KEY `idx_ipintel` (`ip`,`intel`,`date`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `legacy_population` --- - -DROP TABLE IF EXISTS `legacy_population`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `legacy_population` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `playercount` int(11) DEFAULT NULL, - `admincount` int(11) DEFAULT NULL, - `time` datetime NOT NULL, - `server_ip` int(10) unsigned NOT NULL, - `server_port` smallint(5) unsigned NOT NULL, - `round_id` int(11) unsigned NOT NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `library` --- - -DROP TABLE IF EXISTS `library`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `library` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `author` varchar(45) NOT NULL, - `title` varchar(45) NOT NULL, - `content` text NOT NULL, - `category` enum('Any','Fiction','Non-Fiction','Adult','Reference','Religion') NOT NULL, - `ckey` varchar(32) NOT NULL DEFAULT 'LEGACY', - `datetime` datetime NOT NULL, - `deleted` tinyint(1) unsigned DEFAULT NULL, - `round_id_created` int(11) unsigned NOT NULL, - PRIMARY KEY (`id`), - KEY `deleted_idx` (`deleted`), - KEY `idx_lib_id_del` (`id`,`deleted`), - KEY `idx_lib_del_title` (`deleted`,`title`), - KEY `idx_lib_search` (`deleted`,`author`,`title`,`category`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `messages` --- - -DROP TABLE IF EXISTS `messages`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `messages` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `type` enum('memo','message','message sent','note','watchlist entry') NOT NULL, - `targetckey` varchar(32) NOT NULL, - `adminckey` varchar(32) NOT NULL, - `text` varchar(2048) NOT NULL, - `timestamp` datetime NOT NULL, - `server` varchar(32) DEFAULT NULL, - `server_ip` int(10) unsigned NOT NULL, - `server_port` smallint(5) unsigned NOT NULL, - `round_id` int(11) unsigned NOT NULL, - `secret` tinyint(1) unsigned NOT NULL, - `expire_timestamp` datetime DEFAULT NULL, - `severity` enum('high','medium','minor','none') DEFAULT NULL, - `lasteditor` varchar(32) DEFAULT NULL, - `edits` text, - `deleted` tinyint(1) unsigned NOT NULL DEFAULT '0', - PRIMARY KEY (`id`), - KEY `idx_msg_ckey_time` (`targetckey`,`timestamp`, `deleted`), - KEY `idx_msg_type_ckeys_time` (`type`,`targetckey`,`adminckey`,`timestamp`, `deleted`), - KEY `idx_msg_type_ckey_time_odr` (`type`,`targetckey`,`timestamp`, `deleted`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `role_time` --- - -DROP TABLE IF EXISTS `role_time`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; - -CREATE TABLE `role_time` -( `ckey` VARCHAR(32) NOT NULL , - `job` VARCHAR(32) NOT NULL , - `minutes` INT UNSIGNED NOT NULL, - PRIMARY KEY (`ckey`, `job`) - ) ENGINE = InnoDB; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `role_time` --- - -DROP TABLE IF EXISTS `role_time_log`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; - -CREATE TABLE IF NOT EXISTS `role_time_log` ( - `id` bigint(20) NOT NULL AUTO_INCREMENT, - `ckey` varchar(32) NOT NULL, - `job` varchar(128) NOT NULL, - `delta` int(11) NOT NULL, - `datetime` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(), - PRIMARY KEY (`id`), - KEY `ckey` (`ckey`), - KEY `job` (`job`), - KEY `datetime` (`datetime`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `player` --- - -DROP TABLE IF EXISTS `player`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `player` ( - `ckey` varchar(32) NOT NULL, - `byond_key` varchar(32) DEFAULT NULL, - `firstseen` datetime NOT NULL, - `firstseen_round_id` int(11) unsigned NOT NULL, - `lastseen` datetime NOT NULL, - `lastseen_round_id` int(11) unsigned NOT NULL, - `ip` int(10) unsigned NOT NULL, - `computerid` varchar(32) NOT NULL, - `lastadminrank` varchar(32) NOT NULL DEFAULT 'Player', - `accountjoindate` DATE DEFAULT NULL, - `flags` smallint(5) unsigned DEFAULT '0' NOT NULL, - PRIMARY KEY (`ckey`), - KEY `idx_player_cid_ckey` (`computerid`,`ckey`), - KEY `idx_player_ip_ckey` (`ip`,`ckey`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `poll_option` --- - -DROP TABLE IF EXISTS `poll_option`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `poll_option` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `pollid` int(11) NOT NULL, - `text` varchar(255) NOT NULL, - `minval` int(3) DEFAULT NULL, - `maxval` int(3) DEFAULT NULL, - `descmin` varchar(32) DEFAULT NULL, - `descmid` varchar(32) DEFAULT NULL, - `descmax` varchar(32) DEFAULT NULL, - `default_percentage_calc` tinyint(1) unsigned NOT NULL DEFAULT '1', - PRIMARY KEY (`id`), - KEY `idx_pop_pollid` (`pollid`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `poll_question` --- - -DROP TABLE IF EXISTS `poll_question`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `poll_question` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `polltype` enum('OPTION','TEXT','NUMVAL','MULTICHOICE','IRV') NOT NULL, - `starttime` datetime NOT NULL, - `endtime` datetime NOT NULL, - `question` varchar(255) NOT NULL, - `adminonly` tinyint(1) unsigned NOT NULL, - `multiplechoiceoptions` int(2) DEFAULT NULL, - `createdby_ckey` varchar(32) DEFAULT NULL, - `createdby_ip` int(10) unsigned NOT NULL, - `dontshow` tinyint(1) unsigned NOT NULL, - PRIMARY KEY (`id`), - KEY `idx_pquest_question_time_ckey` (`question`,`starttime`,`endtime`,`createdby_ckey`,`createdby_ip`), - KEY `idx_pquest_time_admin` (`starttime`,`endtime`,`adminonly`), - KEY `idx_pquest_id_time_type_admin` (`id`,`starttime`,`endtime`,`polltype`,`adminonly`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `poll_textreply` --- - -DROP TABLE IF EXISTS `poll_textreply`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `poll_textreply` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `datetime` datetime NOT NULL, - `pollid` int(11) NOT NULL, - `ckey` varchar(32) NOT NULL, - `ip` int(10) unsigned NOT NULL, - `replytext` varchar(2048) NOT NULL, - `adminrank` varchar(32) NOT NULL DEFAULT 'Player', - PRIMARY KEY (`id`), - KEY `idx_ptext_pollid_ckey` (`pollid`,`ckey`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `poll_vote` --- - -DROP TABLE IF EXISTS `poll_vote`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `poll_vote` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `datetime` datetime NOT NULL, - `pollid` int(11) NOT NULL, - `optionid` int(11) NOT NULL, - `ckey` varchar(32) NOT NULL, - `ip` int(10) unsigned NOT NULL, - `adminrank` varchar(32) NOT NULL, - `rating` int(2) DEFAULT NULL, - PRIMARY KEY (`id`), - KEY `idx_pvote_pollid_ckey` (`pollid`,`ckey`), - KEY `idx_pvote_optionid_ckey` (`optionid`,`ckey`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `round` --- -DROP TABLE IF EXISTS `round`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `round` ( - `id` INT(11) NOT NULL AUTO_INCREMENT, - `initialize_datetime` DATETIME NOT NULL, - `start_datetime` DATETIME NULL, - `shutdown_datetime` DATETIME NULL, - `end_datetime` DATETIME NULL, - `server_ip` INT(10) UNSIGNED NOT NULL, - `server_port` SMALLINT(5) UNSIGNED NOT NULL, - `commit_hash` CHAR(40) NULL, - `game_mode` VARCHAR(32) NULL, - `game_mode_result` VARCHAR(64) NULL, - `end_state` VARCHAR(64) NULL, - `shuttle_name` VARCHAR(64) NULL, - `map_name` VARCHAR(32) NULL, - `station_name` VARCHAR(80) NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; -/*!40101 SET character_set_client = @saved_cs_client */; -/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; - --- --- Table structure for table `schema_revision` --- -DROP TABLE IF EXISTS `schema_revision`; -CREATE TABLE `schema_revision` ( - `major` TINYINT(3) unsigned NOT NULL, - `minor` TINYINT(3) unsigned NOT NULL, - `date` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - PRIMARY KEY (`major`, `minor`) -) ENGINE=InnoDB DEFAULT CHARSET=latin1; - -DELIMITER $$ -CREATE TRIGGER `role_timeTlogupdate` AFTER UPDATE ON `role_time` FOR EACH ROW BEGIN INSERT into role_time_log (ckey, job, delta) VALUES (NEW.CKEY, NEW.job, NEW.minutes-OLD.minutes); -END -$$ -CREATE TRIGGER `role_timeTloginsert` AFTER INSERT ON `role_time` FOR EACH ROW BEGIN INSERT into role_time_log (ckey, job, delta) VALUES (NEW.ckey, NEW.job, NEW.minutes); -END -$$ -CREATE TRIGGER `role_timeTlogdelete` AFTER DELETE ON `role_time` FOR EACH ROW BEGIN INSERT into role_time_log (ckey, job, delta) VALUES (OLD.ckey, OLD.job, 0-OLD.minutes); -END -$$ - -/*!40101 SET SQL_MODE=@OLD_SQL_MODE */; -/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; -/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; -/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; -/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; -/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; -/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; +/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; +/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; +/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; +/*!40101 SET NAMES utf8 */; +/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; +/*!40103 SET TIME_ZONE='+00:00' */; +/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; +/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; +/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; +/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; + +-- +-- Table structure for table `admin` +-- + +DROP TABLE IF EXISTS `admin`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `admin` ( + `ckey` varchar(32) NOT NULL, + `rank` varchar(32) NOT NULL, + PRIMARY KEY (`ckey`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `admin_log` +-- + +DROP TABLE IF EXISTS `admin_log`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `admin_log` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `datetime` datetime NOT NULL, + `round_id` int(11) unsigned NOT NULL, + `adminckey` varchar(32) NOT NULL, + `adminip` int(10) unsigned NOT NULL, + `operation` enum('add admin','remove admin','change admin rank','add rank','remove rank','change rank flags') NOT NULL, + `target` varchar(32) NOT NULL, + `log` varchar(1000) NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `admin_ranks` +-- + +DROP TABLE IF EXISTS `admin_ranks`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `admin_ranks` ( + `rank` varchar(32) NOT NULL, + `flags` smallint(5) unsigned NOT NULL, + `exclude_flags` smallint(5) unsigned NOT NULL, + `can_edit_flags` smallint(5) unsigned NOT NULL, + PRIMARY KEY (`rank`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `ban` +-- + +DROP TABLE IF EXISTS `ban`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `ban` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `bantime` datetime NOT NULL, + `server_ip` int(10) unsigned NOT NULL, + `server_port` smallint(5) unsigned NOT NULL, + `round_id` int(11) NOT NULL, + `bantype` enum('PERMABAN','TEMPBAN','JOB_PERMABAN','JOB_TEMPBAN','ADMIN_PERMABAN','ADMIN_TEMPBAN') NOT NULL, + `reason` varchar(2048) NOT NULL, + `job` varchar(32) DEFAULT NULL, + `duration` int(11) NOT NULL, + `expiration_time` datetime NOT NULL, + `ckey` varchar(32) NOT NULL, + `computerid` varchar(32) NOT NULL, + `ip` int(10) unsigned NOT NULL, + `a_ckey` varchar(32) NOT NULL, + `a_computerid` varchar(32) NOT NULL, + `a_ip` int(10) unsigned NOT NULL, + `who` varchar(2048) NOT NULL, + `adminwho` varchar(2048) NOT NULL, + `edits` text, + `unbanned` tinyint(3) unsigned DEFAULT NULL, + `unbanned_datetime` datetime DEFAULT NULL, + `unbanned_ckey` varchar(32) DEFAULT NULL, + `unbanned_computerid` varchar(32) DEFAULT NULL, + `unbanned_ip` int(10) unsigned DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `idx_ban_checkban` (`ckey`,`bantype`,`expiration_time`,`unbanned`,`job`), + KEY `idx_ban_isbanned` (`ckey`,`ip`,`computerid`,`bantype`,`expiration_time`,`unbanned`), + KEY `idx_ban_count` (`id`,`a_ckey`,`bantype`,`expiration_time`,`unbanned`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `connection_log` +-- + +DROP TABLE IF EXISTS `connection_log`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `connection_log` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `datetime` datetime DEFAULT NULL, + `server_ip` int(10) unsigned NOT NULL, + `server_port` smallint(5) unsigned NOT NULL, + `round_id` int(11) unsigned NOT NULL, + `ckey` varchar(45) DEFAULT NULL, + `ip` int(10) unsigned NOT NULL, + `computerid` varchar(45) DEFAULT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `death` +-- + +DROP TABLE IF EXISTS `death`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `death` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `pod` varchar(50) NOT NULL, + `x_coord` smallint(5) unsigned NOT NULL, + `y_coord` smallint(5) unsigned NOT NULL, + `z_coord` smallint(5) unsigned NOT NULL, + `mapname` varchar(32) NOT NULL, + `server_ip` int(10) unsigned NOT NULL, + `server_port` smallint(5) unsigned NOT NULL, + `round_id` int(11) NOT NULL, + `tod` datetime NOT NULL COMMENT 'Time of death', + `job` varchar(32) NOT NULL, + `special` varchar(32) DEFAULT NULL, + `name` varchar(96) NOT NULL, + `byondkey` varchar(32) NOT NULL, + `laname` varchar(96) DEFAULT NULL, + `lakey` varchar(32) DEFAULT NULL, + `bruteloss` smallint(5) unsigned NOT NULL, + `brainloss` smallint(5) unsigned NOT NULL, + `fireloss` smallint(5) unsigned NOT NULL, + `oxyloss` smallint(5) unsigned NOT NULL, + `toxloss` smallint(5) unsigned NOT NULL, + `cloneloss` smallint(5) unsigned NOT NULL, + `staminaloss` smallint(5) unsigned NOT NULL, + `last_words` varchar(255) DEFAULT NULL, + `suicide` tinyint(1) NOT NULL DEFAULT '0', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `feedback` +-- + +DROP TABLE IF EXISTS `feedback`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `feedback` ( + `id` int(11) unsigned NOT NULL AUTO_INCREMENT, + `datetime` datetime NOT NULL, + `round_id` int(11) unsigned NOT NULL, + `key_name` varchar(32) NOT NULL, + `key_type` enum('text', 'amount', 'tally', 'nested tally', 'associative') NOT NULL, + `version` tinyint(3) unsigned NOT NULL, + `json` json NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `ipintel` +-- + +DROP TABLE IF EXISTS `ipintel`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `ipintel` ( + `ip` int(10) unsigned NOT NULL, + `date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `intel` double NOT NULL DEFAULT '0', + PRIMARY KEY (`ip`), + KEY `idx_ipintel` (`ip`,`intel`,`date`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `legacy_population` +-- + +DROP TABLE IF EXISTS `legacy_population`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `legacy_population` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `playercount` int(11) DEFAULT NULL, + `admincount` int(11) DEFAULT NULL, + `time` datetime NOT NULL, + `server_ip` int(10) unsigned NOT NULL, + `server_port` smallint(5) unsigned NOT NULL, + `round_id` int(11) unsigned NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `library` +-- + +DROP TABLE IF EXISTS `library`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `library` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `author` varchar(45) NOT NULL, + `title` varchar(45) NOT NULL, + `content` text NOT NULL, + `category` enum('Any','Fiction','Non-Fiction','Adult','Reference','Religion') NOT NULL, + `ckey` varchar(32) NOT NULL DEFAULT 'LEGACY', + `datetime` datetime NOT NULL, + `deleted` tinyint(1) unsigned DEFAULT NULL, + `round_id_created` int(11) unsigned NOT NULL, + PRIMARY KEY (`id`), + KEY `deleted_idx` (`deleted`), + KEY `idx_lib_id_del` (`id`,`deleted`), + KEY `idx_lib_del_title` (`deleted`,`title`), + KEY `idx_lib_search` (`deleted`,`author`,`title`,`category`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `messages` +-- + +DROP TABLE IF EXISTS `messages`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `messages` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `type` enum('memo','message','message sent','note','watchlist entry') NOT NULL, + `targetckey` varchar(32) NOT NULL, + `adminckey` varchar(32) NOT NULL, + `text` varchar(2048) NOT NULL, + `timestamp` datetime NOT NULL, + `server` varchar(32) DEFAULT NULL, + `server_ip` int(10) unsigned NOT NULL, + `server_port` smallint(5) unsigned NOT NULL, + `round_id` int(11) unsigned NOT NULL, + `secret` tinyint(1) unsigned NOT NULL, + `expire_timestamp` datetime DEFAULT NULL, + `severity` enum('high','medium','minor','none') DEFAULT NULL, + `lasteditor` varchar(32) DEFAULT NULL, + `edits` text, + `deleted` tinyint(1) unsigned NOT NULL DEFAULT '0', + PRIMARY KEY (`id`), + KEY `idx_msg_ckey_time` (`targetckey`,`timestamp`, `deleted`), + KEY `idx_msg_type_ckeys_time` (`type`,`targetckey`,`adminckey`,`timestamp`, `deleted`), + KEY `idx_msg_type_ckey_time_odr` (`type`,`targetckey`,`timestamp`, `deleted`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `role_time` +-- + +DROP TABLE IF EXISTS `role_time`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; + +CREATE TABLE `role_time` +( `ckey` VARCHAR(32) NOT NULL , + `job` VARCHAR(32) NOT NULL , + `minutes` INT UNSIGNED NOT NULL, + PRIMARY KEY (`ckey`, `job`) + ) ENGINE = InnoDB; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `role_time` +-- + +DROP TABLE IF EXISTS `role_time_log`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; + +CREATE TABLE IF NOT EXISTS `role_time_log` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `ckey` varchar(32) NOT NULL, + `job` varchar(128) NOT NULL, + `delta` int(11) NOT NULL, + `datetime` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(), + PRIMARY KEY (`id`), + KEY `ckey` (`ckey`), + KEY `job` (`job`), + KEY `datetime` (`datetime`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `player` +-- + +DROP TABLE IF EXISTS `player`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `player` ( + `ckey` varchar(32) NOT NULL, + `byond_key` varchar(32) DEFAULT NULL, + `firstseen` datetime NOT NULL, + `firstseen_round_id` int(11) unsigned NOT NULL, + `lastseen` datetime NOT NULL, + `lastseen_round_id` int(11) unsigned NOT NULL, + `ip` int(10) unsigned NOT NULL, + `computerid` varchar(32) NOT NULL, + `lastadminrank` varchar(32) NOT NULL DEFAULT 'Player', + `accountjoindate` DATE DEFAULT NULL, + `flags` smallint(5) unsigned DEFAULT '0' NOT NULL, + PRIMARY KEY (`ckey`), + KEY `idx_player_cid_ckey` (`computerid`,`ckey`), + KEY `idx_player_ip_ckey` (`ip`,`ckey`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `poll_option` +-- + +DROP TABLE IF EXISTS `poll_option`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `poll_option` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `pollid` int(11) NOT NULL, + `text` varchar(255) NOT NULL, + `minval` int(3) DEFAULT NULL, + `maxval` int(3) DEFAULT NULL, + `descmin` varchar(32) DEFAULT NULL, + `descmid` varchar(32) DEFAULT NULL, + `descmax` varchar(32) DEFAULT NULL, + `default_percentage_calc` tinyint(1) unsigned NOT NULL DEFAULT '1', + PRIMARY KEY (`id`), + KEY `idx_pop_pollid` (`pollid`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `poll_question` +-- + +DROP TABLE IF EXISTS `poll_question`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `poll_question` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `polltype` enum('OPTION','TEXT','NUMVAL','MULTICHOICE','IRV') NOT NULL, + `starttime` datetime NOT NULL, + `endtime` datetime NOT NULL, + `question` varchar(255) NOT NULL, + `adminonly` tinyint(1) unsigned NOT NULL, + `multiplechoiceoptions` int(2) DEFAULT NULL, + `createdby_ckey` varchar(32) DEFAULT NULL, + `createdby_ip` int(10) unsigned NOT NULL, + `dontshow` tinyint(1) unsigned NOT NULL, + PRIMARY KEY (`id`), + KEY `idx_pquest_question_time_ckey` (`question`,`starttime`,`endtime`,`createdby_ckey`,`createdby_ip`), + KEY `idx_pquest_time_admin` (`starttime`,`endtime`,`adminonly`), + KEY `idx_pquest_id_time_type_admin` (`id`,`starttime`,`endtime`,`polltype`,`adminonly`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `poll_textreply` +-- + +DROP TABLE IF EXISTS `poll_textreply`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `poll_textreply` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `datetime` datetime NOT NULL, + `pollid` int(11) NOT NULL, + `ckey` varchar(32) NOT NULL, + `ip` int(10) unsigned NOT NULL, + `replytext` varchar(2048) NOT NULL, + `adminrank` varchar(32) NOT NULL DEFAULT 'Player', + PRIMARY KEY (`id`), + KEY `idx_ptext_pollid_ckey` (`pollid`,`ckey`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `poll_vote` +-- + +DROP TABLE IF EXISTS `poll_vote`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `poll_vote` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `datetime` datetime NOT NULL, + `pollid` int(11) NOT NULL, + `optionid` int(11) NOT NULL, + `ckey` varchar(32) NOT NULL, + `ip` int(10) unsigned NOT NULL, + `adminrank` varchar(32) NOT NULL, + `rating` int(2) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `idx_pvote_pollid_ckey` (`pollid`,`ckey`), + KEY `idx_pvote_optionid_ckey` (`optionid`,`ckey`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `round` +-- +DROP TABLE IF EXISTS `round`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `round` ( + `id` INT(11) NOT NULL AUTO_INCREMENT, + `initialize_datetime` DATETIME NOT NULL, + `start_datetime` DATETIME NULL, + `shutdown_datetime` DATETIME NULL, + `end_datetime` DATETIME NULL, + `server_ip` INT(10) UNSIGNED NOT NULL, + `server_port` SMALLINT(5) UNSIGNED NOT NULL, + `commit_hash` CHAR(40) NULL, + `game_mode` VARCHAR(32) NULL, + `game_mode_result` VARCHAR(64) NULL, + `end_state` VARCHAR(64) NULL, + `shuttle_name` VARCHAR(64) NULL, + `map_name` VARCHAR(32) NULL, + `station_name` VARCHAR(80) NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; +/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; + +-- +-- Table structure for table `schema_revision` +-- +DROP TABLE IF EXISTS `schema_revision`; +CREATE TABLE `schema_revision` ( + `major` TINYINT(3) unsigned NOT NULL, + `minor` TINYINT(3) unsigned NOT NULL, + `date` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`major`, `minor`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; + +DELIMITER $$ +CREATE TRIGGER `role_timeTlogupdate` AFTER UPDATE ON `role_time` FOR EACH ROW BEGIN INSERT into role_time_log (ckey, job, delta) VALUES (NEW.CKEY, NEW.job, NEW.minutes-OLD.minutes); +END +$$ +CREATE TRIGGER `role_timeTloginsert` AFTER INSERT ON `role_time` FOR EACH ROW BEGIN INSERT into role_time_log (ckey, job, delta) VALUES (NEW.ckey, NEW.job, NEW.minutes); +END +$$ +CREATE TRIGGER `role_timeTlogdelete` AFTER DELETE ON `role_time` FOR EACH ROW BEGIN INSERT into role_time_log (ckey, job, delta) VALUES (OLD.ckey, OLD.job, 0-OLD.minutes); +END +$$ + +/*!40101 SET SQL_MODE=@OLD_SQL_MODE */; +/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; +/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; +/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; +/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; +/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; +/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; diff --git a/_maps/RandomRuins/SpaceRuins/crashedship.dmm b/_maps/RandomRuins/SpaceRuins/crashedship.dmm index 63e6770e42..beb93b319e 100644 --- a/_maps/RandomRuins/SpaceRuins/crashedship.dmm +++ b/_maps/RandomRuins/SpaceRuins/crashedship.dmm @@ -2372,7 +2372,7 @@ }, /area/awaymission/BMPship/Midship) "hh" = ( -/obj/item/caution, +/obj/item/clothing/suit/caution, /turf/open/floor/plating/airless, /area/awaymission/BMPship/Midship) "hi" = ( diff --git a/_maps/RandomRuins/StationRuins/Lavaland/Mining_Station/Mining_Station_Public_01.dmm b/_maps/RandomRuins/StationRuins/Lavaland/Mining_Station/Mining_Station_Public_01.dmm index 5bc10b30f0..1aed2fdbb0 100644 --- a/_maps/RandomRuins/StationRuins/Lavaland/Mining_Station/Mining_Station_Public_01.dmm +++ b/_maps/RandomRuins/StationRuins/Lavaland/Mining_Station/Mining_Station_Public_01.dmm @@ -153,10 +153,6 @@ }, /turf/open/floor/plasteel, /area/mine/living_quarters) -"cX" = ( -/obj/structure/closet/secure_closet/miner, -/turf/open/floor/plasteel, -/area/mine/living_quarters) "dk" = ( /obj/structure/table, /obj/item/stack/packageWrap, @@ -398,6 +394,13 @@ }, /turf/open/floor/plating, /area/mine/laborcamp/security) +"he" = ( +/obj/machinery/door/airlock/external/glass, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/mine/living_quarters) "hf" = ( /obj/item/kirbyplants/random, /turf/open/floor/plasteel, @@ -417,16 +420,6 @@ }, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) -"hH" = ( -/obj/effect/turf_decal/tile/brown, -/obj/effect/turf_decal/tile/brown{ - dir = 8 - }, -/obj/effect/turf_decal/tile/brown{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/mine/living_quarters) "hP" = ( /obj/structure/lattice/catwalk, /obj/machinery/atmospherics/components/unary/outlet_injector/atmos/atmos_waste{ @@ -503,6 +496,14 @@ }, /turf/open/floor/plasteel, /area/mine/production) +"ja" = ( +/obj/item/bikehorn{ + color = "#000"; + desc = "A horn off of a bicycle. This one has been charred to hell and back, yet somehow it still honks."; + name = "charred bike horn" + }, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) "jf" = ( /obj/structure/table, /obj/item/storage/firstaid/regular, @@ -769,11 +770,6 @@ /obj/effect/turf_decal/tile/red, /turf/open/floor/plasteel, /area/mine/laborcamp/security) -"nH" = ( -/obj/machinery/light, -/obj/structure/closet/wardrobe/miner, -/turf/open/floor/plasteel, -/area/mine/living_quarters) "nI" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ @@ -841,6 +837,12 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, /area/mine/production) +"nS" = ( +/obj/machinery/computer/shuttle/mining/common{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/mine/living_quarters) "nX" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable{ @@ -1275,8 +1277,12 @@ /turf/open/floor/plasteel, /area/mine/production) "uG" = ( -/obj/structure/ore_box, -/obj/effect/turf_decal/box, +/obj/structure/table, +/obj/item/clothing/glasses/meson, +/obj/item/storage/bag/ore, +/obj/item/pickaxe, +/obj/item/mining_scanner, +/obj/item/flashlight, /turf/open/floor/plasteel, /area/mine/living_quarters) "uI" = ( @@ -1439,6 +1445,15 @@ }, /turf/open/floor/plasteel, /area/mine/living_quarters) +"wQ" = ( +/obj/structure/table, +/obj/item/tank/internals/emergency_oxygen{ + pixel_x = 5; + pixel_y = 3 + }, +/obj/item/tank/internals/emergency_oxygen, +/turf/open/floor/plasteel, +/area/mine/living_quarters) "wV" = ( /turf/closed/mineral/random/volcanic, /area/lavaland/surface/outdoors/explored) @@ -1536,6 +1551,18 @@ }, /turf/open/floor/plasteel/freezer, /area/mine/living_quarters) +"yZ" = ( +/obj/docking_port/stationary{ + area_type = /area/lavaland/surface/outdoors; + dir = 8; + dwidth = 3; + height = 7; + id = "lavaland_common_away"; + name = "Lavaland Mining Public Wing"; + width = 7 + }, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) "zh" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 1 @@ -1644,6 +1671,13 @@ }, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/mine/production) +"AC" = ( +/obj/machinery/door/airlock/external/glass, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/mine/living_quarters) "AH" = ( /obj/machinery/cryopod{ dir = 4 @@ -1719,6 +1753,12 @@ /obj/structure/reagent_dispensers/fueltank, /turf/open/floor/plating, /area/mine/living_quarters) +"By" = ( +/obj/structure/chair{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/mine/living_quarters) "BD" = ( /obj/machinery/door/airlock/maintenance{ name = "Mining Station Maintenance"; @@ -1843,6 +1883,7 @@ /turf/open/floor/plasteel, /area/mine/living_quarters) "Dr" = ( +/obj/structure/chair, /obj/structure/extinguisher_cabinet{ pixel_x = -5; pixel_y = 30 @@ -1850,9 +1891,6 @@ /obj/effect/turf_decal/tile/purple{ dir = 4 }, -/obj/machinery/light{ - dir = 1 - }, /turf/open/floor/plasteel, /area/mine/living_quarters) "Dv" = ( @@ -2695,17 +2733,12 @@ /turf/open/floor/plasteel, /area/mine/living_quarters) "Pp" = ( -/obj/machinery/camera{ - c_tag = "Public Shuttle Lobby"; - network = list("mine") - }, -/obj/effect/turf_decal/tile/brown{ - dir = 1 - }, -/obj/effect/turf_decal/tile/brown, -/obj/effect/turf_decal/tile/brown{ - dir = 4 +/obj/structure/table, +/obj/item/gps/mining{ + pixel_x = 3; + pixel_y = 5 }, +/obj/item/gps/mining, /turf/open/floor/plasteel, /area/mine/living_quarters) "Pq" = ( @@ -2750,6 +2783,10 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel/white, /area/mine/laborcamp) +"Qd" = ( +/obj/structure/displaycase, +/turf/open/floor/plasteel, +/area/mine/living_quarters) "Qi" = ( /obj/structure/table, /obj/machinery/reagentgrinder, @@ -2825,9 +2862,13 @@ /turf/open/floor/plasteel, /area/mine/laborcamp) "Ru" = ( +/obj/structure/chair, /obj/machinery/newscaster{ pixel_y = 32 }, +/obj/machinery/light{ + dir = 1 + }, /turf/open/floor/plasteel, /area/mine/living_quarters) "Rv" = ( @@ -3019,13 +3060,13 @@ /obj/effect/turf_decal/tile/red{ dir = 1 }, +/obj/structure/cable{ + icon_state = "1-2" + }, /mob/living/simple_animal/bot/secbot/beepsky{ desc = "Powered by the tears and sweat of laborers."; name = "Prison Ofitser" }, -/obj/structure/cable{ - icon_state = "1-2" - }, /turf/open/floor/plasteel, /area/mine/laborcamp/security) "Un" = ( @@ -3241,10 +3282,6 @@ }, /turf/open/floor/plating, /area/mine/living_quarters) -"XX" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/closed/wall, -/area/mine/living_quarters) "Ya" = ( /turf/closed/wall/r_wall, /area/mine/laborcamp) @@ -4211,9 +4248,9 @@ VT VT VT VT -VT -VT -VT +Lm +Lm +Lm VT VT VT @@ -4266,12 +4303,12 @@ VT VT VT VT -VT -VT -VT -VT -VT -VT +Lm +Lm +Lm +Lm +Lm +Lm VT VT VT @@ -4322,15 +4359,15 @@ VT VT VT VT -VT -VT -VT -VT -VT -VT -VT -VT -VT +Lm +Lm +Lm +Lm +Lm +Lm +Lm +Lm +Lm VT VT VT @@ -4379,16 +4416,16 @@ VT VT VT VT -VT -VT -VT -VT Lm Lm -VT -VT Lm -VT +Lm +Lm +Lm +Lm +Lm +Lm +Lm VT VT VT @@ -4435,17 +4472,17 @@ wz wz VT VT -VT -VT Lm -VT -VT -VT Lm -VT -VT -VT -VT +Lm +Lm +Lm +Lm +Lm +Lm +Lm +Lm +Lm Lm VT VT @@ -4492,18 +4529,18 @@ wz wz Lm VT -VT -VT Lm Lm Lm Lm Lm -VT -VT -VT -VT -VT +Lm +Lm +Lm +Lm +Lm +Lm +Lm VT VT VT @@ -4549,7 +4586,6 @@ VT wz Lm VT -VT Lm Lm Lm @@ -4558,8 +4594,9 @@ Lm Lm Lm Lm -VT -VT +Lm +Lm +Lm VT VT VT @@ -4615,7 +4652,7 @@ Lm Lm Lm Lm -VT +Lm VT VT VT @@ -4662,11 +4699,11 @@ VT VT VT VT -VT Lm Lm -VT -VT +Lm +Lm +Lm Lm Lm Lm @@ -4722,10 +4759,10 @@ wz Lm Lm Lm -VT Lm Lm Lm +yZ Lm Lm Lm @@ -4772,18 +4809,18 @@ Gt Dv my VT +ja VT VT -VT +wz wz Lm Lm Lm -VT -Lm -Lm -Lm Lm +KV +he +KV Lm Lm Lm @@ -4833,14 +4870,14 @@ VT VT Lm Lm +wz +wz Lm Lm Lm -Lm -Lm -Lm -Lm -Lm +KV +Ag +KV Lm Lm VT @@ -4893,11 +4930,11 @@ Lm VN VN VN -XX -VN -VN -VN +KV VN +KV +AC +KV VT VT VT @@ -4949,12 +4986,12 @@ pu bn VN zy -Ag -Ag -Ag +By +nS +By Ag qZ -VN +KV VT VT VT @@ -5010,8 +5047,8 @@ Ag Ag Ag Ag -cX -VN +Ag +KV VT VT VT @@ -5067,8 +5104,8 @@ Ag uG uG Ag -cX -VN +eS +KV VT VT VT @@ -5124,8 +5161,8 @@ KO uG uG Ag -cX -VN +Ag +KV VT VT VT @@ -5181,7 +5218,7 @@ RP Ag Ag Ag -nH +oy VN VT VT @@ -5235,10 +5272,10 @@ oy VN Pp sx -eS -Ag -Ag -hH +Pp +wQ +Qd +Qd VN wz Lm diff --git a/_maps/RandomZLevels/away_mission/Academy.dmm b/_maps/RandomZLevels/away_mission/Academy.dmm index 37b0098fd2..9b61f50600 100644 --- a/_maps/RandomZLevels/away_mission/Academy.dmm +++ b/_maps/RandomZLevels/away_mission/Academy.dmm @@ -2710,7 +2710,7 @@ /obj/structure/cable{ icon_state = "4-8" }, -/obj/item/caution, +/obj/item/clothing/suit/caution, /obj/effect/turf_decal/tile/green, /obj/effect/turf_decal/tile/green{ dir = 4 diff --git a/_maps/RandomZLevels/away_mission/SnowCabin.dmm b/_maps/RandomZLevels/away_mission/SnowCabin.dmm index 844a134d27..fbb83899fd 100644 --- a/_maps/RandomZLevels/away_mission/SnowCabin.dmm +++ b/_maps/RandomZLevels/away_mission/SnowCabin.dmm @@ -312,7 +312,7 @@ /obj/structure/janitorialcart, /obj/item/mop, /obj/item/reagent_containers/glass/bucket, -/obj/item/caution, +/obj/item/clothing/suit/caution, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/awaymission/cabin) diff --git a/_maps/cogstation.dm b/_maps/cogstation.dm index 5c01aaec46..96ef15a5b8 100644 --- a/_maps/cogstation.dm +++ b/_maps/cogstation.dm @@ -1 +1 @@ -#define FORCE_MAP "_maps/cogstation.json" \ No newline at end of file +#define FORCE_MAP "_maps/cogstation.json" diff --git a/_maps/kilostation.dm b/_maps/kilostation.dm index d784be6e8f..5970c0d49e 100644 --- a/_maps/kilostation.dm +++ b/_maps/kilostation.dm @@ -1 +1 @@ -#define FORCE_MAP "_maps/kilostation.json" \ No newline at end of file +#define FORCE_MAP "_maps/kilostation.json" diff --git a/_maps/map_files/BoxStation/BoxStation.dmm b/_maps/map_files/BoxStation/BoxStation.dmm index df4ab2bc72..b81f55be21 100644 --- a/_maps/map_files/BoxStation/BoxStation.dmm +++ b/_maps/map_files/BoxStation/BoxStation.dmm @@ -69,35 +69,18 @@ /turf/closed/wall/r_wall, /area/security/prison) "aaj" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, /obj/structure/cable{ icon_state = "4-8" }, -/turf/closed/wall/r_wall, -/area/security/prison) -"aak" = ( -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/security/prison) -"aal" = ( -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, +/turf/open/floor/plasteel, /area/security/prison) "aam" = ( /obj/structure/cable{ icon_state = "0-2" }, -/obj/structure/cable{ - icon_state = "0-8" - }, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/security/prison) @@ -115,11 +98,17 @@ /obj/structure/sign/warning/electricshock{ pixel_y = 32 }, +/obj/structure/cable{ + icon_state = "4-8" + }, /turf/open/floor/grass, /area/security/prison) "aap" = ( /obj/machinery/hydroponics/soil, /obj/item/seeds/carrot, +/obj/structure/cable{ + icon_state = "1-4" + }, /turf/open/floor/grass, /area/security/prison) "aaq" = ( @@ -140,17 +129,29 @@ /obj/structure/sink{ pixel_y = 20 }, +/obj/structure/cable{ + icon_state = "4-8" + }, /turf/open/floor/plasteel, /area/security/prison) "aar" = ( /obj/machinery/hydroponics/soil, /obj/item/seeds/glowshroom, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, /turf/open/floor/grass, /area/security/prison) "aas" = ( /obj/structure/sign/warning/electricshock{ pixel_y = 32 }, +/obj/structure/cable{ + icon_state = "4-8" + }, /turf/open/floor/plasteel, /area/security/prison) "aat" = ( @@ -2981,14 +2982,14 @@ /turf/open/floor/plating, /area/security/main) "afS" = ( -/obj/machinery/door/airlock/security/glass{ - name = "Brig EVA Storage"; - req_access_txt = "3" - }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /obj/machinery/door/firedoor, +/obj/machinery/door/airlock/security{ + name = "Brig EVA Storage"; + req_access_txt = "1" + }, /turf/open/floor/plasteel/dark, /area/security/brig) "afT" = ( @@ -4821,7 +4822,7 @@ pixel_x = -32 }, /turf/open/floor/plasteel/white, -/area/medical/medbay/central) +/area/medical/medbay/lobby) "aiQ" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable{ @@ -5088,7 +5089,7 @@ pixel_x = -32 }, /turf/open/floor/plasteel/white, -/area/medical/sleeper) +/area/medical/medbay/central) "ajw" = ( /obj/structure/disposalpipe/segment{ dir = 6 @@ -5666,6 +5667,9 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, +/obj/structure/cable{ + icon_state = "2-4" + }, /turf/open/floor/plasteel, /area/security/brig) "akw" = ( @@ -5845,10 +5849,13 @@ /area/science/xenobiology) "akQ" = ( /obj/structure/cable{ - icon_state = "4-8" + icon_state = "1-2" }, -/turf/closed/wall, -/area/security/brig) +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel, +/area/security/prison) "akR" = ( /obj/machinery/camera{ c_tag = "Security Office"; @@ -6108,7 +6115,7 @@ "alq" = ( /obj/machinery/door/airlock/security/glass{ name = "Evidence Storage"; - req_access_txt = "4" + req_one_access_txt = "4;1" }, /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/supply/hidden, @@ -6142,25 +6149,11 @@ /turf/open/floor/plasteel, /area/security/brig) "alt" = ( -/obj/machinery/door/airlock/security/glass{ - id_tag = "innerbrig"; - name = "Brig"; - req_access_txt = "63" - }, -/obj/machinery/door/firedoor, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper, -/obj/effect/turf_decal/tile/red, -/obj/effect/turf_decal/tile/red{ +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, -/obj/effect/turf_decal/tile/red{ - dir = 8 - }, -/obj/effect/turf_decal/tile/red{ - dir = 1 +/obj/structure/cable{ + icon_state = "1-2" }, /turf/open/floor/plasteel, /area/security/brig) @@ -6180,16 +6173,11 @@ /area/ai_monitored/nuke_storage) "alv" = ( /obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/structure/cable{ - icon_state = "0-4" - }, /obj/machinery/door/poddoor/preopen{ id = "Secure Gate"; name = "brig shutters" }, +/obj/structure/cable, /turf/open/floor/plating, /area/security/brig) "alw" = ( @@ -6272,6 +6260,9 @@ /obj/effect/turf_decal/tile/red{ dir = 4 }, +/obj/structure/cable{ + icon_state = "2-4" + }, /turf/open/floor/plasteel, /area/security/brig) "alB" = ( @@ -6308,7 +6299,9 @@ /turf/open/floor/plasteel/showroomfloor, /area/security/warden) "alF" = ( -/obj/machinery/atmospherics/components/unary/tank/air, +/obj/machinery/atmospherics/pipe/manifold/supplymain/hidden{ + dir = 8 + }, /turf/open/floor/plating, /area/maintenance/port/fore) "alG" = ( @@ -6570,9 +6563,6 @@ /turf/open/floor/engine, /area/science/xenobiology) "amm" = ( -/obj/structure/cable{ - icon_state = "0-8" - }, /obj/structure/cable{ icon_state = "0-4" }, @@ -6607,6 +6597,9 @@ /obj/effect/turf_decal/tile/red{ dir = 4 }, +/obj/structure/cable{ + icon_state = "4-8" + }, /turf/open/floor/plasteel, /area/security/brig) "amq" = ( @@ -6659,9 +6652,6 @@ icon_state = "0-8" }, /obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable{ - icon_state = "0-4" - }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plating, /area/security/brig) @@ -6702,28 +6692,21 @@ /turf/open/floor/plating, /area/maintenance/port/fore) "amD" = ( -/obj/structure/sink{ - dir = 8; - pixel_x = -12; - pixel_y = 2 - }, +/obj/item/trash/sosjerky, /turf/open/floor/plating, /area/maintenance/port/fore) "amE" = ( -/obj/structure/bed, -/obj/effect/landmark/xeno_spawn, -/obj/item/bedsheet, +/obj/item/electronics/airalarm, +/obj/item/circuitboard/machine/seed_extractor, +/obj/structure/table, +/obj/effect/spawner/lootdrop/maintenance{ + lootcount = 4; + name = "4maintenance loot spawner" + }, /turf/open/floor/plating, /area/maintenance/port/fore) "amF" = ( -/obj/machinery/computer/slot_machine{ - balance = 15; - money = 500 - }, -/obj/item/coin/iron, -/obj/item/coin/diamond, -/obj/item/coin/diamond, -/obj/item/coin/diamond, +/obj/machinery/atmospherics/components/unary/tank/air, /turf/open/floor/plating, /area/maintenance/port/fore) "amG" = ( @@ -6768,6 +6751,12 @@ /obj/effect/turf_decal/tile/red{ dir = 1 }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, /turf/open/floor/plasteel, /area/security/brig) "amJ" = ( @@ -6858,25 +6847,15 @@ }, /turf/open/floor/plasteel, /area/science/xenobiology) -"amR" = ( -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/machinery/door/poddoor/preopen{ - id = "Secure Gate"; - name = "brig shutters" - }, -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/security/brig) "amS" = ( -/obj/structure/cable{ - icon_state = "4-8" +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 }, -/turf/closed/wall/r_wall, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, /area/security/brig) "amT" = ( /obj/structure/cable{ @@ -7000,8 +6979,10 @@ /turf/open/floor/plating, /area/maintenance/solars/port/fore) "anj" = ( -/obj/machinery/atmospherics/pipe/manifold/supplymain/hidden{ - dir = 8 +/obj/structure/sink{ + dir = 8; + pixel_x = -12; + pixel_y = 2 }, /turf/open/floor/plating, /area/maintenance/port/fore) @@ -7012,23 +6993,25 @@ /turf/open/floor/plating, /area/maintenance/port/fore) "anl" = ( -/obj/machinery/atmospherics/pipe/simple/supplymain/hidden{ - dir = 9 - }, +/obj/structure/bed, +/obj/effect/landmark/xeno_spawn, +/obj/item/bedsheet, /turf/open/floor/plating, /area/maintenance/port/fore) "anm" = ( -/obj/item/trash/sosjerky, +/obj/machinery/computer/slot_machine{ + balance = 15; + money = 500 + }, +/obj/item/coin/iron, +/obj/item/coin/diamond, +/obj/item/coin/diamond, +/obj/item/coin/diamond, /turf/open/floor/plating, /area/maintenance/port/fore) "ann" = ( -/obj/item/electronics/airalarm, -/obj/item/circuitboard/machine/seed_extractor, -/obj/structure/table, -/obj/effect/spawner/lootdrop/maintenance{ - lootcount = 4; - name = "4maintenance loot spawner" - }, +/obj/effect/spawner/lootdrop/maintenance, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plating, /area/maintenance/port/fore) "ano" = ( @@ -7201,16 +7184,21 @@ /turf/open/floor/plating, /area/maintenance/solars/port/fore) "anJ" = ( -/obj/machinery/atmospherics/pipe/simple/supplymain/hidden, +/obj/machinery/atmospherics/pipe/simple/supplymain/hidden{ + dir = 4 + }, /turf/open/floor/plating, /area/maintenance/port/fore) "anK" = ( -/obj/effect/decal/cleanable/egg_smudge, +/obj/structure/table, +/obj/item/reagent_containers/food/drinks/soda_cans/dr_gibb, /turf/open/floor/plating, /area/maintenance/port/fore) "anL" = ( -/obj/structure/table, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/decal/cleanable/vomit, +/obj/structure/chair{ + dir = 1 + }, /turf/open/floor/plating, /area/maintenance/port/fore) "anM" = ( @@ -7267,9 +7255,11 @@ /obj/structure/cable{ icon_state = "0-4" }, -/obj/structure/cable, /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable{ + icon_state = "1-4" + }, /turf/open/floor/plating, /area/security/brig) "anQ" = ( @@ -7277,9 +7267,6 @@ /obj/effect/turf_decal/tile/yellow{ dir = 8 }, -/obj/structure/cable{ - icon_state = "1-2" - }, /turf/open/floor/plasteel, /area/security/brig) "anR" = ( @@ -7413,8 +7400,8 @@ /turf/open/floor/plating, /area/maintenance/port/fore) "aok" = ( -/obj/machinery/atmospherics/pipe/simple/supplymain/hidden{ - dir = 6 +/obj/structure/chair{ + dir = 1 }, /turf/open/floor/plating, /area/maintenance/port/fore) @@ -7435,8 +7422,10 @@ /turf/open/floor/plating, /area/maintenance/port/fore) "aoo" = ( -/obj/structure/rack, -/obj/item/circuitboard/machine/monkey_recycler, +/obj/effect/decal/cleanable/blood/old, +/obj/structure/chair{ + dir = 1 + }, /turf/open/floor/plating, /area/maintenance/port/fore) "aop" = ( @@ -7508,14 +7497,13 @@ /obj/structure/cable{ icon_state = "0-4" }, -/obj/structure/cable, /obj/machinery/door/poddoor/preopen{ id = "Secure Gate"; name = "brig shutters" }, /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable{ - icon_state = "1-8" + icon_state = "0-8" }, /turf/open/floor/plating, /area/security/brig) @@ -7697,21 +7685,21 @@ /turf/open/floor/plating, /area/maintenance/starboard/fore) "aoR" = ( -/obj/machinery/atmospherics/components/trinary/filter{ - dir = 4 +/obj/machinery/atmospherics/pipe/simple/supplymain/hidden{ + dir = 10 }, +/obj/machinery/meter, /turf/open/floor/plating, /area/maintenance/port/fore) "aoS" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 4 - }, -/obj/machinery/portable_atmospherics/canister/air, +/obj/machinery/atmospherics/pipe/simple/supplymain/hidden, /turf/open/floor/plating, /area/maintenance/port/fore) "aoT" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 8 +/obj/structure/closet, +/obj/effect/spawner/lootdrop/maintenance{ + lootcount = 3; + name = "3maintenance loot spawner" }, /turf/open/floor/plating, /area/maintenance/port/fore) @@ -7719,17 +7707,13 @@ /obj/machinery/atmospherics/pipe/simple/supplymain/hidden{ dir = 9 }, -/obj/structure/bed, -/obj/effect/landmark/xeno_spawn, /turf/open/floor/plating, /area/maintenance/port/fore) "aoV" = ( /turf/open/space, /area/space) "aoW" = ( -/obj/structure/table, -/obj/item/stamp, -/obj/item/poster/random_official, +/obj/structure/grille, /turf/open/floor/plating, /area/maintenance/port/fore) "aoX" = ( @@ -7753,13 +7737,13 @@ /area/security/brig) "aoZ" = ( /obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable{ - icon_state = "0-2" - }, /obj/machinery/door/poddoor/preopen{ id = "Secure Brig Control"; name = "brig shutters" }, +/obj/structure/cable{ + icon_state = "0-4" + }, /turf/open/floor/plating, /area/security/warden) "apa" = ( @@ -7778,6 +7762,9 @@ /area/science/xenobiology) "apc" = ( /obj/structure/chair/office/dark, +/obj/structure/cable{ + icon_state = "4-8" + }, /turf/open/floor/plasteel/showroomfloor, /area/security/warden) "apd" = ( @@ -7931,6 +7918,12 @@ pixel_x = 6; pixel_y = 3 }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, /turf/open/floor/plasteel/showroomfloor, /area/security/warden) "apw" = ( @@ -8050,6 +8043,12 @@ pixel_y = -24; req_access_txt = "2" }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, /turf/open/floor/plasteel/showroomfloor, /area/security/warden) "apI" = ( @@ -8073,31 +8072,37 @@ /turf/open/floor/plasteel/dark, /area/security/brig) "apL" = ( -/obj/structure/table, -/obj/effect/spawner/lootdrop/maintenance{ - lootcount = 2; - name = "2maintenance loot spawner" +/obj/machinery/power/apc{ + areastring = "/area/maintenance/port/fore"; + dir = 1; + name = "Port Bow Maintenance APC"; + pixel_x = -1; + pixel_y = 26 }, -/turf/open/floor/plasteel, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plating, /area/maintenance/port/fore) "apM" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible, -/obj/machinery/light/small{ - dir = 1 - }, -/turf/open/floor/plasteel, +/obj/machinery/atmospherics/pipe/simple/supplymain/hidden, +/turf/closed/wall, /area/maintenance/port/fore) "apN" = ( /turf/open/floor/plating, /area/construction/mining/aux_base) "apO" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 1 +/obj/machinery/atmospherics/pipe/simple/supplymain/hidden{ + dir = 5 }, -/turf/open/floor/plating, +/turf/closed/wall, /area/maintenance/port/fore) "apP" = ( -/obj/effect/spawner/structure/window, +/obj/structure/closet/crate, +/obj/effect/spawner/lootdrop/maintenance{ + lootcount = 3; + name = "3maintenance loot spawner" + }, /turf/open/floor/plating, /area/maintenance/port/fore) "apQ" = ( @@ -8125,9 +8130,6 @@ req_access_txt = "63" }, /obj/machinery/door/firedoor, -/obj/structure/cable{ - icon_state = "4-8" - }, /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 1 }, @@ -8150,14 +8152,19 @@ /turf/open/floor/plating, /area/maintenance/fore) "apT" = ( +/obj/machinery/door/poddoor/preopen{ + id = "Cell Interior Shutters"; + name = "brig shutters" + }, +/obj/effect/spawner/structure/window/reinforced, /obj/structure/cable{ - icon_state = "4-8" + icon_state = "0-8" }, /obj/structure/cable{ - icon_state = "1-8" + icon_state = "0-4" }, -/turf/closed/wall/r_wall, -/area/security/warden) +/turf/open/floor/plating, +/area/security/brig) "apU" = ( /turf/open/floor/plating, /area/security/vacantoffice/b) @@ -8173,20 +8180,6 @@ }, /turf/open/floor/plating, /area/maintenance/fore) -"apX" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/machinery/door/poddoor/preopen{ - id = "Secure Brig Control"; - name = "brig shutters" - }, -/turf/open/floor/plating, -/area/security/warden) "apY" = ( /obj/machinery/light/small{ dir = 1 @@ -8398,13 +8391,11 @@ /area/crew_quarters/fitness/pool) "aqt" = ( /obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable{ - icon_state = "0-8" - }, /obj/machinery/door/poddoor/preopen{ id = "Secure Brig Control"; name = "brig shutters" }, +/obj/structure/cable, /turf/open/floor/plating, /area/security/warden) "aqu" = ( @@ -8554,23 +8545,6 @@ /obj/structure/lattice/catwalk, /turf/open/space, /area/solar/port/fore) -"aqK" = ( -/obj/structure/chair/stool, -/turf/open/floor/plasteel, -/area/maintenance/port/fore) -"aqL" = ( -/obj/machinery/atmospherics/pipe/simple/supplymain/hidden{ - dir = 5 - }, -/turf/open/floor/plating, -/area/maintenance/port/fore) -"aqM" = ( -/obj/machinery/atmospherics/pipe/simple/supplymain/hidden{ - dir = 10 - }, -/obj/machinery/meter, -/turf/open/floor/plating, -/area/maintenance/port/fore) "aqN" = ( /obj/structure/closet/secure_closet/warden, /obj/structure/sign/poster/official/ion_rifle{ @@ -8591,23 +8565,20 @@ /turf/open/floor/plasteel/showroomfloor, /area/security/warden) "aqO" = ( -/obj/structure/closet, -/obj/effect/spawner/lootdrop/maintenance{ - lootcount = 3; - name = "3maintenance loot spawner" +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 }, /turf/open/floor/plating, /area/maintenance/port/fore) "aqP" = ( -/obj/machinery/power/apc{ - areastring = "/area/maintenance/port/fore"; - dir = 1; - name = "Port Bow Maintenance APC"; - pixel_x = -1; - pixel_y = 26 +/obj/structure/cable{ + icon_state = "1-8" }, /obj/structure/cable{ - icon_state = "0-2" + icon_state = "4-8" }, /turf/open/floor/plating, /area/maintenance/port/fore) @@ -8870,6 +8841,9 @@ c_tag = "Brig Control"; dir = 1 }, +/obj/structure/cable{ + icon_state = "1-8" + }, /turf/open/floor/plasteel/showroomfloor, /area/security/warden) "arz" = ( @@ -8925,30 +8899,18 @@ }, /turf/open/floor/plasteel, /area/construction/mining/aux_base) -"arF" = ( -/obj/machinery/atmospherics/pipe/simple/supplymain/hidden{ - dir = 5 - }, -/turf/closed/wall, -/area/maintenance/port/fore) "arG" = ( -/obj/machinery/atmospherics/pipe/simple/supplymain/hidden{ - dir = 4 - }, -/turf/closed/wall, +/obj/effect/decal/cleanable/glass, +/obj/structure/table_frame, +/turf/open/floor/plating, /area/maintenance/port/fore) "arH" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supplymain/hidden{ - dir = 4 - }, -/turf/open/floor/plating, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/closed/wall, /area/maintenance/port/fore) "arI" = ( /obj/structure/cable{ - icon_state = "2-4" + icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/supplymain/hidden{ dir = 4 @@ -8956,11 +8918,8 @@ /turf/open/floor/plating, /area/maintenance/port/fore) "arJ" = ( -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/structure/cable{ - icon_state = "4-8" +/obj/machinery/door/airlock/maintenance/abandoned{ + req_access_txt = "12" }, /obj/machinery/atmospherics/pipe/simple/supplymain/hidden{ dir = 4 @@ -8968,44 +8927,38 @@ /turf/open/floor/plating, /area/maintenance/port/fore) "arK" = ( -/obj/machinery/atmospherics/pipe/simple/supplymain/hidden{ - dir = 9 - }, -/turf/open/floor/plating{ - icon_state = "platingdmg3" - }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, /area/maintenance/port/fore) "arL" = ( -/obj/structure/cable{ - icon_state = "1-8" +/turf/open/floor/plating{ + icon_state = "platingdmg1" }, -/obj/machinery/atmospherics/pipe/simple/supplymain/hidden{ - dir = 4 - }, -/turf/open/floor/plating, /area/maintenance/port/fore) "arM" = ( -/obj/structure/closet/crate{ - icon_state = "crateopen" +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 }, -/obj/effect/spawner/lootdrop/maintenance{ - lootcount = 2; - name = "2maintenance loot spawner" +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plating{ + icon_state = "platingdmg1" }, -/turf/open/floor/plating, /area/maintenance/port/fore) "arN" = ( -/obj/effect/spawner/lootdrop/maintenance{ - lootcount = 2; - name = "2maintenance loot spawner" +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/obj/machinery/door/airlock/external{ + name = "External Access"; + req_access_txt = "13" }, /turf/open/floor/plating, /area/maintenance/port/fore) "arO" = ( -/obj/item/clothing/gloves/color/rainbow, -/obj/item/clothing/head/soft/rainbow, -/obj/item/clothing/shoes/sneakers/rainbow, -/obj/item/clothing/under/color/rainbow, +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 4 + }, +/obj/machinery/portable_atmospherics/canister/air, /turf/open/floor/plating, /area/maintenance/port/fore) "arP" = ( @@ -9106,12 +9059,15 @@ /turf/open/floor/plasteel/dark, /area/security/warden) "asc" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, /turf/open/floor/plating, /area/maintenance/port/fore) "asd" = ( @@ -9121,11 +9077,9 @@ /turf/closed/wall, /area/crew_quarters/dorms) "ase" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/cable{ - icon_state = "2-4" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 6 + icon_state = "1-2" }, /turf/open/floor/plating, /area/maintenance/port/fore) @@ -9168,26 +9122,17 @@ /turf/open/floor/plasteel, /area/crew_quarters/dorms) "ash" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/door/airlock/maintenance{ - req_access_txt = "12" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ +/obj/machinery/atmospherics/components/trinary/filter{ dir = 4 }, /turf/open/floor/plating, /area/maintenance/port/fore) "asi" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 + dir = 10 + }, +/obj/structure/cable{ + icon_state = "4-8" }, /turf/open/floor/plating, /area/maintenance/port/fore) @@ -9441,7 +9386,7 @@ /obj/item/storage/box/masks, /obj/structure/table, /turf/open/floor/plasteel/white, -/area/medical/sleeper) +/area/medical/medbay/central) "asM" = ( /obj/structure/table, /obj/item/crowbar, @@ -9450,8 +9395,11 @@ /obj/structure/sign/warning/nosmoking{ pixel_y = 30 }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, /turf/open/floor/plasteel/dark, -/area/medical/sleeper) +/area/medical/surgery) "asN" = ( /obj/machinery/airalarm{ dir = 4; @@ -9460,8 +9408,9 @@ /turf/open/floor/carpet, /area/crew_quarters/dorms) "asO" = ( -/obj/structure/reagent_dispensers/fueltank, -/turf/open/floor/plating, +/turf/open/floor/wood{ + icon_state = "wood-broken2" + }, /area/maintenance/port/fore) "asP" = ( /obj/structure/chair/stool, @@ -9632,10 +9581,10 @@ /turf/open/floor/wood, /area/crew_quarters/dorms) "atn" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 6 +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 8 }, -/turf/closed/wall, +/turf/open/floor/plating, /area/maintenance/port/fore) "atp" = ( /obj/machinery/door/airlock/external{ @@ -9644,10 +9593,11 @@ /turf/open/floor/plating, /area/construction/mining/aux_base) "atq" = ( +/obj/item/wrench, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, -/turf/closed/wall, +/turf/open/floor/plating, /area/maintenance/port/fore) "atr" = ( /obj/structure/cable{ @@ -9764,14 +9714,18 @@ /turf/open/floor/plating, /area/security/vacantoffice/b) "atL" = ( -/obj/structure/reagent_dispensers/watertank, +/obj/structure/cable{ + icon_state = "1-8" + }, /turf/open/floor/plating, /area/maintenance/port/fore) "atM" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 6 +/obj/structure/table, +/obj/effect/spawner/lootdrop/maintenance{ + lootcount = 2; + name = "2maintenance loot spawner" }, -/turf/closed/wall, +/turf/open/floor/plasteel, /area/maintenance/port/fore) "atN" = ( /obj/structure/cable{ @@ -9787,25 +9741,24 @@ /turf/closed/wall, /area/maintenance/port/fore) "atP" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 10 +/obj/machinery/atmospherics/components/unary/portables_connector/visible, +/obj/machinery/light/small{ + dir = 1 }, -/turf/closed/wall, +/turf/open/floor/plasteel, /area/maintenance/port/fore) "atS" = ( /turf/closed/wall, /area/space/nearstation) "atU" = ( -/obj/structure/rack, -/obj/effect/spawner/lootdrop/maintenance{ - lootcount = 2; - name = "2maintenance loot spawner" +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 1 }, /turf/open/floor/plating, /area/maintenance/port/fore) "atW" = ( /obj/structure/chair/stool, -/turf/open/floor/plating, +/turf/open/floor/plasteel, /area/maintenance/port/fore) "atY" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, @@ -10109,50 +10062,43 @@ /turf/open/floor/plating, /area/maintenance/port/fore) "auV" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/closed/wall, +/obj/machinery/atmospherics/pipe/simple/supplymain/hidden{ + dir = 5 + }, +/turf/open/floor/plating, /area/maintenance/port/fore) "auX" = ( -/obj/structure/mirror{ - icon_state = "mirror_broke"; - pixel_y = 28 +/obj/machinery/door/airlock/external{ + name = "External Access"; + req_access_txt = "13" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 }, -/obj/machinery/iv_drip, /turf/open/floor/plating, /area/maintenance/port/fore) "auY" = ( -/obj/structure/mirror{ - icon_state = "mirror_broke"; - pixel_y = 28 +/obj/machinery/atmospherics/pipe/simple/supplymain/hidden{ + dir = 4 }, -/obj/item/shard{ - icon_state = "medium" - }, -/obj/item/circuitboard/computer/operating, -/turf/open/floor/plating, +/turf/closed/wall, /area/maintenance/port/fore) "auZ" = ( -/obj/structure/frame/computer, +/obj/effect/landmark/blobstart, /turf/open/floor/plating, /area/maintenance/port/fore) "ava" = ( -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/structure/chair, -/obj/item/reagent_containers/blood/random, +/obj/structure/table/glass, +/obj/item/storage/bag/trash, /turf/open/floor/plating, /area/maintenance/port/fore) "avb" = ( -/turf/open/floor/plasteel/airless{ - icon_state = "damaged3" - }, -/area/space/nearstation) +/obj/structure/bookcase/random/reference, +/turf/open/floor/wood, +/area/maintenance/port/fore) "avc" = ( -/obj/structure/closet, -/obj/effect/spawner/lootdrop/maintenance{ - lootcount = 4; - name = "4maintenance loot spawner" - }, -/turf/open/floor/plating, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood, /area/maintenance/port/fore) "avg" = ( /obj/machinery/door/airlock{ @@ -10472,7 +10418,8 @@ /turf/open/floor/plasteel, /area/crew_quarters/dorms) "avS" = ( -/obj/item/wrench, +/obj/structure/reagent_dispensers/watertank, +/obj/effect/spawner/lootdrop/maintenance, /turf/open/floor/plating, /area/maintenance/port/fore) "avT" = ( @@ -10488,38 +10435,31 @@ /turf/open/space, /area/space/nearstation) "avU" = ( -/obj/item/paper/crumpled, -/turf/open/floor/plasteel/airless{ - icon_state = "damaged2" +/obj/structure/chair/comfy/plywood{ + dir = 8 }, -/area/space/nearstation) +/turf/open/floor/wood{ + icon_state = "wood-broken5" + }, +/area/maintenance/port/fore) "avV" = ( -/obj/structure/table, -/obj/machinery/cell_charger, -/turf/open/floor/plating, +/obj/structure/table/wood, +/obj/item/reagent_containers/food/snacks/burger/ghost, +/turf/open/floor/wood, /area/maintenance/port/fore) "avW" = ( -/obj/structure/table, -/obj/effect/spawner/lootdrop/maintenance{ - lootcount = 2; - name = "2maintenance loot spawner" +/turf/open/floor/plating{ + icon_state = "platingdmg2" }, -/turf/open/floor/plating, /area/maintenance/port/fore) "avX" = ( -/obj/machinery/light/small{ - dir = 4 - }, -/obj/structure/chair/stool, +/obj/structure/closet/firecloset, /turf/open/floor/plating, /area/maintenance/port/fore) "avY" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/effect/spawner/structure/window/reinforced, +/obj/effect/turf_decal, /turf/open/floor/plating, -/area/maintenance/fore) +/area/maintenance/port/fore) "avZ" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -11026,18 +10966,26 @@ /turf/open/floor/plasteel, /area/construction/mining/aux_base) "axe" = ( -/obj/machinery/sleeper{ - dir = 4 +/obj/structure/mirror{ + icon_state = "mirror_broke"; + pixel_y = 28 }, +/obj/machinery/iv_drip, /turf/open/floor/plating, /area/maintenance/port/fore) "axf" = ( -/obj/effect/landmark/blobstart, +/obj/structure/frame/computer, /turf/open/floor/plating, /area/maintenance/port/fore) "axg" = ( -/obj/structure/table/glass, -/obj/item/storage/bag/trash, +/obj/structure/mirror{ + icon_state = "mirror_broke"; + pixel_y = 28 + }, +/obj/item/shard{ + icon_state = "medium" + }, +/obj/item/circuitboard/computer/operating, /turf/open/floor/plating, /area/maintenance/port/fore) "axh" = ( @@ -11055,17 +11003,17 @@ }, /area/hallway/secondary/entry) "axi" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/structure/chair, +/obj/item/reagent_containers/blood/random, /turf/open/floor/plating, /area/maintenance/port/fore) "axj" = ( -/obj/machinery/door/airlock/maintenance/abandoned{ - name = "Firefighting equipment"; - req_access_txt = "12" - }, -/turf/open/floor/plating, +/obj/structure/table/wood, +/obj/item/flashlight/lamp/green, +/obj/effect/decal/cleanable/cobweb, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood, /area/maintenance/port/fore) "axk" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -11074,30 +11022,20 @@ /turf/open/floor/plating, /area/maintenance/port/fore) "axl" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plating, +/obj/structure/table/wood, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood, /area/maintenance/port/fore) "axn" = ( -/obj/machinery/door/airlock/maintenance{ - req_access_txt = "12" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, +/obj/structure/closet/crate/coffin, /turf/open/floor/plating, /area/maintenance/port/fore) -"axo" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plating, -/area/maintenance/fore) "axp" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 1 }, /turf/open/floor/plating, -/area/maintenance/fore) +/area/maintenance/port/fore) "axq" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -11249,10 +11187,12 @@ /turf/open/floor/plasteel, /area/hallway/secondary/entry) "axK" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 8 +/obj/structure/sign/plaques/kiddie/library{ + pixel_y = 29 + }, +/turf/open/floor/wood{ + icon_state = "wood-broken4" }, -/turf/closed/wall, /area/maintenance/port/fore) "axL" = ( /obj/machinery/holopad, @@ -11430,21 +11370,21 @@ /turf/open/floor/plasteel/white/corner, /area/hallway/secondary/entry) "ays" = ( -/obj/structure/closet/wardrobe/white, -/obj/item/clothing/shoes/jackboots, -/obj/item/reagent_containers/blood/random, -/obj/item/reagent_containers/food/drinks/bottle/vodka/badminka, -/turf/open/floor/plating, +/obj/structure/bookcase/random/fiction, +/turf/open/floor/wood, /area/maintenance/port/fore) "ayt" = ( -/obj/structure/table/glass, -/obj/item/hemostat, -/turf/open/floor/plating, +/obj/structure/bookcase/random/adult, +/turf/open/floor/wood, /area/maintenance/port/fore) "ayu" = ( -/obj/structure/table/glass, -/obj/item/restraints/handcuffs/cable/zipties, -/obj/item/reagent_containers/blood/random, +/obj/structure/table/optable{ + name = "Robotics Operating Table" + }, +/obj/item/surgical_drapes, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, /turf/open/floor/plating, /area/maintenance/port/fore) "ayv" = ( @@ -11465,8 +11405,18 @@ /turf/open/floor/plating, /area/maintenance/port/fore) "ayx" = ( -/obj/structure/closet/firecloset, -/turf/open/floor/plating, +/obj/structure/table/wood, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/paper{ + icon_state = "paper_onfire"; + name = "Burning Note"; + text = "I sign here with my last breath to sell my soul to curse you all..." + }, +/obj/item/pen/fountain{ + pixel_x = 5; + pixel_y = 1 + }, +/turf/open/floor/wood, /area/maintenance/port/fore) "ayy" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, @@ -11484,10 +11434,6 @@ }, /turf/open/floor/plating, /area/maintenance/fore) -"ayC" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/closed/wall, -/area/maintenance/fore) "ayD" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plasteel/dark, @@ -11861,10 +11807,8 @@ /turf/closed/wall, /area/hydroponics/garden) "azG" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 9 - }, -/turf/closed/wall, +/obj/item/ectoplasm, +/turf/open/floor/wood, /area/maintenance/port/fore) "azH" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, @@ -12282,10 +12226,11 @@ /obj/structure/cable{ icon_state = "1-4" }, -/obj/effect/spawner/lootdrop/maintenance, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 5 }, +/obj/structure/rack, +/obj/effect/spawner/lootdrop/maintenance, /turf/open/floor/plating, /area/maintenance/port/fore) "aAW" = ( @@ -13082,8 +13027,9 @@ /turf/open/floor/plasteel, /area/construction/mining/aux_base) "aCW" = ( -/obj/structure/reagent_dispensers/watertank, -/obj/effect/spawner/lootdrop/maintenance, +/obj/machinery/sleeper{ + dir = 4 + }, /turf/open/floor/plating, /area/maintenance/port/fore) "aCX" = ( @@ -14089,7 +14035,6 @@ /turf/open/floor/plasteel, /area/security/checkpoint/auxiliary) "aFJ" = ( -/obj/machinery/atmospherics/pipe/simple/supplymain/hidden, /obj/effect/landmark/event_spawn, /turf/open/floor/plating, /area/maintenance/port/fore) @@ -14300,10 +14245,6 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plating, /area/maintenance/fore) -"aGh" = ( -/obj/effect/landmark/event_spawn, -/turf/open/floor/plating, -/area/maintenance/fore) "aGi" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/dark, @@ -15829,7 +15770,7 @@ /obj/structure/plasticflaps/opaque, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, -/area/crew_quarters/kitchen) +/area/crew_quarters/kitchen/backroom) "aJL" = ( /obj/machinery/navbeacon{ codes_txt = "delivery;dir=2"; @@ -16124,7 +16065,7 @@ /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/showroomfloor, -/area/crew_quarters/kitchen) +/area/crew_quarters/kitchen/backroom) "aKD" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ @@ -16248,7 +16189,7 @@ "aKT" = ( /obj/structure/closet/secure_closet/freezer/meat, /turf/open/floor/plasteel/showroomfloor, -/area/crew_quarters/kitchen) +/area/crew_quarters/kitchen/backroom) "aKU" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on, /turf/open/floor/plasteel, @@ -16263,7 +16204,7 @@ dir = 8 }, /turf/open/floor/plasteel, -/area/crew_quarters/kitchen) +/area/crew_quarters/kitchen/backroom) "aKW" = ( /obj/machinery/light_switch{ pixel_y = 28 @@ -16437,10 +16378,9 @@ /turf/open/floor/plasteel/dark, /area/chapel/main) "aLt" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 4 +/turf/open/floor/wood{ + icon_state = "wood-broken" }, -/turf/closed/wall, /area/maintenance/port/fore) "aLu" = ( /obj/machinery/door/airlock/engineering{ @@ -16732,13 +16672,13 @@ }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/showroomfloor, -/area/crew_quarters/kitchen) +/area/crew_quarters/kitchen/backroom) "aMl" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 8 }, /turf/open/floor/plasteel/showroomfloor, -/area/crew_quarters/kitchen) +/area/crew_quarters/kitchen/backroom) "aMm" = ( /obj/machinery/firealarm{ pixel_y = 24 @@ -16846,7 +16786,7 @@ "aMD" = ( /obj/machinery/icecream_vat, /turf/open/floor/plasteel/showroomfloor, -/area/crew_quarters/kitchen) +/area/crew_quarters/kitchen/backroom) "aME" = ( /obj/structure/disposalpipe/segment{ dir = 10 @@ -16858,7 +16798,7 @@ /area/hydroponics) "aMF" = ( /turf/open/floor/plasteel/showroomfloor, -/area/crew_quarters/kitchen) +/area/crew_quarters/kitchen/backroom) "aMG" = ( /obj/structure/closet/crate/hydroponics, /obj/item/shovel/spade, @@ -17152,7 +17092,7 @@ name = "Pete" }, /turf/open/floor/plasteel/showroomfloor, -/area/crew_quarters/kitchen) +/area/crew_quarters/kitchen/backroom) "aNL" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/closed/wall, @@ -17163,7 +17103,7 @@ dir = 8 }, /turf/open/floor/plasteel/showroomfloor, -/area/crew_quarters/kitchen) +/area/crew_quarters/kitchen/backroom) "aNN" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/public/glass{ @@ -17184,7 +17124,7 @@ }, /obj/machinery/vending/wardrobe/chef_wardrobe, /turf/open/floor/plasteel/showroomfloor, -/area/crew_quarters/kitchen) +/area/crew_quarters/kitchen/backroom) "aNP" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/wood, @@ -17572,7 +17512,7 @@ "aOI" = ( /obj/structure/kitchenspike, /turf/open/floor/plasteel/showroomfloor, -/area/crew_quarters/kitchen) +/area/crew_quarters/kitchen/backroom) "aOJ" = ( /obj/structure/chair/comfy/brown{ dir = 8 @@ -17594,14 +17534,14 @@ dir = 8 }, /turf/open/floor/plasteel/showroomfloor, -/area/crew_quarters/kitchen) +/area/crew_quarters/kitchen/backroom) "aON" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 8 }, /turf/open/floor/plasteel/showroomfloor, -/area/crew_quarters/kitchen) +/area/crew_quarters/kitchen/backroom) "aOO" = ( /obj/machinery/door/airlock{ name = "Bar Storage"; @@ -17638,7 +17578,7 @@ "aOT" = ( /obj/machinery/gibber, /turf/open/floor/plasteel/showroomfloor, -/area/crew_quarters/kitchen) +/area/crew_quarters/kitchen/backroom) "aOU" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 8 @@ -19256,11 +19196,11 @@ "aTs" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/closed/wall, -/area/security/vacantoffice) +/area/vacant_room/office) "aTt" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/closed/wall, -/area/security/vacantoffice) +/area/vacant_room/office) "aTu" = ( /obj/structure/disposalpipe/segment{ dir = 6 @@ -19571,11 +19511,11 @@ dir = 8 }, /turf/open/floor/wood, -/area/security/vacantoffice) +/area/vacant_room/office) "aUm" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/wood, -/area/security/vacantoffice) +/area/vacant_room/office) "aUn" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 6 @@ -19676,7 +19616,7 @@ dir = 4 }, /turf/open/floor/wood, -/area/security/vacantoffice) +/area/vacant_room/office) "aUz" = ( /obj/machinery/hydroponics/constructable, /obj/machinery/airalarm{ @@ -19689,7 +19629,7 @@ /obj/structure/table/wood, /obj/item/flashlight/lamp, /turf/open/floor/wood, -/area/security/vacantoffice) +/area/vacant_room/office) "aUB" = ( /obj/structure/bookcase/random/adult, /turf/open/floor/wood, @@ -19767,19 +19707,19 @@ }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/wood, -/area/security/vacantoffice) +/area/vacant_room/office) "aUO" = ( /turf/open/floor/wood, -/area/security/vacantoffice) +/area/vacant_room/office) "aUQ" = ( /obj/structure/table/wood, /turf/open/floor/wood, -/area/security/vacantoffice) +/area/vacant_room/office) "aUR" = ( /obj/structure/table/wood, /obj/item/pen/red, /turf/open/floor/wood, -/area/security/vacantoffice) +/area/vacant_room/office) "aUS" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable{ @@ -19805,7 +19745,7 @@ /obj/structure/table/wood, /obj/item/flashlight/lamp/green, /turf/open/floor/wood, -/area/security/vacantoffice) +/area/vacant_room/office) "aUX" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 8 @@ -20357,7 +20297,7 @@ dir = 4 }, /turf/open/floor/wood, -/area/security/vacantoffice) +/area/vacant_room/office) "aWg" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 5 @@ -20374,7 +20314,7 @@ dir = 8 }, /turf/open/floor/wood, -/area/security/vacantoffice) +/area/vacant_room/office) "aWj" = ( /obj/structure/grille, /obj/structure/window{ @@ -20405,7 +20345,7 @@ pixel_x = -28 }, /turf/open/floor/wood, -/area/security/vacantoffice) +/area/vacant_room/office) "aWn" = ( /obj/structure/closet/wardrobe/black, /obj/item/clothing/shoes/jackboots, @@ -20440,19 +20380,19 @@ dir = 8 }, /turf/open/floor/carpet, -/area/security/vacantoffice) +/area/vacant_room/office) "aWs" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 4 }, /turf/open/floor/carpet, -/area/security/vacantoffice) +/area/vacant_room/office) "aWt" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 4 }, /turf/open/floor/wood, -/area/security/vacantoffice) +/area/vacant_room/office) "aWu" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 6 @@ -21147,7 +21087,7 @@ /area/security/detectives_office) "aXL" = ( /turf/open/floor/carpet, -/area/security/vacantoffice) +/area/vacant_room/office) "aXM" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -21167,7 +21107,7 @@ }, /obj/structure/filingcabinet/chestdrawer, /turf/open/floor/wood, -/area/security/vacantoffice) +/area/vacant_room/office) "aXP" = ( /obj/machinery/portable_atmospherics/canister/air, /turf/open/floor/plating, @@ -21231,7 +21171,7 @@ dir = 4 }, /turf/open/floor/wood, -/area/security/vacantoffice) +/area/vacant_room/office) "aXY" = ( /obj/structure/chair/office/dark, /obj/machinery/atmospherics/pipe/simple/supply/hidden, @@ -21239,13 +21179,13 @@ dir = 4 }, /turf/open/floor/wood, -/area/security/vacantoffice) +/area/vacant_room/office) "aXZ" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/open/floor/carpet, -/area/security/vacantoffice) +/area/vacant_room/office) "aYb" = ( /obj/structure/cable{ icon_state = "4-8" @@ -21284,7 +21224,7 @@ dir = 4 }, /turf/open/floor/wood, -/area/security/vacantoffice) +/area/vacant_room/office) "aYe" = ( /obj/machinery/light_switch{ pixel_y = 28 @@ -21750,7 +21690,7 @@ /obj/item/folder/blue, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/wood, -/area/security/vacantoffice) +/area/vacant_room/office) "aZo" = ( /obj/structure/sink{ dir = 4; @@ -22273,7 +22213,7 @@ /obj/structure/table/wood, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/wood, -/area/security/vacantoffice) +/area/vacant_room/office) "baI" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 4 @@ -22286,7 +22226,7 @@ pixel_y = -29 }, /turf/open/floor/wood, -/area/security/vacantoffice) +/area/vacant_room/office) "baK" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -22632,7 +22572,7 @@ /area/hallway/secondary/exit) "bbI" = ( /obj/machinery/power/apc{ - areastring = "/area/security/vacantoffice"; + areastring = "/area/vacant_room/office"; dir = 8; name = "Vacant Office APC"; pixel_x = -24 @@ -23076,14 +23016,10 @@ /turf/open/floor/carpet, /area/bridge/meeting_room) "bdb" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/white/side, /area/hallway/primary/starboard) "bdc" = ( -/obj/structure/extinguisher_cabinet{ - pixel_y = -30 - }, -/obj/machinery/light, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/white/corner, /area/hallway/primary/starboard) "bdd" = ( @@ -23152,13 +23088,13 @@ /area/crew_quarters/heads/captain) "bdl" = ( /obj/structure/disposalpipe/segment, -/obj/structure/cable{ - icon_state = "2-8" - }, /obj/structure/cable{ icon_state = "2-4" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable{ + icon_state = "2-8" + }, /turf/open/floor/plasteel, /area/hallway/primary/starboard) "bdm" = ( @@ -23199,11 +23135,20 @@ /turf/open/floor/plasteel, /area/hallway/primary/starboard) "bdr" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 10 +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/turf/open/floor/plasteel, -/area/hallway/primary/starboard) +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plating, +/area/maintenance/department/medical/morgue) "bds" = ( /obj/machinery/camera{ c_tag = "Starboard Primary Hallway 4"; @@ -23381,13 +23326,9 @@ /turf/open/floor/plasteel/cafeteria, /area/crew_quarters/locker) "bdN" = ( -/obj/machinery/door/airlock/medical{ - name = "Morgue"; - req_access_txt = "6" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/dark, -/area/medical/morgue) +/obj/effect/spawner/structure/window, +/turf/open/floor/plating, +/area/medical/surgery) "bdO" = ( /obj/machinery/door/airlock/maintenance{ req_access_txt = "12" @@ -23700,8 +23641,13 @@ }, /area/hallway/primary/starboard) "bez" = ( +/obj/machinery/power/apc{ + areastring = "/area/hallway/primary/starboard"; + name = "Starboard Primary Hallway APC"; + pixel_y = -24 + }, /obj/structure/cable{ - icon_state = "2-4" + icon_state = "0-4" }, /turf/open/floor/plasteel, /area/hallway/primary/starboard) @@ -23916,7 +23862,7 @@ /turf/open/floor/plasteel, /area/hallway/primary/central) "beY" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 4 }, /turf/open/floor/plasteel/dark, @@ -24142,11 +24088,11 @@ "bfG" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, -/area/medical/medbay/central) +/area/medical/medbay/lobby) "bfH" = ( /obj/structure/sign/departments/medbay/alt, /turf/closed/wall, -/area/medical/medbay/central) +/area/medical/medbay/lobby) "bfI" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 4 @@ -24176,18 +24122,9 @@ /turf/open/floor/plasteel, /area/quartermaster/sorting) "bfO" = ( -/obj/structure/closet/emcloset, -/turf/open/floor/plasteel, -/area/hallway/primary/starboard) -"bfP" = ( -/obj/machinery/power/apc{ - areastring = "/area/hallway/primary/starboard"; - name = "Starboard Primary Hallway APC"; - pixel_y = -24 - }, -/obj/structure/cable, -/turf/open/floor/plasteel, -/area/hallway/primary/starboard) +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/medical/paramedic) "bfQ" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -24372,22 +24309,22 @@ /obj/structure/cable{ icon_state = "1-2" }, +/obj/structure/cable{ + icon_state = "0-2" + }, /obj/machinery/power/apc{ areastring = "/area/science/robotics/mechbay"; dir = 4; name = "Mech Bay APC"; pixel_x = 26 }, -/obj/structure/cable{ - icon_state = "0-2" - }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plating, /area/maintenance/department/medical/morgue) "bgp" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on, /turf/open/floor/plasteel/white, -/area/science/research) +/area/science) "bgq" = ( /obj/structure/cable{ icon_state = "4-8" @@ -24563,7 +24500,7 @@ dir = 8 }, /turf/open/floor/plasteel/white, -/area/medical/medbay/central) +/area/medical/medbay/lobby) "bgS" = ( /obj/structure/cable{ icon_state = "4-8" @@ -24676,7 +24613,7 @@ "bhe" = ( /obj/structure/chair, /turf/open/floor/plasteel/white, -/area/medical/medbay/central) +/area/medical/medbay/lobby) "bhg" = ( /obj/effect/turf_decal/tile/blue, /obj/effect/turf_decal/tile/blue{ @@ -24750,25 +24687,9 @@ /turf/open/floor/plasteel, /area/security/checkpoint/medical) "bhm" = ( -/turf/open/floor/plasteel/dark, -/area/medical/morgue) -"bhn" = ( -/obj/structure/table, -/obj/item/storage/box/bodybags, -/obj/item/pen, -/obj/machinery/light/small{ - dir = 8 +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 }, -/turf/open/floor/plasteel/dark, -/area/medical/morgue) -"bho" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/bodycontainer/morgue{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/medical/morgue) -"bhp" = ( /obj/machinery/power/apc{ areastring = "/area/medical/morgue"; dir = 1; @@ -24780,18 +24701,50 @@ }, /turf/open/floor/plasteel/dark, /area/medical/morgue) -"bhq" = ( +"bhn" = ( /obj/machinery/light/small{ - dir = 4 + dir = 8 + }, +/obj/structure/bodycontainer/morgue, +/turf/open/floor/plasteel/dark, +/area/medical/morgue) +"bho" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "4-8" }, /turf/open/floor/plasteel/dark, /area/medical/morgue) -"bhr" = ( -/obj/machinery/door/airlock{ - name = "Starboard Emergency Storage" +"bhp" = ( +/obj/effect/turf_decal/trimline/blue/filled/corner, +/obj/structure/cable{ + icon_state = "0-2" }, -/turf/open/floor/plating, -/area/storage/emergency/starboard) +/obj/machinery/power/apc{ + areastring = "/area/medical/paramedic"; + dir = 8; + name = "Paramedic's Office APC"; + pixel_x = -26 + }, +/obj/machinery/computer/crew{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/paramedic) +"bhq" = ( +/obj/effect/turf_decal/trimline/blue/filled/line, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/obj/effect/landmark/start/paramedic, +/obj/structure/chair/stool, +/turf/open/floor/plasteel/dark, +/area/medical/paramedic) +"bhr" = ( +/turf/closed/wall, +/area/crew_quarters/kitchen/backroom) "bhs" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on, /turf/open/floor/plasteel, @@ -24882,7 +24835,7 @@ /area/science/robotics/lab) "bhA" = ( /turf/closed/wall, -/area/science/research) +/area/science) "bhB" = ( /obj/effect/mapping_helpers/airlock/cyclelink_helper, /obj/machinery/door/airlock/research{ @@ -24890,7 +24843,7 @@ req_access_txt = "47" }, /turf/open/floor/plasteel/white, -/area/science/research) +/area/science) "bhC" = ( /obj/machinery/door/poddoor/shutters/preopen{ id = "rnd"; @@ -24898,7 +24851,7 @@ }, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, -/area/science/lab) +/area/science/research) "bhD" = ( /obj/structure/table/reinforced, /obj/machinery/door/window/southright{ @@ -24910,7 +24863,7 @@ name = "research lab shutters" }, /turf/open/floor/plating, -/area/science/lab) +/area/science/research) "bhE" = ( /obj/structure/table, /obj/item/stack/sheet/glass/fifty{ @@ -24920,7 +24873,7 @@ /obj/item/stack/sheet/metal/fifty, /obj/item/clothing/glasses/welding, /turf/open/floor/plasteel/white, -/area/science/lab) +/area/science/research) "bhF" = ( /obj/structure/table, /obj/item/storage/toolbox/mechanical{ @@ -24935,7 +24888,7 @@ dir = 1 }, /turf/open/floor/plasteel/white, -/area/science/lab) +/area/science/research) "bhG" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/closed/wall, @@ -25049,13 +25002,13 @@ "bhU" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/white, -/area/science/research) +/area/science) "bhV" = ( /obj/structure/disposalpipe/segment{ dir = 6 }, /turf/open/floor/plasteel/white, -/area/science/lab) +/area/science/research) "bhW" = ( /obj/machinery/door/poddoor/shutters{ id = "qm_warehouse"; @@ -25102,7 +25055,7 @@ pixel_x = 29 }, /turf/open/floor/plasteel/white, -/area/science/lab) +/area/science/research) "bic" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -25263,7 +25216,7 @@ dir = 1 }, /turf/open/floor/plasteel/white, -/area/medical/medbay/central) +/area/medical/medbay/lobby) "biu" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/white, @@ -25318,22 +25271,32 @@ /turf/open/floor/plating, /area/quartermaster/storage) "biB" = ( -/obj/structure/cable{ - icon_state = "1-2" +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 4 }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/item/cigbutt{ + pixel_x = 10; + pixel_y = 17 + }, +/obj/effect/landmark/start/paramedic, /turf/open/floor/plasteel/dark, -/area/medical/morgue) +/area/medical/paramedic) "biC" = ( -/turf/open/floor/plating, -/area/storage/emergency/starboard) +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/closed/wall, +/area/crew_quarters/kitchen/backroom) "biD" = ( -/obj/item/storage/box/lights/mixed, +/obj/machinery/portable_atmospherics/canister/air, /turf/open/floor/plating, /area/storage/emergency/starboard) "biE" = ( -/obj/machinery/light/small{ - dir = 1 - }, +/obj/structure/reagent_dispensers/watertank, /obj/item/extinguisher, /turf/open/floor/plating, /area/storage/emergency/starboard) @@ -25459,7 +25422,7 @@ dir = 9 }, /turf/open/floor/plasteel/white, -/area/science/research) +/area/science) "biS" = ( /obj/machinery/camera{ c_tag = "Research Division Access" @@ -25472,7 +25435,7 @@ dir = 5 }, /turf/open/floor/plasteel/white, -/area/science/research) +/area/science) "biT" = ( /obj/structure/disposalpipe/segment{ dir = 5 @@ -25490,7 +25453,7 @@ dir = 4 }, /turf/open/floor/plasteel/white, -/area/science/lab) +/area/science/research) "biV" = ( /obj/structure/chair/stool, /obj/effect/landmark/start/scientist, @@ -25501,10 +25464,10 @@ dir = 4 }, /turf/open/floor/plasteel/white, -/area/science/lab) +/area/science/research) "biW" = ( /turf/open/floor/plasteel/white, -/area/science/lab) +/area/science/research) "biX" = ( /obj/machinery/camera{ c_tag = "Research and Development"; @@ -25522,7 +25485,7 @@ dir = 1 }, /turf/open/floor/plasteel/white, -/area/science/lab) +/area/science/research) "biY" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable{ @@ -25895,7 +25858,7 @@ /obj/machinery/holopad, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/white, -/area/medical/medbay/central) +/area/medical/medbay/lobby) "bjT" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, /obj/effect/turf_decal/tile/blue, @@ -25903,14 +25866,14 @@ dir = 8 }, /turf/open/floor/plasteel/white, -/area/medical/medbay/central) +/area/medical/medbay/lobby) "bjU" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 6 }, /obj/effect/turf_decal/tile/blue, /turf/open/floor/plasteel/white, -/area/medical/medbay/central) +/area/medical/medbay/lobby) "bjV" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -25920,7 +25883,7 @@ dir = 8 }, /turf/open/floor/plasteel/white, -/area/medical/medbay/central) +/area/medical/medbay/lobby) "bjX" = ( /obj/structure/table, /obj/machinery/recharger{ @@ -25954,38 +25917,36 @@ dir = 10 }, /turf/open/floor/plasteel/white, -/area/science/research) +/area/science) "bka" = ( /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/stripes/line{ dir = 8 }, /turf/open/floor/plasteel/white, -/area/science/lab) +/area/science/research) "bkb" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 1 + }, +/obj/structure/table/glass, +/obj/item/flashlight/lamp{ + pixel_x = -2; + pixel_y = 11 + }, +/obj/item/folder/white, +/obj/item/pen, +/turf/open/floor/plasteel/dark, +/area/medical/paramedic) +"bkd" = ( /obj/machinery/camera{ c_tag = "Medbay Morgue"; dir = 8; network = list("ss13","medbay") }, -/obj/machinery/airalarm{ - dir = 8; - pixel_x = 24 - }, +/obj/machinery/suit_storage_unit/paramedic, /turf/open/floor/plasteel/dark, -/area/medical/morgue) -"bkc" = ( -/obj/machinery/space_heater, -/turf/open/floor/plating, -/area/storage/emergency/starboard) -"bkd" = ( -/obj/machinery/portable_atmospherics/canister/air, -/turf/open/floor/plating, -/area/storage/emergency/starboard) -"bkf" = ( -/obj/structure/reagent_dispensers/watertank, -/turf/open/floor/plating, -/area/storage/emergency/starboard) +/area/medical/paramedic) "bkh" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/circuit, @@ -26006,7 +25967,7 @@ pixel_x = 24 }, /turf/open/floor/plasteel/white, -/area/science/lab) +/area/science/research) "bkj" = ( /obj/structure/closet/emcloset, /obj/machinery/airalarm{ @@ -26071,7 +26032,7 @@ dir = 8 }, /turf/open/floor/plasteel/white, -/area/science/research) +/area/science) "bkr" = ( /obj/machinery/shower{ dir = 8 @@ -26083,7 +26044,7 @@ dir = 4 }, /turf/open/floor/plasteel/white, -/area/science/research) +/area/science) "bks" = ( /obj/machinery/requests_console{ department = "Science"; @@ -26093,7 +26054,7 @@ receive_ore_updates = 1 }, /turf/open/floor/plasteel/white, -/area/science/lab) +/area/science/research) "bkt" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 8 @@ -26111,7 +26072,7 @@ dir = 4 }, /turf/open/floor/plasteel/white, -/area/science/lab) +/area/science/research) "bkw" = ( /obj/structure/disposalpipe/segment, /obj/machinery/light{ @@ -26264,8 +26225,14 @@ /obj/structure/cable{ icon_state = "4-8" }, -/obj/machinery/light/small, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/airalarm{ + dir = 1; + pixel_y = -24 + }, /turf/open/floor/plasteel/dark, /area/medical/morgue) "bkR" = ( @@ -26278,8 +26245,9 @@ /obj/machinery/light_switch{ pixel_y = -25 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/obj/structure/cable{ + icon_state = "1-4" }, /turf/open/floor/plasteel/dark, /area/medical/morgue) @@ -26302,21 +26270,11 @@ /turf/open/floor/plating, /area/maintenance/central) "bkU" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 +/obj/structure/closet/emcloset, +/turf/open/floor/plasteel/white/corner{ + dir = 1 }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on, -/turf/open/floor/plasteel/dark, -/area/medical/morgue) +/area/hallway/primary/starboard) "bkV" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable{ @@ -26380,6 +26338,10 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, +/obj/machinery/door/airlock/maintenance{ + name = "Morgue Maintenance"; + req_access_txt = "6" + }, /turf/open/floor/plasteel/dark, /area/medical/morgue) "blb" = ( @@ -26429,21 +26391,11 @@ /turf/open/floor/plasteel/white, /area/medical/chemistry) "blg" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 }, -/obj/machinery/door/airlock/maintenance{ - name = "Morgue Maintenance"; - req_access_txt = "6" - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plating, -/area/maintenance/department/medical/morgue) +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) "blh" = ( /obj/structure/table/reinforced, /obj/machinery/door/window/eastright{ @@ -26475,7 +26427,7 @@ dir = 4 }, /turf/open/floor/plasteel/white, -/area/medical/medbay/central) +/area/medical/medbay/lobby) "bll" = ( /obj/structure/table/reinforced, /obj/item/folder/white, @@ -26501,26 +26453,12 @@ /turf/open/floor/plasteel/white, /area/medical/medbay/central) "blo" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/power/apc{ - areastring = "/area/storage/emergency/starboard"; - dir = 1; - name = "Starboard Emergency Storage APC"; - pixel_y = 24 - }, -/obj/structure/cable{ - icon_state = "0-4" - }, +/obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, -/turf/open/floor/plating, -/area/maintenance/department/medical/morgue) +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) "blp" = ( /obj/machinery/power/apc{ areastring = "/area/security/checkpoint/medical"; @@ -26555,8 +26493,13 @@ /turf/open/floor/plating, /area/maintenance/department/medical/morgue) "blr" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 4 +/obj/structure/bodycontainer/morgue{ + dir = 8 + }, +/obj/machinery/camera{ + c_tag = "Medbay Morgue"; + dir = 6; + network = list("ss13","medbay") }, /turf/open/floor/plasteel/dark, /area/medical/morgue) @@ -26709,31 +26652,31 @@ dir = 6 }, /turf/open/floor/plasteel/white, -/area/science/research) +/area/science) "blI" = ( /obj/machinery/rnd/destructive_analyzer, /obj/effect/turf_decal/stripes/line{ dir = 1 }, /turf/open/floor/plasteel, -/area/science/lab) +/area/science/research) "blJ" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 }, /obj/machinery/rnd/production/protolathe/department/science, /turf/open/floor/plasteel, -/area/science/lab) +/area/science/research) "blK" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 }, /turf/open/floor/plasteel, -/area/science/lab) +/area/science/research) "blL" = ( /obj/machinery/holopad, /turf/open/floor/plasteel/white, -/area/science/lab) +/area/science/research) "blM" = ( /obj/effect/turf_decal/bot, /obj/effect/landmark/start/cyborg, @@ -26800,7 +26743,7 @@ }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/white, -/area/science/research) +/area/science) "blY" = ( /obj/structure/closet/emcloset, /obj/effect/turf_decal/stripes/line{ @@ -26815,7 +26758,7 @@ dir = 8 }, /turf/open/floor/plasteel/white, -/area/science/lab) +/area/science/research) "bma" = ( /obj/structure/table/glass, /obj/item/stock_parts/manipulator, @@ -26834,7 +26777,7 @@ pixel_x = 24 }, /turf/open/floor/plasteel/white, -/area/science/lab) +/area/science/research) "bmb" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -27100,7 +27043,7 @@ pixel_x = -24 }, /turf/open/floor/plasteel/white, -/area/medical/medbay/central) +/area/medical/medbay/lobby) "bmK" = ( /obj/structure/table/reinforced, /turf/open/floor/plasteel/white, @@ -27171,13 +27114,11 @@ /turf/open/floor/plasteel, /area/quartermaster/office) "bmR" = ( -/obj/structure/table, -/obj/item/paper/guides/jobs/medical/morgue{ - pixel_x = 5; - pixel_y = 4 +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 }, -/turf/open/floor/plasteel/dark, -/area/medical/morgue) +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) "bmS" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel, @@ -27205,15 +27146,15 @@ /turf/open/floor/plasteel/dark, /area/medical/morgue) "bmW" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 6 +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 8 }, /turf/closed/wall, /area/medical/morgue) "bmX" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, -/turf/closed/wall/r_wall, -/area/medical/genetics) +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel, +/area/hallway/primary/starboard) "bmY" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -27256,7 +27197,7 @@ dir = 1 }, /turf/open/floor/plasteel/white, -/area/science/lab) +/area/science/research) "bng" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 4 @@ -27265,13 +27206,13 @@ dir = 1 }, /turf/open/floor/plasteel/white, -/area/science/lab) +/area/science/research) "bnh" = ( /obj/structure/cable{ icon_state = "4-8" }, /turf/open/floor/plasteel/white, -/area/science/lab) +/area/science/research) "bni" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -27319,7 +27260,7 @@ dir = 4 }, /turf/open/floor/plasteel/white, -/area/science/lab) +/area/science/research) "bnl" = ( /obj/item/stack/sheet/glass, /obj/structure/table/glass, @@ -27336,7 +27277,7 @@ }, /obj/item/stock_parts/scanning_module, /obj/machinery/power/apc{ - areastring = "/area/science/lab"; + areastring = "/area/science/research"; dir = 4; name = "Research Lab APC"; pixel_x = 26 @@ -27345,38 +27286,38 @@ icon_state = "0-8" }, /turf/open/floor/plasteel/white, -/area/science/lab) +/area/science/research) "bnm" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/closed/wall/r_wall, -/area/science/research) +/area/science) "bnn" = ( /obj/machinery/computer/rdconsole/core{ dir = 4 }, /turf/open/floor/plasteel, -/area/science/lab) +/area/science/research) "bno" = ( /obj/item/reagent_containers/glass/beaker/sulphuric, /obj/machinery/rnd/production/circuit_imprinter/department/science, /turf/open/floor/plasteel, -/area/science/lab) +/area/science/research) "bnp" = ( /turf/open/floor/plasteel, -/area/science/lab) +/area/science/research) "bnq" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, /turf/closed/wall, -/area/science/lab) +/area/science/research) "bnr" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 5 }, /obj/structure/plasticflaps/opaque, /turf/open/floor/plating, -/area/science/lab) +/area/science/research) "bns" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -27890,7 +27831,7 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, -/area/science/research) +/area/science) "box" = ( /turf/closed/wall, /area/science/robotics/lab) @@ -27903,7 +27844,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, -/area/science/research) +/area/science) "boz" = ( /obj/machinery/door/firedoor/heavy, /obj/machinery/door/poddoor/preopen{ @@ -27912,16 +27853,16 @@ }, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, -/area/science/research) +/area/science) "boA" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 }, /turf/open/floor/plasteel/white, -/area/science/lab) +/area/science/research) "boB" = ( /turf/closed/wall, -/area/science/lab) +/area/science/research) "boC" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/closed/wall/r_wall, @@ -28004,7 +27945,7 @@ /area/science/robotics/lab) "boM" = ( /turf/open/floor/plasteel/white/corner, -/area/science/research) +/area/science) "boN" = ( /obj/effect/turf_decal/tile/brown{ dir = 1 @@ -28014,18 +27955,18 @@ "boO" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/white/side, -/area/science/research) +/area/science) "boP" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/white, -/area/science/lab) +/area/science/research) "boQ" = ( /obj/structure/table, /obj/machinery/cell_charger, /obj/item/stock_parts/cell/high/plus, /obj/item/stock_parts/cell/high/plus, /turf/open/floor/plasteel/white, -/area/science/lab) +/area/science/research) "boR" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -28208,7 +28149,7 @@ icon_state = "1-2" }, /turf/open/floor/plasteel/white, -/area/science/lab) +/area/science/research) "bpp" = ( /obj/machinery/door/window/eastright{ base_state = "left"; @@ -28219,7 +28160,7 @@ }, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, -/area/science/lab) +/area/science/research) "bpq" = ( /obj/machinery/light_switch{ pixel_y = -23 @@ -28228,7 +28169,7 @@ dir = 8 }, /turf/open/floor/plasteel/white, -/area/science/lab) +/area/science/research) "bpr" = ( /obj/machinery/navbeacon{ codes_txt = "delivery;dir=8"; @@ -28238,7 +28179,7 @@ }, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, -/area/science/lab) +/area/science/research) "bps" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 5 @@ -28497,7 +28438,7 @@ /turf/open/floor/plasteel/white/corner{ dir = 8 }, -/area/science/research) +/area/science) "bpY" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -28512,7 +28453,7 @@ /obj/item/disk/design_disk, /obj/item/disk/design_disk, /turf/open/floor/plasteel/white, -/area/science/lab) +/area/science/research) "bqa" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -28546,7 +28487,7 @@ }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/white, -/area/science/lab) +/area/science/research) "bqg" = ( /obj/machinery/atmospherics/components/binary/valve{ dir = 1 @@ -28591,7 +28532,7 @@ }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/white, -/area/science/lab) +/area/science/research) "bql" = ( /obj/machinery/conveyor{ dir = 4; @@ -28884,6 +28825,9 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 9 }, +/obj/structure/cable{ + icon_state = "2-4" + }, /turf/open/floor/plasteel/white, /area/medical/medbay/central) "bqY" = ( @@ -28996,7 +28940,7 @@ /turf/open/floor/plasteel/white/side{ dir = 9 }, -/area/science/research) +/area/science) "brn" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -29006,7 +28950,7 @@ dir = 4 }, /turf/open/floor/plasteel/white, -/area/science/research) +/area/science) "bro" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -29017,7 +28961,7 @@ /turf/open/floor/plasteel/white/side{ dir = 10 }, -/area/science/research) +/area/science) "brp" = ( /obj/structure/disposalpipe/segment{ dir = 9 @@ -29027,7 +28971,7 @@ }, /obj/machinery/atmospherics/pipe/manifold/supply/hidden, /turf/open/floor/plasteel/white, -/area/science/research) +/area/science) "brq" = ( /obj/effect/turf_decal/stripes/line, /obj/machinery/button/door{ @@ -29068,7 +29012,7 @@ /turf/open/floor/plasteel/white/side{ dir = 9 }, -/area/science/research) +/area/science) "bru" = ( /obj/machinery/firealarm{ pixel_y = 24 @@ -29115,7 +29059,7 @@ }, /obj/effect/spawner/structure/window, /turf/open/floor/plating, -/area/science/lab) +/area/science/research) "bry" = ( /obj/machinery/door/airlock/maintenance{ name = "Experimentation Lab Maintenance"; @@ -29535,17 +29479,17 @@ /turf/open/floor/plasteel/white/side{ dir = 5 }, -/area/science/research) +/area/science) "bsA" = ( /obj/machinery/atmospherics/pipe/manifold4w/scrubbers, /turf/open/floor/plasteel/white/side{ dir = 9 }, -/area/science/research) +/area/science) "bsC" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, /turf/open/floor/plasteel/white, -/area/science/research) +/area/science) "bsD" = ( /obj/structure/cable{ icon_state = "1-4" @@ -29554,7 +29498,7 @@ dir = 4 }, /turf/open/floor/plasteel/white, -/area/science/research) +/area/science) "bsE" = ( /obj/structure/cable{ icon_state = "4-8" @@ -29676,11 +29620,11 @@ /turf/open/floor/plasteel/white, /area/science/robotics/lab) "bsU" = ( -/obj/structure/table/optable{ - name = "Robotics Operating Table" +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 }, -/obj/item/surgical_drapes, -/turf/open/floor/plating, +/mob/living/simple_animal/hostile/retaliate/ghost, +/turf/open/floor/wood, /area/maintenance/port/fore) "bsV" = ( /obj/structure/cable{ @@ -29701,7 +29645,7 @@ /turf/open/floor/plasteel/white/side{ dir = 5 }, -/area/science/research) +/area/science) "bsY" = ( /obj/structure/chair/office/dark{ dir = 4 @@ -29717,7 +29661,7 @@ dir = 8 }, /turf/open/floor/plasteel/white, -/area/science/research) +/area/science) "bta" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -29729,7 +29673,7 @@ dir = 4 }, /turf/open/floor/plasteel/white, -/area/science/research) +/area/science) "btb" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -29741,7 +29685,7 @@ dir = 4 }, /turf/open/floor/plasteel/white, -/area/science/research) +/area/science) "btc" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 1 @@ -29762,7 +29706,7 @@ /turf/open/floor/plasteel/white/side{ dir = 6 }, -/area/science/research) +/area/science) "btf" = ( /obj/machinery/requests_console{ department = "Medbay"; @@ -29773,10 +29717,6 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/white, /area/medical/medbay/central) -"btg" = ( -/obj/machinery/door/firedoor, -/turf/open/floor/plasteel/white, -/area/medical/sleeper) "bth" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -29785,7 +29725,7 @@ icon_state = "plant-16" }, /turf/open/floor/plasteel/white, -/area/science/research) +/area/science) "bti" = ( /obj/structure/closet/wardrobe/grey, /obj/item/clothing/head/beret/black, @@ -29831,7 +29771,7 @@ dir = 4 }, /turf/closed/wall/r_wall, -/area/science/research) +/area/science) "bto" = ( /obj/structure/disposalpipe/segment{ dir = 10 @@ -29931,7 +29871,7 @@ dir = 8 }, /turf/open/floor/plasteel/white, -/area/science/research) +/area/science) "btx" = ( /obj/machinery/door/firedoor/heavy, /obj/machinery/door/poddoor/preopen{ @@ -29943,7 +29883,7 @@ }, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, -/area/science/research) +/area/science) "bty" = ( /obj/structure/chair{ dir = 8 @@ -29966,7 +29906,7 @@ dir = 4 }, /turf/open/floor/plasteel/white, -/area/science/research) +/area/science) "btB" = ( /obj/machinery/computer/bounty{ dir = 4 @@ -30099,7 +30039,7 @@ dir = 4 }, /turf/open/floor/plasteel/white, -/area/science/research) +/area/science) "btQ" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -30107,7 +30047,7 @@ /turf/open/floor/plasteel/white/side{ dir = 10 }, -/area/science/research) +/area/science) "btR" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, @@ -30121,7 +30061,7 @@ dir = 4 }, /turf/open/floor/plasteel/white, -/area/science/research) +/area/science) "btT" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -30136,7 +30076,7 @@ dir = 1 }, /turf/open/floor/plasteel/white, -/area/science/research) +/area/science) "btV" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -30150,7 +30090,7 @@ /turf/open/floor/plasteel/white/side{ dir = 5 }, -/area/science/research) +/area/science) "btX" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -30275,7 +30215,7 @@ /turf/open/floor/plasteel/white/side{ dir = 8 }, -/area/medical/sleeper) +/area/medical/medbay/central) "bul" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 4 @@ -30301,7 +30241,7 @@ dir = 4 }, /turf/open/floor/plasteel/white, -/area/science/research) +/area/science) "bup" = ( /obj/machinery/light, /obj/structure/cable{ @@ -30311,7 +30251,7 @@ dir = 4 }, /turf/open/floor/plasteel/white, -/area/science/research) +/area/science) "buq" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -30339,7 +30279,7 @@ dir = 4 }, /turf/open/floor/plasteel/white, -/area/science/research) +/area/science) "but" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -30492,7 +30432,7 @@ dir = 8 }, /turf/open/floor/plasteel/white, -/area/science/research) +/area/science) "buI" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 8 @@ -30579,7 +30519,7 @@ dir = 8 }, /turf/open/floor/plasteel/white, -/area/science/research) +/area/science) "buU" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -30597,7 +30537,7 @@ }, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, -/area/science/research) +/area/science) "buV" = ( /obj/effect/turf_decal/stripes/line{ dir = 6 @@ -30655,7 +30595,7 @@ dir = 4 }, /turf/open/floor/plasteel/white, -/area/science/research) +/area/science) "bvc" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -30668,13 +30608,13 @@ dir = 4 }, /turf/open/floor/plasteel/white, -/area/science/research) +/area/science) "bvd" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/closed/wall, -/area/medical/sleeper) +/area/medical/surgery) "bve" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -30689,7 +30629,7 @@ dir = 1 }, /turf/open/floor/plasteel/white, -/area/science/research) +/area/science) "bvf" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/atmospherics/components/unary/vent_pump/on{ @@ -30698,7 +30638,7 @@ /turf/open/floor/plasteel/white/side{ dir = 9 }, -/area/science/research) +/area/science) "bvg" = ( /obj/structure/disposalpipe/segment{ dir = 9 @@ -30708,23 +30648,16 @@ }, /obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, /turf/open/floor/plasteel/white, -/area/science/research) -"bvh" = ( -/obj/effect/spawner/structure/window, -/turf/open/floor/plating, -/area/medical/sleeper) +/area/science) "bvi" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/closed/wall, -/area/medical/sleeper) -"bvj" = ( -/turf/closed/wall, -/area/medical/sleeper) +/area/medical/surgery) "bvk" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/white, -/area/medical/medbay/central) +/area/medical/medbay/lobby) "bvl" = ( /obj/machinery/door/airlock/medical/glass{ name = "Surgery Observation" @@ -30732,11 +30665,11 @@ /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/dark, -/area/medical/sleeper) +/area/medical/surgery) "bvm" = ( /obj/machinery/holopad, /turf/open/floor/plasteel/white, -/area/medical/sleeper) +/area/medical/medbay/central) "bvn" = ( /obj/machinery/button/door{ desc = "A remote control switch for the genetics doors."; @@ -30824,7 +30757,7 @@ /area/medical/genetics) "bvx" = ( /turf/closed/wall/r_wall, -/area/science/research) +/area/science) "bvy" = ( /obj/machinery/camera{ c_tag = "Genetics Research"; @@ -30885,7 +30818,7 @@ }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/white, -/area/science/research) +/area/science) "bvE" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -30893,7 +30826,7 @@ /turf/open/floor/plasteel/white/side{ dir = 6 }, -/area/science/research) +/area/science) "bvF" = ( /obj/machinery/requests_console{ department = "Cargo Bay"; @@ -30930,7 +30863,7 @@ /turf/open/floor/plasteel/white/side{ dir = 9 }, -/area/science/research) +/area/science) "bvI" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable{ @@ -31229,11 +31162,11 @@ c_tag = "Surgery Observation"; network = list("ss13","medbay") }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 4 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 9 }, /turf/open/floor/plasteel/dark, -/area/medical/sleeper) +/area/medical/surgery) "bwx" = ( /obj/machinery/door/window/eastleft{ name = "Medical Delivery"; @@ -31252,18 +31185,20 @@ dir = 4 }, /turf/open/floor/plasteel/dark, -/area/medical/sleeper) +/area/medical/surgery) "bwD" = ( /obj/machinery/sleeper{ dir = 8 }, /turf/open/floor/plasteel, -/area/medical/sleeper) +/area/medical/medbay/central) "bwE" = ( /obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, /turf/open/floor/plasteel/dark, -/area/medical/sleeper) +/area/medical/surgery) "bwF" = ( /obj/structure/table/glass, /obj/item/reagent_containers/glass/beaker/cryoxadone{ @@ -31275,20 +31210,20 @@ pixel_y = 1 }, /turf/open/floor/plasteel, -/area/medical/sleeper) +/area/medical/medbay/central) "bwG" = ( /obj/structure/sign/warning/nosmoking, /turf/closed/wall, -/area/medical/sleeper) +/area/medical/medbay/central) "bwH" = ( /obj/structure/table, /obj/machinery/cell_charger, /turf/open/floor/plasteel, -/area/medical/sleeper) +/area/medical/medbay/central) "bwI" = ( /obj/machinery/atmospherics/components/unary/cryo_cell, /turf/open/floor/plasteel, -/area/medical/sleeper) +/area/medical/medbay/central) "bwJ" = ( /obj/structure/table/glass, /obj/machinery/camera{ @@ -31298,7 +31233,7 @@ /obj/item/reagent_containers/glass/beaker/cryoxadone, /obj/item/reagent_containers/glass/beaker/cryoxadone, /turf/open/floor/plasteel, -/area/medical/sleeper) +/area/medical/medbay/central) "bwK" = ( /obj/structure/extinguisher_cabinet{ pixel_x = 27 @@ -31366,7 +31301,7 @@ /turf/open/floor/plasteel/white/side{ dir = 9 }, -/area/science/research) +/area/science) "bwQ" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -31479,31 +31414,27 @@ /area/security/checkpoint/supply) "bwZ" = ( /obj/structure/chair, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/dark, -/area/medical/sleeper) +/area/medical/surgery) "bxa" = ( /obj/structure/chair, /obj/structure/sign/warning/nosmoking{ pixel_x = -28 }, /turf/open/floor/plasteel/dark, -/area/medical/sleeper) +/area/medical/surgery) "bxb" = ( /obj/structure/chair, /obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 8 + dir = 4 }, /turf/open/floor/plasteel/dark, -/area/medical/sleeper) +/area/medical/surgery) "bxc" = ( /obj/machinery/holopad, /obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 8 - }, /turf/open/floor/plasteel/dark, -/area/medical/sleeper) +/area/medical/surgery) "bxd" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -31515,7 +31446,7 @@ dir = 4 }, /turf/open/floor/plasteel/white, -/area/science/research) +/area/science) "bxe" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -31528,7 +31459,7 @@ }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/white, -/area/science/research) +/area/science) "bxf" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -31542,7 +31473,7 @@ /turf/open/floor/plasteel/white/side{ dir = 5 }, -/area/science/research) +/area/science) "bxg" = ( /obj/structure/reagent_dispensers/watertank, /obj/effect/decal/cleanable/cobweb/cobweb2, @@ -31763,7 +31694,7 @@ /turf/open/floor/plasteel/white/side{ dir = 9 }, -/area/science/research) +/area/science) "bxG" = ( /obj/machinery/door/airlock/command{ name = "Head of Personnel"; @@ -31832,13 +31763,13 @@ pixel_x = -28 }, /turf/open/floor/plasteel/white, -/area/medical/sleeper) +/area/medical/medbay/central) "bxO" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 8 }, /turf/open/floor/plasteel/white, -/area/medical/sleeper) +/area/medical/medbay/central) "bxP" = ( /obj/structure/cable{ icon_state = "2-8" @@ -31853,34 +31784,34 @@ /area/crew_quarters/heads/hor) "bxQ" = ( /turf/open/floor/plasteel, -/area/medical/sleeper) +/area/medical/medbay/central) "bxR" = ( /obj/machinery/door/firedoor, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, -/area/medical/sleeper) +/area/medical/medbay/central) "bxS" = ( /obj/machinery/atmospherics/pipe/simple/general/visible{ dir = 4 }, /turf/open/floor/plasteel, -/area/medical/sleeper) +/area/medical/medbay/central) "bxT" = ( /obj/machinery/atmospherics/pipe/simple/general/visible{ dir = 5 }, /turf/open/floor/plasteel, -/area/medical/sleeper) +/area/medical/medbay/central) "bxU" = ( /obj/machinery/atmospherics/pipe/simple/general/visible{ dir = 10 }, /turf/open/floor/plasteel, -/area/medical/sleeper) +/area/medical/medbay/central) "bxV" = ( /obj/machinery/atmospherics/pipe/manifold/general/visible, /turf/open/floor/plasteel, -/area/medical/sleeper) +/area/medical/medbay/central) "bxW" = ( /obj/machinery/door/airlock/command/glass{ name = "Research Director"; @@ -32409,37 +32340,41 @@ dir = 4 }, /obj/effect/spawner/structure/window, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plating, -/area/medical/sleeper) +/area/medical/surgery) "byZ" = ( /obj/structure/disposalpipe/segment{ dir = 6 }, /obj/effect/spawner/structure/window, /turf/open/floor/plating, -/area/medical/sleeper) +/area/medical/surgery) "bza" = ( /obj/structure/chair, /obj/machinery/airalarm{ pixel_y = 23 }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, /turf/open/floor/plasteel/dark, -/area/medical/sleeper) +/area/medical/surgery) "bzb" = ( /obj/structure/disposalpipe/segment{ dir = 9 }, -/obj/effect/spawner/structure/window, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plating, -/area/medical/sleeper) +/turf/closed/wall, +/area/medical/surgery) "bzc" = ( /obj/machinery/door/airlock/medical/glass{ name = "Recovery Room" }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/white, -/area/medical/sleeper) +/area/medical/medbay/central) "bzd" = ( /obj/structure/table, /obj/item/stack/packageWrap, @@ -32462,14 +32397,7 @@ dir = 4 }, /turf/open/floor/plasteel/white, -/area/medical/sleeper) -"bzf" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 8 - }, -/obj/effect/landmark/start/paramedic, -/turf/open/floor/plasteel/white, -/area/medical/sleeper) +/area/medical/medbay/central) "bzg" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 6 @@ -32481,19 +32409,19 @@ dir = 6 }, /turf/open/floor/plasteel, -/area/medical/sleeper) +/area/medical/medbay/central) "bzi" = ( /obj/machinery/atmospherics/pipe/manifold/general/visible{ dir = 4 }, /turf/open/floor/plasteel, -/area/medical/sleeper) +/area/medical/medbay/central) "bzj" = ( /obj/machinery/atmospherics/pipe/manifold/general/visible{ dir = 1 }, /turf/open/floor/plasteel, -/area/medical/sleeper) +/area/medical/medbay/central) "bzk" = ( /obj/structure/reagent_dispensers/fueltank, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -32649,14 +32577,14 @@ /turf/open/floor/plasteel/white/side{ dir = 9 }, -/area/science/research) +/area/science) "bzB" = ( /obj/structure/cable{ icon_state = "1-2" }, /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/white, -/area/science/research) +/area/science) "bzC" = ( /obj/structure/table, /obj/machinery/recharger{ @@ -32687,7 +32615,7 @@ /turf/open/floor/plasteel/white/side{ dir = 5 }, -/area/science/research) +/area/science) "bzF" = ( /obj/machinery/firealarm{ dir = 8; @@ -32705,17 +32633,19 @@ /turf/open/floor/plasteel, /area/hallway/primary/central) "bzH" = ( -/obj/structure/table, -/obj/item/hemostat, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/white/side, -/area/medical/sleeper) +/obj/effect/spawner/structure/window, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/medical/surgery) "bzI" = ( /obj/structure/disposalpipe/segment, +/obj/machinery/light/small{ + dir = 8 + }, /obj/structure/table, -/obj/item/surgicaldrill, +/obj/item/storage/backpack/duffelbag/med/surgery, /turf/open/floor/plasteel, -/area/medical/sleeper) +/area/medical/surgery) "bzJ" = ( /obj/machinery/computer/mecha{ dir = 8 @@ -32726,14 +32656,9 @@ /turf/open/floor/plasteel/cafeteria, /area/crew_quarters/heads/hor) "bzK" = ( -/obj/structure/table, -/obj/item/scalpel{ - pixel_y = 12 - }, -/obj/item/circular_saw, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/white, -/area/medical/sleeper) +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, +/turf/closed/wall, +/area/medical/surgery) "bzL" = ( /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel/white, @@ -32791,12 +32716,13 @@ /turf/open/floor/plasteel, /area/quartermaster/qm) "bzS" = ( -/obj/structure/table, -/obj/item/cautery{ - pixel_x = 4 +/obj/machinery/light/small{ + dir = 4 }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/computer/operating, /turf/open/floor/plasteel, -/area/medical/sleeper) +/area/medical/surgery) "bzT" = ( /obj/structure/chair/office/dark, /obj/effect/landmark/start/quartermaster, @@ -32809,15 +32735,15 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on, /obj/effect/turf_decal/tile/blue, /turf/open/floor/plasteel/white, -/area/medical/sleeper) +/area/medical/medbay/central) "bzV" = ( /obj/machinery/vending/wardrobe/medi_wardrobe, /turf/open/floor/plasteel/white, -/area/medical/sleeper) +/area/medical/medbay/central) "bzW" = ( /obj/structure/closet/l3closet, /turf/open/floor/plasteel/white, -/area/medical/sleeper) +/area/medical/medbay/central) "bzX" = ( /obj/effect/turf_decal/tile/blue{ dir = 8 @@ -32835,7 +32761,7 @@ /turf/open/floor/plasteel/white/side{ dir = 9 }, -/area/science/research) +/area/science) "bAa" = ( /obj/machinery/door/firedoor/heavy, /obj/structure/cable{ @@ -32843,7 +32769,7 @@ }, /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/white, -/area/science/research) +/area/science) "bAb" = ( /obj/structure/chair/office/dark{ dir = 8 @@ -32934,8 +32860,11 @@ /area/hallway/primary/central) "bAl" = ( /obj/structure/chair, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, /turf/open/floor/plasteel/dark, -/area/medical/sleeper) +/area/medical/surgery) "bAm" = ( /obj/structure/disposalpipe/segment{ dir = 5 @@ -32996,11 +32925,11 @@ network = list("ss13","medbay") }, /turf/open/floor/plasteel, -/area/medical/sleeper) +/area/medical/medbay/central) "bAr" = ( /obj/machinery/portable_atmospherics/canister/oxygen, /turf/open/floor/plasteel, -/area/medical/sleeper) +/area/medical/medbay/central) "bAs" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible{ dir = 1; @@ -33013,18 +32942,18 @@ }, /obj/machinery/light, /turf/open/floor/plasteel, -/area/medical/sleeper) +/area/medical/medbay/central) "bAt" = ( /obj/structure/table/reinforced, /obj/item/wrench/medical, /turf/open/floor/plasteel, -/area/medical/sleeper) +/area/medical/medbay/central) "bAu" = ( /obj/machinery/atmospherics/components/unary/thermomachine/freezer{ dir = 1 }, /turf/open/floor/plasteel, -/area/medical/sleeper) +/area/medical/medbay/central) "bAv" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible{ dir = 1; @@ -33032,7 +32961,7 @@ }, /obj/machinery/portable_atmospherics/canister/oxygen, /turf/open/floor/plasteel, -/area/medical/sleeper) +/area/medical/medbay/central) "bAw" = ( /turf/open/floor/plating, /area/maintenance/aft) @@ -33256,29 +33185,21 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/janitor) -"bAW" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, -/turf/open/floor/plasteel/white, -/area/medical/sleeper) "bAX" = ( /obj/structure/disposalpipe/segment, -/obj/structure/table, -/obj/item/clothing/gloves/color/latex, -/obj/item/clothing/mask/surgical, -/obj/item/clothing/suit/apron/surgical, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 6 +/obj/structure/curtain{ + pixel_y = -32 }, /turf/open/floor/plasteel/white/side{ dir = 4 }, -/area/medical/sleeper) +/area/medical/surgery) "bAY" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 1 +/obj/structure/curtain{ + pixel_y = -32 }, /turf/open/floor/plasteel/white, -/area/medical/sleeper) +/area/medical/surgery) "bAZ" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -33290,24 +33211,19 @@ /turf/open/floor/plasteel, /area/quartermaster/miningdock) "bBb" = ( -/obj/effect/landmark/start/medical_doctor, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/white, -/area/medical/sleeper) +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/closed/wall/r_wall, +/area/engine/atmos) "bBc" = ( -/obj/structure/table, -/obj/item/surgical_drapes, -/obj/item/razor, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 +/obj/structure/curtain{ + pixel_y = -32 }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/table/optable, /turf/open/floor/plasteel/white/side{ dir = 8 }, -/area/medical/sleeper) +/area/medical/surgery) "bBd" = ( /obj/structure/table, /obj/structure/bedsheetbin{ @@ -33315,22 +33231,19 @@ }, /obj/item/clothing/suit/straight_jacket, /obj/item/clothing/mask/muzzle, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, /obj/effect/turf_decal/tile/blue{ dir = 8 }, /turf/open/floor/plasteel/white, -/area/medical/sleeper) +/area/medical/medbay/central) "bBe" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, /obj/effect/turf_decal/tile/blue, /obj/effect/turf_decal/tile/blue{ dir = 4 }, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers, /turf/open/floor/plasteel/white, -/area/medical/sleeper) +/area/medical/medbay/central) "bBf" = ( /obj/structure/filingcabinet, /obj/structure/reagent_dispensers/peppertank{ @@ -33587,7 +33500,7 @@ /turf/open/floor/plasteel/white/side{ dir = 9 }, -/area/science/research) +/area/science) "bBE" = ( /obj/structure/cable{ icon_state = "1-8" @@ -33597,7 +33510,7 @@ icon_state = "1-2" }, /turf/open/floor/plasteel/white, -/area/science/research) +/area/science) "bBF" = ( /obj/machinery/portable_atmospherics/scrubber, /obj/item/storage/firstaid/toxin, @@ -34035,44 +33948,45 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/machinery/door/airlock/maintenance{ - name = "Surgery Maintenance"; - req_access_txt = "45" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plating, -/area/maintenance/aft) +/turf/closed/wall, +/area/medical/surgery) "bCC" = ( /obj/structure/disposalpipe/segment{ dir = 6 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 6 +/obj/machinery/bloodbankgen, +/obj/machinery/camera{ + c_tag = "Medbay Recovery Room"; + dir = 6; + network = list("ss13","medbay") }, -/turf/open/floor/plating, -/area/maintenance/aft) +/turf/open/floor/plasteel/white, +/area/medical/medbay/central) "bCD" = ( -/obj/structure/table, -/obj/item/retractor, +/obj/machinery/computer/operating, /turf/open/floor/plasteel/white/side, -/area/medical/sleeper) +/area/medical/surgery) "bCE" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 6 }, /turf/open/floor/plasteel/white, -/area/medical/sleeper) +/area/medical/surgery) "bCF" = ( /obj/structure/disposalpipe/segment{ dir = 9 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 9 +/obj/machinery/power/apc{ + areastring = "/area/medical/surgery"; + dir = 8; + name = "Treatment Center APC"; + pixel_x = -24 + }, +/obj/structure/cable{ + icon_state = "0-2" }, /turf/open/floor/plasteel/white, -/area/medical/sleeper) +/area/medical/surgery) "bCG" = ( /obj/structure/table, /obj/item/folder/white, @@ -34080,28 +33994,30 @@ /obj/item/soap/nanotrasen, /obj/item/gun/syringe/dart, /turf/open/floor/plasteel/white, -/area/medical/sleeper) +/area/medical/medbay/central) "bCH" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 1 - }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on, /turf/open/floor/plasteel/white, -/area/medical/sleeper) +/area/medical/surgery) "bCJ" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/obj/machinery/light_switch{ + pixel_y = 26 }, /turf/open/floor/plasteel/white, -/area/medical/sleeper) +/area/medical/surgery) "bCK" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 1 }, +/obj/structure/cable{ + icon_state = "1-2" + }, /turf/open/floor/plasteel/white, -/area/medical/sleeper) +/area/medical/medbay/central) "bCL" = ( /obj/structure/closet/secure_closet/medical3, /obj/machinery/camera{ @@ -34109,19 +34025,19 @@ network = list("ss13","medbay") }, /turf/open/floor/plasteel/white, -/area/medical/sleeper) +/area/medical/medbay/central) "bCM" = ( /obj/structure/closet/secure_closet/medical3, /obj/machinery/airalarm{ pixel_y = 24 }, /turf/open/floor/plasteel/white, -/area/medical/sleeper) +/area/medical/medbay/central) "bCN" = ( /obj/structure/disposalpipe/trunk, /obj/machinery/disposal/bin, /turf/open/floor/plasteel/white, -/area/medical/sleeper) +/area/medical/medbay/central) "bCO" = ( /obj/structure/table, /obj/item/storage/box/bodybags{ @@ -34131,17 +34047,7 @@ /obj/item/storage/box/rxglasses, /obj/item/hand_labeler, /turf/open/floor/plasteel/white, -/area/medical/sleeper) -"bCP" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/closed/wall, -/area/medical/sleeper) -"bCQ" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/medical/sleeper) +/area/medical/medbay/central) "bCR" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -34156,19 +34062,15 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, -/obj/machinery/iv_drip, /obj/effect/turf_decal/tile/blue{ dir = 4 }, -/turf/open/floor/plasteel/white, -/area/medical/sleeper) -"bCT" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/vehicle/ridden/wheelchair{ + dir = 8 }, -/obj/machinery/bloodbankgen, /turf/open/floor/plasteel/white, -/area/medical/sleeper) +/area/medical/medbay/central) "bCU" = ( /obj/item/radio/intercom{ frequency = 1485; @@ -34256,7 +34158,7 @@ /turf/open/floor/plasteel/white/side{ dir = 5 }, -/area/science/research) +/area/science) "bDe" = ( /obj/effect/landmark/event_spawn, /turf/open/floor/plasteel, @@ -34328,7 +34230,7 @@ /turf/open/floor/plasteel/white/side{ dir = 5 }, -/area/science/research) +/area/science) "bDm" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable{ @@ -34338,13 +34240,13 @@ dir = 10 }, /turf/open/floor/plasteel/white, -/area/science/research) +/area/science) "bDn" = ( /obj/effect/turf_decal/stripes/line{ dir = 9 }, /turf/open/floor/plasteel/white, -/area/science/research) +/area/science) "bDo" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 1 @@ -34392,16 +34294,6 @@ }, /turf/closed/wall, /area/maintenance/port/aft) -"bDu" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 6 - }, -/turf/open/floor/plating, -/area/maintenance/aft) "bDv" = ( /obj/structure/table, /obj/item/flashlight{ @@ -34447,43 +34339,41 @@ /area/storage/tech) "bDA" = ( /obj/structure/disposalpipe/segment, -/obj/machinery/power/apc{ - areastring = "/area/medical/sleeper"; - dir = 4; - name = "Treatment Center APC"; - pixel_x = 26 - }, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, -/turf/open/floor/plating, -/area/maintenance/aft) +/turf/open/floor/plasteel/white, +/area/medical/medbay/central) "bDB" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, +/obj/structure/cable{ + icon_state = "1-4" + }, /turf/open/floor/plasteel/white/side{ dir = 4 }, -/area/medical/sleeper) +/area/medical/surgery) "bDC" = ( -/obj/machinery/computer/operating{ - dir = 1 +/obj/effect/landmark/start/medical_doctor, +/obj/structure/cable{ + icon_state = "4-8" }, /turf/open/floor/plasteel/white, -/area/medical/sleeper) +/area/medical/surgery) "bDD" = ( -/obj/structure/bed, -/obj/item/bedsheet/medical, /obj/effect/turf_decal/tile/blue{ dir = 1 }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, /turf/open/floor/plasteel/white, -/area/medical/sleeper) +/area/medical/medbay/central) "bDE" = ( /obj/machinery/vending/wallmed{ pixel_x = 28 @@ -34493,9 +34383,14 @@ dir = 8; network = list("ss13","medbay") }, -/obj/machinery/iv_drip, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 9 + }, +/obj/vehicle/ridden/wheelchair{ + dir = 8 + }, /turf/open/floor/plasteel/white, -/area/medical/sleeper) +/area/medical/medbay/central) "bDF" = ( /obj/machinery/door/poddoor/preopen{ id = "medpriv4"; @@ -34590,9 +34485,6 @@ }, /turf/open/floor/plating, /area/maintenance/aft) -"bDR" = ( -/turf/open/floor/plasteel/white, -/area/medical/sleeper) "bDS" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 9 @@ -34608,7 +34500,7 @@ "bDT" = ( /obj/effect/landmark/start/medical_doctor, /turf/open/floor/plasteel/white, -/area/medical/sleeper) +/area/medical/medbay/central) "bDU" = ( /obj/machinery/door/airlock/command/glass{ name = "Chief Medical Officer"; @@ -34644,7 +34536,7 @@ dir = 4 }, /turf/open/floor/plasteel/white, -/area/medical/sleeper) +/area/medical/medbay/central) "bDY" = ( /obj/structure/cable{ icon_state = "4-8" @@ -34653,18 +34545,12 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/engine, /area/science/storage) -"bDZ" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/white, -/area/medical/sleeper) "bEa" = ( /obj/structure/disposalpipe/segment{ dir = 5 }, /turf/open/floor/plasteel/white, -/area/medical/sleeper) +/area/medical/medbay/central) "bEb" = ( /obj/structure/cable{ icon_state = "4-8" @@ -34691,7 +34577,7 @@ req_access_txt = "5" }, /turf/open/floor/plasteel/white, -/area/medical/sleeper) +/area/medical/medbay/central) "bEe" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -34711,7 +34597,7 @@ /turf/open/floor/plasteel/white/side{ dir = 5 }, -/area/science/research) +/area/science) "bEg" = ( /obj/structure/cable{ icon_state = "4-8" @@ -34816,7 +34702,7 @@ /area/science/storage) "bEq" = ( /obj/machinery/power/apc{ - areastring = "/area/science/research"; + areastring = "/area/science"; dir = 8; name = "Misc Research APC"; pixel_x = -25 @@ -34827,7 +34713,7 @@ /turf/open/floor/plasteel/white/side{ dir = 5 }, -/area/science/research) +/area/science) "bEr" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable{ @@ -34835,14 +34721,14 @@ }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/white, -/area/science/research) +/area/science) "bEs" = ( /turf/closed/wall, /area/science/mixing) "bEt" = ( /obj/machinery/vending/coffee, /turf/open/floor/plasteel/white, -/area/science/research) +/area/science) "bEu" = ( /obj/structure/closet/bombcloset, /obj/machinery/light{ @@ -34895,7 +34781,7 @@ dir = 8 }, /turf/open/floor/plasteel/white, -/area/science/research) +/area/science) "bEA" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible, /obj/machinery/light{ @@ -35008,7 +34894,7 @@ /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, /turf/open/floor/plasteel, -/area/science/mixing) +/area/science) "bEO" = ( /obj/structure/sign/warning/securearea{ pixel_x = -32 @@ -35020,7 +34906,7 @@ dir = 1 }, /turf/open/floor/plasteel, -/area/science/mixing) +/area/science) "bEP" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -35213,13 +35099,11 @@ /turf/open/floor/plating, /area/maintenance/aft) "bFm" = ( -/obj/structure/disposalpipe/sorting/mail/flip{ - dir = 8; - sortType = 6 +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/effect/spawner/structure/window, -/turf/open/floor/plating, -/area/maintenance/aft) +/turf/closed/wall, +/area/medical/medbay/central) "bFn" = ( /obj/structure/disposalpipe/segment{ dir = 5 @@ -35231,15 +35115,40 @@ /obj/structure/disposalpipe/segment{ dir = 10 }, -/turf/open/floor/plating, -/area/maintenance/aft) -"bFp" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 +/obj/machinery/light/small{ + dir = 1 }, -/obj/effect/spawner/structure/window, -/turf/open/floor/plating, -/area/maintenance/aft) +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/plasteel/white, +/area/medical/medbay/central) +"bFp" = ( +/obj/structure/closet/crate/freezer, +/obj/item/reagent_containers/blood/random, +/obj/item/reagent_containers/blood/APlus, +/obj/item/reagent_containers/blood/random, +/obj/item/reagent_containers/blood/random, +/obj/item/reagent_containers/blood/OPlus{ + pixel_x = -2; + pixel_y = -1 + }, +/obj/item/reagent_containers/blood/OMinus, +/obj/item/reagent_containers/blood/BPlus{ + pixel_x = 1; + pixel_y = 2 + }, +/obj/item/reagent_containers/blood/BMinus{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/reagent_containers/blood/AMinus, +/obj/item/reagent_containers/blood, +/obj/item/reagent_containers/blood, +/obj/structure/disposalpipe/sorting/mail/flip{ + dir = 8; + sortType = 6 + }, +/turf/open/floor/plasteel/white, +/area/medical/medbay/central) "bFq" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/effect/turf_decal/tile/yellow, @@ -35261,27 +35170,25 @@ /area/maintenance/aft) "bFt" = ( /obj/structure/disposalpipe/segment, -/obj/effect/spawner/structure/window, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plating, -/area/maintenance/aft) +/obj/structure/closet/crate/freezer/surplus_limbs, +/obj/item/reagent_containers/glass/beaker/synthflesh, +/turf/open/floor/plasteel/white, +/area/medical/medbay/central) "bFu" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/medical{ - name = "Operating Theatre"; - req_access_txt = "45" - }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, -/turf/open/floor/plasteel, -/area/medical/sleeper) +/turf/closed/wall, +/area/medical/surgery) "bFv" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 4 }, +/obj/structure/cable{ + icon_state = "4-8" + }, /turf/open/floor/plasteel/white, -/area/medical/sleeper) +/area/medical/surgery) "bFw" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -35292,20 +35199,28 @@ /obj/effect/turf_decal/tile/blue{ dir = 8 }, +/obj/structure/sign/warning/nosmoking{ + pixel_x = -28 + }, /turf/open/floor/plasteel/white, -/area/medical/sleeper) +/area/medical/medbay/central) "bFx" = ( /obj/structure/disposalpipe/segment, -/obj/effect/spawner/structure/window, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plating, -/area/maintenance/aft) +/obj/machinery/limbgrower, +/turf/open/floor/plasteel/white, +/area/medical/medbay/central) "bFy" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 1 }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, /turf/open/floor/plasteel/white, -/area/medical/sleeper) +/area/medical/medbay/central) "bFz" = ( /obj/machinery/airalarm{ dir = 1; @@ -35314,10 +35229,13 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 1 }, +/obj/structure/bed, +/obj/item/bedsheet/medical, +/obj/machinery/iv_drip, /turf/open/floor/plasteel/white/side{ dir = 1 }, -/area/medical/sleeper) +/area/medical/surgery) "bFA" = ( /obj/structure/sink{ dir = 4; @@ -35330,11 +35248,11 @@ pixel_x = 30 }, /turf/open/floor/plasteel/white, -/area/medical/sleeper) +/area/medical/medbay/central) "bFB" = ( /obj/structure/closet/secure_closet/medical2, /turf/open/floor/plasteel, -/area/medical/sleeper) +/area/medical/surgery) "bFC" = ( /obj/structure/table/wood/poker, /obj/item/clothing/mask/cigarette/cigar{ @@ -35373,8 +35291,11 @@ /area/crew_quarters/heads/cmo) "bFF" = ( /obj/machinery/light, +/obj/structure/chair{ + dir = 1 + }, /turf/open/floor/plasteel/white, -/area/medical/sleeper) +/area/medical/medbay/central) "bFG" = ( /obj/structure/chair{ dir = 1 @@ -35414,17 +35335,15 @@ /turf/open/floor/engine, /area/science/storage) "bFJ" = ( -/obj/structure/bed, -/obj/item/bedsheet/medical, -/obj/structure/sign/warning/nosmoking{ - pixel_x = -28 +/obj/structure/chair{ + dir = 1 }, /turf/open/floor/plasteel/white, -/area/medical/sleeper) +/area/medical/medbay/central) "bFK" = ( /obj/structure/closet/wardrobe/pjs, /turf/open/floor/plasteel/white, -/area/medical/sleeper) +/area/medical/medbay/central) "bFL" = ( /obj/structure/disposalpipe/segment{ dir = 9 @@ -35497,18 +35416,18 @@ /turf/open/floor/plasteel/white/side{ dir = 5 }, -/area/science/research) +/area/science) "bFR" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/white, -/area/science/research) +/area/science) "bFS" = ( /obj/effect/turf_decal/stripes/line{ dir = 10 }, /turf/open/floor/plasteel/white, -/area/science/research) +/area/science) "bFT" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -35788,26 +35707,20 @@ dir = 4 }, /turf/open/floor/plasteel, -/area/science/mixing) -"bGH" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/turf/open/floor/plating, -/area/maintenance/aft) +/area/science) "bGI" = ( -/obj/structure/cable{ - icon_state = "4-8" +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/door/airlock/maintenance{ + name = "Surgery Maintenance"; + req_access_txt = "45" }, -/obj/structure/disposalpipe/segment, /turf/open/floor/plating, /area/maintenance/aft) "bGJ" = ( -/obj/structure/cable{ - icon_state = "4-8" +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 }, /turf/open/floor/plating, /area/maintenance/aft) @@ -35822,14 +35735,14 @@ dir = 8 }, /turf/open/floor/plasteel, -/area/science/mixing) +/area/science) "bGL" = ( /obj/machinery/atmospherics/pipe/manifold4w/scrubbers, /obj/effect/turf_decal/stripes/line{ dir = 4 }, /turf/open/floor/plasteel, -/area/science/mixing) +/area/science) "bGM" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 1 @@ -35880,9 +35793,8 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plating, -/area/maintenance/aft) +/turf/closed/wall, +/area/medical/medbay/central) "bGR" = ( /obj/structure/table, /obj/item/storage/belt/medical{ @@ -35897,7 +35809,7 @@ /obj/item/clothing/neck/stethoscope, /obj/item/gun/syringe/dart, /turf/open/floor/plasteel/white, -/area/medical/sleeper) +/area/medical/medbay/central) "bGT" = ( /obj/structure/table, /obj/item/folder/white, @@ -35933,9 +35845,11 @@ /area/medical/medbay/central) "bGW" = ( /obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/manifold4w/scrubbers, -/turf/open/floor/plating, -/area/maintenance/aft) +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 1 + }, +/turf/closed/wall, +/area/medical/medbay/central) "bGX" = ( /obj/machinery/light{ dir = 8 @@ -35986,7 +35900,7 @@ /turf/open/floor/plasteel/white/side{ dir = 5 }, -/area/science/research) +/area/science) "bHd" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -36017,7 +35931,7 @@ dir = 4 }, /turf/open/floor/plasteel/white, -/area/science/research) +/area/science) "bHh" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 4 @@ -36082,7 +35996,9 @@ /obj/structure/cable{ icon_state = "4-8" }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, /turf/open/floor/plating, /area/maintenance/aft) "bHq" = ( @@ -36111,7 +36027,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/effect/turf_decal/stripes/corner, /turf/open/floor/plasteel, -/area/science/mixing) +/area/science) "bHt" = ( /obj/effect/landmark/event_spawn, /turf/open/floor/plasteel, @@ -36227,7 +36143,7 @@ /turf/open/floor/plasteel/white/side{ dir = 5 }, -/area/science/research) +/area/science) "bHL" = ( /obj/machinery/camera{ c_tag = "Research Division South"; @@ -36237,13 +36153,13 @@ /turf/open/floor/plasteel/white/side{ dir = 9 }, -/area/science/research) +/area/science) "bHM" = ( /obj/structure/disposalpipe/segment, /obj/machinery/door/firedoor/heavy, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/white, -/area/science/research) +/area/science) "bHN" = ( /obj/machinery/requests_console{ department = "Tech storage"; @@ -36301,6 +36217,7 @@ /obj/structure/cable{ icon_state = "1-2" }, +/obj/effect/landmark/event_spawn, /obj/structure/grille/broken, /turf/open/floor/plating, /area/maintenance/aft) @@ -36316,11 +36233,6 @@ }, /turf/open/floor/plating, /area/maintenance/aft) -"bHW" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/spawner/structure/window, -/turf/open/floor/plating, -/area/maintenance/aft) "bHX" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -36352,19 +36264,15 @@ /turf/open/floor/plasteel/white/side{ dir = 5 }, -/area/science/research) +/area/science) "bIc" = ( +/obj/structure/bed, +/obj/item/bedsheet/medical, +/obj/machinery/iv_drip, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/firealarm{ dir = 1; - pixel_y = -24 - }, -/turf/open/floor/plasteel/white/side{ - dir = 1 - }, -/area/medical/sleeper) -"bId" = ( -/obj/machinery/vending/wallmed{ - pixel_y = -28 + pixel_y = -23 }, /obj/machinery/camera{ c_tag = "Surgery Operating"; @@ -36372,9 +36280,20 @@ network = list("ss13","medbay"); pixel_x = 22 }, +/turf/open/floor/plasteel/white/side{ + dir = 1 + }, +/area/medical/surgery) +"bId" = ( +/obj/structure/bed, +/obj/item/bedsheet/medical, +/obj/machinery/iv_drip, /obj/machinery/light, +/obj/machinery/vending/wallmed{ + pixel_y = -28 + }, /turf/open/floor/plasteel/white, -/area/medical/sleeper) +/area/medical/surgery) "bIe" = ( /obj/structure/disposalpipe/segment, /obj/machinery/status_display/evac{ @@ -36459,7 +36378,7 @@ dir = 1 }, /turf/open/floor/plasteel/white, -/area/medical/sleeper) +/area/medical/medbay/central) "bIj" = ( /obj/structure/table, /obj/machinery/light, @@ -36471,7 +36390,7 @@ /obj/item/stack/packageWrap, /obj/item/stack/packageWrap, /turf/open/floor/plasteel/white, -/area/medical/sleeper) +/area/medical/medbay/central) "bIk" = ( /obj/structure/table, /obj/item/storage/firstaid/fire{ @@ -36489,7 +36408,7 @@ req_access_txt = "5" }, /turf/open/floor/plasteel/white, -/area/medical/sleeper) +/area/medical/medbay/central) "bIl" = ( /obj/structure/table, /obj/item/storage/firstaid/toxin{ @@ -36507,12 +36426,12 @@ req_access_txt = "5" }, /turf/open/floor/plasteel/white, -/area/medical/sleeper) +/area/medical/medbay/central) "bIm" = ( /obj/machinery/light, /obj/machinery/rnd/production/techfab/department/medical, /turf/open/floor/plasteel/white, -/area/medical/sleeper) +/area/medical/medbay/central) "bIn" = ( /obj/structure/table, /obj/item/storage/firstaid/brute{ @@ -36531,7 +36450,7 @@ dir = 1 }, /turf/open/floor/plasteel/white, -/area/medical/sleeper) +/area/medical/medbay/central) "bIo" = ( /obj/structure/bed, /obj/item/bedsheet/medical, @@ -36665,7 +36584,7 @@ /turf/open/floor/plasteel/white/side{ dir = 5 }, -/area/science/research) +/area/science) "bIE" = ( /obj/structure/disposalpipe/segment{ dir = 9 @@ -36675,7 +36594,7 @@ dir = 8 }, /turf/open/floor/plasteel/white, -/area/science/research) +/area/science) "bIF" = ( /obj/structure/cable{ icon_state = "1-2" @@ -36943,7 +36862,7 @@ /turf/open/floor/plasteel/white/side{ dir = 1 }, -/area/science/research) +/area/science) "bJp" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ @@ -36976,7 +36895,7 @@ /turf/open/floor/plasteel/white/side{ dir = 1 }, -/area/science/research) +/area/science) "bJs" = ( /obj/structure/cable{ icon_state = "4-8" @@ -37015,8 +36934,8 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 1 }, /turf/open/floor/plating, /area/maintenance/aft) @@ -37049,8 +36968,9 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 1 +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 }, /turf/open/floor/plating, /area/maintenance/aft) @@ -37070,12 +36990,14 @@ /turf/open/floor/plasteel, /area/hallway/primary/aft) "bJA" = ( -/obj/effect/landmark/blobstart, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, -/turf/open/floor/plating, -/area/maintenance/aft) +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/closed/wall, +/area/medical/medbay/central) "bJB" = ( /obj/machinery/atmospherics/pipe/manifold4w/scrubbers, /turf/open/floor/plasteel, @@ -37085,13 +37007,13 @@ dir = 4 }, /turf/closed/wall/r_wall, -/area/medical/sleeper) +/area/medical/medbay/central) "bJD" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 10 }, /turf/closed/wall/r_wall, -/area/medical/sleeper) +/area/medical/medbay/central) "bJE" = ( /turf/closed/wall/r_wall, /area/medical/medbay/central) @@ -37198,7 +37120,7 @@ "bJT" = ( /obj/machinery/vending/cigarette, /turf/open/floor/plasteel/white, -/area/science/research) +/area/science) "bJU" = ( /obj/machinery/vending/wardrobe/science_wardrobe, /turf/open/floor/plasteel/white, @@ -37292,13 +37214,13 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel, -/area/science/mixing) +/area/science) "bKc" = ( /obj/effect/turf_decal/stripes/corner{ dir = 4 }, /turf/open/floor/plasteel, -/area/science/mixing) +/area/science) "bKd" = ( /obj/machinery/camera{ c_tag = "Toxins Launch Room Access"; @@ -37309,7 +37231,7 @@ dir = 8 }, /turf/open/floor/plasteel, -/area/science/mixing) +/area/science) "bKe" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -37350,8 +37272,9 @@ /turf/open/floor/plasteel, /area/quartermaster/miningdock) "bKk" = ( -/obj/item/stack/ore/silver, -/obj/item/stack/ore/silver, +/obj/item/stack/ore/silver{ + amount = 2 + }, /obj/effect/turf_decal/stripes/line{ dir = 10 }, @@ -37571,33 +37494,21 @@ /area/maintenance/aft) "bKK" = ( /obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/machinery/power/apc{ - areastring = "/area/medical/medbay/central"; - dir = 4; - name = "Medbay APC"; - pixel_x = 24 - }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plating, /area/maintenance/aft) "bKL" = ( -/obj/structure/disposalpipe/segment{ - dir = 10 +/obj/machinery/power/apc{ + areastring = "/area/medical/medbay/central"; + dir = 1; + name = "Medbay Central APC"; + pixel_y = 24 }, /obj/structure/cable{ - icon_state = "2-8" + icon_state = "0-2" }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 10 - }, -/turf/open/floor/plating, -/area/maintenance/aft) +/turf/open/floor/plasteel/white, +/area/medical/medbay/central) "bKM" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 4 @@ -37807,7 +37718,7 @@ "bLh" = ( /obj/structure/sign/warning/fire, /turf/closed/wall, -/area/science/research) +/area/science) "bLi" = ( /obj/structure/sign/warning/nosmoking{ pixel_x = -32 @@ -38038,10 +37949,6 @@ }, /turf/open/floor/plating, /area/maintenance/aft) -"bLP" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/closed/wall/r_wall, -/area/engine/atmos) "bLQ" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/visible, /turf/closed/wall/r_wall, @@ -38263,7 +38170,7 @@ "bMs" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, -/area/science/research) +/area/science) "bMt" = ( /obj/structure/sign/warning/vacuum/external{ pixel_y = 32 @@ -38406,7 +38313,9 @@ /obj/machinery/firealarm{ pixel_y = 24 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 10 + }, /turf/open/floor/plasteel, /area/engine/atmos) "bMQ" = ( @@ -38466,11 +38375,9 @@ /turf/open/floor/plasteel, /area/engine/atmos) "bNb" = ( -/obj/item/airlock_painter, -/obj/structure/lattice, -/obj/structure/closet, -/turf/open/space, -/area/space/nearstation) +/obj/structure/bookcase/random/nonfiction, +/turf/open/floor/wood, +/area/maintenance/port/fore) "bNc" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/closed/wall/r_wall, @@ -38877,10 +38784,11 @@ /turf/closed/wall/r_wall, /area/engine/atmos) "bOi" = ( -/turf/open/floor/plasteel/airless{ - icon_state = "damaged5" +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood{ + icon_state = "wood-broken4" }, -/area/space/nearstation) +/area/maintenance/port/fore) "bOj" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 8 @@ -39016,7 +38924,7 @@ /turf/open/floor/plasteel/white/side{ dir = 1 }, -/area/science/research) +/area/science) "bOB" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 10 @@ -41764,6 +41672,9 @@ /obj/item/clothing/gloves/color/black, /obj/item/clothing/mask/gas, /obj/item/clothing/mask/gas, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 5 + }, /turf/open/floor/plasteel, /area/engine/atmos) "bVX" = ( @@ -44856,7 +44767,7 @@ dir = 4 }, /turf/open/floor/plasteel/white, -/area/science/research) +/area/science) "cdZ" = ( /obj/machinery/telecomms/processor/preset_two, /turf/open/floor/plasteel/dark/telecomms, @@ -45205,7 +45116,7 @@ }, /obj/machinery/holopad, /turf/open/floor/plasteel/white, -/area/science/research) +/area/science) "ceY" = ( /obj/structure/reagent_dispensers/fueltank, /turf/open/floor/plating, @@ -45354,7 +45265,7 @@ /area/maintenance/aft) "cfq" = ( /obj/structure/mopbucket, -/obj/item/caution, +/obj/item/clothing/suit/caution, /turf/open/floor/plating, /area/maintenance/aft) "cfr" = ( @@ -45549,7 +45460,11 @@ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/closed/wall, +/obj/machinery/door/airlock/atmos{ + name = "Atmospherics"; + req_access_txt = "24" + }, +/turf/open/floor/plating, /area/maintenance/disposal/incinerator) "cfW" = ( /obj/structure/cable{ @@ -46032,11 +45947,8 @@ /turf/open/floor/plasteel/cafeteria, /area/engine/atmos) "che" = ( -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 4 - }, -/obj/machinery/door/airlock/external{ - name = "Atmospherics External Airlock"; +/obj/machinery/door/airlock/atmos{ + name = "Atmospherics"; req_access_txt = "24" }, /turf/open/floor/plating, @@ -46094,6 +46006,8 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, +/obj/structure/reagent_dispensers/fueltank, +/obj/item/storage/toolbox/emergency, /turf/open/floor/plasteel, /area/maintenance/disposal/incinerator) "chm" = ( @@ -46353,7 +46267,7 @@ "chY" = ( /obj/machinery/shieldgen, /turf/open/floor/plating, -/area/engine/engineering) +/area/engine/storage) "cia" = ( /obj/effect/turf_decal/bot{ dir = 1 @@ -46419,7 +46333,6 @@ /obj/effect/turf_decal/bot{ dir = 1 }, -/obj/structure/reagent_dispensers/fueltank, /obj/structure/extinguisher_cabinet{ pixel_x = -5; pixel_y = 30 @@ -46427,6 +46340,7 @@ /obj/structure/cable{ icon_state = "4-8" }, +/obj/structure/reagent_dispensers/fueltank/high, /turf/open/floor/plasteel, /area/engine/engineering) "cig" = ( @@ -46586,7 +46500,6 @@ icon_state = "1-2" }, /obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel, /area/maintenance/disposal/incinerator) "ciF" = ( @@ -46704,7 +46617,7 @@ "ciW" = ( /obj/effect/landmark/blobstart, /turf/open/floor/plating, -/area/engine/engineering) +/area/engine/storage) "ciX" = ( /obj/structure/closet/crate, /obj/item/stack/sheet/metal/fifty, @@ -46719,14 +46632,14 @@ /obj/item/lightreplacer, /obj/item/lightreplacer, /turf/open/floor/plating, -/area/engine/engineering) +/area/engine/storage) "ciY" = ( /obj/machinery/door/poddoor{ id = "Secure Storage"; name = "secure storage" }, /turf/open/floor/plating, -/area/engine/engineering) +/area/engine/storage) "ciZ" = ( /turf/open/floor/plating, /area/engine/engineering) @@ -46892,8 +46805,6 @@ /turf/open/floor/plasteel, /area/construction) "cjp" = ( -/obj/structure/reagent_dispensers/fueltank, -/obj/item/storage/toolbox/emergency, /obj/machinery/atmospherics/pipe/simple/dark/visible{ dir = 4 }, @@ -47036,7 +46947,7 @@ dir = 4 }, /turf/open/floor/plating, -/area/engine/engineering) +/area/engine/storage) "cjN" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -47323,11 +47234,11 @@ "ckB" = ( /obj/machinery/field/generator, /turf/open/floor/plating, -/area/engine/engineering) +/area/engine/storage) "ckC" = ( /obj/machinery/power/emitter, /turf/open/floor/plating, -/area/engine/engineering) +/area/engine/storage) "ckD" = ( /obj/effect/turf_decal/bot{ dir = 1 @@ -48873,10 +48784,16 @@ /turf/open/floor/plasteel, /area/hallway/primary/fore) "cpG" = ( -/obj/structure/table/optable, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/obj/structure/table, +/obj/item/clothing/gloves/color/latex, +/obj/item/clothing/gloves/color/latex, +/obj/item/clothing/suit/apron/surgical, +/obj/item/clothing/suit/apron/surgical, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, /turf/open/floor/plasteel/white, -/area/medical/sleeper) +/area/medical/surgery) "cpI" = ( /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 4 @@ -50627,7 +50544,7 @@ start_active = 1 }, /turf/open/space, -/area/space/nearstation) +/area/ai_monitored/turret_protected/aisat) "cvG" = ( /obj/machinery/porta_turret/ai{ dir = 4; @@ -50674,7 +50591,7 @@ start_active = 1 }, /turf/open/space, -/area/space/nearstation) +/area/ai_monitored/turret_protected/aisat) "cvL" = ( /obj/structure/sign/warning/securearea{ pixel_x = 32 @@ -51069,6 +50986,10 @@ }, /turf/open/floor/plating, /area/maintenance/port/fore) +"cwS" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/maintenance/port/fore) "cwT" = ( /obj/machinery/camera{ c_tag = "Arrivals Escape Pod 2"; @@ -51206,15 +51127,6 @@ }, /turf/open/floor/plating, /area/hallway/secondary/exit) -"cyt" = ( -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 1 - }, -/obj/machinery/door/airlock/external{ - name = "Port Docking Bay 4" - }, -/turf/open/floor/plating, -/area/hallway/secondary/entry) "cyu" = ( /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 1 @@ -51225,12 +51137,17 @@ /turf/open/floor/plating, /area/hallway/secondary/entry) "cyC" = ( -/obj/effect/mapping_helpers/airlock/cyclelink_helper, -/obj/machinery/door/airlock/external{ - name = "External Access"; - req_access_txt = "13" +/obj/machinery/door/airlock/maintenance/abandoned{ + name = "abandoned library"; + req_access_txt = "12" }, -/turf/open/floor/plating, +/obj/structure/barricade/wooden{ + name = "wooden barricade (CLOSED)" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating/rust, /area/maintenance/port/fore) "cyD" = ( /obj/effect/mapping_helpers/airlock/cyclelink_helper{ @@ -51363,7 +51280,7 @@ /area/maintenance/disposal/incinerator) "czK" = ( /turf/closed/wall, -/area/security/vacantoffice) +/area/vacant_room/office) "czN" = ( /obj/docking_port/stationary/random{ dir = 4; @@ -51686,7 +51603,7 @@ start_active = 1 }, /turf/open/space, -/area/space/nearstation) +/area/ai_monitored/turret_protected/aisat) "cAV" = ( /obj/structure/cable{ icon_state = "1-2" @@ -51721,7 +51638,7 @@ start_active = 1 }, /turf/open/space, -/area/space/nearstation) +/area/ai_monitored/turret_protected/aisat) "cAY" = ( /obj/structure/cable{ icon_state = "4-8" @@ -51781,7 +51698,7 @@ start_active = 1 }, /turf/open/space, -/area/space/nearstation) +/area/ai_monitored/turret_protected/aisat) "cBg" = ( /obj/effect/spawner/structure/window/reinforced, /obj/effect/landmark/event_spawn, @@ -51824,6 +51741,10 @@ /area/hallway/secondary/exit) "cBm" = ( /obj/effect/landmark/event_spawn, +/obj/structure/extinguisher_cabinet{ + pixel_y = -30 + }, +/obj/machinery/light, /turf/open/floor/plasteel, /area/hallway/primary/starboard) "cBn" = ( @@ -51895,7 +51816,7 @@ }, /obj/effect/landmark/event_spawn, /turf/open/floor/plasteel/white, -/area/science/research) +/area/science) "cBy" = ( /obj/machinery/door/airlock{ name = "Custodial Closet"; @@ -51938,13 +51859,12 @@ /obj/structure/cable{ icon_state = "2-8" }, -/obj/structure/disposalpipe/segment{ - dir = 9 - }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, -/obj/effect/landmark/event_spawn, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, /turf/open/floor/plating, /area/maintenance/aft) "cBE" = ( @@ -52108,33 +52028,20 @@ /turf/open/floor/plasteel, /area/quartermaster/storage) "cCp" = ( -/obj/structure/closet/crate/freezer, -/obj/item/reagent_containers/blood, -/obj/item/reagent_containers/blood, -/obj/item/reagent_containers/blood/AMinus, -/obj/item/reagent_containers/blood/BMinus{ - pixel_x = -4; - pixel_y = 4 +/obj/machinery/light_switch{ + pixel_y = -25 }, -/obj/item/reagent_containers/blood/BPlus{ - pixel_x = 1; - pixel_y = 2 - }, -/obj/item/reagent_containers/blood/OMinus, -/obj/item/reagent_containers/blood/OPlus{ - pixel_x = -2; - pixel_y = -1 - }, -/obj/item/reagent_containers/blood/random, -/obj/item/reagent_containers/blood/random, -/obj/item/reagent_containers/blood/APlus, -/obj/item/reagent_containers/blood/random, /turf/open/floor/plasteel, -/area/medical/sleeper) +/area/medical/surgery) "cCq" = ( /obj/machinery/deepfryer, /turf/open/floor/plasteel/cafeteria, /area/crew_quarters/kitchen) +"cCs" = ( +/obj/structure/closet/emcloset, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/maintenance/port/fore) "cCt" = ( /obj/structure/closet, /obj/effect/spawner/lootdrop/maintenance{ @@ -52219,7 +52126,7 @@ /area/space/nearstation) "cCS" = ( /obj/structure/lattice, -/turf/closed/wall/r_wall, +/turf/closed/wall, /area/engine/atmos) "cCT" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ @@ -52253,6 +52160,12 @@ /obj/machinery/vending/engivend, /turf/open/floor/plasteel, /area/engine/engineering) +"cDs" = ( +/obj/item/kirbyplants/random, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/port/fore) "cDB" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -52320,6 +52233,12 @@ }, /turf/open/floor/plasteel/freezer, /area/crew_quarters/toilet/locker) +"cGf" = ( +/obj/structure/sign/poster/contraband/random{ + pixel_y = 32 + }, +/turf/open/floor/plating, +/area/maintenance/port/fore) "cGz" = ( /obj/structure/table/wood, /obj/item/instrument/violin, @@ -52669,9 +52588,6 @@ /obj/effect/turf_decal/tile/blue{ dir = 8 }, -/obj/structure/cable{ - icon_state = "1-2" - }, /turf/open/floor/plasteel, /area/security/brig) "cLS" = ( @@ -52887,6 +52803,9 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/security/prison) +"cPb" = ( +/turf/open/floor/wood/wood_diagonal, +/area/maintenance/port/fore) "cPn" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/freezer, @@ -53269,27 +53188,6 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plating, /area/maintenance/department/medical/morgue) -"cTL" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/turf/open/floor/plasteel/dark, -/area/medical/morgue) -"cTM" = ( -/obj/machinery/power/apc{ - areastring = "/area/maintenance/department/medical/morgue"; - dir = 4; - name = "Morgue Maintenance APC"; - pixel_x = 26 - }, -/obj/structure/cable{ - icon_state = "0-8" - }, -/turf/open/floor/plasteel/dark, -/area/medical/morgue) "cTO" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -53380,6 +53278,10 @@ /obj/machinery/atmospherics/pipe/manifold/supply/hidden, /turf/open/floor/plasteel, /area/security/brig) +"dal" = ( +/obj/effect/decal/cleanable/blood, +/turf/open/floor/plating, +/area/maintenance/port/fore) "daq" = ( /obj/machinery/atmospherics/pipe/manifold/general/visible{ dir = 1 @@ -53416,6 +53318,25 @@ /obj/machinery/meter, /turf/open/floor/plating, /area/maintenance/starboard/fore) +"dcX" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/medical/medbay/central) +"ddI" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/reagent_dispensers/fueltank, +/turf/open/floor/plating, +/area/maintenance/port/fore) "ddM" = ( /obj/structure/sign/poster/official/the_owl{ pixel_x = 32 @@ -53495,6 +53416,12 @@ }, /turf/open/floor/plasteel, /area/engine/atmos) +"dkM" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/morgue) "dly" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -53505,6 +53432,18 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/dark, /area/hallway/primary/central) +"dnW" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 8 + }, +/obj/machinery/light{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, +/area/medical/paramedic) "dqb" = ( /turf/open/floor/plasteel, /area/crew_quarters/fitness/pool) @@ -53549,11 +53488,23 @@ }, /turf/closed/wall, /area/science/circuit) +"dxF" = ( +/obj/machinery/gear_painter, +/turf/open/floor/wood, +/area/maintenance/bar) "dyE" = ( /obj/structure/cable{ - icon_state = "1-2" + icon_state = "0-4" }, -/turf/open/floor/plasteel, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/door/poddoor/preopen{ + id = "Secure Gate"; + name = "brig shutters" + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, /area/security/brig) "dyS" = ( /obj/effect/turf_decal/tile/green{ @@ -53613,9 +53564,6 @@ /turf/open/space, /area/space/nearstation) "dCV" = ( -/obj/structure/cable{ - icon_state = "1-4" - }, /obj/effect/turf_decal/tile/red{ dir = 1 }, @@ -53645,6 +53593,12 @@ /mob/living/simple_animal/bot/secbot/grievous/toy, /turf/open/floor/light/colour_cycle/dancefloor_a, /area/maintenance/starboard/aft) +"dIu" = ( +/obj/structure/chair/sofa{ + dir = 8 + }, +/turf/open/floor/plating, +/area/maintenance/port/fore) "dJL" = ( /obj/structure/cable{ icon_state = "1-2" @@ -53755,6 +53709,22 @@ dir = 4 }, /area/crew_quarters/fitness/pool) +"ecp" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/structure/bodycontainer/morgue{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/medical/morgue) +"edj" = ( +/obj/structure/sign/poster/contraband/random{ + pixel_y = 32 + }, +/obj/machinery/light/small{ + dir = 1 + }, +/turf/open/floor/wood/wood_diagonal, +/area/maintenance/port/fore) "edA" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -53790,6 +53760,18 @@ }, /turf/open/floor/plasteel/dark, /area/hallway/primary/central) +"eiB" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/light/small{ + dir = 4 + }, +/obj/structure/bodycontainer/morgue{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/medical/morgue) "eiZ" = ( /obj/machinery/meter, /obj/machinery/atmospherics/pipe/manifold/purple/visible{ @@ -53813,6 +53795,17 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/closed/wall, /area/security/execution/transfer) +"enJ" = ( +/obj/structure/girder, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"enS" = ( +/obj/machinery/atmospherics/pipe/simple/supplymain/hidden, +/obj/machinery/light/small{ + dir = 8 + }, +/turf/open/floor/plating, +/area/maintenance/port/fore) "eoD" = ( /obj/structure/table/wood/poker, /turf/open/floor/plating, @@ -53910,6 +53903,10 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/port) +"eyq" = ( +/obj/machinery/atmospherics/components/unary/outlet_injector/on, +/turf/open/floor/plating, +/area/maintenance/port/fore) "eyM" = ( /obj/machinery/mineral/ore_redemption{ input_dir = 2; @@ -53951,6 +53948,17 @@ /obj/machinery/vending/cola/space_up, /turf/open/floor/plasteel/dark, /area/hallway/primary/central) +"eCm" = ( +/obj/machinery/atmospherics/pipe/simple/orange/visible, +/obj/machinery/door/airlock/external{ + name = "Atmospherics External Airlock"; + req_access_txt = "24" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/turf/open/floor/plating, +/area/engine/atmos) "eCr" = ( /obj/structure/closet{ name = "Suit Closet" @@ -54049,6 +54057,10 @@ "eQb" = ( /turf/open/floor/carpet, /area/crew_quarters/dorms) +"eRr" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/white, +/area/medical/medbay/lobby) "eRz" = ( /obj/structure/lattice, /obj/structure/grille, @@ -54058,6 +54070,12 @@ /obj/structure/closet/secure_closet/personal/cabinet, /turf/open/floor/carpet, /area/crew_quarters/dorms) +"eUy" = ( +/obj/machinery/door/airlock{ + name = "Starboard Emergency Storage" + }, +/turf/open/floor/plating, +/area/storage/emergency/starboard) "eUW" = ( /obj/structure/lattice, /obj/machinery/atmospherics/pipe/simple/dark/visible{ @@ -54108,11 +54126,23 @@ /obj/structure/lattice, /turf/open/space/basic, /area/space/nearstation) +"eZa" = ( +/obj/effect/landmark/start/paramedic, +/turf/open/floor/plasteel/white, +/area/medical/medbay/central) "fbp" = ( /obj/structure/tank_dispenser, /obj/effect/turf_decal/bot, /turf/open/floor/engine, /area/science/storage) +"fcd" = ( +/obj/structure/chair/sofa/right{ + dir = 8 + }, +/turf/open/floor/plating{ + icon_state = "platingdmg1" + }, +/area/maintenance/port/fore) "fcn" = ( /obj/structure/lattice, /turf/closed/wall/r_wall, @@ -54164,6 +54194,16 @@ dir = 4 }, /area/crew_quarters/theatre) +"fhu" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/rack, +/obj/item/clothing/under/costume/owl, +/obj/item/clothing/suit/toggle/owlwings, +/obj/item/clothing/mask/gas/owl_mask, +/turf/open/floor/plating, +/area/maintenance/port/fore) "fiy" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 10 @@ -54214,6 +54254,12 @@ /obj/item/seeds/cannabis/white, /turf/open/floor/plating, /area/maintenance/starboard/aft) +"fmJ" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/turf/open/floor/wood/wood_diagonal, +/area/maintenance/port/fore) "fne" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 4 @@ -54334,6 +54380,9 @@ }, /turf/open/floor/plasteel, /area/security/range) +"fsQ" = ( +/turf/open/floor/plating, +/area/engine/storage) "fty" = ( /obj/structure/lattice, /obj/machinery/atmospherics/pipe/simple/orange/visible, @@ -54352,6 +54401,10 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/aft) +"fvk" = ( +/obj/structure/disposalpipe/segment, +/turf/closed/wall, +/area/medical/medbay/central) "fvY" = ( /obj/machinery/computer/cryopod{ pixel_y = 26 @@ -54507,6 +54560,14 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/dark, /area/security/courtroom) +"fNN" = ( +/obj/machinery/door/firedoor, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/white, +/area/medical/medbay/central) "fOA" = ( /obj/machinery/door/airlock{ name = "Theatre Backstage"; @@ -54577,6 +54638,11 @@ }, /turf/open/floor/plasteel, /area/security/processing) +"gaF" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/medical/paramedic) "gbd" = ( /obj/effect/turf_decal/stripes/corner{ dir = 4 @@ -54609,9 +54675,16 @@ /turf/open/floor/plating, /area/security/prison) "gbT" = ( -/obj/structure/table, -/obj/item/stack/sheet/metal/fifty, -/obj/item/stack/sheet/glass/fifty, +/obj/item/storage/box/lights/mixed, +/obj/machinery/power/apc{ + areastring = "/area/storage/emergency/starboard"; + dir = 1; + name = "Starboard Emergency Storage APC"; + pixel_y = 24 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, /turf/open/floor/plating, /area/maintenance/department/medical/morgue) "gcF" = ( @@ -54623,6 +54696,15 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/fore) +"geg" = ( +/obj/machinery/light/small{ + dir = 8 + }, +/obj/structure/table, +/obj/item/trash/plate, +/obj/item/reagent_containers/food/snacks/egg/yellow, +/turf/open/floor/plating, +/area/maintenance/port/fore) "gfC" = ( /obj/effect/turf_decal/tile/red, /obj/structure/chair{ @@ -54636,6 +54718,15 @@ }, /turf/open/floor/carpet, /area/crew_quarters/cryopod) +"gfQ" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/medical/surgery) "ghD" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel, @@ -54698,11 +54789,10 @@ /turf/open/floor/plasteel/dark, /area/crew_quarters/fitness) "gsM" = ( -/obj/machinery/door/airlock/maintenance/abandoned{ - req_access_txt = "12" - }, +/obj/structure/table, +/obj/effect/spawner/lootdrop/maintenance, /turf/open/floor/plating, -/area/maintenance/fore) +/area/maintenance/port/fore) "gvX" = ( /turf/open/floor/plasteel/yellowsiding, /area/crew_quarters/fitness/pool) @@ -54806,6 +54896,11 @@ /obj/structure/lattice/catwalk, /turf/open/space/basic, /area/space/nearstation) +"gJN" = ( +/obj/structure/rack, +/obj/item/book/manual/wiki/engineering_singulo_tesla, +/turf/open/floor/plating, +/area/maintenance/port/fore) "gKl" = ( /obj/structure/cable/white, /obj/structure/cable/white{ @@ -54816,6 +54911,16 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/aft) +"gKo" = ( +/obj/structure/table/glass, +/obj/item/restraints/handcuffs/cable/zipties, +/obj/item/reagent_containers/blood/random, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"gKG" = ( +/obj/structure/bedsheetbin/towel, +/turf/open/floor/wood/wood_diagonal, +/area/maintenance/port/fore) "gLz" = ( /obj/structure/cable{ icon_state = "1-2" @@ -54826,14 +54931,15 @@ }, /turf/open/floor/plasteel, /area/security/brig) +"gLG" = ( +/obj/machinery/atmospherics/components/unary/thermomachine/heater/on, +/turf/open/floor/plating, +/area/maintenance/port/fore) "gLH" = ( -/obj/machinery/door/airlock/external{ - name = "External Access"; - req_access_txt = "13" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 1 - }, +/obj/structure/closet/wardrobe/white, +/obj/item/clothing/shoes/jackboots, +/obj/item/reagent_containers/blood/random, +/obj/item/reagent_containers/food/drinks/bottle/vodka/badminka, /turf/open/floor/plating, /area/maintenance/port/fore) "gMl" = ( @@ -54866,11 +54972,11 @@ /obj/structure/cable{ icon_state = "0-8" }, -/obj/structure/cable{ - icon_state = "0-4" - }, /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/structure/cable{ + icon_state = "2-8" + }, /turf/open/floor/plating, /area/security/brig) "gOZ" = ( @@ -54879,6 +54985,12 @@ }, /turf/open/floor/plating, /area/crew_quarters/fitness) +"gQr" = ( +/obj/machinery/atmospherics/components/binary/valve/digital{ + name = "gas to sauna" + }, +/turf/open/floor/plating, +/area/maintenance/fore) "gQX" = ( /obj/machinery/button/door{ id = "LockerShitter4"; @@ -54943,13 +55055,30 @@ /obj/structure/lattice, /turf/open/space/basic, /area/space/nearstation) +"gYo" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/closet/crate{ + icon_state = "crateopen" + }, +/obj/effect/spawner/lootdrop/maintenance{ + lootcount = 2; + name = "2maintenance loot spawner" + }, +/turf/open/floor/plating, +/area/maintenance/port/fore) "gZG" = ( -/obj/structure/closet/crate/freezer/surplus_limbs, -/obj/item/reagent_containers/glass/beaker/synthflesh, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, /turf/open/floor/plasteel/white/side{ dir = 8 }, -/area/medical/sleeper) +/area/medical/surgery) "haM" = ( /obj/item/radio/intercom{ name = "Station Intercom (General)"; @@ -55010,6 +55139,10 @@ /obj/item/reagent_containers/food/snacks/cherrycupcake, /turf/open/floor/wood, /area/crew_quarters/bar) +"hho" = ( +/obj/structure/reagent_dispensers/fueltank, +/turf/open/floor/plating, +/area/maintenance/port/fore) "hiV" = ( /obj/effect/landmark/blobstart, /turf/open/floor/plating, @@ -55043,6 +55176,12 @@ }, /turf/closed/wall, /area/crew_quarters/dorms) +"hnc" = ( +/obj/structure/chair/pew/left{ + dir = 4 + }, +/turf/open/floor/wood/wood_diagonal, +/area/maintenance/port/fore) "hnU" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -55075,6 +55214,10 @@ }, /turf/open/floor/plating/airless, /area/space/nearstation) +"htu" = ( +/obj/item/kirbyplants/random, +/turf/open/floor/plating, +/area/maintenance/port/fore) "hxn" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/simple/green/visible, @@ -55097,6 +55240,11 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/fitness) +"hCn" = ( +/obj/structure/closet/firecloset, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/maintenance/port/fore) "hGH" = ( /obj/machinery/door/airlock{ desc = "Private study room where nerds are probably playing Dungeons and Dragons 13e, or a place for blood cult rituals."; @@ -55127,6 +55275,12 @@ /obj/machinery/door/firedoor, /turf/open/floor/plasteel/dark, /area/hallway/primary/central) +"hMs" = ( +/obj/structure/table, +/obj/item/storage/box/bodybags, +/obj/item/pen, +/turf/open/floor/plasteel/dark, +/area/medical/morgue) "hOv" = ( /obj/structure/table/wood/fancy, /obj/machinery/atmospherics/components/unary/vent_pump/on{ @@ -55222,6 +55376,15 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/fitness) +"hYd" = ( +/obj/machinery/door/airlock/medical{ + name = "Morgue"; + req_access_txt = "6" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/dark, +/area/medical/morgue) "ibK" = ( /turf/open/floor/plasteel, /area/security/processing) @@ -55249,6 +55412,9 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/aft) +"ihR" = ( +/turf/open/floor/plasteel/white, +/area/medical/medbay/lobby) "iiW" = ( /turf/open/floor/wood, /area/maintenance/bar) @@ -55266,6 +55432,10 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/locker) +"ijO" = ( +/obj/machinery/holopad, +/turf/open/floor/plasteel/cafeteria, +/area/crew_quarters/kitchen) "ikk" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -55339,9 +55509,6 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/fitness/pool) -"ipA" = ( -/turf/open/floor/plating, -/area/maintenance/department/medical/morgue) "iql" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -55398,6 +55565,13 @@ /obj/effect/turf_decal/tile/green, /turf/open/floor/plasteel, /area/hallway/primary/starboard) +"ivJ" = ( +/obj/structure/curtain{ + pixel_y = -32 + }, +/obj/structure/table/optable, +/turf/open/floor/plasteel/white, +/area/medical/surgery) "ixd" = ( /obj/structure/table, /obj/item/reagent_containers/food/drinks/beer, @@ -55462,6 +55636,17 @@ /obj/effect/decal/cleanable/blood/gibs/ipc/limb, /turf/open/floor/plasteel/dark, /area/maintenance/starboard/aft) +"iII" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/closet, +/obj/item/clothing/head/bowler, +/obj/item/clothing/neck/tie/red, +/obj/item/clothing/mask/cigarette/pipe, +/obj/item/clothing/mask/fakemoustache, +/turf/open/floor/plating, +/area/maintenance/port/fore) "iIS" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/simple/cyan/visible{ @@ -55470,6 +55655,10 @@ /obj/machinery/atmospherics/pipe/layer_manifold, /turf/open/floor/plating, /area/engine/atmos) +"iKV" = ( +/obj/machinery/atmospherics/pipe/simple/orange/visible, +/turf/open/floor/plating, +/area/engine/atmos) "iLJ" = ( /obj/item/reagent_containers/glass/bucket, /mob/living/simple_animal/pet/bumbles, @@ -55497,7 +55686,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/reagent_dispensers/cooking_oil, /turf/open/floor/plasteel/showroomfloor, -/area/crew_quarters/kitchen) +/area/crew_quarters/kitchen/backroom) "iPX" = ( /obj/structure/table, /obj/machinery/reagentgrinder{ @@ -55522,6 +55711,11 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/fore) +"iRV" = ( +/obj/structure/table, +/obj/item/storage/backpack/duffelbag/med/surgery, +/turf/open/floor/plasteel/white/side, +/area/medical/surgery) "iTq" = ( /obj/structure/chair/stool{ pixel_y = 8 @@ -55537,6 +55731,21 @@ }, /turf/open/floor/wood, /area/crew_quarters/bar) +"iUp" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/turf/open/floor/plating, +/area/maintenance/aft) +"iVH" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/door/airlock/medical{ + name = "Operating Theatre"; + req_access_txt = "45" + }, +/obj/machinery/door/firedoor, +/turf/open/floor/plasteel, +/area/medical/surgery) "iVJ" = ( /obj/structure/cable{ icon_state = "1-2" @@ -55560,6 +55769,18 @@ /obj/item/coin/silver, /turf/open/floor/plating, /area/maintenance/starboard/fore) +"iWK" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/structure/extinguisher_cabinet{ + pixel_x = -5; + pixel_y = 30 + }, +/turf/open/floor/plasteel/white/corner{ + dir = 1 + }, +/area/hallway/secondary/entry) "iYE" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -55575,6 +55796,14 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/fore) +"jaG" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/port/fore) "jaH" = ( /obj/structure/door_assembly/door_assembly_mai, /obj/item/electronics/airlock, @@ -55596,6 +55825,27 @@ }, /turf/open/floor/plasteel, /area/hallway/secondary/service) +"jbp" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/item/flashlight, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"jbr" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/junction{ + dir = 4 + }, +/turf/closed/wall, +/area/maintenance/port/fore) +"jbK" = ( +/obj/item/stack/sheet/glass{ + amount = 20; + pixel_x = -3; + pixel_y = 6 + }, +/obj/item/stack/sheet/metal/fifty, +/obj/structure/rack, +/turf/open/floor/plating, +/area/maintenance/department/medical/morgue) "jdj" = ( /obj/docking_port/stationary/random{ dir = 4; @@ -55604,10 +55854,33 @@ }, /turf/open/space, /area/space) +"jdE" = ( +/obj/effect/turf_decal/trimline/blue/filled/corner{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 1 + }, +/obj/machinery/vending/wallmed{ + pixel_y = -28 + }, +/obj/effect/landmark/start/paramedic, +/turf/open/floor/plasteel/dark, +/area/medical/paramedic) "jex" = ( -/obj/machinery/smartfridge/organ/preloaded, -/turf/closed/wall, -/area/medical/sleeper) +/obj/machinery/door/airlock/medical{ + name = "Operating Theatre"; + req_access_txt = "45" + }, +/obj/machinery/door/firedoor, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/medical/surgery) "jez" = ( /obj/effect/landmark/blobstart, /turf/open/floor/plating, @@ -55636,6 +55909,10 @@ /obj/structure/sign/warning/securearea, /turf/closed/wall, /area/engine/engineering) +"jiT" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/white, +/area/medical/medbay/lobby) "jjC" = ( /obj/structure/table/wood, /obj/item/toy/cards/deck, @@ -55667,6 +55944,12 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/fitness) +"jon" = ( +/obj/machinery/atmospherics/components/binary/valve/digital{ + name = "gas to sauna" + }, +/turf/open/floor/plating, +/area/maintenance/port/fore) "jqv" = ( /obj/structure/chair/wood/normal{ dir = 1 @@ -55695,6 +55978,11 @@ }, /turf/open/floor/plasteel, /area/engine/atmos) +"juy" = ( +/obj/structure/mopbucket, +/obj/item/mop, +/turf/open/floor/plating, +/area/maintenance/port/fore) "juG" = ( /obj/structure/table/reinforced, /obj/machinery/door/firedoor, @@ -55711,6 +55999,10 @@ /obj/structure/closet/athletic_mixed, /turf/open/floor/plasteel, /area/crew_quarters/fitness) +"jwH" = ( +/obj/machinery/holopad, +/turf/open/floor/plasteel, +/area/hydroponics) "jxF" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -55800,6 +56092,10 @@ }, /turf/open/floor/plasteel, /area/engine/atmos) +"jDZ" = ( +/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/turf/closed/wall, +/area/maintenance/port/fore) "jEc" = ( /obj/machinery/vr_sleeper{ dir = 8 @@ -55815,6 +56111,13 @@ dir = 1 }, /area/crew_quarters/fitness) +"jFB" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/obj/structure/grille, +/turf/open/floor/plating, +/area/maintenance/port/fore) "jFH" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 4 @@ -55889,6 +56192,13 @@ /obj/structure/lattice, /turf/open/space/basic, /area/space/nearstation) +"jIW" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/maintenance/port/fore) "jJF" = ( /obj/machinery/door/airlock/maintenance, /obj/structure/cable{ @@ -55922,6 +56232,11 @@ }, /turf/open/space, /area/space) +"jLJ" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light/small, +/turf/open/floor/wood, +/area/maintenance/port/fore) "jLT" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -55954,6 +56269,13 @@ }, /turf/open/floor/plasteel, /area/science/circuit) +"jUV" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/maintenance/port/fore) "jVl" = ( /obj/structure/cable{ icon_state = "4-8" @@ -55998,15 +56320,15 @@ /obj/effect/turf_decal/tile/red{ dir = 8 }, -/obj/structure/cable{ - icon_state = "2-4" - }, /obj/effect/turf_decal/tile/red{ dir = 1 }, /obj/effect/turf_decal/tile/red{ dir = 4 }, +/obj/structure/cable{ + icon_state = "1-4" + }, /turf/open/floor/plasteel, /area/security/brig) "kcx" = ( @@ -56101,11 +56423,38 @@ }, /turf/open/floor/plasteel/dark, /area/hallway/primary/central) -"kls" = ( -/obj/structure/lattice, -/obj/structure/lattice, -/turf/open/space, -/area/space/nearstation) +"kil" = ( +/obj/machinery/atmospherics/pipe/simple/dark/visible{ + dir = 5 + }, +/turf/open/floor/plating, +/area/engine/atmos) +"kiW" = ( +/obj/machinery/button/door{ + id = "Sauna"; + name = "Sauna Bolt Control"; + normaldoorcontrol = 1; + pixel_y = -25; + specialfunctions = 4 + }, +/turf/open/floor/wood/wood_diagonal, +/area/maintenance/port/fore) +"kiY" = ( +/obj/machinery/door/airlock/external{ + name = "Port Docking Bay 4" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/turf/open/floor/plating, +/area/hallway/secondary/entry) +"klN" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/grille, +/turf/open/floor/plating, +/area/maintenance/port/fore) "kmw" = ( /obj/structure/chair/comfy/black{ dir = 1 @@ -56151,6 +56500,19 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/aft) +"kqo" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 4 + }, +/obj/structure/chair/pew{ + dir = 4 + }, +/turf/open/floor/wood/wood_diagonal, +/area/maintenance/port/fore) +"kqy" = ( +/obj/machinery/gear_painter, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness) "kqI" = ( /obj/structure/window, /turf/open/floor/wood, @@ -56190,6 +56552,10 @@ }, /turf/open/floor/plasteel, /area/security/range) +"kuL" = ( +/obj/item/trash/candy, +/turf/open/floor/plating, +/area/maintenance/port/fore) "kvl" = ( /obj/structure/grille, /turf/closed/wall/r_wall, @@ -56205,6 +56571,12 @@ }, /turf/open/floor/wood, /area/bridge/meeting_room) +"kwY" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 6 + }, +/turf/closed/wall, +/area/maintenance/port/fore) "kxf" = ( /obj/machinery/vr_sleeper{ dir = 4 @@ -56376,6 +56748,14 @@ /obj/structure/disposalpipe/junction/flip, /turf/open/floor/plasteel, /area/hallway/primary/central) +"kQa" = ( +/obj/machinery/door/airlock/medical/glass{ + id_tag = "MedbayFoyer"; + name = "Paramedic's Office"; + req_access_txt = "5;6;12;64" + }, +/turf/open/floor/plating, +/area/medical/paramedic) "kQe" = ( /obj/structure/table/wood/poker, /obj/item/storage/fancy/cigarettes/dromedaryco, @@ -56386,13 +56766,7 @@ /turf/open/floor/plating, /area/maintenance/starboard/aft) "kQk" = ( -/obj/structure/rack, -/obj/effect/spawner/lootdrop/maintenance{ - lootcount = 2; - name = "2maintenance loot spawner" - }, -/obj/item/storage/toolbox/electrical, -/turf/open/floor/plating, +/turf/closed/wall, /area/maintenance/department/medical/morgue) "kQz" = ( /obj/structure/cable{ @@ -56428,6 +56802,25 @@ /obj/machinery/chem_master/condimaster, /turf/open/floor/plating, /area/maintenance/fore) +"kVj" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/door/airlock/medical{ + name = "Paramedic's Office"; + req_access_txt = "5;6;12;64" + }, +/turf/open/floor/plasteel/dark, +/area/medical/morgue) "kWp" = ( /obj/structure/shuttle/engine/heater{ dir = 1 @@ -56458,15 +56851,16 @@ /turf/open/floor/plasteel, /area/security/brig) "laq" = ( -/obj/structure/cable{ - icon_state = "2-8" - }, /obj/structure/cable{ icon_state = "2-4" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel, /area/security/range) +"laN" = ( +/obj/machinery/space_heater, +/turf/open/floor/plating, +/area/storage/emergency/starboard) "leE" = ( /obj/effect/turf_decal/tile/neutral{ dir = 1 @@ -56593,10 +56987,12 @@ }, /turf/open/floor/plasteel, /area/security/brig) -"lxP" = ( -/mob/living/simple_animal/opossum, +"lzk" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/junction{ + dir = 8 + }, /turf/closed/wall, -/area/science/xenobiology) +/area/maintenance/port/fore) "lzt" = ( /obj/machinery/portable_atmospherics/pump, /obj/effect/turf_decal/stripes/line, @@ -56616,6 +57012,15 @@ }, /turf/open/floor/plasteel, /area/security/processing) +"lBd" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/structure/chair, +/turf/open/floor/plasteel/white/corner{ + dir = 1 + }, +/area/hallway/secondary/entry) "lBz" = ( /obj/effect/turf_decal/tile/red, /obj/effect/turf_decal/tile/red{ @@ -56734,7 +57139,7 @@ /area/maintenance/starboard/aft) "lZn" = ( /obj/machinery/door/airlock/security/glass{ - id_tag = "innerbrig"; + id_tag = null; name = "Brig Infirmary"; req_access_txt = "2" }, @@ -56757,6 +57162,13 @@ }, /turf/closed/wall, /area/crew_quarters/fitness/pool) +"lZN" = ( +/obj/machinery/door/airlock/wood{ + id_tag = "Sauna"; + name = "Sauna" + }, +/turf/open/floor/wood/wood_diagonal, +/area/maintenance/port/fore) "maT" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/closed/wall, @@ -56901,6 +57313,17 @@ icon_state = "wood-broken5" }, /area/maintenance/bar) +"mqo" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/plasteel/white/corner{ + dir = 1 + }, +/area/hallway/secondary/entry) "mqZ" = ( /obj/item/reagent_containers/glass/beaker, /turf/open/floor/plating, @@ -56923,6 +57346,11 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/starboard) +"mwS" = ( +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/port/fore) "mxn" = ( /obj/machinery/door/airlock/external{ name = "Escape Pod Three" @@ -56967,6 +57395,14 @@ /obj/effect/decal/cleanable/blood/gibs/slime/limb, /turf/open/floor/plasteel/dark, /area/maintenance/starboard/aft) +"mFo" = ( +/obj/machinery/meter, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plating, +/area/maintenance/aft) "mGw" = ( /obj/machinery/door/airlock/security{ name = "Labor Shuttle"; @@ -57142,6 +57578,13 @@ "naI" = ( /turf/open/space, /area/space/station_ruins) +"nbr" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/reagent_dispensers/watertank, +/turf/open/floor/plating, +/area/maintenance/port/fore) "nbT" = ( /obj/structure/cable{ icon_state = "0-8" @@ -57255,6 +57698,12 @@ }, /turf/open/floor/plasteel/dark, /area/maintenance/starboard/fore) +"noL" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/turf/open/floor/plating, +/area/maintenance/port/fore) "noT" = ( /turf/open/floor/wood{ icon_state = "wood-broken4" @@ -57286,6 +57735,12 @@ "nsA" = ( /turf/closed/wall, /area/crew_quarters/abandoned_gambling_den) +"ntt" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/port/fore) "nuw" = ( /obj/structure/table, /obj/effect/spawner/lootdrop/maintenance{ @@ -57309,6 +57764,9 @@ }, /turf/open/floor/plating, /area/construction) +"nyi" = ( +/turf/closed/wall, +/area/medical/paramedic) "nzB" = ( /obj/machinery/hydroponics/soil{ pixel_y = 8 @@ -57324,12 +57782,10 @@ /turf/closed/wall, /area/maintenance/disposal/incinerator) "nBI" = ( -/obj/item/cigbutt/cigarbutt, -/obj/effect/decal/cleanable/blood/old, -/obj/structure/chair{ - dir = 1 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 }, -/turf/open/floor/plating, +/turf/closed/wall, /area/maintenance/port/fore) "nEj" = ( /obj/effect/spawner/structure/window/reinforced, @@ -57338,6 +57794,9 @@ }, /turf/open/floor/plating, /area/security/processing) +"nEu" = ( +/turf/closed/wall, +/area/medical/surgery) "nFj" = ( /obj/structure/lattice, /obj/machinery/atmospherics/pipe/simple/dark/visible{ @@ -57450,6 +57909,11 @@ }, /turf/open/floor/plasteel, /area/hydroponics) +"nXg" = ( +/obj/structure/girder, +/obj/structure/grille, +/turf/open/floor/plating, +/area/maintenance/port/fore) "nYe" = ( /obj/structure/safe, /obj/item/clothing/head/bearpelt, @@ -57557,6 +58021,10 @@ /obj/machinery/vending/kink, /turf/open/floor/plating, /area/maintenance/bar) +"ofj" = ( +/obj/machinery/smartfridge/organ/preloaded, +/turf/closed/wall, +/area/medical/surgery) "ofU" = ( /obj/structure/chair/comfy/black{ dir = 4 @@ -57689,6 +58157,13 @@ }, /turf/open/floor/plasteel, /area/engine/gravity_generator) +"ouf" = ( +/obj/effect/turf_decal/trimline/blue/filled/corner{ + dir = 4 + }, +/obj/structure/closet/secure_closet/paramedic, +/turf/open/floor/plasteel/dark, +/area/medical/paramedic) "ouQ" = ( /obj/structure/table, /obj/item/paper_bin{ @@ -57699,9 +58174,6 @@ /area/hallway/primary/central) "ovv" = ( /obj/structure/table, -/obj/structure/cable{ - icon_state = "0-2" - }, /obj/effect/turf_decal/tile/red{ dir = 1 }, @@ -57779,6 +58251,16 @@ }, /turf/open/floor/plating, /area/maintenance/starboard) +"oCF" = ( +/obj/structure/closet/crate{ + icon_state = "crateopen" + }, +/obj/effect/spawner/lootdrop/maintenance{ + lootcount = 3; + name = "3maintenance loot spawner" + }, +/turf/open/floor/plating, +/area/maintenance/port/fore) "oDm" = ( /obj/machinery/gulag_teleporter, /turf/open/floor/plasteel, @@ -57822,6 +58304,13 @@ }, /turf/open/floor/mineral/titanium/blue, /area/crew_quarters/dorms) +"oJV" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel/dark, +/area/medical/morgue) "oKh" = ( /obj/structure/chair/wood/normal{ dir = 8 @@ -57851,6 +58340,12 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/grimy, /area/maintenance/starboard/aft) +"oQY" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/closed/wall, +/area/medical/medbay/central) "oSl" = ( /obj/machinery/door/airlock/security{ name = "Firing Range"; @@ -57916,6 +58411,10 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/aft) +"pbC" = ( +/obj/effect/landmark/blobstart, +/turf/open/floor/plating, +/area/maintenance/aft) "pcK" = ( /mob/living/simple_animal/bot/cleanbot{ name = "C.L.E.A.N." @@ -57962,6 +58461,17 @@ /obj/effect/spawner/lootdrop/maintenance, /turf/open/floor/plating, /area/maintenance/fore) +"pkg" = ( +/turf/open/floor/plating, +/area/storage/emergency/starboard) +"pkq" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/maintenance/port/fore) "pkF" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/extinguisher_cabinet{ @@ -58006,9 +58516,6 @@ /obj/effect/turf_decal/tile/red{ dir = 8 }, -/obj/structure/cable{ - icon_state = "2-4" - }, /obj/effect/turf_decal/tile/red{ dir = 1 }, @@ -58033,6 +58540,13 @@ }, /turf/open/floor/plating, /area/crew_quarters/abandoned_gambling_den) +"ppw" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/structure/grille, +/turf/open/floor/plating, +/area/maintenance/port/fore) "pqe" = ( /obj/structure/chair/sofa, /obj/structure/window{ @@ -58045,8 +58559,22 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, +/obj/machinery/gear_painter, /turf/open/floor/plasteel, /area/crew_quarters/locker) +"pqR" = ( +/obj/structure/chair/pew/right{ + dir = 4 + }, +/turf/open/floor/wood/wood_diagonal, +/area/maintenance/port/fore) +"psf" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/obj/structure/sign/poster/official/the_owl{ + pixel_y = 32 + }, +/turf/open/floor/plating, +/area/maintenance/port/fore) "psk" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -58078,6 +58606,14 @@ dir = 1 }, /area/crew_quarters/fitness) +"pvJ" = ( +/obj/structure/rack, +/obj/effect/spawner/lootdrop/maintenance{ + lootcount = 3; + name = "3maintenance loot spawner" + }, +/turf/open/floor/plating, +/area/maintenance/port/fore) "pzk" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 4 @@ -58109,9 +58645,6 @@ /obj/effect/turf_decal/tile/red{ dir = 8 }, -/obj/structure/cable{ - icon_state = "2-8" - }, /obj/effect/turf_decal/tile/red{ dir = 1 }, @@ -58119,7 +58652,10 @@ dir = 4 }, /obj/structure/cable{ - icon_state = "2-4" + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-4" }, /turf/open/floor/plasteel, /area/security/brig) @@ -58149,6 +58685,15 @@ /obj/effect/spawner/lootdrop/maintenance, /turf/open/floor/plating, /area/maintenance/starboard/aft) +"pFY" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/obj/item/kirbyplants{ + icon_state = "plant-06" + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/entry) "pHl" = ( /obj/structure/table, /obj/item/storage/box/beakers{ @@ -58174,7 +58719,7 @@ pixel_x = 30 }, /turf/open/floor/plasteel/white, -/area/medical/sleeper) +/area/medical/medbay/central) "pHO" = ( /obj/effect/turf_decal/tile/blue, /obj/structure/sign/poster/contraband/fun_police{ @@ -58200,6 +58745,9 @@ }, /turf/open/floor/wood, /area/library) +"pKV" = ( +/turf/closed/wall/r_wall, +/area/science/research) "pLn" = ( /obj/machinery/conveyor/inverted{ dir = 5; @@ -58235,9 +58783,6 @@ /turf/open/floor/plating, /area/crew_quarters/fitness) "pQr" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, /obj/effect/turf_decal/tile/green, /obj/effect/turf_decal/tile/green{ dir = 8 @@ -58250,6 +58795,12 @@ }, /turf/open/floor/plasteel/dark, /area/hallway/primary/central) +"pRj" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/turf/closed/wall, +/area/maintenance/port/fore) "pRs" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 5 @@ -58285,6 +58836,14 @@ }, /turf/open/floor/plating, /area/engine/atmos) +"pVi" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/wood{ + icon_state = "wood-broken2" + }, +/area/maintenance/port/fore) "pYQ" = ( /obj/structure/reagent_dispensers/watertank, /obj/item/reagent_containers/glass/bucket, @@ -58371,6 +58930,27 @@ }, /turf/closed/wall, /area/quartermaster/miningdock) +"qjo" = ( +/obj/structure/rack, +/obj/effect/spawner/lootdrop/maintenance{ + lootcount = 4; + name = "4maintenance loot spawner" + }, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"qkC" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/landmark/start/paramedic, +/turf/open/floor/plasteel/white, +/area/medical/medbay/central) +"qll" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 4 + }, +/turf/closed/wall, +/area/maintenance/port/fore) "qlY" = ( /obj/item/kirbyplants/random, /turf/open/floor/plating{ @@ -58382,6 +58962,10 @@ /obj/structure/table, /turf/open/floor/plasteel, /area/security/prison) +"qnC" = ( +/obj/machinery/door/firedoor, +/turf/open/floor/plasteel/white, +/area/medical/medbay/lobby) "qqs" = ( /obj/structure/mirror{ pixel_y = 32 @@ -58391,6 +58975,16 @@ }, /turf/open/floor/mineral/titanium/blue, /area/crew_quarters/toilet) +"qtw" = ( +/obj/machinery/door/airlock/external{ + dir = 2; + name = "Port Docking Bay 4" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/turf/open/floor/plating, +/area/hallway/secondary/entry) "qtH" = ( /obj/machinery/atmospherics/pipe/heat_exchanging/simple{ dir = 4 @@ -58453,6 +59047,12 @@ }, /turf/open/floor/plasteel/dark, /area/maintenance/starboard/aft) +"qGw" = ( +/obj/structure/chair/pew/right{ + dir = 8 + }, +/turf/open/floor/wood/wood_diagonal, +/area/maintenance/port/fore) "qIw" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -58474,6 +59074,12 @@ /obj/structure/lattice, /turf/open/space, /area/space/nearstation) +"qLy" = ( +/obj/structure/chair/sofa/left{ + dir = 8 + }, +/turf/open/floor/plating, +/area/maintenance/port/fore) "qLR" = ( /obj/structure/mirror{ pixel_y = 32 @@ -58525,6 +59131,16 @@ }, /turf/open/floor/plasteel/dark, /area/crew_quarters/heads/captain) +"qSf" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel/dark, +/area/medical/morgue) "qSF" = ( /obj/item/seeds/bee_balm/honey_balm, /obj/machinery/atmospherics/components/unary/vent_pump/on{ @@ -58543,7 +59159,7 @@ icon_state = "plant-22" }, /turf/open/floor/plasteel/white, -/area/medical/medbay/central) +/area/medical/medbay/lobby) "qVP" = ( /obj/effect/spawner/structure/window, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -58568,6 +59184,16 @@ /obj/structure/lattice, /turf/open/space/basic, /area/space/nearstation) +"qZD" = ( +/obj/effect/decal/cleanable/egg_smudge, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"raH" = ( +/obj/machinery/atmospherics/pipe/manifold/orange/hidden{ + dir = 8 + }, +/turf/open/floor/plating, +/area/maintenance/port/fore) "rba" = ( /obj/structure/cable/white{ icon_state = "0-8" @@ -58754,6 +59380,12 @@ /obj/item/clothing/under/dress/sundress, /turf/open/floor/plasteel, /area/crew_quarters/fitness) +"rsp" = ( +/obj/effect/turf_decal/stripes/line, +/obj/structure/table, +/obj/item/flashlight, +/turf/open/floor/plasteel, +/area/hallway/secondary/entry) "rtl" = ( /obj/effect/turf_decal/stripes/line{ dir = 5 @@ -58837,9 +59469,6 @@ /area/maintenance/bar) "rCl" = ( /obj/machinery/door/firedoor, -/obj/structure/cable{ - icon_state = "4-8" - }, /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 1 }, @@ -58860,6 +59489,12 @@ }, /turf/open/floor/plasteel, /area/security/brig) +"rGo" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/turf/open/floor/plating, +/area/maintenance/port/fore) "rGq" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable{ @@ -58877,23 +59512,10 @@ }, /turf/open/floor/plating, /area/crew_quarters/abandoned_gambling_den) -"rJv" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/machinery/door/poddoor/preopen{ - id = "Secure Gate"; - name = "brig shutters" - }, -/turf/open/floor/plating, -/area/security/brig) "rJw" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating/airless, +/obj/structure/table/glass, +/obj/item/hemostat, +/turf/open/floor/plating, /area/maintenance/port/fore) "rKP" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ @@ -58974,6 +59596,10 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/dark, /area/hallway/primary/central) +"rUe" = ( +/obj/effect/spawner/structure/window, +/turf/open/floor/plating, +/area/medical/medbay/central) "rVy" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, @@ -59001,6 +59627,22 @@ dir = 1 }, /area/engine/atmos) +"rWg" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/medical/paramedic) "rXl" = ( /obj/structure/chair/office/light, /obj/machinery/firealarm{ @@ -59012,6 +59654,26 @@ }, /turf/open/floor/plasteel, /area/engine/gravity_generator) +"rYa" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/closet, +/obj/effect/spawner/lootdrop/maintenance, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"rZQ" = ( +/obj/docking_port/stationary{ + dir = 8; + dwidth = 3; + height = 5; + id = "commonmining_home"; + name = "SS13: Common Mining Dock"; + roundstart_template = /datum/map_template/shuttle/mining_common/meta; + width = 7 + }, +/turf/open/space/basic, +/area/space) "saK" = ( /obj/structure/closet/crate, /obj/item/target/alien, @@ -59050,9 +59712,6 @@ }, /area/crew_quarters/fitness) "seP" = ( -/obj/structure/cable{ - icon_state = "0-4" - }, /obj/structure/cable{ icon_state = "0-8" }, @@ -59095,6 +59754,15 @@ /obj/structure/closet/crate, /turf/open/floor/plasteel, /area/engine/atmos) +"spR" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 4 + }, +/obj/structure/chair/pew{ + dir = 8 + }, +/turf/open/floor/wood/wood_diagonal, +/area/maintenance/port/fore) "sqg" = ( /obj/structure/table/wood, /obj/item/clothing/under/misc/pj/red, @@ -59203,6 +59871,11 @@ icon_state = "wood-broken6" }, /area/maintenance/bar) +"sCa" = ( +/obj/structure/rack, +/obj/item/circuitboard/machine/monkey_recycler, +/turf/open/floor/plating, +/area/maintenance/port/fore) "sEi" = ( /obj/machinery/vr_sleeper{ dir = 4 @@ -59260,6 +59933,19 @@ }, /turf/open/floor/plasteel, /area/hydroponics) +"sJw" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/obj/machinery/computer/shuttle/mining/common{ + dir = 1 + }, +/obj/machinery/camera{ + c_tag = "Arrivals Bay Mining Dock"; + dir = 1 + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/entry) "sJx" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -59279,6 +59965,11 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/fitness) +"sKL" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/grille/broken, +/turf/open/floor/plating, +/area/maintenance/aft) "sLa" = ( /obj/effect/turf_decal/tile/blue, /obj/effect/turf_decal/tile/blue{ @@ -59360,6 +60051,11 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/closed/wall/r_wall, /area/engine/engine_smes) +"sRd" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/girder, +/turf/open/floor/plating, +/area/maintenance/port/fore) "sRH" = ( /obj/machinery/autolathe/secure{ name = "public autolathe" @@ -59427,6 +60123,18 @@ /obj/structure/filingcabinet/employment, /turf/open/floor/wood, /area/crew_quarters/heads/captain) +"thg" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/sign/poster/contraband/random{ + pixel_y = 32 + }, +/turf/open/floor/plating, +/area/maintenance/port/fore) "thB" = ( /obj/structure/sign/warning/securearea{ pixel_y = -32 @@ -59486,6 +60194,12 @@ }, /turf/open/floor/plating/airless, /area/space/nearstation) +"tqG" = ( +/obj/structure/chair/pew/left{ + dir = 8 + }, +/turf/open/floor/wood/wood_diagonal, +/area/maintenance/port/fore) "trb" = ( /obj/machinery/light{ dir = 4 @@ -59504,6 +60218,12 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/aft) +"ttd" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plasteel/dark, +/area/medical/morgue) "ttL" = ( /obj/structure/sign/poster/contraband/random{ pixel_y = 32 @@ -59527,6 +60247,13 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/plasteel, /area/crew_quarters/dorms) +"twE" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plasteel/white, +/area/medical/medbay/central) "tyX" = ( /obj/structure/cable{ icon_state = "4-8" @@ -59552,9 +60279,9 @@ /area/crew_quarters/fitness/pool) "tAH" = ( /obj/machinery/atmospherics/pipe/simple/orange/visible, -/obj/structure/lattice, -/turf/open/space/basic, -/area/space/nearstation) +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/engine/atmos) "tCa" = ( /obj/structure/table/wood, /obj/item/instrument/guitar{ @@ -59576,7 +60303,7 @@ dir = 1 }, /turf/open/floor/plasteel/white, -/area/medical/medbay/central) +/area/medical/medbay/lobby) "tEK" = ( /obj/structure/cable{ icon_state = "4-8" @@ -59590,6 +60317,15 @@ }, /turf/open/floor/plating, /area/maintenance/solars/port/aft) +"tEL" = ( +/obj/structure/table, +/obj/effect/spawner/lootdrop/maintenance{ + lootcount = 2; + name = "2maintenance loot spawner" + }, +/obj/item/storage/toolbox/electrical, +/turf/open/floor/plating, +/area/maintenance/department/medical/morgue) "tHh" = ( /obj/machinery/disposal/bin, /obj/effect/turf_decal/tile/red, @@ -59602,6 +60338,33 @@ }, /turf/open/floor/plasteel, /area/security/brig) +"tHy" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/obj/item/kirbyplants{ + icon_state = "applebush" + }, +/turf/open/floor/plasteel/white/corner{ + dir = 1 + }, +/area/hallway/secondary/entry) +"tIE" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/obj/machinery/airalarm{ + dir = 8; + pixel_x = 24 + }, +/obj/effect/turf_decal/trimline/blue/filled/corner{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/medical/paramedic) "tJi" = ( /obj/machinery/airalarm{ dir = 4; @@ -59666,7 +60429,13 @@ "tMl" = ( /obj/effect/turf_decal/loading_area, /turf/open/floor/plasteel/showroomfloor, -/area/crew_quarters/kitchen) +/area/crew_quarters/kitchen/backroom) +"tNl" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/medical/morgue) "tNF" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 8 @@ -59719,12 +60488,29 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/aft) +"tVE" = ( +/obj/item/chair/wood{ + dir = 4 + }, +/obj/effect/landmark/xeno_spawn, +/turf/open/floor/wood{ + icon_state = "wood-broken5" + }, +/area/maintenance/port/fore) "tWj" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 4 }, /turf/open/floor/wood, /area/crew_quarters/theatre) +"tXs" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/maintenance/port/fore) "tXL" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 9 @@ -59738,6 +60524,12 @@ }, /turf/open/floor/plasteel, /area/hallway/primary/central) +"tZu" = ( +/obj/machinery/light/small{ + dir = 8 + }, +/turf/open/floor/plating, +/area/maintenance/port/fore) "uaw" = ( /obj/machinery/power/apc{ areastring = "/area/maintenance/bar"; @@ -59818,6 +60610,14 @@ }, /turf/open/floor/plasteel, /area/engine/atmos) +"ugq" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/girder, +/obj/structure/grille, +/turf/open/floor/plating, +/area/maintenance/port/fore) "ugu" = ( /obj/structure/cable{ icon_state = "1-4" @@ -60008,6 +60808,20 @@ }, /turf/open/floor/wood, /area/crew_quarters/bar) +"uBf" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/grille, +/turf/open/floor/plating, +/area/maintenance/port/fore) +"uBr" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/medical/medbay/lobby) "uCo" = ( /obj/structure/chair{ dir = 1 @@ -60053,6 +60867,13 @@ }, /turf/open/floor/plasteel/grimy, /area/security/detectives_office) +"uFV" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/white, +/area/medical/medbay/central) "uFZ" = ( /obj/structure/closet/emcloset, /obj/effect/turf_decal/stripes/line{ @@ -60163,8 +60984,8 @@ /turf/closed/wall/r_wall, /area/engine/gravity_generator) "uRn" = ( -/mob/living/simple_animal/opossum, /obj/structure/chair/stool, +/mob/living/simple_animal/opossum, /turf/open/floor/carpet/royalblue, /area/maintenance/starboard/aft) "uRS" = ( @@ -60216,6 +61037,9 @@ /area/maintenance/starboard/aft) "uXt" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/obj/structure/cable{ + icon_state = "1-2" + }, /turf/open/floor/plasteel, /area/security/brig) "vae" = ( @@ -60278,7 +61102,7 @@ pixel_y = -22 }, /turf/open/floor/wood, -/area/security/vacantoffice) +/area/vacant_room/office) "veS" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -60434,6 +61258,13 @@ icon_state = "platingdmg1" }, /area/maintenance/starboard/aft) +"vxz" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/obj/item/storage/box/lights/mixed, +/turf/open/floor/plating, +/area/storage/emergency/starboard) "vxX" = ( /obj/machinery/door/airlock/external{ name = "Labor Camp Shuttle Airlock" @@ -60449,13 +61280,13 @@ /area/crew_quarters/dorms) "vyK" = ( /obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable{ - icon_state = "0-8" - }, /obj/machinery/door/poddoor/preopen{ id = "Secure Gate"; name = "brig shutters" }, +/obj/structure/cable{ + icon_state = "0-2" + }, /turf/open/floor/plating, /area/security/brig) "vzp" = ( @@ -60571,6 +61402,15 @@ /obj/machinery/door/firedoor, /turf/open/floor/plasteel, /area/crew_quarters/cryopod) +"vHo" = ( +/obj/machinery/atmospherics/pipe/simple/orange/visible, +/obj/machinery/door/airlock/external{ + name = "Atmospherics External Airlock"; + req_access_txt = "24" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/turf/open/floor/plating, +/area/engine/atmos) "vHz" = ( /obj/structure/chair{ dir = 8 @@ -60741,7 +61581,7 @@ dir = 8 }, /turf/open/floor/plasteel/white, -/area/medical/medbay/central) +/area/medical/medbay/lobby) "wcB" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 10 @@ -60783,6 +61623,14 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/fitness/pool) +"wjd" = ( +/obj/effect/turf_decal/stripes/line, +/obj/structure/table, +/obj/item/gps/mining{ + gpstag = "MINE_PUB" + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/entry) "wje" = ( /obj/structure/rack, /obj/item/instrument/banjo, @@ -60803,6 +61651,16 @@ "wkN" = ( /turf/closed/wall, /area/science/circuit) +"wlg" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supplymain/hidden{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/maintenance/port/fore) "wly" = ( /obj/structure/rack, /obj/effect/spawner/lootdrop/maintenance{ @@ -60945,6 +61803,16 @@ /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, /turf/open/floor/plating, /area/maintenance/starboard/fore) +"wJA" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/medical/morgue) "wKe" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/shutters/preopen{ @@ -61016,13 +61884,8 @@ /turf/open/floor/plating, /area/maintenance/starboard/aft) "wWi" = ( -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 8 - }, -/obj/machinery/door/airlock/external{ - name = "Atmospherics External Airlock"; - req_access_txt = "24" - }, +/obj/machinery/atmospherics/pipe/simple/dark/visible, +/obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/engine/atmos) "wWT" = ( @@ -61089,6 +61952,12 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/fitness/pool) +"xbi" = ( +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 9 + }, +/turf/open/floor/plating, +/area/maintenance/fore) "xbn" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 9 @@ -61366,6 +62235,16 @@ /obj/machinery/vending/wardrobe/curator_wardrobe, /turf/open/floor/carpet, /area/library) +"xES" = ( +/turf/closed/wall/r_wall, +/area/engine/storage) +"xFM" = ( +/obj/item/clothing/gloves/color/rainbow, +/obj/item/clothing/head/soft/rainbow, +/obj/item/clothing/shoes/sneakers/rainbow, +/obj/item/clothing/under/color/rainbow, +/turf/open/floor/plating, +/area/maintenance/port/fore) "xGQ" = ( /obj/structure/sign/plaques/golden{ pixel_y = 32 @@ -61612,10 +62491,9 @@ /turf/open/floor/plasteel, /area/hallway/primary/fore) "yds" = ( -/obj/effect/decal/cleanable/vomit, -/obj/structure/chair{ - dir = 1 - }, +/obj/structure/table, +/obj/item/stamp, +/obj/item/poster/random_official, /turf/open/floor/plating, /area/maintenance/port/fore) "ydD" = ( @@ -61633,6 +62511,12 @@ /obj/machinery/status_display/evac, /turf/closed/wall, /area/hallway/primary/central) +"ygb" = ( +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 4 + }, +/turf/open/floor/wood/wood_diagonal, +/area/maintenance/port/fore) "yhx" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 5 @@ -68460,7 +69344,7 @@ aaa aaa aaa aaa -aaa +gDl aaa aaa aaa @@ -68969,10 +69853,10 @@ aaa aaa aaa aaa +rZQ aaa aaa -aaa -aae +aoV aaa aaa aaa @@ -69224,11 +70108,11 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa +aaf +awW +kiY +awW +aaf aaa aaa aaa @@ -69481,11 +70365,11 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa +aaf +awW +auP +awW +aaf aaa aaa aaa @@ -69738,11 +70622,11 @@ aaa aaa aaa aaa -aoV -aaa -aaa -aaa -aaa +arB +awW +qtw +awW +arB aaa aaa aaa @@ -69995,12 +70879,12 @@ aaa aaa aaa aaa -aoV -aaa -aaa -aaa -aaa -aoV +arB +tHy +ayl +sJw +arB +aaf aaa aaa aaa @@ -70252,12 +71136,12 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aoV +awW +lBd +ayl +rsp +awW +aaf aaa aaa aaa @@ -70509,15 +71393,15 @@ aaa aaa aaa aaa +awW +lBd +ayl +wjd +awW aaf aaa aaa aaa -aaf -kls -aaa -aaa -aaa aaa aaa aaa @@ -70767,9 +71651,9 @@ aaa aaa aaa arB -arB -arB -arB +mqo +ayn +pFY aAC aaf aaa @@ -71024,7 +71908,7 @@ aaa aaa aaa arB -awZ +iWK ayk awW aAD @@ -71285,7 +72169,7 @@ awZ ayl beK auP -cyt +cyu cyd aaa aaa @@ -74330,15 +75214,15 @@ aaa aaa aaa aaa -aaa -aaa aaf aaf aaf aaf alU +avS atJ amC +amC aKf bEJ axb @@ -74586,16 +75470,16 @@ aaa aaa aaa aaa -aae -aaa aaa aag alU alU alU alU -aCW +rGo amC +aKY +aoW asK alU alU @@ -74844,13 +75728,13 @@ aaa aaa aaa aaa -aaa -aaa aag -cyC +arN amC amC -gLH +auX +arM +ase ase avq aum @@ -75101,20 +75985,20 @@ aaa aaa aaa aaa -aaa -aaa gJi alU alU alU alU -asc -atn -aLt -aue -aue +aqO +alU +alU +kwY +qll aue aue +ayy +ayy aAe aBJ aCs @@ -75359,19 +76243,19 @@ aaa aaa aaa aaa -aaa -aaa alU -apL -aqK +atM +atW +alU +aqO alU -asc -atq aon -amC -axe -ays +aAY +aCW +gLH alU +hho +aKY auT aBI aCY @@ -75615,20 +76499,20 @@ aaa aaa aaa aaa -aaa -aaf alU alU -apM -aqL +atP +auV alU -asc +aqO +alU +axe atq -auX -avS amC amC alU +pvJ +mwS auT aBI aDc @@ -75871,21 +76755,21 @@ aaf aaf aaf aaf -aaa -aaa -aaa +aaf alU -aoS +arO amC aom ank -asc -atq -auZ -bsU +aqO +alU axf +ayu +auZ amC alU +gJN +amC auT aBI aDf @@ -76129,20 +77013,20 @@ aaa aaa aaa aaa -aaa -aaa alU +ash +atU aoR apO -aqM -arF -asc -atq -auY -amC -amC -ayt +aqO alU +axg +aAY +amC +rJw +alU +cGf +aKY aAw aBl aCZ @@ -76385,20 +77269,20 @@ aaf aaf aaf aaf -aaa -aaa -aaa +aaf alU +atn +amC aoT -amC +auY aqO -arG -asc -atq +alU +axi +aAY ava +gKo +alU amC -axg -ayu azF azF azF @@ -76643,19 +77527,19 @@ aaa aaa aaa aaa -aaa -aaa alU alU alU alU -arG -ash -atq -alU +auY +aqO +alU +alU +nBI alU alU alU +amC azF aAP aAP @@ -76900,14 +77784,14 @@ aaa aaa aaa aaa -aaa -aaa -aaf -aaa +gXs ali -aoX -arI -asi +aok +aKY +anJ +asc +aol +aol atr atN atN @@ -77157,18 +78041,18 @@ aaf aaf aaf aaa -aaa -aaa -aaf -aaa +gXs ali +aok amC +anJ +asi +arH +cCs +ann +ann +hCn arH -atP -auV -auV -auV -axK ayh azi aAx @@ -77416,16 +78300,16 @@ alR alR alR alR -alU -alU -alU +apL +pkq +wlg aqP -arJ alU -avb -aaH -bOi -atO +alU +alU +alU +alU +juy asK azF aAT @@ -77674,15 +78558,15 @@ amy ang alR aoj -amC -apP -amC -arH +kuL +anJ +tXs alU -aaH +axj +ayx bNb -aaf -atO +asO +alU asK azF aAS @@ -77931,15 +78815,15 @@ amA ani anI aol -aol -aol -aol -arL +jUV +arI +atL alU +axl avU avb bOi -atO +alU asK azF aAU @@ -78187,17 +79071,17 @@ alS amz anh anH +oCF amC -aok anJ aFJ -arK alU +axK +azG +aLt +jLJ alU -ali -alU -atO -asK +thg azF aAP aAP @@ -78444,16 +79328,16 @@ alR alR alR alR -amC -aom -apP -amC -arN -amC -amC -amC -amC -axi +alU +alU +arJ +alU +alU +ays +asO +bsU +tVE +alU asK azF azF @@ -78697,20 +79581,20 @@ aaf aaa aaa aaa -aaa alU +amF alF -anj -anJ +aoS +apM +enS aoU +aoW alU -amC -arM -alU +ayt avc -asO +pVi avV -atO +alU ayw atN aAV @@ -78954,22 +79838,22 @@ aaf aaf aaf aaf -gXs alU -alF -anl +amF +aoU amC alU -alU -amC -alU -alU apP +arK +amC alU alU -atP -auV -axK +alU +cyC +alU +pRj +cwS +cwS aAN aBL aDd @@ -79211,22 +80095,22 @@ aaf aaa aaa aaa -aaa alU alU ank alU alU -alU +aoW amC -amC -amC -arN -alU avW +axn +alU +nXg +jaG +alU +rYa amC -ayx -atO +sRd aAL aBQ aDb @@ -79468,22 +80352,22 @@ aaS aaa aaa aaa -aaa alU +anj amD -anm -amC -amC -ali amC alU -asO -atL -alU -avX -axf +arG +amC +arK +axn +alU +aoW +ntt +alU +fhu +amC amC -atO aAY aBQ aDl @@ -79725,23 +80609,23 @@ aaS aaf aaf aaf -gXs alU amC +arK amC +ank amC +arL amC -ali +aoW +dal +arK +noL +arH +psf +arK amC -alU -alU -alU -alU -alU -axj -alU -atO -aAY +klN aBQ aDk aDo @@ -79982,23 +80866,23 @@ aaS aaa aaa aaa -aaa alU +anl amE -ann -amC amC alU -amC +qjo alU -arN -atU alU -atU +alU +alU +alU +alU +alU +ntt amC -atJ -atO -aAY +avW +gYo aBQ aDn aDo @@ -80239,23 +81123,23 @@ aaa aaa aaa aaa -aaa alU alU alU -ank -alU -alU -amC -amC -amC amC alU -avc +alU +alU +avX amC -atJ -atO -aAY +arK +amC +amC +jFB +ppw +enJ +amC +iII aBQ aDm aDo @@ -80496,22 +81380,22 @@ aaa aaa aaa aaa -aaa alU -amF +anm alU amC alU +xFM alU -alU -alU +gLG +raH +jon +atU amC +uBf +amC +aKY amC -alU -atM -axl -auV -azG aAY aBQ aDp @@ -80753,21 +81637,21 @@ aaa aaa aaa aaa -aaa alU alU alU +ank +alU +alU +alU +alU +jbr +alU +alU amC -alU -aaH -rJw -arO -amC -amC -avc -atO +ntt axk -ayy +jbp ayy aAO aBN @@ -81011,20 +81895,20 @@ aaa aaa aaa aaa -aaa -aaa ali +aok +qZD anK -ali -aaf +geg alU -rJw -alU -atW -atW -atO -axn +pqR +kqo +hnc alU +amC +ntt +aAY +amC aoX atJ aBQ @@ -81268,19 +82152,19 @@ aaa aaa aaa aaa -aaa -aaa ali +aok +amC aKY -ali -aaf -aoV -aaf +cDs alU -ali -ali -atO -axo +fmJ +ygb +kiW +alU +amC +ntt +nbr ayz ayz ayz @@ -81518,27 +82402,27 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa ali ali +alU +alU +ali +alU +alU +alU +rGo amC +amC +amC +lZN +cPb +ygb +cPb +lZN +amC +jIW +ddI alU -alU -alU -aaf -aoV -aae -aaH -avY -axo -arP fgG rqW aGD @@ -81772,30 +82656,30 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa aae aaa aaa ali -yds +anL +avY +tZu amC aon -aoW -arP -aqQ -aqQ -aqQ -aqQ -avZ -axo -arP +yds +alU +amC +amC +amC +htu +alU +edj +ygb +gKG +alU +amC +ntt +ugq +alU rPU fne aGr @@ -82032,27 +82916,27 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa ali +amC +avY aKY amC amC amC -gsM -aqR -aqR -aGh -aqR -awb -axo -arP +ank +amC +fcd +dIu +qLy +alU +tqG +spR +qGw +alU +aFJ +ntt +aAY +alU aCh pIf kCo @@ -82289,27 +83173,27 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa ali -nBI -anL aoo +avY +amC +gsM +sCa aoX -arP -arP -arP -arP -arP -avZ +alU +ali +ali +ali +ali +alU +alU +lzk +alU +alU +alU +atO axp -ayC +aue azH eEe aGv @@ -82546,21 +83430,21 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -ali ali ali alU alU -arP -aqR +ali +alU +alU +alU +aaa +aaa +aaa +eyq +jDZ +gQr +xbi wje rQJ uUi @@ -85459,7 +86343,7 @@ oKh oKh iiW iiW -iiW +dxF izv nfm bCq @@ -87005,14 +87889,14 @@ cdc cdZ bVI cay -ccw -ccw -ccw -ccw -ccw -ccw -ccw -ccw +xES +xES +xES +xES +xES +xES +xES +xES cfL coH cBO @@ -87151,7 +88035,7 @@ aaa aaa aag aaa -aak +aam aap saX aaD @@ -87262,14 +88146,14 @@ bWB cec bVI kNv -ccw +xES chY ciX cjM ckB ckB ckB -ccw +xES cnY coH cgR @@ -87408,7 +88292,7 @@ aaa aaa aag aaf -aaj +aai aao aax aaC @@ -87434,7 +88318,7 @@ alz cZe alg plS -dyE +afM pQr aou aqC @@ -87519,14 +88403,14 @@ cde ceb bVI cay -ccw +xES chY -ciZ +fsQ ciW ckB ckB ckC -ccw +xES cnX coH cps @@ -87665,7 +88549,7 @@ aaa aaa aag aaa -aal +aam aar uGI aaF @@ -87776,14 +88660,14 @@ cdf ced bVI cay -ccw -ciZ -ciZ -ciZ +xES +fsQ +fsQ +fsQ ckC ckC ckC -ccw +xES coa coJ clJ @@ -87922,7 +88806,7 @@ aaa aaa aag aaf -aaj +aai aaq dyS aaE @@ -87947,10 +88831,10 @@ agj agM sAk akp -akQ +agj amB amn -amS +aiX anz anz aov @@ -88033,14 +88917,14 @@ bWB bWB bVI cay -ccw -ccw +xES +xES ciY ciY -ccw -ccw -ccw -ccw +xES +xES +xES +xES cnZ coH cgI @@ -88179,8 +89063,8 @@ aaa aaa aag aaa -aal -aat +aam +aaj aat aat aat @@ -88207,7 +89091,7 @@ akM amm gyr anM -rJv +xal aqC anz aox @@ -88436,7 +89320,7 @@ aaa aaa aag aaf -aaj +aai aas aat aat @@ -88459,12 +89343,12 @@ akU afM lBz alA -ene -alg +alt +amS kbm -dyE +afM cKC -seP +dyE aqC anR aow @@ -88694,7 +89578,7 @@ aaa aag aaa aam -aav +akQ aav aav aav @@ -88721,7 +89605,7 @@ akT gNE gLz anB -amR +seP aqC anz aov @@ -88975,10 +89859,10 @@ fxx ako ene amj -akQ +agj amB amn -amS +aiX anz anz aov @@ -89235,7 +90119,7 @@ amk amm gyr mos -rJv +xal aqC anz aov @@ -89488,11 +90372,11 @@ akF aiy akv uXt -alg +amS pAK -dyE +afM anQ -seP +dyE aqC anz aov @@ -89749,7 +90633,7 @@ akT amx any arD -amR +seP aqC anz aov @@ -90003,10 +90887,10 @@ ajc akz ene als -akQ -amB +agj +apT amn -amS +aiX aqD anz aov @@ -90260,7 +91144,7 @@ ajc akz ene alg -alt +alw amp aot apR @@ -90519,7 +91403,7 @@ itD alg vyK amI -alg +amS alv aqE anS @@ -91034,7 +91918,7 @@ agn agn amN aoZ -apT +agn anw anz cXU @@ -91291,7 +92175,7 @@ akY alE amU apH -apX +aqt aqC anz gfC @@ -93405,7 +94289,7 @@ aXf bCv bDP bCv -bAw +pbC bHV bJw bKC @@ -93662,11 +94546,11 @@ bBy bzs bDO bFl -bGH +bWe bHU bJv -bKB -bLK +mFo +bBb bVW bOd iql @@ -93920,10 +94804,10 @@ bCz bDQ bFn bGJ -bHX +sKL bJy -bKE -bLP +iUp +bLK bMP bIG bJB @@ -94174,10 +95058,10 @@ aJq bHt bBz bzs -bzs +bof bFm bGI -bHW +bof cBD bKD bLO @@ -94431,10 +95315,10 @@ bwu kPj bBB eBX -bzs +bof bFp -bGJ -bHX +uFV +fvk bJA bKG bLK @@ -94688,9 +95572,9 @@ aJq bAj aJq aKG -bzs +bof bFo -bDu +bDA bFt bGQ bHp @@ -94945,7 +95829,7 @@ byX aXh bmE bCA -bzs +bof bCC bDA bFx @@ -95197,15 +96081,15 @@ asT asV bof bwv -bvj -bvj -bvj -bvj -bvj -bvj +nEu +nEu +nEu +nEu +nEu +nEu bCB -bCP -bvj +iVH +nEu bvd bKH bLK @@ -95454,7 +96338,7 @@ asU asX bof bwx -bvj +nEu bwB bxa byZ @@ -95715,8 +96599,8 @@ bvi bww bwZ byY -bzH -bAW +bCD +ivJ bCE bFv bFz @@ -95972,8 +96856,8 @@ bvl bwE bxc bzb -bzK -bBb +nEu +nEu cpG bDC bId @@ -96225,16 +97109,16 @@ bqS brY bwz asG -bvj +nEu bza bxb -bvh -bCD +bdN +iRV bAY bCH -bDR +gfQ bIc -bvd +bzK bKH bLK bMW @@ -96482,10 +97366,10 @@ bqV bEe bhh bBL -bvj +nEu asM bAl -bvh +bzH bzS bBc bCJ @@ -96737,17 +97621,17 @@ bfF bfF bqU bsq -bvj -bvj -bvj -bvj -bvj -bvj -bvj -bvd +bof +bof +nEu +nEu +nEu +nEu +nEu +nEu bFu jex -bvj +ofj bvd bKH bLK @@ -96986,7 +97870,7 @@ bet bfH aiP wbE -bhh +ihR wbE bmJ bof @@ -96994,18 +97878,18 @@ bpu bqP bsy bEe -bvh +rUe ajv bxN bze asL -bvh +rUe bCG bBd bFw bDD bFJ -bvd +oQY bKH bzs bRK @@ -97027,9 +97911,9 @@ cCI cCJ cCI cCP -bLK +bMK chg -bLK +bMK aaf aoV aoV @@ -97245,24 +98129,24 @@ bhe bit bjS tCd -bli +eRr boe bli bpN bqX -bEe -btg -bDR -bDR -bDR -bDR +dcX +fNN +twE +twE +twE +twE bzc -bDR -bDZ +twE +bpP bCK bFy bFF -bvd +oQY bKH bzs fjU @@ -97474,7 +98358,7 @@ awB att azh fHG -fHG +kqy kxf ufD alP @@ -97499,7 +98383,7 @@ aYV bet bfG bhe -bhh +ihR bjU blk blk @@ -97508,18 +98392,18 @@ biu bpO bqY bss -btg +bfJ buk bvm bDT buk -bvh +rUe bzU bBe bCS bDE bFK -bvd +oQY bKH bzs fjU @@ -97542,11 +98426,11 @@ cdD bOh cCQ cCS -wWi +chg cCS -aaa -aaa -aaa +bMK +bMK +bMK gXs aaa aaa @@ -97756,7 +98640,7 @@ aYV bet bfG bhe -bhh +ihR bjV blj bmK @@ -97765,17 +98649,17 @@ bog bhh bsx bsr -bvh +rUe bwD -bDR -bDR +bhh +bhh bAq -bvj -bCQ +bof +bog bDW -bCP -bvj -bvj +bKR +bof +bof bJC bKH bzs @@ -97799,11 +98683,11 @@ cbH bOh cCG tAH -dCt -fty -dCt -dCt -dCt +iKV +vHo +iKV +iKV +eCm fty dCt dCt @@ -98012,8 +98896,8 @@ aYV bdo beu bvk -biu -biu +jiT +jiT bjT blm bmL @@ -98022,15 +98906,15 @@ bpw ium bsx btX -bvj +bof bwG bxR bxR -bvj -bvj +bof +bof bzW -bDZ -bCT +bqQ +bCR bGR bIj bJC @@ -98055,12 +98939,12 @@ ccD cbH bOh aaf -aaa -aaa -aaa -aaa -aaa -aoV +bMK +chg +bMK +bMK +bMK +bMK aaf aoV aoV @@ -98268,9 +99152,9 @@ aJC aYV aYV bet -bfJ -bhh -bhh +qnC +ihR +ihR bgQ bll bhh @@ -98279,16 +99163,16 @@ bpv bhh bsx btV -bvh +rUe bwF bxQ bxQ bAr -bvj +bof bzV -bDZ -bzf -bDR +bqQ +boo +bhh bIi bJC bKH @@ -98312,9 +99196,9 @@ bOh bOh bOh xcl -caJ -ciC -gXs +wWi +kil +cCS gXs tSo kcx @@ -98527,25 +99411,25 @@ aYV bet bfH qTV -bhh -bhg +ihR +uBr bln bmM boj bof bhh -bsx +qkC btV -bvj +bof bwI bxT bxQ bAt -bvj +bof bCM -bDZ -bDR -bDR +bqQ +eZa +bhh bIl bJC bKH @@ -98790,19 +99674,19 @@ bfK bfK bfK bof -bhh -bsx +bKL +brf btV -bvh +rUe bwH bxS bzh bAs -bvj +bof bCL bxO -bDR -bDR +bhh +bhh bIk bJC bKH @@ -99050,19 +99934,19 @@ apI bwz brg btZ -bvj +bof bwI bxV bzj bAv -bvj +bof bCO -bDR -bDR -bDR +bhh +bhh +bhh bIn bJC -bKL +bUZ bLT bLT bLT @@ -99307,12 +100191,12 @@ bpx bpP brf bhh -bvh +rUe bwJ bxU bzi bAu -bvj +bof bCN bEa pHl @@ -99536,16 +100420,16 @@ aaf alP aGL aIe -aJI -aJI -aJI -aJI -aJI +bhr +bhr +bhr +bhr +bhr aJI aRC aSK aVz -aVz +ijO aVz aYL aJI @@ -99564,13 +100448,13 @@ bnH bqQ bsx bhh -bvj -bvj +bof +bof bxR bxR -bvj -bvj -bCQ +bof +bof +bog bEd bof bof @@ -99793,7 +100677,7 @@ aaa alP aGN aIh -aJI +bhr aKT aMD aNM @@ -100072,7 +100956,7 @@ bhn biz biz biz -bmR +hMs bfL bol bqQ @@ -100307,7 +101191,7 @@ aaa alP aGL aHY -aQj +biC iNn aMk aNK @@ -100326,9 +101210,9 @@ bdp cBm bfL bhm -bhm -bhm -bhm +tNl +ttd +dkM bkP bmV boc @@ -100579,13 +101463,13 @@ aVz qus bbz aYV -bdp +blg bdc -bfL +hYd beY -bhm -bhm -bhm +oJV +qSf +wJA bkR bfL boo @@ -100821,9 +101705,9 @@ vpY alP aGJ avI -aJI -aJI -aJI +bhr +bhr +bhr aNO aOT aJI @@ -100836,13 +101720,13 @@ aYM aJI bbA aYV -bdr +bdp bdb -bdN +bfL blr bho -bho -bho +ecp +eiB bkQ bmW bom @@ -101080,9 +101964,9 @@ aGJ avI aJL aKX -aJI -aJI -aJI +bhr +bhr +bhr aJI aRH aVz @@ -101091,15 +101975,15 @@ aVH aXn aYN aJI -bbz -aYV +bkU aYV +bdp bey bfL -bhm -biz -biz -biz +bfL +kVj +bfL +bfL bla bmY boq @@ -101350,15 +102234,15 @@ aJI aJI aJI bcq +blo bcq -bcq -bfL +bfO bhp biB -biB -cTL -bkU -bmX +ouf +nyi +cTO +bmZ bpE bpE bpE @@ -101607,14 +102491,14 @@ aiJ bal bam aYV -aYV -aYV -bfL +bmR +bmX +gaF bhq -bhm +rWg bkb -cTM -bla +nyi +cTO bmZ bpH bra @@ -101866,12 +102750,12 @@ bbB aYV aYV aYV -bfL -bfL -bfL -bfL -bfL -blg +kQa +tIE +dnW +jdE +nyi +cTO bmZ bpG bqZ @@ -102116,18 +103000,18 @@ fzd fFA fFA aVK -aRJ +jwH aRJ aRJ bbB aYV aYV aYV -bfO -bfS -biD +nyi +nyi +nyi bkd -bfS +nyi cTO bmZ bpJ @@ -102379,13 +103263,13 @@ cBg bam aYV aYV -aYV -aYV -bhr -biC -bkc +beE bfS -blo +biD +bfS +kQk +kQk +cTO bmZ bpI brb @@ -102637,11 +103521,11 @@ ssB aYV aYV aYV -beE -bfS +eUy +pkg biE -bkf -bfS +kQk +tEL cTO bmZ bpL @@ -102894,11 +103778,11 @@ ikm aYV aYV bez -bfP -bfS -bfS -bfS bfS +vxz +laN +kQk +jbK cTO bmZ bpK @@ -103151,12 +104035,12 @@ ikm aYV bci beB -bfS -bfS kQk -ipA +kQk +kQk +kQk gbT -cTO +bdr bmZ bon bon @@ -107290,7 +108174,7 @@ bLe bMr bNr bIT -lxP +bJN bJN bJN bJN @@ -108292,11 +109176,11 @@ aYV aXq aYV bga -bgc -bgc -bgc -bgc -bgc +pKV +pKV +pKV +pKV +pKV boB boB boB @@ -109319,8 +110203,8 @@ aCR kYk bdx vHT -bgc -bgc +pKV +pKV biX bhV bka @@ -109576,7 +110460,7 @@ aCR bcy bdw beG -bgc +pKV bhE biW bkv @@ -109833,7 +110717,7 @@ bbG aTk bdy beI -bgc +pKV bhF biW bib @@ -110090,15 +110974,15 @@ aPq aPq bdy beH -bgc -bgc -bgc -bgc -bgc -bgc -bgc +pKV +pKV +pKV +pKV +pKV +pKV +pKV bpp -bgc +pKV brr bsE bvK diff --git a/_maps/map_files/CogStation/CogStation.dmm b/_maps/map_files/CogStation/CogStation.dmm index 70abbc1477..6f5bab0498 100644 --- a/_maps/map_files/CogStation/CogStation.dmm +++ b/_maps/map_files/CogStation/CogStation.dmm @@ -3,11 +3,17 @@ /turf/open/space/basic, /area/space) "aab" = ( -/obj/structure/sign/poster/official/anniversary_vintage_reprint, -/turf/closed/wall/r_wall, -/area/science/research{ - name = "Research Sector" - }) +/obj/machinery/power/apc{ + areastring = "/area/crew_quarters/arcade"; + name = "Arcade APC"; + pixel_y = -26 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/manifold/supplymain/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/maintenance/fore) "aac" = ( /obj/machinery/atmospherics/pipe/simple/general/visible{ dir = 6 @@ -662,6 +668,9 @@ }, /turf/open/floor/plating/airless, /area/router/aux) +"abF" = ( +/turf/closed/wall, +/area/crew_quarters/arcade) "abG" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -699,6 +708,10 @@ /obj/item/paper/fluff/cogstation/cluwne, /turf/open/floor/plating, /area/crew_quarters/theatre/clown) +"abJ" = ( +/obj/machinery/atmospherics/pipe/simple/supplymain/hidden, +/turf/closed/wall, +/area/crew_quarters/arcade) "abK" = ( /obj/effect/turf_decal/stripes/line{ dir = 6 @@ -802,6 +815,10 @@ }, /turf/open/floor/plating, /area/maintenance/port/fore) +"abZ" = ( +/obj/machinery/computer/arcade/orion_trail, +/turf/open/floor/carpet/arcade, +/area/crew_quarters/arcade) "aca" = ( /obj/machinery/conveyor/auto{ dir = 5; @@ -840,6 +857,10 @@ }, /turf/open/floor/plating/airless, /area/router/aux) +"acf" = ( +/obj/machinery/computer/arcade/minesweeper, +/turf/open/floor/carpet/arcade, +/area/crew_quarters/arcade) "acg" = ( /obj/machinery/light{ dir = 8; @@ -861,10 +882,9 @@ }, /area/hallway/secondary/entry) "aci" = ( -/turf/closed/wall, -/area/medical{ - name = "Medical Booth" - }) +/obj/machinery/computer/arcade, +/turf/open/floor/carpet/arcade, +/area/crew_quarters/arcade) "acj" = ( /obj/machinery/conveyor/auto{ dir = 4; @@ -1020,6 +1040,21 @@ /obj/structure/rack, /turf/open/floor/plasteel, /area/ai_monitored/security/armory) +"acz" = ( +/obj/structure/closet/crate, +/obj/item/gun/ballistic/shotgun/toy/unrestricted, +/obj/item/gun/ballistic/shotgun/toy/unrestricted, +/obj/item/toy/gun, +/obj/item/toy/sword, +/obj/item/toy/sword, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/turf/open/floor/carpet/arcade, +/area/crew_quarters/arcade) +"acA" = ( +/turf/open/floor/carpet/arcade, +/area/crew_quarters/arcade) "acB" = ( /obj/machinery/conveyor{ dir = 6; @@ -1101,11 +1136,11 @@ /turf/open/floor/plating/airless, /area/router/aux) "acK" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/medical{ - name = "Medical Booth" - }) +/obj/structure/sign/poster/official/foam_force_ad{ + pixel_y = 32 + }, +/turf/open/floor/carpet/arcade, +/area/crew_quarters/arcade) "acL" = ( /obj/machinery/door/poddoor{ id = "executionspaceblast" @@ -1250,6 +1285,10 @@ }, /turf/closed/wall/r_wall, /area/security/brig) +"adc" = ( +/obj/structure/chair/stool, +/turf/open/floor/carpet/arcade, +/area/crew_quarters/arcade) "add" = ( /obj/machinery/atmospherics/pipe/simple/orange/hidden{ dir = 6 @@ -1479,6 +1518,11 @@ /obj/machinery/atmospherics/pipe/simple/cyan/hidden, /turf/open/floor/plasteel/stairs/medium, /area/security/brig) +"adL" = ( +/obj/structure/chair/stool, +/obj/effect/landmark/start/assistant, +/turf/open/floor/carpet/arcade, +/area/crew_quarters/arcade) "adM" = ( /turf/closed/wall, /area/crew_quarters/observatory) @@ -1512,36 +1556,13 @@ /turf/open/floor/plasteel, /area/hallway/secondary/entry) "adR" = ( -/obj/structure/window/reinforced{ - dir = 1; - pixel_y = 1 +/obj/structure/chair/stool, +/obj/machinery/airalarm{ + dir = 8; + pixel_x = 23 }, -/obj/structure/table/reinforced, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/obj/item/storage/box/beakers, -/obj/item/hand_labeler, -/obj/item/folder/white{ - pixel_x = -6; - pixel_y = 4 - }, -/obj/item/stamp/denied{ - pixel_x = 8; - pixel_y = 8 - }, -/obj/item/stamp, -/turf/open/floor/plasteel/white, -/area/medical{ - name = "Medical Booth" - }) +/turf/open/floor/carpet/arcade, +/area/crew_quarters/arcade) "adS" = ( /turf/closed/wall, /area/construction) @@ -1664,11 +1685,11 @@ /turf/open/floor/plasteel, /area/hallway/secondary/entry) "aej" = ( -/obj/machinery/atmospherics/components/unary/outlet_injector/on, -/turf/open/floor/plating/airless, -/area/engine/engineering{ - name = "Engine Room" - }) +/obj/machinery/vr_sleeper{ + dir = 4 + }, +/turf/open/floor/carpet/arcade, +/area/crew_quarters/arcade) "aek" = ( /obj/effect/turf_decal/tile/blue, /obj/effect/turf_decal/tile/blue{ @@ -1881,10 +1902,9 @@ /turf/open/floor/plating, /area/maintenance/fore) "aeI" = ( -/turf/closed/wall/r_wall, -/area/engine/engineering{ - name = "Engine Room" - }) +/obj/effect/landmark/event_spawn, +/turf/open/floor/carpet/arcade, +/area/crew_quarters/arcade) "aeJ" = ( /obj/effect/spawner/structure/window/plasma/reinforced, /turf/open/floor/plating, @@ -2453,11 +2473,11 @@ /turf/open/floor/plasteel/dark, /area/crew_quarters/observatory) "agc" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/visible, -/turf/closed/wall/r_wall, -/area/engine/engineering{ - name = "Engine Room" - }) +/obj/machinery/vr_sleeper{ + dir = 8 + }, +/turf/open/floor/carpet/arcade, +/area/crew_quarters/arcade) "agd" = ( /obj/structure/fans/tiny/invisible, /obj/docking_port/stationary{ @@ -2641,11 +2661,18 @@ /turf/open/floor/plating, /area/maintenance/fore) "agC" = ( -/obj/machinery/atmospherics/pipe/simple/supply/visible, -/turf/closed/wall/r_wall, -/area/engine/engineering{ - name = "Engine Room" - }) +/obj/machinery/vr_sleeper{ + dir = 4 + }, +/obj/machinery/light{ + dir = 8; + light_color = "#e8eaff" + }, +/obj/structure/sign/poster/official/soft_cap_pop_art{ + pixel_x = -32 + }, +/turf/open/floor/carpet/arcade, +/area/crew_quarters/arcade) "agD" = ( /obj/machinery/seed_extractor, /obj/effect/decal/cleanable/dirt, @@ -2761,15 +2788,15 @@ /turf/open/floor/plasteel/dark, /area/crew_quarters/observatory) "agT" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/visible, -/obj/machinery/suit_storage_unit/engine, -/obj/machinery/light/small{ +/obj/machinery/vr_sleeper{ dir = 8 }, -/turf/open/floor/plasteel, -/area/engine/engineering{ - name = "Engine Room" - }) +/obj/machinery/light{ + dir = 4; + light_color = "#e8eaff" + }, +/turf/open/floor/carpet/arcade, +/area/crew_quarters/arcade) "agU" = ( /obj/structure/table, /obj/effect/turf_decal/tile/yellow{ @@ -3616,7 +3643,7 @@ lootcount = 2; name = "2maintenance loot spawner" }, -/obj/item/caution, +/obj/item/clothing/suit/caution, /turf/open/floor/plating, /area/construction) "ajb" = ( @@ -4401,8 +4428,11 @@ /turf/open/floor/plasteel, /area/hallway/secondary/entry) "akN" = ( -/turf/open/space/basic, -/area/router/aux) +/obj/structure/chair/stool, +/obj/effect/landmark/start/assistant, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on, +/turf/open/floor/carpet/arcade, +/area/crew_quarters/arcade) "akO" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -4549,7 +4579,7 @@ /turf/open/floor/plasteel, /area/security/processing) "alk" = ( -/obj/item/caution, +/obj/item/clothing/suit/caution, /turf/open/floor/plating, /area/construction/secondary) "all" = ( @@ -4853,10 +4883,15 @@ /turf/open/floor/plating, /area/construction/secondary) "alZ" = ( -/turf/closed/wall/r_wall, -/area/hydroponics/garden{ - name = "Nature Preserve" - }) +/obj/machinery/light_switch{ + pixel_x = -24 + }, +/obj/machinery/camera{ + c_tag = "Arcade"; + dir = 4 + }, +/turf/open/floor/carpet/arcade, +/area/crew_quarters/arcade) "ama" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, @@ -5347,36 +5382,15 @@ /turf/open/floor/plating, /area/construction/secondary) "ang" = ( -/turf/closed/wall/r_wall, -/area/engine/storage_shared{ - name = "Electrical Substation" - }) +/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/turf/open/floor/carpet/arcade, +/area/crew_quarters/arcade) "anh" = ( -/obj/structure/window/reinforced{ - dir = 4 +/obj/structure/sign/poster/official/nanomichi_ad{ + pixel_x = 32 }, -/obj/structure/table/reinforced, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/obj/item/paper_bin, -/obj/item/pen, -/obj/item/clothing/glasses/regular, -/obj/machinery/door/window/northright{ - name = "Medical Booth Desk"; - req_access_txt = "5" - }, -/turf/open/floor/plasteel/white, -/area/medical{ - name = "Medical Booth" - }) +/turf/open/floor/carpet/arcade, +/area/crew_quarters/arcade) "ani" = ( /obj/machinery/disposal/bin, /obj/effect/turf_decal/tile/red, @@ -5447,10 +5461,9 @@ }, /area/chapel/main) "anq" = ( -/turf/closed/wall, -/area/crew_quarters/abandoned_gambling_den{ - name = "Arcade" - }) +/obj/machinery/vending/snack/random, +/turf/open/floor/carpet/arcade, +/area/crew_quarters/arcade) "anr" = ( /obj/structure/lattice/catwalk, /obj/machinery/atmospherics/pipe/simple/supplymain/visible{ @@ -5571,13 +5584,9 @@ /turf/open/floor/plasteel/dark/corner, /area/hallway/secondary/entry) "anE" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/engine/engineering{ - name = "Engine Room" - }) +/obj/machinery/vending/games, +/turf/open/floor/carpet/arcade, +/area/crew_quarters/arcade) "anF" = ( /obj/machinery/smartfridge, /turf/closed/wall, @@ -5603,11 +5612,20 @@ /turf/open/floor/plating, /area/security/checkpoint) "anI" = ( -/obj/machinery/computer/arcade/orion_trail, -/turf/open/floor/carpet/blue, -/area/crew_quarters/abandoned_gambling_den{ - name = "Arcade" - }) +/obj/machinery/portable_atmospherics/scrubber, +/obj/effect/turf_decal/bot, +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/power/apc{ + areastring = "/area/storage/emergency"; + dir = 1; + name = "Emergency Storage APC"; + pixel_y = 24 + }, +/turf/open/floor/plasteel, +/area/storage/emergency) "anJ" = ( /obj/structure/table, /obj/effect/turf_decal/tile/red, @@ -5648,11 +5666,9 @@ /turf/closed/wall/r_wall, /area/security/detectives_office) "anL" = ( -/obj/machinery/computer/arcade/minesweeper, -/turf/open/floor/carpet/blue, -/area/crew_quarters/abandoned_gambling_den{ - name = "Arcade" - }) +/obj/effect/spawner/structure/window, +/turf/open/floor/plating, +/area/crew_quarters/arcade) "anM" = ( /obj/machinery/recharge_station, /obj/effect/turf_decal/tile/yellow{ @@ -5695,11 +5711,12 @@ /turf/open/floor/plasteel, /area/storage/tools) "anP" = ( -/obj/machinery/computer/arcade, -/turf/open/floor/carpet/blue, -/area/crew_quarters/abandoned_gambling_den{ +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ name = "Arcade" - }) + }, +/turf/open/floor/carpet/arcade, +/area/crew_quarters/arcade) "anQ" = ( /obj/structure/chair{ dir = 4 @@ -5744,10 +5761,13 @@ /turf/open/floor/plasteel, /area/storage/tools) "anT" = ( -/turf/open/floor/carpet/blue, -/area/crew_quarters/abandoned_gambling_den{ +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ name = "Arcade" - }) + }, +/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/turf/open/floor/carpet/arcade, +/area/crew_quarters/arcade) "anU" = ( /turf/closed/wall/r_wall, /area/security/brig) @@ -5829,18 +5849,11 @@ /turf/open/floor/carpet/purple, /area/crew_quarters/dorms/purple) "aof" = ( -/obj/structure/sign/poster/official/foam_force_ad{ - pixel_y = 32 - }, -/turf/open/floor/carpet/blue, -/area/crew_quarters/abandoned_gambling_den{ - name = "Arcade" - }) +/turf/closed/wall/r_wall, +/area/crew_quarters/fitness/cogpool) "aog" = ( -/turf/open/floor/grass, -/area/hydroponics/garden{ - name = "Nature Preserve" - }) +/turf/closed/wall, +/area/crew_quarters/fitness/cogpool) "aoh" = ( /obj/machinery/light_switch{ pixel_y = -24 @@ -6021,12 +6034,15 @@ /obj/effect/turf_decal/tile/red{ dir = 1 }, -/obj/machinery/door/firedoor, /obj/item/flashlight/lamp, /obj/machinery/door/window/westright{ name = "Security Checkpoint"; req_access_txt = "1" }, +/obj/machinery/door/firedoor/border_only{ + dir = 8; + name = "west facing firelock" + }, /turf/open/floor/plasteel, /area/security/checkpoint) "aoB" = ( @@ -6127,11 +6143,9 @@ /turf/closed/wall/r_wall, /area/router/service) "aoL" = ( -/obj/structure/chair/stool, -/turf/open/floor/carpet/blue, -/area/crew_quarters/abandoned_gambling_den{ - name = "Arcade" - }) +/obj/effect/spawner/structure/window, +/turf/open/floor/plating, +/area/crew_quarters/fitness/cogpool) "aoM" = ( /obj/structure/closet/crate, /obj/item/stock_parts/matter_bin, @@ -6233,12 +6247,17 @@ /turf/open/floor/plating, /area/router/service) "aoU" = ( -/obj/structure/chair/stool, -/obj/effect/landmark/start/assistant, -/turf/open/floor/carpet/blue, -/area/crew_quarters/abandoned_gambling_den{ - name = "Arcade" - }) +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Pool" + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supplymain/hidden, +/turf/open/floor/plasteel/white/side, +/area/crew_quarters/fitness/cogpool) "aoV" = ( /obj/effect/turf_decal/tile/red{ dir = 4 @@ -6322,11 +6341,16 @@ /turf/open/floor/plasteel, /area/security/brig) "apd" = ( -/obj/structure/disposalpipe/segment, -/turf/closed/wall/r_wall, -/area/engine/storage_shared{ - name = "Electrical Substation" - }) +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Pool" + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel/white/side, +/area/crew_quarters/fitness/cogpool) "ape" = ( /obj/structure/grille, /turf/open/floor/plating, @@ -6376,13 +6400,9 @@ /turf/open/floor/wood, /area/crew_quarters/fitness) "apm" = ( -/obj/machinery/atmospherics/components/binary/pump/on{ - dir = 1 - }, -/turf/closed/wall/r_wall, -/area/engine/engineering{ - name = "Engine Room" - }) +/obj/machinery/holopad, +/turf/open/floor/plasteel/white, +/area/crew_quarters/fitness/cogpool) "apn" = ( /obj/structure/cable{ icon_state = "4-8" @@ -6463,35 +6483,27 @@ /turf/open/floor/plasteel/freezer, /area/crew_quarters/toilet/fitness) "apy" = ( -/obj/machinery/vr_sleeper{ - dir = 4 - }, -/turf/open/floor/carpet{ - icon_state = "carpetsymbol" - }, -/area/crew_quarters/abandoned_gambling_den{ - name = "Arcade" - }) +/obj/machinery/pool/controller, +/turf/open/floor/plasteel/white, +/area/crew_quarters/fitness/cogpool) "apz" = ( -/obj/machinery/vr_sleeper{ - dir = 8 +/obj/structure/table, +/obj/item/toy/beach_ball{ + pixel_y = 12 }, -/turf/open/floor/carpet{ - icon_state = "carpetsymbol" +/obj/item/clothing/glasses/sunglasses{ + pixel_y = 4 }, -/area/crew_quarters/abandoned_gambling_den{ - name = "Arcade" - }) +/turf/open/floor/plasteel/white, +/area/crew_quarters/fitness/cogpool) "apA" = ( /obj/machinery/atmospherics/pipe/simple/orange/hidden, /turf/closed/wall, /area/crew_quarters/dorms/purple) "apB" = ( -/obj/structure/flora/tree/jungle/small, -/turf/open/floor/grass, -/area/hydroponics/garden{ - name = "Nature Preserve" - }) +/obj/structure/chair/comfy/teal, +/turf/open/floor/plasteel/white, +/area/crew_quarters/fitness/cogpool) "apC" = ( /turf/closed/wall/r_wall, /area/hydroponics) @@ -6520,14 +6532,15 @@ /turf/open/floor/plasteel, /area/hydroponics) "apG" = ( -/mob/living/simple_animal/chicken{ - name = "Featherbottom"; - real_name = "Featherbottom" +/obj/structure/table, +/obj/item/clothing/glasses/sunglasses{ + pixel_y = 4 }, -/turf/open/floor/plating/asteroid, -/area/hydroponics/garden{ - name = "Nature Preserve" - }) +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/crew_quarters/fitness/cogpool) "apH" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -6709,11 +6722,16 @@ /turf/open/floor/plating, /area/construction/secondary) "aqc" = ( -/obj/structure/sign/departments/medbay/alt, -/turf/closed/wall/r_wall, -/area/medical{ - name = "Medical Booth" - }) +/obj/structure/chair/comfy/teal, +/obj/machinery/light{ + dir = 1; + light_color = "#cee5d2" + }, +/obj/machinery/atmospherics/pipe/simple/supplymain/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/crew_quarters/fitness/cogpool) "aqd" = ( /obj/structure/chair/sofa/right, /obj/machinery/camera{ @@ -6793,10 +6811,17 @@ /turf/open/floor/plasteel/dark, /area/crew_quarters/bar) "aqn" = ( -/turf/closed/wall/r_wall, -/area/medical{ - name = "Medical Booth" - }) +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/item/kirbyplants{ + icon_state = "plant-02" + }, +/obj/machinery/atmospherics/pipe/simple/supplymain/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/crew_quarters/fitness/cogpool) "aqo" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable{ @@ -6982,32 +7007,26 @@ /turf/open/floor/plating, /area/hallway/secondary/service) "aqO" = ( -/obj/machinery/door/airlock/engineering{ - name = "Engineering EVA"; - req_access_txt = "11" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ +/obj/effect/turf_decal/tile/blue{ dir = 1 }, -/obj/structure/cable{ - icon_state = "1-2" +/obj/effect/turf_decal/tile/blue{ + dir = 4 }, -/obj/effect/turf_decal/delivery, -/obj/machinery/door/firedoor/heavy, -/turf/open/floor/plasteel, -/area/engine/engineering{ - name = "Engine Room" - }) +/obj/machinery/atmospherics/pipe/simple/supplymain/hidden{ + dir = 9 + }, +/turf/open/floor/plasteel/white, +/area/crew_quarters/fitness/cogpool) "aqP" = ( -/obj/structure/chair/stool, -/obj/machinery/airalarm{ - dir = 8; - pixel_x = 23 +/obj/effect/turf_decal/tile/blue{ + dir = 1 }, -/turf/open/floor/carpet/blue, -/area/crew_quarters/abandoned_gambling_den{ - name = "Arcade" - }) +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/crew_quarters/fitness/cogpool) "aqQ" = ( /turf/closed/wall/r_wall, /area/crew_quarters/kitchen/backroom) @@ -7020,29 +7039,32 @@ /turf/open/floor/plating, /area/crew_quarters/theatre/clown) "aqS" = ( -/obj/effect/turf_decal/delivery, -/obj/machinery/atmospherics/pipe/simple/scrubbers/visible, -/obj/machinery/light_switch{ - pixel_x = -24 +/obj/effect/turf_decal/tile/blue{ + dir = 1 }, -/obj/machinery/meter, -/turf/open/floor/plasteel, -/area/engine/engineering{ - name = "Engine Room" - }) +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/crew_quarters/fitness/cogpool) "aqT" = ( -/obj/effect/turf_decal/delivery, -/obj/machinery/atmospherics/pipe/simple/supply/visible, -/obj/machinery/meter, -/turf/open/floor/plasteel, -/area/engine/engineering{ - name = "Engine Room" - }) +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/closed/wall, +/area/crew_quarters/fitness/cogpool) "aqU" = ( -/turf/closed/wall/r_wall, -/area/engine/storage{ - name = "Canister Storage" - }) +/obj/machinery/light{ + dir = 8; + light_color = "#e8eaff" + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/corner, +/turf/open/floor/plasteel/white, +/area/crew_quarters/fitness/cogpool) "aqV" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/maintenance{ @@ -7336,13 +7358,9 @@ /turf/open/floor/carpet/blue, /area/crew_quarters/dorms/blue) "arB" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ - dir = 10 - }, -/turf/open/floor/plating, -/area/engine/engineering{ - name = "Engine Room" - }) +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plasteel/white, +/area/crew_quarters/fitness/cogpool) "arC" = ( /obj/structure/sign/warning/fire{ desc = "A sign that states the labeled room's number."; @@ -7376,14 +7394,11 @@ /turf/closed/wall/r_wall, /area/maintenance/starboard/central) "arF" = ( -/obj/machinery/atmospherics/components/binary/valve/digital{ - dir = 4; - name = "hot loop to space" +/obj/effect/turf_decal/stripes/corner{ + dir = 1 }, -/turf/open/floor/plating, -/area/engine/engineering{ - name = "Engine Room" - }) +/turf/open/floor/plasteel/white, +/area/crew_quarters/fitness/cogpool) "arG" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable{ @@ -7449,34 +7464,48 @@ /turf/open/floor/plating, /area/router/service) "arN" = ( -/obj/machinery/atmospherics/components/binary/valve/digital{ +/obj/machinery/light{ dir = 4; - name = "gas to sauna" + light_color = "#e8eaff" }, -/turf/open/floor/plating, -/area/engine/engineering{ - name = "Engine Room" - }) +/turf/open/floor/plasteel/white, +/area/crew_quarters/fitness/cogpool) "arO" = ( -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/engine/engineering{ - name = "Engine Room" - }) +/turf/closed/wall, +/area/medical/clinic) "arP" = ( -/obj/effect/turf_decal/delivery, -/obj/machinery/atmospherics/pipe/simple/scrubbers/visible, -/turf/open/floor/plasteel, -/area/engine/engineering{ - name = "Engine Room" - }) +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/medical/clinic) "arQ" = ( -/obj/effect/turf_decal/delivery, -/obj/machinery/atmospherics/pipe/simple/supply/visible, -/turf/open/floor/plasteel, -/area/engine/engineering{ - name = "Engine Room" - }) +/obj/structure/window/reinforced{ + dir = 1; + pixel_y = 1 + }, +/obj/structure/table/reinforced, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/item/storage/box/beakers, +/obj/item/hand_labeler, +/obj/item/folder/white{ + pixel_x = -6; + pixel_y = 4 + }, +/obj/item/stamp/denied{ + pixel_x = 8; + pixel_y = 8 + }, +/obj/item/stamp, +/turf/open/floor/plasteel/white, +/area/medical/clinic) "arR" = ( /obj/structure/cable{ icon_state = "1-2" @@ -7525,22 +7554,29 @@ /turf/open/floor/carpet/purple, /area/crew_quarters/dorms/purple) "arV" = ( -/obj/machinery/vr_sleeper{ +/obj/structure/window/reinforced{ dir = 4 }, -/obj/machinery/light{ - dir = 8; - light_color = "#e8eaff" +/obj/structure/table/reinforced, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 4 }, -/obj/structure/sign/poster/official/soft_cap_pop_art{ - pixel_x = -32 +/obj/effect/turf_decal/tile/blue{ + dir = 1 }, -/turf/open/floor/carpet{ - icon_state = "carpetsymbol" +/obj/effect/turf_decal/tile/blue{ + dir = 8 }, -/area/crew_quarters/abandoned_gambling_den{ - name = "Arcade" - }) +/obj/item/paper_bin, +/obj/item/pen, +/obj/item/clothing/glasses/regular, +/obj/machinery/door/window/northright{ + name = "Medical Booth Desk"; + req_access_txt = "5" + }, +/turf/open/floor/plasteel/white, +/area/medical/clinic) "arW" = ( /obj/structure/closet/firecloset, /obj/effect/turf_decal/bot, @@ -7551,27 +7587,19 @@ /turf/open/floor/plasteel, /area/tcommsat/computer) "arX" = ( -/obj/machinery/computer/med_data{ - dir = 4 +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/medical/glass{ + name = "Medical Booth"; + req_access_txt = "5" }, -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/turf/open/floor/plasteel/white, -/area/medical{ - name = "Medical Booth" - }) +/obj/effect/turf_decal/delivery, +/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/turf/open/floor/plasteel, +/area/medical/clinic) "arY" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 4 - }, -/turf/open/floor/plating, -/area/engine/engineering{ - name = "Engine Room" - }) +/obj/structure/sign/departments/medbay/alt, +/turf/closed/wall/r_wall, +/area/medical/clinic) "arZ" = ( /obj/machinery/atmospherics/pipe/simple/orange/hidden{ dir = 8 @@ -7580,13 +7608,17 @@ /turf/open/floor/carpet/purple, /area/crew_quarters/dorms/purple) "asa" = ( -/obj/machinery/computer/arcade, -/turf/open/floor/carpet{ - icon_state = "carpetsymbol" +/obj/effect/turf_decal/tile/blue{ + dir = 4 }, -/area/crew_quarters/abandoned_gambling_den{ - name = "Arcade" - }) +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/crew_quarters/fitness/cogpool) "asb" = ( /obj/machinery/airalarm{ dir = 1; @@ -7662,13 +7694,11 @@ /turf/open/floor/carpet/blue, /area/crew_quarters/dorms/blue) "asi" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 +/obj/machinery/pool/filter{ + pixel_y = 16 }, -/turf/open/floor/plating, -/area/engine/engineering{ - name = "Engine Room" - }) +/turf/open/pool, +/area/crew_quarters/fitness/cogpool) "asj" = ( /obj/effect/turf_decal/tile/red, /obj/structure/disposalpipe/segment{ @@ -7795,16 +7825,8 @@ /turf/open/floor/plating, /area/maintenance/starboard/fore) "ast" = ( -/obj/effect/turf_decal/delivery, -/obj/machinery/portable_atmospherics/canister/toxins, -/obj/machinery/light/small{ - dir = 1; - light_color = "#ffc1c1" - }, -/turf/open/floor/plasteel, -/area/engine/storage{ - name = "Canister Storage" - }) +/turf/open/pool, +/area/crew_quarters/fitness/cogpool) "asu" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -7812,31 +7834,25 @@ /turf/closed/wall/rust, /area/maintenance/disposal) "asv" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 10 +/obj/structure/pool/ladder{ + dir = 2; + pixel_y = 24 }, -/turf/open/floor/plating, -/area/engine/engineering{ - name = "Engine Room" - }) +/turf/open/pool, +/area/crew_quarters/fitness/cogpool) "asw" = ( -/obj/machinery/meter, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ +/obj/effect/turf_decal/stripes/line{ dir = 8 }, -/turf/open/floor/plating, -/area/engine/engineering{ - name = "Engine Room" - }) +/turf/open/floor/plasteel/white, +/area/crew_quarters/fitness/cogpool) "asx" = ( -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ - dir = 4 +/obj/machinery/airalarm{ + dir = 8; + pixel_x = 23 }, -/turf/open/floor/plating, -/area/engine/engineering{ - name = "Engine Room" - }) +/turf/open/floor/plasteel/white, +/area/crew_quarters/fitness/cogpool) "asy" = ( /obj/effect/landmark/start/assistant, /obj/machinery/holopad, @@ -7861,31 +7877,41 @@ /turf/open/floor/plating, /area/router/service) "asB" = ( -/obj/effect/turf_decal/delivery, -/obj/machinery/atmospherics/pipe/simple/supply/visible{ - dir = 5 - }, -/turf/open/floor/plasteel, -/area/engine/engineering{ - name = "Engine Room" - }) +/turf/closed/wall/r_wall, +/area/medical/clinic) "asC" = ( -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/simple/supply/visible{ +/obj/structure/table, +/obj/effect/turf_decal/tile/blue{ dir = 4 }, -/turf/open/floor/plating, -/area/engine/engineering{ - name = "Engine Room" - }) +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/item/stack/medical/gauze, +/obj/item/reagent_containers/blood, +/obj/item/stack/medical/suture, +/obj/item/stack/medical/mesh, +/obj/structure/extinguisher_cabinet{ + pixel_x = -26 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/turf/open/floor/plasteel/white, +/area/medical/clinic) "asD" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ +/obj/machinery/computer/med_data{ dir = 4 }, -/turf/open/floor/plating, -/area/engine/engineering{ - name = "Engine Room" - }) +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/medical/clinic) "asE" = ( /obj/effect/turf_decal/stripes/line{ dir = 9 @@ -7909,11 +7935,18 @@ /turf/open/floor/plasteel, /area/security/processing) "asG" = ( -/obj/structure/sign/warning/nosmoking/circle, -/turf/closed/wall/r_wall, -/area/engine/storage{ - name = "Canister Storage" - }) +/obj/structure/chair/office/light{ + dir = 1; + pixel_y = 3 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/medical/clinic) "asH" = ( /obj/machinery/camera{ c_tag = "Port Bow Solar Maintenance"; @@ -7931,47 +7964,52 @@ /turf/open/floor/plating, /area/maintenance/solars/port) "asI" = ( -/obj/effect/turf_decal/delivery, -/obj/machinery/portable_atmospherics/canister/toxins, -/turf/open/floor/plasteel, -/area/engine/storage{ - name = "Canister Storage" - }) +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/turf/open/floor/plasteel/white, +/area/medical/clinic) "asJ" = ( /turf/closed/wall, /area/crew_quarters/toilet) "asK" = ( -/obj/machinery/vr_sleeper{ +/obj/effect/turf_decal/tile/blue{ dir = 8 }, -/obj/machinery/light{ - dir = 4; - light_color = "#e8eaff" +/obj/effect/turf_decal/tile/yellow{ + dir = 4 }, -/turf/open/floor/carpet{ - icon_state = "carpetsymbol" +/obj/effect/turf_decal/stripes/line{ + dir = 4 }, -/area/crew_quarters/abandoned_gambling_den{ - name = "Arcade" - }) +/turf/open/floor/plasteel/white, +/area/crew_quarters/fitness/cogpool) "asL" = ( /turf/closed/wall, /area/security/brig) "asM" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/engine/storage{ - name = "Canister Storage" - }) -"asN" = ( -/obj/machinery/meter, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 4 +/obj/machinery/light_switch{ + pixel_x = 24 }, -/turf/open/floor/plating, -/area/engine/engineering{ - name = "Engine Room" - }) +/turf/open/floor/plasteel/white, +/area/crew_quarters/fitness/cogpool) +"asN" = ( +/obj/structure/bed/roller, +/obj/machinery/iv_drip, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden, +/turf/open/floor/plasteel/white, +/area/medical/clinic) "asO" = ( /obj/structure/cable{ icon_state = "1-2" @@ -7998,16 +8036,17 @@ /turf/open/floor/plasteel, /area/router/service) "asR" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/engine/supermatter{ - name = "Thermo-Electric Generator" - }) +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 6 + }, +/turf/open/floor/plasteel/white, +/area/medical/clinic) "asS" = ( -/turf/closed/wall/r_wall, -/area/engine/supermatter{ - name = "Thermo-Electric Generator" - }) +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/medical/clinic) "asT" = ( /obj/machinery/atmospherics/pipe/simple/cyan/hidden{ dir = 4 @@ -8019,16 +8058,19 @@ /turf/open/floor/plasteel/cafeteria, /area/crew_quarters/kitchen) "asU" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/engineering{ - name = "Engineering Router"; - req_access_txt = "11" +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 4 }, -/obj/effect/turf_decal/delivery, -/turf/open/floor/plasteel, -/area/engine/engineering{ - name = "Engine Room" - }) +/obj/machinery/firealarm{ + dir = 8; + pixel_x = 28 + }, +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 9 + }, +/turf/open/floor/plasteel/white, +/area/medical/clinic) "asV" = ( /obj/machinery/atmospherics/pipe/manifold/orange/hidden, /turf/open/floor/plasteel, @@ -8079,14 +8121,9 @@ /turf/open/floor/plasteel, /area/security/main) "atb" = ( -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plating, -/area/engine/engineering{ - name = "Engine Room" - }) +/obj/machinery/pool/drain, +/turf/open/pool, +/area/crew_quarters/fitness/cogpool) "atc" = ( /turf/closed/wall, /area/security/main) @@ -8712,22 +8749,16 @@ /turf/open/floor/carpet/purple, /area/crew_quarters/dorms/purple) "auC" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible, -/obj/structure/cable{ - icon_state = "2-4" - }, -/turf/open/floor/engine, -/area/engine/supermatter{ - name = "Thermo-Electric Generator" - }) +/obj/structure/pool/Lboard, +/turf/open/pool, +/area/crew_quarters/fitness/cogpool) "auD" = ( -/obj/structure/cable{ - icon_state = "4-8" +/obj/structure/pool/Rboard, +/obj/effect/turf_decal/stripes/line{ + dir = 8 }, -/turf/open/floor/engine, -/area/engine/supermatter{ - name = "Thermo-Electric Generator" - }) +/turf/open/floor/plasteel/white, +/area/crew_quarters/fitness/cogpool) "auE" = ( /obj/structure/bed, /obj/item/clothing/glasses/sunglasses/blindfold, @@ -8795,16 +8826,8 @@ /turf/open/floor/plasteel, /area/crew_quarters/lounge) "auN" = ( -/obj/machinery/light_switch{ - pixel_y = 24 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/engine, -/area/engine/supermatter{ - name = "Thermo-Electric Generator" - }) +/turf/open/floor/plasteel/white, +/area/crew_quarters/fitness/cogpool) "auO" = ( /obj/structure/closet/crate/freezer, /turf/open/floor/plating, @@ -8827,23 +8850,23 @@ /turf/open/floor/plasteel, /area/crew_quarters/lounge) "auR" = ( -/obj/structure/cable{ - icon_state = "0-2" - }, -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/stripes/line{ +/obj/effect/turf_decal/tile/blue{ dir = 4 }, -/obj/machinery/power/apc{ - areastring = "/area/engine/secure_construction"; - dir = 1; - name = "Engineering Construction Area APC"; +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/machinery/sleeper{ + dir = 8 + }, +/obj/machinery/airalarm{ pixel_y = 24 }, -/turf/open/floor/plasteel, -/area/engine/secure_construction{ - name = "Engineering Construction Area" - }) +/turf/open/floor/plasteel/white, +/area/medical/clinic) "auS" = ( /obj/machinery/atmospherics/pipe/manifold4w/orange/hidden, /turf/open/floor/plasteel, @@ -8894,16 +8917,24 @@ /turf/open/floor/plasteel/stairs/right, /area/router/service) "auY" = ( -/obj/machinery/firealarm{ +/obj/machinery/light{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/item/radio/intercom{ + name = "Station Intercom (Common)"; pixel_y = 26 }, -/obj/structure/cable{ - icon_state = "4-8" +/obj/machinery/sleep_console{ + dir = 8 }, -/turf/open/floor/engine, -/area/engine/supermatter{ - name = "Thermo-Electric Generator" - }) +/turf/open/floor/plasteel/white, +/area/medical/clinic) "auZ" = ( /obj/structure/disposalpipe/junction/flip, /obj/structure/cable{ @@ -8926,14 +8957,13 @@ /turf/closed/wall, /area/hallway/secondary/civilian) "avc" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible, -/obj/structure/cable{ - icon_state = "2-8" +/obj/vehicle/ridden/wheelchair, +/obj/effect/turf_decal/tile/blue{ + dir = 1 }, -/turf/open/floor/engine, -/area/engine/supermatter{ - name = "Thermo-Electric Generator" - }) +/obj/machinery/atmospherics/pipe/simple/cyan/hidden, +/turf/open/floor/plasteel/white, +/area/medical/clinic) "avd" = ( /obj/structure/sign/warning{ name = "\improper COLD TEMPERATURES"; @@ -9015,14 +9045,11 @@ /turf/open/floor/plasteel, /area/hydroponics) "avl" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plating, -/area/engine/engineering{ - name = "Engine Room" - }) +/obj/machinery/holopad, +/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel/white, +/area/medical/clinic) "avm" = ( /turf/closed/wall/r_wall, /area/hallway/secondary/civilian) @@ -9115,16 +9142,8 @@ /turf/open/floor/plating, /area/space/nearstation) "avw" = ( -/obj/effect/turf_decal/bot, -/obj/machinery/portable_atmospherics/canister/carbon_dioxide, -/obj/structure/sign/poster/official/wtf_is_co2{ - pixel_x = 32 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel, -/area/engine/storage{ - name = "Canister Storage" - }) +/turf/open/floor/plasteel/white, +/area/medical/clinic) "avx" = ( /obj/structure/table, /obj/item/hand_labeler, @@ -9160,14 +9179,17 @@ /turf/open/floor/plasteel, /area/router/service) "avA" = ( -/obj/structure/cable{ - icon_state = "2-4" +/obj/structure/table/optable, +/obj/machinery/light_switch{ + pixel_x = 24 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plating, -/area/engine/engineering{ - name = "Engine Room" - }) +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/item/reagent_containers/blood/random, +/turf/open/floor/plasteel/white, +/area/medical/clinic) "avB" = ( /obj/machinery/portable_atmospherics/canister/air, /obj/effect/turf_decal/stripes/line{ @@ -9176,13 +9198,21 @@ /turf/open/floor/plasteel, /area/router/service) "avC" = ( -/obj/machinery/atmospherics/components/binary/pump/on{ +/obj/machinery/light{ + dir = 8; + light_color = "#e8eaff" + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow{ dir = 4 }, -/turf/closed/wall/r_wall, -/area/engine/supermatter{ - name = "Thermo-Electric Generator" - }) +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/crew_quarters/fitness/cogpool) "avD" = ( /obj/structure/rack, /obj/item/clothing/suit/space/fragile, @@ -9195,14 +9225,14 @@ /turf/open/floor/plasteel, /area/router/service) "avE" = ( -/obj/machinery/atmospherics/components/binary/valve/digital{ - dir = 4; - name = "generator to hot loop" +/obj/effect/turf_decal/tile/blue{ + dir = 8 }, -/turf/open/floor/engine, -/area/engine/supermatter{ - name = "Thermo-Electric Generator" - }) +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/medical/clinic) "avF" = ( /obj/structure/cable{ icon_state = "4-8" @@ -9217,23 +9247,13 @@ /turf/closed/wall, /area/security/prison) "avH" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/visible, -/obj/machinery/meter, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/engine, -/area/engine/supermatter{ - name = "Thermo-Electric Generator" - }) +/obj/machinery/atmospherics/pipe/simple/cyan/hidden, +/turf/open/floor/plasteel/white, +/area/medical/clinic) "avI" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ - dir = 4 - }, -/turf/open/floor/engine, -/area/engine/supermatter{ - name = "Thermo-Electric Generator" - }) +/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/turf/open/floor/plasteel/white, +/area/medical/clinic) "avJ" = ( /obj/effect/turf_decal/tile/bar, /obj/effect/turf_decal/tile/bar{ @@ -9243,16 +9263,20 @@ /turf/open/floor/plasteel, /area/security/main) "avK" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ - dir = 10 +/obj/structure/sink{ + dir = 4; + pixel_x = 11 }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 4 }, -/turf/open/floor/plasteel/dark, -/area/engine/supermatter{ - name = "Thermo-Electric Generator" - }) +/obj/item/radio/intercom{ + name = "Station Intercom (Common)"; + pixel_x = 26 + }, +/turf/open/floor/plasteel/white, +/area/medical/clinic) "avL" = ( /obj/effect/turf_decal/tile/bar, /obj/effect/turf_decal/tile/bar{ @@ -9292,10 +9316,19 @@ /turf/open/floor/plasteel/dark, /area/crew_quarters/bar) "avQ" = ( -/turf/open/floor/engine, -/area/engine/supermatter{ - name = "Thermo-Electric Generator" - }) +/obj/structure/closet/emcloset, +/obj/effect/turf_decal/delivery, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/power/apc{ + areastring = "/area/medical/clinic"; + dir = 8; + name = "Medical Booth APC"; + pixel_x = -24 + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/civilian) "avR" = ( /obj/machinery/washing_machine, /obj/machinery/light/small{ @@ -9317,24 +9350,31 @@ /turf/open/floor/plasteel, /area/crew_quarters/bar) "avU" = ( -/obj/machinery/atmospherics/pipe/simple/supply/visible{ - dir = 6 +/obj/machinery/door/airlock/maintenance{ + name = "Pool Maintenance"; + req_one_access_txt = "12" }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 8 }, -/turf/open/floor/plasteel/dark, -/area/engine/supermatter{ - name = "Thermo-Electric Generator" - }) +/turf/open/floor/plating, +/area/crew_quarters/fitness/cogpool) "avV" = ( -/obj/machinery/atmospherics/pipe/simple/supply/visible{ +/obj/effect/turf_decal/tile/blue{ dir = 4 }, -/turf/open/floor/engine, -/area/engine/supermatter{ - name = "Thermo-Electric Generator" - }) +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/crew_quarters/fitness/cogpool) "avW" = ( /obj/machinery/atmospherics/pipe/simple/general/visible{ dir = 5 @@ -9366,15 +9406,20 @@ /turf/open/floor/plasteel/dark, /area/hallway/secondary/service) "awa" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/visible, -/obj/machinery/meter, -/obj/structure/cable{ - icon_state = "1-2" +/obj/effect/turf_decal/tile/blue{ + dir = 8 }, -/turf/open/floor/engine, -/area/engine/supermatter{ - name = "Thermo-Electric Generator" - }) +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 10 + }, +/turf/open/floor/plasteel/white, +/area/crew_quarters/fitness/cogpool) "awb" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel, @@ -9403,13 +9448,17 @@ /turf/open/floor/plating, /area/maintenance/solars/port) "awe" = ( -/obj/machinery/atmospherics/components/binary/pump/on{ +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ dir = 8 }, -/turf/closed/wall/r_wall, -/area/engine/supermatter{ - name = "Thermo-Electric Generator" - }) +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/crew_quarters/fitness/cogpool) "awf" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable{ @@ -9524,13 +9573,17 @@ /turf/open/floor/plating, /area/maintenance/solars/port) "aws" = ( -/obj/structure/cable{ - icon_state = "4-8" +/obj/effect/turf_decal/tile/blue{ + dir = 8 }, -/turf/closed/wall/r_wall, -/area/engine/storage{ - name = "Canister Storage" - }) +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/crew_quarters/fitness/cogpool) "awt" = ( /obj/structure/table/reinforced, /obj/effect/turf_decal/tile/red, @@ -9543,12 +9596,15 @@ /obj/effect/turf_decal/tile/red{ dir = 1 }, -/obj/machinery/door/firedoor, /obj/item/folder/red, /obj/machinery/door/window/westleft{ name = "Security Checkpoint"; req_access_txt = "1" }, +/obj/machinery/door/firedoor/border_only{ + dir = 8; + name = "west facing firelock" + }, /turf/open/floor/plasteel, /area/security/checkpoint) "awu" = ( @@ -9595,12 +9651,14 @@ /turf/open/floor/plasteel/cafeteria, /area/crew_quarters/barbershop) "awA" = ( -/obj/effect/turf_decal/bot, -/obj/machinery/portable_atmospherics/canister/oxygen, -/turf/open/floor/plasteel, -/area/engine/storage{ - name = "Canister Storage" - }) +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/crew_quarters/fitness/cogpool) "awB" = ( /obj/machinery/microwave, /obj/effect/turf_decal/tile/bar{ @@ -9815,25 +9873,17 @@ /turf/open/floor/plasteel, /area/storage/tools) "awW" = ( -/obj/machinery/atmospherics/components/binary/valve/digital{ - dir = 4; - name = "cold loop to space" +/obj/effect/turf_decal/stripes/line{ + dir = 1 }, -/turf/open/floor/plating, -/area/engine/engineering{ - name = "Engine Room" - }) +/turf/open/floor/plasteel/white, +/area/crew_quarters/fitness/cogpool) "awX" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ +/obj/effect/turf_decal/stripes/corner{ dir = 4 }, -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/turf/open/floor/plasteel/dark, -/area/engine/supermatter{ - name = "Thermo-Electric Generator" - }) +/turf/open/floor/plasteel/white, +/area/crew_quarters/fitness/cogpool) "awY" = ( /obj/effect/turf_decal/tile/red{ dir = 1 @@ -9930,17 +9980,16 @@ /turf/open/floor/plating, /area/maintenance/solars/port) "axg" = ( -/obj/machinery/light_switch{ - pixel_x = -24 +/obj/machinery/vending/medical, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 }, -/obj/machinery/camera{ - c_tag = "Arcade"; - dir = 4 +/obj/effect/turf_decal/tile/blue{ + dir = 1 }, -/turf/open/floor/carpet/blue, -/area/crew_quarters/abandoned_gambling_den{ - name = "Arcade" - }) +/turf/open/floor/plasteel/white, +/area/medical/clinic) "axh" = ( /obj/machinery/atmospherics/pipe/simple/supplymain/hidden{ dir = 4 @@ -10058,13 +10107,16 @@ /turf/open/floor/plasteel, /area/hydroponics) "axt" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 +/obj/structure/closet/secure_closet/medical1, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 }, -/turf/open/floor/plasteel/dark, -/area/engine/supermatter{ - name = "Thermo-Electric Generator" - }) +/obj/item/clothing/mask/surgical, +/obj/item/clothing/suit/apron/surgical, +/obj/item/clothing/gloves/color/latex, +/turf/open/floor/plasteel/white, +/area/medical/clinic) "axu" = ( /obj/machinery/atmospherics/pipe/simple/cyan/hidden{ dir = 4 @@ -10253,13 +10305,14 @@ /turf/open/floor/plating, /area/maintenance/starboard/fore) "axM" = ( -/obj/structure/cable{ - icon_state = "1-2" +/obj/structure/closet/secure_closet/medical2, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 }, -/turf/open/floor/engine, -/area/engine/supermatter{ - name = "Thermo-Electric Generator" - }) +/obj/machinery/atmospherics/pipe/simple/cyan/hidden, +/turf/open/floor/plasteel/white, +/area/medical/clinic) "axN" = ( /obj/machinery/light_switch{ pixel_y = 24 @@ -10300,21 +10353,28 @@ /turf/open/floor/plasteel, /area/crew_quarters/locker) "axQ" = ( -/obj/structure/window/reinforced/spawner/east, -/obj/effect/turf_decal/stripes/line{ +/turf/closed/wall/r_wall, +/area/hydroponics/garden) +"axR" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ dir = 8 }, -/turf/open/floor/plasteel/dark, -/area/engine/supermatter{ - name = "Thermo-Electric Generator" - }) -"axR" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/atmospherics/pipe/simple/scrubbers/visible, -/turf/open/floor/plating, -/area/engine/supermatter{ - name = "Thermo-Electric Generator" - }) +/obj/item/surgical_drapes, +/obj/item/scalpel, +/obj/item/circular_saw{ + pixel_y = 16 + }, +/obj/item/hemostat, +/obj/item/retractor, +/obj/item/surgicaldrill, +/obj/item/cautery, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/medical/clinic) "axS" = ( /obj/structure/closet/crate, /obj/item/storage/box/lights/mixed, @@ -10343,10 +10403,18 @@ /turf/open/floor/plasteel, /area/hydroponics/lobby) "axV" = ( -/turf/open/floor/plating/asteroid, -/area/hydroponics/garden{ - name = "Nature Preserve" - }) +/obj/machinery/disposal/bin{ + name = "Corpse Delivery" + }, +/obj/machinery/light, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue, +/obj/structure/disposalpipe/trunk, +/obj/effect/turf_decal/delivery/red, +/turf/open/floor/plasteel/white, +/area/medical/clinic) "axW" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 1 @@ -10388,16 +10456,19 @@ /turf/open/floor/plating/airless, /area/space/nearstation) "ayb" = ( -/obj/structure/cable{ - icon_state = "1-8" +/obj/machinery/disposal/bin, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 4 }, -/obj/structure/cable{ - icon_state = "1-4" +/obj/effect/turf_decal/tile/blue{ + dir = 8 }, -/turf/open/floor/engine, -/area/engine/supermatter{ - name = "Thermo-Electric Generator" - }) +/obj/structure/disposalpipe/trunk{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/medical/clinic) "ayc" = ( /obj/structure/kitchenspike, /turf/open/floor/plasteel/freezer, @@ -10466,21 +10537,20 @@ /turf/open/floor/plasteel, /area/security/prison) "ayn" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/atmospherics/pipe/simple/supply/visible, -/turf/open/floor/plating, -/area/engine/supermatter{ - name = "Thermo-Electric Generator" - }) -"ayo" = ( -/obj/structure/window/reinforced/spawner/west, -/obj/effect/turf_decal/stripes/line{ +/obj/structure/disposalpipe/segment{ dir = 4 }, -/turf/open/floor/plasteel/dark, -/area/engine/supermatter{ - name = "Thermo-Electric Generator" - }) +/turf/closed/wall, +/area/medical/clinic) +"ayo" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/crew_quarters/fitness/cogpool) "ayp" = ( /obj/machinery/firealarm{ dir = 4; @@ -10670,11 +10740,8 @@ /turf/closed/wall/r_wall, /area/maintenance/solars/port) "ayK" = ( -/obj/structure/flora/tree/jungle/small, -/turf/open/floor/plating/asteroid, -/area/hydroponics/garden{ - name = "Nature Preserve" - }) +/turf/open/floor/grass, +/area/hydroponics/garden) "ayL" = ( /obj/machinery/atmospherics/pipe/simple/supplymain/hidden{ dir = 4 @@ -10811,18 +10878,9 @@ /turf/open/floor/plasteel, /area/crew_quarters/locker) "ayY" = ( -/obj/machinery/vending/medical, -/obj/effect/turf_decal/tile/red{ - dir = 4 - }, -/obj/effect/turf_decal/tile/red{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden, -/turf/open/floor/plasteel/white, -/area/medical/medbay/zone2{ - name = "Medbay Treatment Center" - }) +/obj/structure/flora/tree/jungle/small, +/turf/open/floor/grass, +/area/hydroponics/garden) "ayZ" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/manifold/supplymain/hidden{ @@ -10899,24 +10957,22 @@ /turf/open/floor/plasteel, /area/security/brig) "azg" = ( -/obj/effect/turf_decal/bot, -/obj/machinery/portable_atmospherics/canister/nitrogen, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel, -/area/engine/storage{ - name = "Canister Storage" - }) -"azh" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ +/obj/effect/turf_decal/tile/blue{ dir = 4 }, -/turf/open/floor/plating, -/area/engine/engineering{ - name = "Engine Room" - }) +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/landmark/start/assistant, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/crew_quarters/fitness/cogpool) +"azh" = ( +/obj/effect/landmark/xeno_spawn, +/turf/open/floor/grass, +/area/hydroponics/garden) "azi" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/security{ @@ -10997,20 +11053,14 @@ /turf/open/floor/plasteel/dark, /area/security/brig) "azo" = ( -/obj/structure/chair/office/light{ - dir = 1; - pixel_y = 3 - }, /obj/effect/turf_decal/tile/blue{ dir = 4 }, -/obj/effect/turf_decal/tile/blue{ - dir = 1 +/obj/effect/turf_decal/tile/yellow{ + dir = 8 }, /turf/open/floor/plasteel/white, -/area/medical{ - name = "Medical Booth" - }) +/area/crew_quarters/fitness/cogpool) "azp" = ( /obj/machinery/light_switch{ pixel_y = -24 @@ -11158,16 +11208,11 @@ /turf/open/floor/plasteel, /area/hallway/secondary/civilian) "azE" = ( -/obj/machinery/atmospherics/pipe/simple/supply/visible{ - dir = 4 +/obj/effect/turf_decal/tile/blue{ + dir = 8 }, -/obj/effect/turf_decal/stripes/line{ - dir = 5 - }, -/turf/open/floor/plasteel/dark, -/area/engine/supermatter{ - name = "Thermo-Electric Generator" - }) +/turf/open/floor/plasteel/white, +/area/crew_quarters/fitness/cogpool) "azF" = ( /obj/effect/spawner/structure/window, /obj/machinery/atmospherics/pipe/simple/supplymain/hidden{ @@ -11572,17 +11617,11 @@ /turf/open/floor/plating, /area/maintenance/fore) "aAy" = ( -/obj/machinery/atmospherics/components/binary/circulator{ - dir = 4 +/obj/item/kirbyplants{ + icon_state = "plant-14" }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/engine, -/area/engine/supermatter{ - name = "Thermo-Electric Generator" - }) +/turf/open/floor/plasteel/white, +/area/crew_quarters/fitness/cogpool) "aAz" = ( /obj/effect/turf_decal/tile/red{ dir = 8 @@ -12234,17 +12273,20 @@ /turf/open/floor/plating, /area/maintenance/fore) "aBM" = ( -/obj/machinery/power/apc{ - areastring = "/area/crew_quarters/abandoned_gambling_den"; - name = "Arcade APC"; - pixel_y = -26 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/manifold/supplymain/hidden{ +/obj/effect/turf_decal/tile/blue{ dir = 4 }, -/turf/open/floor/plating, -/area/maintenance/fore) +/obj/machinery/camera{ + c_tag = "Pool"; + dir = 1 + }, +/obj/structure/closet/secure_closet/personal, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/item/toy/poolnoodle/red, +/turf/open/floor/plasteel/white, +/area/crew_quarters/fitness/cogpool) "aBN" = ( /obj/structure/grille, /obj/machinery/atmospherics/pipe/simple/orange/hidden{ @@ -12485,11 +12527,16 @@ /turf/open/floor/plasteel/freezer, /area/crew_quarters/toilet/fitness) "aCq" = ( -/obj/machinery/atmospherics/pipe/simple/supplymain/hidden, -/turf/closed/wall, -/area/crew_quarters/abandoned_gambling_den{ - name = "Arcade" - }) +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/structure/closet/secure_closet/personal, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/item/toy/poolnoodle/blue, +/turf/open/floor/plasteel/white, +/area/crew_quarters/fitness/cogpool) "aCr" = ( /obj/structure/cable{ icon_state = "2-4" @@ -12854,12 +12901,16 @@ /turf/open/floor/plasteel, /area/hydroponics/lobby) "aCZ" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/sign/warning/electricshock, -/turf/open/floor/plating, -/area/engine/supermatter{ - name = "Thermo-Electric Generator" - }) +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/structure/closet/athletic_mixed, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/item/toy/poolnoodle/yellow, +/turf/open/floor/plasteel/white, +/area/crew_quarters/fitness/cogpool) "aDa" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -13083,19 +13134,13 @@ /turf/open/floor/plasteel, /area/hallway/secondary/civilian) "aDx" = ( -/obj/structure/closet/crate, -/obj/item/gun/ballistic/shotgun/toy/unrestricted, -/obj/item/gun/ballistic/shotgun/toy/unrestricted, -/obj/item/toy/gun, -/obj/item/toy/sword, -/obj/item/toy/sword, -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 1 +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/maintenance{ + name = "Pool External Maintenance"; + req_access_txt = "12" }, -/turf/open/floor/carpet/blue, -/area/crew_quarters/abandoned_gambling_den{ - name = "Arcade" - }) +/turf/open/floor/plating, +/area/crew_quarters/fitness/cogpool) "aDy" = ( /obj/effect/turf_decal/tile/green, /obj/effect/turf_decal/tile/green{ @@ -13754,7 +13799,7 @@ pixel_x = -32 }, /turf/open/floor/plasteel, -/area/storage/emergency/generic) +/area/storage/emergency) "aES" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ @@ -13808,7 +13853,7 @@ pixel_y = 32 }, /turf/open/floor/plasteel, -/area/storage/emergency/generic) +/area/storage/emergency) "aEY" = ( /obj/machinery/portable_atmospherics/scrubber, /obj/effect/turf_decal/bot, @@ -13817,22 +13862,10 @@ }, /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel, -/area/storage/emergency/generic) +/area/storage/emergency) "aEZ" = ( -/obj/machinery/portable_atmospherics/scrubber, -/obj/effect/turf_decal/bot, -/obj/structure/disposalpipe/segment, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/machinery/power/apc{ - areastring = "/area/maintenance/central"; - dir = 1; - name = "Emergency Storage APC"; - pixel_y = 24 - }, -/turf/open/floor/plasteel, -/area/storage/emergency/generic) +/turf/closed/wall/mineral/wood, +/area/crew_quarters/fitness/cogpool) "aFa" = ( /obj/structure/rack, /obj/effect/turf_decal/bot, @@ -13852,7 +13885,7 @@ pixel_y = 24 }, /turf/open/floor/plasteel, -/area/storage/emergency/generic) +/area/storage/emergency) "aFb" = ( /obj/effect/turf_decal/tile/yellow{ dir = 1 @@ -13865,21 +13898,18 @@ icon_state = "1-8" }, /turf/open/floor/plasteel, -/area/storage/emergency/generic) +/area/storage/emergency) "aFc" = ( -/obj/structure/table, -/obj/item/clothing/suit/toggle/owlwings, -/obj/item/clothing/under/costume/owl, -/obj/item/clothing/mask/gas/owl_mask, -/turf/open/floor/plating/asteroid, -/area/hydroponics/garden{ - name = "Nature Preserve" - }) +/obj/structure/mineral_door/woodrustic{ + name = "Sauna" + }, +/turf/open/floor/wood, +/area/crew_quarters/fitness/cogpool) "aFd" = ( /obj/machinery/space_heater, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, -/area/storage/emergency/generic) +/area/storage/emergency) "aFe" = ( /obj/machinery/photocopier, /turf/open/floor/plasteel{ @@ -14226,11 +14256,12 @@ /turf/open/floor/plating, /area/crew_quarters/barbershop) "aFN" = ( -/obj/structure/flora/junglebush/b, +/mob/living/simple_animal/chicken{ + name = "Featherbottom"; + real_name = "Featherbottom" + }, /turf/open/floor/plating/asteroid, -/area/hydroponics/garden{ - name = "Nature Preserve" - }) +/area/hydroponics/garden) "aFO" = ( /obj/effect/turf_decal/tile/yellow{ dir = 1 @@ -14242,7 +14273,7 @@ pixel_x = -24 }, /turf/open/floor/plasteel, -/area/storage/emergency/generic) +/area/storage/emergency) "aFP" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/security/glass{ @@ -14261,14 +14292,14 @@ dir = 4 }, /turf/open/floor/plasteel, -/area/storage/emergency/generic) +/area/storage/emergency) "aFR" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/simple/supplymain/hidden{ dir = 10 }, /turf/open/floor/plasteel, -/area/storage/emergency/generic) +/area/storage/emergency) "aFS" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/simple/orange/hidden{ @@ -14276,7 +14307,7 @@ }, /obj/effect/landmark/event_spawn, /turf/open/floor/plasteel, -/area/storage/emergency/generic) +/area/storage/emergency) "aFT" = ( /obj/effect/turf_decal/tile/red, /obj/effect/turf_decal/tile/red{ @@ -14291,17 +14322,8 @@ /turf/open/floor/plasteel, /area/security/brig) "aFU" = ( -/obj/machinery/atmospherics/components/binary/circulator/cold{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/engine, -/area/engine/supermatter{ - name = "Thermo-Electric Generator" - }) +/turf/open/floor/plating/asteroid, +/area/hydroponics/garden) "aFV" = ( /obj/structure/window/reinforced, /obj/structure/disposaloutlet{ @@ -14318,7 +14340,7 @@ dir = 8 }, /turf/open/floor/plasteel, -/area/storage/emergency/generic) +/area/storage/emergency) "aFX" = ( /obj/machinery/computer/security/hos{ dir = 4 @@ -14372,7 +14394,7 @@ dir = 8 }, /turf/open/floor/plasteel, -/area/storage/emergency/generic) +/area/storage/emergency) "aGg" = ( /obj/structure/disposalpipe/segment{ dir = 5 @@ -14420,7 +14442,7 @@ }, /obj/item/extinguisher, /turf/open/floor/plasteel, -/area/storage/emergency/generic) +/area/storage/emergency) "aGk" = ( /obj/effect/turf_decal/tile/yellow{ dir = 1 @@ -14498,11 +14520,9 @@ /turf/open/floor/plasteel, /area/security/brig) "aGp" = ( -/mob/living/simple_animal/mouse/brown, +/obj/structure/flora/tree/jungle/small, /turf/open/floor/plating/asteroid, -/area/hydroponics/garden{ - name = "Nature Preserve" - }) +/area/hydroponics/garden) "aGq" = ( /turf/closed/wall/r_wall, /area/bridge) @@ -14642,7 +14662,7 @@ /obj/effect/turf_decal/bot, /obj/item/clothing/glasses/meson, /turf/open/floor/plasteel, -/area/storage/emergency/generic) +/area/storage/emergency) "aGG" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/simple/cyan/hidden{ @@ -14658,17 +14678,9 @@ /turf/open/floor/plasteel, /area/security/brig) "aGH" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/medical/glass{ - name = "Medical Booth"; - req_access_txt = "5" - }, -/obj/effect/turf_decal/delivery, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/open/floor/plasteel, -/area/medical{ - name = "Medical Booth" - }) +/obj/structure/sign/warning/fire, +/turf/closed/wall/mineral/wood, +/area/crew_quarters/fitness/cogpool) "aGI" = ( /obj/structure/table, /obj/effect/turf_decal/bot, @@ -14735,7 +14747,7 @@ pixel_y = -1 }, /turf/open/floor/plasteel, -/area/storage/emergency/generic) +/area/storage/emergency) "aGJ" = ( /obj/structure/disposalpipe/segment{ dir = 5 @@ -14850,7 +14862,7 @@ /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/simple/supplymain/hidden, /turf/open/floor/plasteel, -/area/storage/emergency/generic) +/area/storage/emergency) "aGV" = ( /obj/machinery/light{ dir = 4; @@ -14970,7 +14982,7 @@ /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/simple/orange/hidden, /turf/open/floor/plasteel, -/area/storage/emergency/generic) +/area/storage/emergency) "aHe" = ( /obj/structure/sign/poster/official/bless_this_spess{ pixel_y = -32 @@ -15055,7 +15067,7 @@ /obj/machinery/portable_atmospherics/canister/air, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel, -/area/storage/emergency/generic) +/area/storage/emergency) "aHn" = ( /obj/machinery/firealarm{ dir = 8; @@ -15136,7 +15148,7 @@ /obj/effect/turf_decal/bot, /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel, -/area/storage/emergency/generic) +/area/storage/emergency) "aHx" = ( /obj/structure/disposalpipe/segment{ dir = 5 @@ -15177,7 +15189,7 @@ }, /obj/item/extinguisher, /turf/open/floor/plasteel, -/area/storage/emergency/generic) +/area/storage/emergency) "aHC" = ( /obj/machinery/vending/cola/random, /obj/effect/turf_decal/bot, @@ -15249,28 +15261,8 @@ }, /area/chapel/main) "aHL" = ( -/obj/structure/table, -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/item/stack/medical/gauze, -/obj/item/reagent_containers/blood, -/obj/item/stack/medical/suture, -/obj/item/stack/medical/mesh, -/obj/structure/extinguisher_cabinet{ - pixel_x = -26 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on, -/turf/open/floor/plasteel/white, -/area/medical{ - name = "Medical Booth" - }) +/turf/open/floor/plating, +/area/crew_quarters/fitness/cogpool) "aHM" = ( /turf/open/floor/plasteel, /area/bridge) @@ -15342,20 +15334,20 @@ /turf/open/floor/plasteel, /area/security/prison) "aHU" = ( -/obj/effect/turf_decal/delivery, -/obj/structure/mineral_door/woodrustic{ - name = "Nature Preserve" +/obj/machinery/light/small{ + dir = 1 }, -/turf/open/floor/plasteel, -/area/hydroponics/garden{ - name = "Nature Preserve" - }) +/obj/effect/spawner/lootdrop/maintenance, +/obj/machinery/atmospherics/components/unary/thermomachine/heater/on, +/turf/open/floor/plating, +/area/crew_quarters/fitness/cogpool) "aHV" = ( -/obj/structure/flora/junglebush/large, +/obj/structure/table, +/obj/item/clothing/suit/toggle/owlwings, +/obj/item/clothing/under/costume/owl, +/obj/item/clothing/mask/gas/owl_mask, /turf/open/floor/plating/asteroid, -/area/hydroponics/garden{ - name = "Nature Preserve" - }) +/area/hydroponics/garden) "aHW" = ( /obj/structure/chair/comfy/brown, /obj/effect/landmark/start/head_of_security, @@ -15454,18 +15446,12 @@ /turf/open/floor/plasteel, /area/crew_quarters/locker) "aIf" = ( -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/blue{ - dir = 4 +/obj/machinery/space_heater, +/obj/structure/sign/poster/official/no_erp{ + pixel_y = 32 }, -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/open/floor/plasteel/white, -/area/medical{ - name = "Medical Booth" - }) +/turf/open/floor/wood, +/area/crew_quarters/fitness/cogpool) "aIg" = ( /obj/structure/chair/office/dark{ dir = 1 @@ -15792,19 +15778,8 @@ /turf/open/floor/plasteel, /area/tcommsat/computer) "aIN" = ( -/obj/structure/bed/roller, -/obj/machinery/iv_drip, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden, -/turf/open/floor/plasteel/white, -/area/medical{ - name = "Medical Booth" - }) +/turf/open/floor/wood, +/area/crew_quarters/fitness/cogpool) "aIO" = ( /obj/structure/sign/directions/medical{ dir = 8; @@ -16248,42 +16223,13 @@ /turf/open/floor/plasteel, /area/hallway/primary/port/fore) "aJD" = ( -/obj/structure/rack, -/obj/effect/turf_decal/tile/red{ - dir = 4 - }, -/obj/effect/turf_decal/tile/red{ - dir = 1 - }, -/obj/effect/turf_decal/tile/red{ - dir = 8 - }, -/obj/effect/turf_decal/tile/red, -/obj/item/storage/belt/medical, -/obj/item/tank/internals/emergency_oxygen, -/obj/item/clothing/suit/space/eva/paramedic, -/obj/item/clothing/head/helmet/space/eva/paramedic, -/turf/open/floor/plasteel/white, -/area/medical/medbay/zone2{ - name = "Medbay Treatment Center" - }) +/obj/structure/flora/junglebush/b, +/turf/open/floor/plating/asteroid, +/area/hydroponics/garden) "aJE" = ( -/obj/structure/closet/secure_closet/medical2, -/obj/effect/turf_decal/tile/red{ - dir = 4 - }, -/obj/effect/turf_decal/tile/red{ - dir = 1 - }, -/obj/effect/turf_decal/tile/red{ - dir = 8 - }, -/obj/effect/turf_decal/tile/red, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel/white, -/area/medical/medbay/zone2{ - name = "Medbay Treatment Center" - }) +/mob/living/simple_animal/mouse/brown, +/turf/open/floor/plating/asteroid, +/area/hydroponics/garden) "aJF" = ( /obj/structure/cable{ icon_state = "1-2" @@ -16443,28 +16389,9 @@ /turf/open/floor/plasteel, /area/security/main) "aJV" = ( -/obj/effect/turf_decal/tile/purple{ - dir = 1 - }, -/obj/effect/turf_decal/tile/purple{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/turf/open/floor/plasteel, -/area/science/research{ - name = "Research Sector" - }) +/mob/living/simple_animal/butterfly, +/turf/open/floor/plating/asteroid, +/area/hydroponics/garden) "aJW" = ( /obj/machinery/cryopod{ dir = 8 @@ -16562,7 +16489,7 @@ "aKf" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, -/area/storage/emergency/generic) +/area/storage/emergency) "aKg" = ( /turf/open/floor/plasteel/stairs/right, /area/hallway/secondary/entry) @@ -16593,13 +16520,13 @@ /turf/open/floor/plasteel, /area/security/main) "aKj" = ( -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 6 +/obj/machinery/light/small{ + dir = 4; + light_color = "#d8b1b1" }, -/turf/open/floor/plasteel/white, -/area/medical{ - name = "Medical Booth" - }) +/obj/structure/bedsheetbin/towel, +/turf/open/floor/wood, +/area/crew_quarters/fitness/cogpool) "aKk" = ( /obj/structure/chair/comfy/brown{ dir = 4 @@ -16622,7 +16549,7 @@ /obj/effect/turf_decal/delivery, /obj/machinery/atmospherics/pipe/simple/supplymain/hidden, /turf/open/floor/plasteel, -/area/storage/emergency/generic) +/area/storage/emergency) "aKn" = ( /obj/effect/turf_decal/tile/yellow{ dir = 4 @@ -16649,13 +16576,12 @@ /turf/open/floor/plasteel, /area/security/brig) "aKp" = ( -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ +/obj/machinery/portable_atmospherics/pump, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 8 }, -/turf/open/floor/plasteel/white, -/area/medical{ - name = "Medical Booth" - }) +/turf/open/floor/plating, +/area/crew_quarters/fitness/cogpool) "aKq" = ( /obj/effect/turf_decal/tile/neutral, /obj/effect/turf_decal/tile/neutral{ @@ -16687,7 +16613,7 @@ /obj/effect/turf_decal/delivery, /obj/machinery/atmospherics/pipe/simple/orange/hidden, /turf/open/floor/plasteel, -/area/storage/emergency/generic) +/area/storage/emergency) "aKs" = ( /obj/structure/table/wood, /obj/item/trash/plate, @@ -16714,7 +16640,7 @@ /obj/effect/spawner/structure/window/reinforced, /obj/structure/disposalpipe/segment, /turf/open/floor/plating, -/area/storage/emergency/generic) +/area/storage/emergency) "aKv" = ( /obj/machinery/atmospherics/pipe/simple/cyan/hidden{ dir = 4 @@ -16757,7 +16683,7 @@ /area/security/brig) "aKz" = ( /turf/closed/wall, -/area/storage/emergency/generic) +/area/storage/emergency) "aKA" = ( /obj/structure/table/wood, /obj/machinery/button/door{ @@ -16971,22 +16897,9 @@ /turf/open/floor/plasteel, /area/bridge) "aKZ" = ( -/obj/structure/closet/secure_closet/medical1, -/obj/effect/turf_decal/tile/red{ - dir = 4 - }, -/obj/effect/turf_decal/tile/red{ - dir = 1 - }, -/obj/effect/turf_decal/tile/red{ - dir = 8 - }, -/obj/effect/turf_decal/tile/red, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden, -/turf/open/floor/plasteel/white, -/area/medical/medbay/zone2{ - name = "Medbay Treatment Center" - }) +/mob/living/simple_animal/kiwi, +/turf/open/floor/plating/asteroid, +/area/hydroponics/garden) "aLa" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable{ @@ -17180,21 +17093,12 @@ /turf/open/floor/plasteel, /area/hallway/secondary/civilian) "aLs" = ( -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/blue{ +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ dir = 4 }, -/obj/machinery/firealarm{ - dir = 8; - pixel_x = 28 - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 9 - }, -/turf/open/floor/plasteel/white, -/area/medical{ - name = "Medical Booth" - }) +/obj/machinery/meter, +/turf/closed/wall/mineral/wood, +/area/crew_quarters/fitness/cogpool) "aLt" = ( /obj/machinery/light, /obj/structure/disposalpipe/segment{ @@ -17303,16 +17207,12 @@ /turf/open/floor/plasteel/dark, /area/bridge) "aLF" = ( -/obj/structure/cable{ - icon_state = "2-4" +/obj/structure/chair/stool, +/obj/machinery/atmospherics/pipe/heat_exchanging/junction{ + dir = 4 }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/engine, -/area/engine/supermatter{ - name = "Thermo-Electric Generator" - }) +/turf/open/floor/wood, +/area/crew_quarters/fitness/cogpool) "aLG" = ( /obj/structure/cable{ icon_state = "2-8" @@ -17388,11 +17288,12 @@ /turf/open/floor/plasteel/dark, /area/chapel/main) "aLO" = ( -/obj/item/toy/talking/owl, -/turf/open/floor/plating/asteroid, -/area/hydroponics/garden{ - name = "Nature Preserve" - }) +/obj/structure/chair/stool, +/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ + dir = 4 + }, +/turf/open/floor/wood, +/area/crew_quarters/fitness/cogpool) "aLP" = ( /obj/structure/window/reinforced{ dir = 1; @@ -17506,16 +17407,17 @@ /turf/open/floor/carpet, /area/security/courtroom) "aMa" = ( -/obj/structure/cable{ - icon_state = "1-2" +/obj/structure/chair/stool, +/obj/machinery/camera{ + c_tag = "Pool - Sauna"; + dir = 8; + pixel_y = -22 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 5 +/obj/machinery/atmospherics/pipe/heat_exchanging/junction{ + dir = 8 }, -/turf/open/floor/plating, -/area/engine/engineering{ - name = "Engine Room" - }) +/turf/open/floor/wood, +/area/crew_quarters/fitness/cogpool) "aMb" = ( /obj/effect/turf_decal/tile/yellow{ dir = 4 @@ -17628,21 +17530,12 @@ /turf/open/floor/plasteel/dark, /area/crew_quarters/bar) "aMm" = ( -/obj/machinery/computer/med_data, -/obj/effect/turf_decal/tile/red{ - dir = 4 +/obj/effect/turf_decal/delivery, +/obj/structure/mineral_door/woodrustic{ + name = "Nature Preserve" }, -/obj/effect/turf_decal/tile/red{ - dir = 1 - }, -/obj/effect/turf_decal/tile/red{ - dir = 8 - }, -/obj/effect/turf_decal/tile/red, -/turf/open/floor/plasteel/white, -/area/medical/medbay/zone2{ - name = "Medbay Treatment Center" - }) +/turf/open/floor/plasteel, +/area/hydroponics/garden) "aMn" = ( /obj/machinery/atmospherics/pipe/simple/cyan/hidden{ dir = 4 @@ -17757,13 +17650,11 @@ }, /area/crew_quarters/bar) "aMz" = ( -/obj/machinery/atmospherics/pipe/simple/supply/visible{ - dir = 10 +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ + dir = 4 }, -/turf/closed/wall/r_wall, -/area/engine/storage{ - name = "Canister Storage" - }) +/turf/closed/wall/mineral/wood, +/area/crew_quarters/fitness/cogpool) "aMA" = ( /turf/closed/wall, /area/janitor) @@ -17851,15 +17742,20 @@ }, /area/chapel/main) "aMK" = ( -/obj/vehicle/ridden/wheelchair, -/obj/effect/turf_decal/tile/blue{ - dir = 1 +/obj/structure/rack, +/obj/item/clothing/suit/space/fragile, +/obj/item/clothing/head/helmet/space/fragile, +/obj/item/tank/internals/air, +/obj/item/flashlight, +/obj/item/reagent_containers/spray/cleaner, +/obj/machinery/camera{ + c_tag = "Pool Maintenance"; + dir = 8; + pixel_y = -22 }, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden, -/turf/open/floor/plasteel/white, -/area/medical{ - name = "Medical Booth" - }) +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plating, +/area/crew_quarters/fitness/cogpool) "aML" = ( /obj/structure/disposalpipe/segment, /turf/closed/wall, @@ -18233,12 +18129,14 @@ /turf/open/floor/plating, /area/maintenance/department/chapel) "aNx" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/sign/warning/securearea, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/external{ + name = "Pool Exterior Access"; + req_access_txt = "13" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper, /turf/open/floor/plating, -/area/engine/storage{ - name = "Canister Storage" - }) +/area/crew_quarters/fitness/cogpool) "aNy" = ( /obj/machinery/atmospherics/pipe/simple/cyan/hidden{ dir = 4 @@ -18306,10 +18204,9 @@ /turf/open/floor/plasteel, /area/tcommsat/server) "aND" = ( -/turf/open/floor/plasteel/white, -/area/medical{ - name = "Medical Booth" - }) +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/closed/wall/r_wall, +/area/crew_quarters/fitness/cogpool) "aNE" = ( /obj/machinery/atmospherics/pipe/simple/supplymain/hidden{ dir = 9 @@ -18333,20 +18230,9 @@ /turf/open/floor/plasteel/dark, /area/security/brig) "aNH" = ( -/obj/machinery/door/airlock/external/glass{ - name = "Exterior Engineering Access"; - req_access_txt = "11;13" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/delivery, -/obj/machinery/atmospherics/pipe/simple/supplymain/hidden, -/turf/open/floor/plasteel, -/area/engine/engineering{ - name = "Engine Room" - }) +/obj/structure/flora/junglebush/large, +/turf/open/floor/plating/asteroid, +/area/hydroponics/garden) "aNI" = ( /obj/machinery/door/firedoor, /obj/structure/cable{ @@ -18412,13 +18298,8 @@ /turf/open/floor/plasteel, /area/hallway/secondary/civilian) "aNQ" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/sign/warning/securearea, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating, -/area/engine/storage{ - name = "Canister Storage" - }) +/turf/open/floor/plating/airless, +/area/crew_quarters/fitness/cogpool) "aNR" = ( /turf/closed/wall/r_wall, /area/crew_quarters/heads/hop) @@ -18511,20 +18392,26 @@ /turf/open/floor/plating, /area/maintenance/department/eva) "aOc" = ( -/obj/machinery/atmospherics/pipe/simple/cyan/hidden, -/turf/open/floor/plasteel/white, -/area/medical{ - name = "Medical Booth" - }) -"aOd" = ( -/obj/structure/cable{ - icon_state = "1-8" +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/closed/wall, +/area/crew_quarters/fitness/cogpool) +"aOd" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-4" }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plating, -/area/engine/engineering{ - name = "Engine Room" - }) +/area/crew_quarters/fitness/cogpool) "aOe" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, @@ -18571,22 +18458,28 @@ /turf/open/floor/plasteel, /area/hallway/secondary/civilian) "aOk" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/visible, -/obj/effect/turf_decal/delivery, -/obj/structure/window/reinforced/spawner, -/turf/open/floor/engine, -/area/engine/supermatter{ - name = "Thermo-Electric Generator" - }) -"aOl" = ( -/obj/effect/turf_decal/delivery, -/obj/structure/cable/yellow{ - icon_state = "1-2" +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/turf/open/floor/engine, -/area/engine/supermatter{ - name = "Thermo-Electric Generator" - }) +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/closed/wall/r_wall, +/area/crew_quarters/fitness/cogpool) +"aOl" = ( +/obj/structure/grille, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plating, +/area/crew_quarters/fitness/cogpool) "aOm" = ( /obj/effect/turf_decal/tile/neutral, /obj/effect/turf_decal/tile/neutral{ @@ -18632,14 +18525,17 @@ /turf/open/floor/plasteel, /area/bridge) "aOq" = ( -/obj/machinery/atmospherics/pipe/simple/supply/visible, -/obj/effect/turf_decal/delivery, -/obj/item/extinguisher, -/obj/structure/window/reinforced/spawner, -/turf/open/floor/engine, -/area/engine/supermatter{ - name = "Thermo-Electric Generator" - }) +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 5 + }, +/turf/closed/wall/r_wall, +/area/crew_quarters/fitness/cogpool) "aOr" = ( /obj/effect/turf_decal/tile/blue{ dir = 1 @@ -18711,15 +18607,17 @@ /turf/open/floor/plasteel, /area/security/courtroom) "aOx" = ( -/obj/structure/table/reinforced, -/obj/item/grenade/chem_grenade/smart_metal_foam{ - pixel_x = 4 +/obj/machinery/atmospherics/components/unary/outlet_injector/on{ + dir = 8 }, -/obj/item/radio, -/turf/open/floor/engine, -/area/engine/supermatter{ - name = "Thermo-Electric Generator" - }) +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating/airless, +/area/crew_quarters/fitness/cogpool) "aOy" = ( /obj/effect/turf_decal/tile/neutral, /obj/effect/turf_decal/tile/neutral{ @@ -18749,13 +18647,14 @@ /turf/closed/wall/r_wall, /area/security/courtroom) "aOC" = ( -/obj/machinery/light/small{ +/obj/structure/disposalpipe/segment{ dir = 4 }, -/turf/open/floor/plating, -/area/engine/engineering{ - name = "Engine Room" - }) +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating/airless, +/area/crew_quarters/fitness/cogpool) "aOD" = ( /obj/machinery/door/airlock{ name = "Catering"; @@ -18767,29 +18666,13 @@ /turf/open/floor/plasteel/dark, /area/crew_quarters/bar) "aOE" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 10 - }, -/turf/open/floor/plating, -/area/engine/engineering{ - name = "Engine Room" - }) +/obj/structure/disposalpipe/segment, +/turf/closed/wall/r_wall, +/area/crew_quarters/fitness/cogpool) "aOF" = ( -/obj/structure/closet/crate/freezer/surplus_limbs, -/obj/effect/turf_decal/tile/red, -/obj/effect/turf_decal/tile/red{ - dir = 4 - }, -/obj/effect/turf_decal/tile/red{ - dir = 1 - }, -/turf/open/floor/plasteel/white, -/area/medical/medbay/zone2{ - name = "Medbay Treatment Center" - }) +/obj/item/toy/talking/owl, +/turf/open/floor/plating/asteroid, +/area/hydroponics/garden) "aOG" = ( /obj/structure/chair/comfy/teal{ dir = 1 @@ -18820,8 +18703,9 @@ /turf/open/floor/circuit, /area/ai_monitored/turret_protected/ai) "aOJ" = ( -/turf/closed/wall/r_wall, -/area/crew_quarters/fitness/cogpool) +/obj/effect/landmark/event_spawn, +/turf/open/floor/plating/asteroid, +/area/hydroponics/garden) "aOK" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable{ @@ -18839,13 +18723,12 @@ /turf/closed/wall, /area/security/brig) "aOM" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 5 +/mob/living/simple_animal/chicken{ + name = "Kentucky"; + real_name = "Kentucky" }, -/turf/open/floor/plating, -/area/engine/engineering{ - name = "Engine Room" - }) +/turf/open/floor/plating/asteroid, +/area/hydroponics/garden) "aON" = ( /obj/machinery/light{ dir = 8 @@ -18872,22 +18755,17 @@ /turf/open/floor/engine, /area/engine/gravity_generator) "aOQ" = ( -/obj/machinery/atmospherics/components/binary/valve/digital{ - dir = 4; - name = "cold loop to generator" +/obj/structure/cable{ + icon_state = "1-2" }, -/turf/open/floor/engine, -/area/engine/supermatter{ - name = "Thermo-Electric Generator" - }) +/turf/open/floor/plating, +/area/crew_quarters/fitness/cogpool) "aOR" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/visible, -/obj/structure/window/reinforced/spawner/east, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plasteel/dark, -/area/engine/supermatter{ - name = "Thermo-Electric Generator" - }) +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 5 + }, +/turf/closed/wall/r_wall, +/area/crew_quarters/fitness/cogpool) "aOS" = ( /obj/machinery/door/firedoor, /obj/structure/cable{ @@ -18896,20 +18774,23 @@ /turf/open/floor/plasteel, /area/hallway/primary/central) "aOT" = ( -/turf/closed/wall, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 8 + }, +/turf/closed/wall/r_wall, /area/crew_quarters/fitness/cogpool) "aOU" = ( -/obj/effect/spawner/structure/window, -/turf/open/floor/plating, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 8 + }, +/turf/closed/wall/r_wall/rust, /area/crew_quarters/fitness/cogpool) "aOV" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ + dir = 4 }, -/turf/open/floor/plasteel/stairs, -/area/engine/supermatter{ - name = "Thermo-Electric Generator" - }) +/turf/open/floor/plating/airless, +/area/crew_quarters/fitness/cogpool) "aOW" = ( /obj/structure/closet/secure_closet/security/sec, /obj/effect/turf_decal/bot, @@ -18922,74 +18803,45 @@ /turf/open/floor/plasteel, /area/security/brig) "aOX" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/public/glass{ - name = "Pool" +/obj/structure/cable{ + icon_state = "1-2" }, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/blue{ - dir = 8 +/obj/machinery/door/airlock/external/glass{ + name = "Pool Exterior Access"; + req_access_txt = "13" }, -/obj/machinery/atmospherics/pipe/simple/supplymain/hidden, -/turf/open/floor/plasteel/white/side, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/turf/open/space/basic, /area/crew_quarters/fitness/cogpool) "aOY" = ( -/obj/machinery/atmospherics/pipe/simple/supply/visible, -/obj/structure/window/reinforced/spawner/west, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plasteel/dark, -/area/engine/supermatter{ - name = "Thermo-Electric Generator" - }) +/obj/structure/lattice, +/turf/closed/wall/r_wall, +/area/crew_quarters/fitness/cogpool) "aOZ" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/simple/orange/hidden, /turf/open/floor/plasteel, /area/bridge) "aPa" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/public/glass{ - name = "Pool" - }, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/turf/open/floor/plasteel/white/side, -/area/crew_quarters/fitness/cogpool) +/turf/closed/wall/r_wall, +/area/engine/substation) "aPb" = ( /obj/structure/grille, /turf/open/floor/plating, /area/hallway/primary/central) "aPc" = ( -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 4 - }, -/turf/open/floor/engine, -/area/engine/supermatter{ - name = "Thermo-Electric Generator" - }) +/mob/living/simple_animal/crab/kreb, +/turf/open/floor/plating/asteroid, +/area/hydroponics/garden) "aPd" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, +/obj/structure/disposalpipe/segment, /turf/closed/wall/r_wall, -/area/engine/supermatter{ - name = "Thermo-Electric Generator" - }) +/area/hydroponics/garden) "aPe" = ( -/obj/machinery/firealarm{ - dir = 8; - pixel_x = 26 - }, -/obj/structure/disposalpipe/junction{ - dir = 4 - }, -/turf/open/floor/plating, -/area/engine/engineering{ - name = "Engine Room" - }) +/turf/closed/wall/r_wall/rust, +/area/hydroponics/garden) "aPf" = ( /obj/structure/cable{ icon_state = "4-8" @@ -19008,17 +18860,11 @@ /turf/open/floor/plating/airless, /area/space/nearstation) "aPh" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ - dir = 4 +/obj/structure/disposalpipe/segment{ + dir = 6 }, -/obj/machinery/meter, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/engine, -/area/engine/supermatter{ - name = "Thermo-Electric Generator" - }) +/turf/closed/wall/r_wall, +/area/hydroponics/garden) "aPi" = ( /obj/structure/sink{ dir = 4; @@ -19052,13 +18898,11 @@ /turf/open/floor/plasteel, /area/hallway/secondary/civilian) "aPm" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/visible{ +/obj/structure/disposalpipe/segment{ dir = 4 }, -/turf/open/floor/engine, -/area/engine/supermatter{ - name = "Thermo-Electric Generator" - }) +/turf/closed/wall/r_wall, +/area/hydroponics/garden) "aPn" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -19308,38 +19152,19 @@ }, /area/security/courtroom) "aPN" = ( -/obj/structure/grille, /obj/structure/disposalpipe/segment{ - dir = 4 + dir = 9 }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/structure/cable{ - icon_state = "0-8" - }, -/turf/open/floor/plating, -/area/crew_quarters/fitness/cogpool) +/turf/closed/wall/r_wall/rust, +/area/hydroponics/garden) "aPO" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/visible{ - dir = 8 - }, -/turf/open/floor/engine, -/area/engine/supermatter{ - name = "Thermo-Electric Generator" - }) +/obj/machinery/atmospherics/components/unary/outlet_injector/on, +/turf/open/floor/plating/airless, +/area/engine/engineering) "aPP" = ( -/obj/machinery/atmospherics/pipe/simple/supply/visible{ - dir = 4 - }, -/obj/machinery/meter, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/engine, -/area/engine/supermatter{ - name = "Thermo-Electric Generator" - }) +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/closed/wall/r_wall, +/area/engine/engineering) "aPQ" = ( /obj/machinery/light{ dir = 4; @@ -19356,21 +19181,22 @@ /turf/open/floor/plasteel, /area/hallway/secondary/civilian) "aPR" = ( -/obj/machinery/atmospherics/components/unary/outlet_injector/on{ - dir = 8 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plating/airless, -/area/crew_quarters/fitness/cogpool) +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible, +/turf/closed/wall/r_wall, +/area/engine/engineering) "aPS" = ( -/obj/machinery/holopad, -/turf/open/floor/plasteel/white, -/area/crew_quarters/fitness/cogpool) +/obj/machinery/door/airlock/external/glass{ + name = "Exterior Engineering Access"; + req_access_txt = "11;13" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/delivery, +/obj/machinery/atmospherics/pipe/simple/supplymain/hidden, +/turf/open/floor/plasteel, +/area/engine/engineering) "aPT" = ( /obj/machinery/atmospherics/pipe/simple/cyan/hidden{ dir = 4 @@ -19457,37 +19283,30 @@ /turf/open/floor/plasteel, /area/security/brig) "aQc" = ( +/obj/machinery/atmospherics/pipe/simple/supply/visible, +/turf/closed/wall/r_wall, +/area/engine/engineering) +"aQd" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible, +/obj/machinery/suit_storage_unit/engine, /obj/machinery/light/small{ dir = 8 }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plating, -/area/engine/engineering{ - name = "Engine Room" - }) -"aQd" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/turf/open/floor/plating, -/area/engine/engineering{ - name = "Engine Room" - }) +/turf/open/floor/plasteel, +/area/engine/engineering) "aQe" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable{ - icon_state = "4-8" +/obj/structure/sign/warning/vacuum/external{ + pixel_x = -32; + pixel_y = 32 }, -/turf/open/floor/plating, -/area/engine/supermatter{ - name = "Thermo-Electric Generator" - }) +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold/supplymain/hidden{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/engine/engineering) "aQf" = ( /obj/structure/table, /obj/structure/bedsheetbin, @@ -19529,16 +19348,15 @@ /turf/open/floor/plating, /area/ai_monitored/turret_protected/ai) "aQk" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 4 +/obj/machinery/atmospherics/pipe/simple/supply/visible, +/obj/machinery/space_heater{ + anchored = 1 }, -/obj/structure/cable{ - icon_state = "1-8" +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 }, -/turf/open/floor/engine, -/area/engine/supermatter{ - name = "Thermo-Electric Generator" - }) +/turf/open/floor/plasteel, +/area/engine/engineering) "aQl" = ( /obj/machinery/atmospherics/pipe/simple/orange/hidden{ dir = 10 @@ -19578,17 +19396,24 @@ /turf/open/floor/plating, /area/security/courtroom) "aQp" = ( -/obj/structure/disposalpipe/segment{ +/obj/machinery/atmospherics/pipe/simple/supplymain/hidden{ dir = 4 }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plating/airless, -/area/crew_quarters/fitness/cogpool) +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/closed/wall/r_wall, +/area/engine/engineering) "aQq" = ( -/turf/open/floor/plating/airless, -/area/crew_quarters/fitness/cogpool) +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible, +/obj/machinery/suit_storage_unit/engine, +/obj/machinery/atmospherics/pipe/simple/supplymain/hidden{ + dir = 4 + }, +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -23 + }, +/turf/open/floor/plasteel, +/area/engine/engineering) "aQr" = ( /obj/structure/grille, /obj/structure/disposalpipe/segment{ @@ -19603,31 +19428,31 @@ /turf/open/floor/plating, /area/crew_quarters/lounge/jazz) "aQs" = ( -/obj/machinery/firealarm{ - dir = 1; - pixel_y = -26 +/obj/structure/cable{ + icon_state = "1-2" }, -/obj/machinery/atmospherics/components/binary/valve/digital{ +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/manifold/supplymain/hidden, +/turf/open/floor/plasteel, +/area/engine/engineering) +"aQt" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/visible, +/obj/machinery/atmospherics/pipe/simple/supplymain/hidden{ dir = 4 }, -/turf/open/floor/engine, -/area/engine/supermatter{ - name = "Thermo-Electric Generator" - }) -"aQt" = ( -/obj/machinery/pool/controller, -/turf/open/floor/plasteel/white, -/area/crew_quarters/fitness/cogpool) +/turf/open/floor/plasteel, +/area/engine/engineering) "aQu" = ( -/obj/structure/table, -/obj/item/toy/beach_ball{ - pixel_y = 12 +/obj/machinery/atmospherics/components/binary/pump/on{ + dir = 1 }, -/obj/item/clothing/glasses/sunglasses{ - pixel_y = 4 - }, -/turf/open/floor/plasteel/white, -/area/crew_quarters/fitness/cogpool) +/turf/closed/wall/r_wall, +/area/engine/engineering) "aQv" = ( /obj/structure/sign/warning/electricshock, /turf/closed/wall/r_wall, @@ -19642,16 +19467,20 @@ /turf/open/floor/plasteel, /area/security/main) "aQx" = ( -/obj/machinery/camera{ - c_tag = "Engine Room - Port Bow" +/obj/machinery/door/airlock/engineering{ + name = "Engineering EVA"; + req_access_txt = "11" }, -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 4 +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 }, -/turf/open/floor/plating, -/area/engine/engineering{ - name = "Engine Room" - }) +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/delivery, +/obj/machinery/door/firedoor/heavy, +/turf/open/floor/plasteel, +/area/engine/engineering) "aQy" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -19662,9 +19491,14 @@ /turf/closed/wall, /area/chapel/main) "aQz" = ( -/obj/structure/chair/comfy/teal, -/turf/open/floor/plasteel/white, -/area/crew_quarters/fitness/cogpool) +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/engineering{ + name = "Engineering Router"; + req_access_txt = "11" + }, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel, +/area/engine/engineering) "aQA" = ( /obj/structure/chair/stool, /obj/structure/disposalpipe/segment{ @@ -19674,24 +19508,21 @@ /turf/open/floor/plasteel, /area/security/prison) "aQB" = ( -/obj/structure/table, -/obj/item/clothing/glasses/sunglasses{ - pixel_y = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 4 - }, -/turf/open/floor/plasteel/white, -/area/crew_quarters/fitness/cogpool) -"aQC" = ( -/obj/structure/disposalpipe/segment, +/obj/machinery/door/firedoor, /obj/structure/cable{ - icon_state = "2-8" + icon_state = "1-2" }, -/turf/open/floor/plating, -/area/engine/engineering{ - name = "Engine Room" - }) +/obj/machinery/door/airlock/engineering{ + name = "Engineering Router"; + req_access_txt = "11" + }, +/obj/effect/turf_decal/delivery, +/obj/machinery/atmospherics/pipe/simple/supplymain/hidden, +/turf/open/floor/plasteel, +/area/engine/engineering) +"aQC" = ( +/turf/closed/wall/r_wall, +/area/engine/engineering) "aQD" = ( /obj/structure/cable{ icon_state = "1-2" @@ -19726,16 +19557,14 @@ /turf/open/floor/plasteel, /area/security/brig) "aQI" = ( -/obj/structure/chair/comfy/teal, -/obj/machinery/light{ - dir = 1; - light_color = "#cee5d2" +/obj/effect/turf_decal/delivery, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible, +/obj/machinery/light_switch{ + pixel_x = -24 }, -/obj/machinery/atmospherics/pipe/simple/supplymain/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/white, -/area/crew_quarters/fitness/cogpool) +/obj/machinery/meter, +/turf/open/floor/plasteel, +/area/engine/engineering) "aQJ" = ( /obj/structure/lattice/catwalk, /obj/structure/cable{ @@ -19778,38 +19607,23 @@ /turf/open/floor/plasteel, /area/hallway/secondary/entry) "aQP" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 4 +/obj/structure/cable{ + icon_state = "1-2" }, -/obj/item/kirbyplants{ - icon_state = "plant-02" - }, -/obj/machinery/atmospherics/pipe/simple/supplymain/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/white, -/area/crew_quarters/fitness/cogpool) +/turf/open/floor/plasteel, +/area/engine/engineering) "aQQ" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supplymain/hidden{ - dir = 9 - }, -/turf/open/floor/plasteel/white, -/area/crew_quarters/fitness/cogpool) +/obj/effect/turf_decal/delivery, +/obj/machinery/atmospherics/pipe/simple/supply/visible, +/obj/machinery/meter, +/turf/open/floor/plasteel, +/area/engine/engineering) "aQR" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 1 +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ + dir = 10 }, -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, -/turf/open/floor/plasteel/white, -/area/crew_quarters/fitness/cogpool) +/turf/open/floor/plating, +/area/engine/engineering) "aQS" = ( /obj/effect/turf_decal/tile/neutral, /obj/effect/turf_decal/tile/neutral{ @@ -19822,22 +19636,12 @@ /turf/open/floor/plasteel, /area/hallway/primary/port/fore) "aQT" = ( -/obj/machinery/door/airlock/engineering{ - name = "Thermo-Electric Generator"; - req_one_access_txt = "10;24" - }, /obj/structure/cable{ icon_state = "1-2" }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/door/firedoor/heavy, -/turf/open/floor/plasteel, -/area/engine/supermatter{ - name = "Thermo-Electric Generator" - }) +/obj/machinery/atmospherics/pipe/simple/supplymain/hidden, +/turf/open/floor/plating, +/area/engine/engineering) "aQU" = ( /obj/machinery/light_switch{ pixel_x = 24 @@ -19859,15 +19663,14 @@ /turf/closed/wall/r_wall, /area/crew_quarters/heads/captain) "aQX" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 1 +/obj/machinery/camera{ + c_tag = "Engine Room - Port Bow" }, -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ dir = 4 }, -/turf/open/floor/plasteel/white, -/area/crew_quarters/fitness/cogpool) +/turf/open/floor/plating, +/area/engine/engineering) "aQY" = ( /obj/structure/window/plasma/reinforced{ dir = 4 @@ -19921,11 +19724,12 @@ }, /area/hallway/primary/central) "aRc" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 +/obj/machinery/atmospherics/components/binary/valve/digital{ + dir = 4; + name = "gas to sauna" }, -/turf/closed/wall, -/area/crew_quarters/fitness/cogpool) +/turf/open/floor/plating, +/area/engine/engineering) "aRd" = ( /obj/machinery/light, /obj/structure/disposalpipe/segment{ @@ -19989,26 +19793,11 @@ /turf/open/floor/plasteel, /area/hallway/secondary/civilian) "aRj" = ( -/obj/machinery/light{ - dir = 1 +/obj/structure/cable{ + icon_state = "1-2" }, -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/item/radio/intercom{ - name = "Station Intercom (Common)"; - pixel_y = 26 - }, -/obj/machinery/sleep_console{ - dir = 8 - }, -/turf/open/floor/plasteel/white, -/area/medical{ - name = "Medical Booth" - }) +/turf/closed/wall/r_wall, +/area/engine/substation) "aRk" = ( /obj/structure/disposalpipe/junction/yjunction, /obj/structure/cable{ @@ -20056,14 +19845,13 @@ /turf/open/floor/plasteel/dark, /area/crew_quarters/heads/hop) "aRp" = ( -/obj/structure/sign/warning/fire, -/obj/structure/cable/yellow{ - icon_state = "1-2" +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ + dir = 9 }, -/turf/closed/wall/r_wall, -/area/engine/supermatter{ - name = "Thermo-Electric Generator" - }) +/obj/machinery/meter, +/turf/open/floor/plating, +/area/engine/engineering) "aRq" = ( /obj/structure/grille, /obj/structure/disposalpipe/segment, @@ -20075,14 +19863,10 @@ /turf/open/floor/plating, /area/maintenance/department/eva) "aRr" = ( -/mob/living/simple_animal/chicken{ - name = "Kentucky"; - real_name = "Kentucky" - }, -/turf/open/floor/plating/asteroid, -/area/hydroponics/garden{ - name = "Nature Preserve" - }) +/obj/effect/turf_decal/delivery, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible, +/turf/open/floor/plasteel, +/area/engine/engineering) "aRs" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -20127,11 +19911,9 @@ /turf/open/floor/plasteel/dark, /area/crew_quarters/heads/hop) "aRx" = ( -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/open/floor/plasteel/white, -/area/medical{ - name = "Medical Booth" - }) +/obj/structure/disposalpipe/segment, +/turf/closed/wall/r_wall, +/area/engine/secure_construction) "aRy" = ( /turf/closed/wall/r_wall, /area/ai_monitored/turret_protected/ai_upload_foyer) @@ -20149,19 +19931,8 @@ /turf/open/floor/plasteel, /area/crew_quarters/lounge) "aRA" = ( -/obj/structure/table/optable, -/obj/machinery/light_switch{ - pixel_x = 24 - }, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, -/obj/item/reagent_containers/blood/random, -/turf/open/floor/plasteel/white, -/area/medical{ - name = "Medical Booth" - }) +/turf/closed/wall/r_wall, +/area/engine/secure_construction) "aRB" = ( /obj/effect/turf_decal/tile/neutral{ dir = 8 @@ -20195,37 +19966,18 @@ /turf/closed/wall/r_wall/rust, /area/engine/gravity_generator) "aRE" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/turf/open/floor/plasteel/white, -/area/medical{ - name = "Medical Booth" - }) -"aRF" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, +/obj/machinery/atmospherics/pipe/simple/supplymain/hidden, /turf/closed/wall/r_wall, -/area/engine/storage_shared{ - name = "Electrical Substation" - }) +/area/engine/secure_construction) +"aRF" = ( +/obj/structure/disposalpipe/segment, +/turf/closed/wall/r_wall, +/area/engine/substation) "aRG" = ( -/obj/machinery/power/generator, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/obj/structure/cable/yellow{ - icon_state = "0-2" - }, -/turf/open/floor/engine, -/area/engine/supermatter{ - name = "Thermo-Electric Generator" - }) +/obj/effect/turf_decal/delivery, +/obj/machinery/atmospherics/pipe/simple/supply/visible, +/turf/open/floor/plasteel, +/area/engine/engineering) "aRH" = ( /obj/structure/disposalpipe/segment, /obj/effect/landmark/blobstart, @@ -20243,11 +19995,9 @@ /turf/open/floor/plating, /area/maintenance/port/central) "aRJ" = ( -/obj/structure/disposalpipe/segment, -/turf/closed/wall/r_wall, -/area/hydroponics/garden{ - name = "Nature Preserve" - }) +/obj/machinery/door/firedoor, +/turf/open/floor/plating, +/area/engine/engineering) "aRK" = ( /obj/structure/sign/departments/holy{ pixel_y = -32 @@ -20265,11 +20015,11 @@ /turf/open/floor/plasteel, /area/hallway/secondary/civilian) "aRL" = ( -/mob/living/simple_animal/crab/kreb, -/turf/open/floor/plating/asteroid, -/area/hydroponics/garden{ - name = "Nature Preserve" - }) +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 4 + }, +/turf/open/floor/plating, +/area/engine/engineering) "aRM" = ( /turf/open/floor/carpet, /area/crew_quarters/bar) @@ -20325,15 +20075,15 @@ /turf/open/floor/plasteel, /area/hallway/primary/central) "aRR" = ( -/obj/machinery/portable_atmospherics/pump, -/obj/machinery/light/small{ - dir = 1; - light_color = "#ffc1c1" +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/obj/machinery/atmospherics/components/binary/valve/digital{ + dir = 4 }, /turf/open/floor/plating, -/area/engine/engineering{ - name = "Engine Room" - }) +/area/engine/engineering) "aRS" = ( /obj/effect/turf_decal/tile/neutral, /obj/effect/turf_decal/tile/neutral{ @@ -20372,20 +20122,11 @@ /turf/open/floor/plasteel, /area/security/main) "aRV" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 6 +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 }, /turf/open/floor/plating, -/area/engine/engineering{ - name = "Engine Room" - }) +/area/engine/engineering) "aRW" = ( /turf/open/floor/plating, /area/maintenance/port/central) @@ -20400,10 +20141,11 @@ /turf/open/space/basic, /area/space/nearstation) "aRY" = ( -/turf/closed/wall/r_wall, -/area/maintenance/aft/secondary{ - name = "Aft Air Hookup" - }) +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/turf/open/floor/plating, +/area/engine/engineering) "aRZ" = ( /obj/structure/lattice/catwalk, /obj/structure/cable{ @@ -20419,16 +20161,12 @@ /turf/open/floor/plasteel, /area/bridge) "aSb" = ( -/obj/machinery/light{ - dir = 8; - light_color = "#e8eaff" - }, -/obj/effect/turf_decal/tile/blue{ +/obj/machinery/meter, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ dir = 8 }, -/obj/effect/turf_decal/stripes/corner, -/turf/open/floor/plasteel/white, -/area/crew_quarters/fitness/cogpool) +/turf/open/floor/plating, +/area/engine/engineering) "aSc" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable{ @@ -20464,9 +20202,15 @@ /turf/open/floor/plasteel, /area/chapel/main) "aSf" = ( -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plasteel/white, -/area/crew_quarters/fitness/cogpool) +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supplymain/hidden, +/turf/open/floor/plating, +/area/engine/engineering) "aSg" = ( /obj/machinery/power/apc{ name = "Security Maintainance APC"; @@ -20544,10 +20288,11 @@ /turf/open/space/basic, /area/space/nearstation) "aSr" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, /turf/open/floor/plating, -/area/engine/engineering{ - name = "Engine Room" - }) +/area/engine/engineering) "aSs" = ( /obj/machinery/light{ dir = 1; @@ -20602,22 +20347,28 @@ /turf/open/space/basic, /area/space/nearstation) "aSz" = ( -/obj/effect/turf_decal/stripes/corner{ - dir = 1 +/obj/machinery/atmospherics/components/binary/valve/digital{ + dir = 4; + name = "hot loop to space" }, -/turf/open/floor/plasteel/white, -/area/crew_quarters/fitness/cogpool) +/turf/open/floor/plating, +/area/engine/engineering) "aSA" = ( -/obj/structure/closet/secure_closet/medical2, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/blue{ - dir = 8 +/obj/structure/cable{ + icon_state = "0-2" }, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden, -/turf/open/floor/plasteel/white, -/area/medical{ - name = "Medical Booth" - }) +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/power/apc{ + areastring = "/area/engine/secure_construction"; + dir = 1; + name = "Engineering Construction Area APC"; + pixel_y = 24 + }, +/turf/open/floor/plasteel, +/area/engine/secure_construction) "aSB" = ( /obj/machinery/door/airlock/command{ name = "Bridge"; @@ -20649,50 +20400,35 @@ /turf/open/floor/plasteel, /area/crew_quarters/bar) "aSE" = ( -/obj/machinery/light{ - dir = 4; - light_color = "#e8eaff" - }, -/turf/open/floor/plasteel/white, -/area/crew_quarters/fitness/cogpool) -"aSF" = ( -/obj/structure/table, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/obj/item/surgical_drapes, -/obj/item/scalpel, -/obj/item/circular_saw{ - pixel_y = 16 - }, -/obj/item/hemostat, -/obj/item/retractor, -/obj/item/surgicaldrill, -/obj/item/cautery, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 1 - }, -/turf/open/floor/plasteel/white, -/area/medical{ - name = "Medical Booth" - }) -"aSG" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/turf/closed/wall/r_wall, -/area/hydroponics/garden{ - name = "Nature Preserve" - }) -"aSH" = ( -/obj/structure/disposalpipe/segment{ +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ dir = 4 }, -/turf/closed/wall/r_wall, -/area/hydroponics/garden{ - name = "Nature Preserve" - }) +/turf/open/floor/plating, +/area/engine/engineering) +"aSF" = ( +/turf/open/floor/engine, +/area/engine/secure_construction) +"aSG" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ + dir = 9 + }, +/obj/machinery/firealarm{ + dir = 1; + pixel_y = -26 + }, +/obj/machinery/light/small, +/turf/open/floor/plasteel, +/area/engine/engineering) +"aSH" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/atmospherics/pipe/simple/supply/visible{ + dir = 5 + }, +/obj/machinery/light/small, +/turf/open/floor/plasteel, +/area/engine/engineering) "aSI" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable{ @@ -20717,22 +20453,19 @@ /turf/open/floor/plasteel, /area/security/main) "aSK" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/engine/engineering{ - name = "Engine Room" - }) -"aSL" = ( /obj/machinery/door/firedoor, -/obj/structure/disposalpipe/segment{ +/obj/machinery/atmospherics/pipe/simple/supply/visible{ dir = 4 }, /turf/open/floor/plating, -/area/engine/engineering{ - name = "Engine Room" - }) +/area/engine/engineering) +"aSL" = ( +/obj/machinery/atmospherics/components/binary/valve/digital{ + dir = 4; + name = "cold loop to space" + }, +/turf/open/floor/plating, +/area/engine/engineering) "aSM" = ( /obj/structure/lattice/catwalk, /obj/structure/disposalpipe/segment{ @@ -20791,11 +20524,15 @@ /turf/open/floor/plasteel, /area/hallway/secondary/civilian) "aST" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/orange/hidden, /turf/open/floor/plating, -/area/maintenance/aft/secondary{ - name = "Aft Air Hookup" - }) +/area/engine/engineering) "aSU" = ( /obj/structure/reagent_dispensers/beerkeg, /obj/item/radio/intercom{ @@ -20827,18 +20564,12 @@ /turf/open/floor/plasteel, /area/security/prison) "aSY" = ( -/obj/machinery/vending/medical, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/obj/effect/turf_decal/tile/blue{ +/obj/machinery/light{ dir = 1 }, -/turf/open/floor/plasteel/white, -/area/medical{ - name = "Medical Booth" - }) +/obj/machinery/atmospherics/pipe/simple/supplymain/hidden, +/turf/open/floor/engine, +/area/engine/secure_construction) "aSZ" = ( /obj/structure/chair/stool, /obj/machinery/light, @@ -20876,14 +20607,12 @@ /turf/open/floor/plasteel, /area/hallway/primary/central) "aTc" = ( -/obj/machinery/firealarm{ - pixel_y = 26 +/obj/machinery/meter, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 }, -/obj/machinery/atmospherics/components/binary/valve/digital/on, /turf/open/floor/plating, -/area/maintenance/aft/secondary{ - name = "Aft Air Hookup" - }) +/area/engine/engineering) "aTd" = ( /obj/structure/sign/warning{ name = "\improper KEEP CLEAR: HIGH SPEED DELIVERIES" @@ -20922,23 +20651,22 @@ /turf/open/floor/plating, /area/tcommsat/computer) "aTi" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 4 +/obj/structure/cable{ + icon_state = "2-4" }, -/obj/effect/turf_decal/tile/yellow{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel/white, -/area/crew_quarters/fitness/cogpool) +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plating, +/area/engine/engineering) "aTj" = ( -/obj/machinery/pool/filter{ - pixel_y = 16 +/obj/machinery/light/small, +/obj/structure/cable{ + icon_state = "1-8" }, -/turf/open/pool, -/area/crew_quarters/fitness/cogpool) +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/turf/open/floor/plating, +/area/engine/engineering) "aTk" = ( /obj/structure/lattice/catwalk, /obj/structure/disposalpipe/segment{ @@ -20957,15 +20685,11 @@ /turf/open/space/basic, /area/space/nearstation) "aTm" = ( -/obj/effect/turf_decal/delivery, -/obj/machinery/atmospherics/pipe/simple/scrubbers/visible, -/obj/structure/disposalpipe/segment{ - dir = 4 +/obj/structure/cable{ + icon_state = "1-4" }, -/turf/open/floor/plasteel, -/area/engine/engineering{ - name = "Engine Room" - }) +/turf/open/floor/plating, +/area/engine/substation) "aTn" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable{ @@ -21056,15 +20780,30 @@ /turf/open/floor/plasteel, /area/bridge) "aTv" = ( -/turf/open/pool, -/area/crew_quarters/fitness/cogpool) -"aTw" = ( -/obj/structure/pool/ladder{ - dir = 2; - pixel_y = 24 +/obj/structure/cable{ + icon_state = "0-4" }, -/turf/open/pool, -/area/crew_quarters/fitness/cogpool) +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/power/smes{ + charge = 5e+006 + }, +/turf/open/floor/plating, +/area/engine/substation) +"aTw" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/power/apc/highcap/fifteen_k{ + areastring = "/area/engine/substation"; + dir = 1; + name = "Electrical Substation APC"; + pixel_y = 26 + }, +/turf/open/floor/plating, +/area/engine/substation) "aTx" = ( /obj/structure/lattice, /obj/structure/sign/warning{ @@ -21082,11 +20821,12 @@ /turf/open/space/basic, /area/space/nearstation) "aTz" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 +/obj/machinery/camera{ + c_tag = "Electrical Substation"; + dir = 1 }, -/turf/open/floor/plasteel/white, -/area/crew_quarters/fitness/cogpool) +/turf/open/floor/plating, +/area/engine/substation) "aTA" = ( /obj/effect/turf_decal/tile/neutral{ dir = 8 @@ -21105,12 +20845,16 @@ }, /area/chapel/main) "aTC" = ( -/obj/machinery/airalarm{ - dir = 8; - pixel_x = 23 +/obj/machinery/portable_atmospherics/scrubber, +/obj/machinery/light/small, +/obj/structure/cable{ + icon_state = "4-8" }, -/turf/open/floor/plasteel/white, -/area/crew_quarters/fitness/cogpool) +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 8 + }, +/turf/open/floor/plating, +/area/engine/engineering) "aTD" = ( /obj/effect/turf_decal/bot, /obj/machinery/atmospherics/pipe/simple/orange/hidden{ @@ -21223,13 +20967,12 @@ /obj/structure/cable{ icon_state = "4-8" }, -/obj/machinery/camera{ - c_tag = "Thermo-Electric Generator" +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 8 }, -/turf/open/floor/engine, -/area/engine/supermatter{ - name = "Thermo-Electric Generator" - }) +/turf/open/floor/plating, +/area/engine/engineering) "aTR" = ( /obj/structure/table, /obj/item/paper_bin, @@ -21275,13 +21018,12 @@ /turf/closed/wall, /area/gateway) "aTW" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ - dir = 6 +/obj/structure/cable{ + icon_state = "1-2" }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plating, -/area/engine/engineering{ - name = "Engine Room" - }) +/area/engine/engineering) "aTX" = ( /obj/machinery/light{ dir = 1; @@ -21295,15 +21037,17 @@ /turf/open/floor/plasteel, /area/security/courtroom) "aTZ" = ( -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/components/binary/valve/digital{ - dir = 4; - name = "hot loop to space" +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/power/terminal{ + dir = 1 }, /turf/open/floor/plating, -/area/engine/engineering{ - name = "Engine Room" - }) +/area/engine/substation) "aUa" = ( /obj/machinery/light_switch{ pixel_x = 24 @@ -21313,14 +21057,11 @@ /turf/open/floor/plasteel, /area/hallway/secondary/civilian) "aUb" = ( -/obj/effect/turf_decal/delivery, -/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ +/obj/structure/disposalpipe/segment{ dir = 9 }, -/turf/open/floor/plasteel, -/area/engine/engineering{ - name = "Engine Room" - }) +/turf/open/floor/plating, +/area/engine/substation) "aUc" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -21334,35 +21075,24 @@ /turf/open/floor/plating, /area/maintenance/port/central) "aUd" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/obj/effect/turf_decal/tile/yellow{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel/white, -/area/crew_quarters/fitness/cogpool) -"aUe" = ( -/obj/machinery/light_switch{ - pixel_x = 24 - }, -/turf/open/floor/plasteel/white, -/area/crew_quarters/fitness/cogpool) -"aUf" = ( -/obj/machinery/firealarm{ - dir = 1; - pixel_y = -26 - }, -/obj/structure/cable/yellow{ +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ icon_state = "1-2" }, -/turf/open/floor/plasteel, -/area/engine/engineering{ - name = "Engine Room" - }) +/obj/machinery/door/airlock/engineering{ + name = "Electrical Substation"; + req_access_txt = "10" + }, +/obj/structure/fans/tiny, +/turf/open/floor/plating, +/area/engine/substation) +"aUe" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/engine/teg) +"aUf" = ( +/turf/closed/wall/r_wall, +/area/engine/teg) "aUg" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable{ @@ -21445,26 +21175,34 @@ /turf/closed/wall/r_wall, /area/crew_quarters/lounge/jazz) "aUr" = ( -/obj/machinery/atmospherics/pipe/simple/supply/visible{ - dir = 10 +/obj/machinery/door/airlock/engineering{ + name = "Thermo-Electric Generator"; + req_one_access_txt = "10;24" }, -/obj/machinery/light_switch{ - pixel_y = -24 +/obj/structure/cable{ + icon_state = "1-2" }, -/turf/open/floor/plating, -/area/engine/engineering{ - name = "Engine Room" - }) +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, +/obj/machinery/door/firedoor/heavy, +/turf/open/floor/plasteel, +/area/engine/teg) "aUs" = ( /obj/machinery/atmospherics/pipe/simple/orange/hidden, /turf/open/floor/plasteel/dark, /area/chapel/office) "aUt" = ( -/obj/structure/disposalpipe/segment, +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 5 + }, /turf/open/floor/plating, -/area/engine/engineering{ - name = "Engine Room" - }) +/area/engine/teg) "aUu" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -21694,9 +21432,12 @@ /turf/open/floor/plasteel, /area/hallway/primary/central) "aUU" = ( -/obj/machinery/pool/drain, -/turf/open/pool, -/area/crew_quarters/fitness/cogpool) +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/engine/engineering) "aUV" = ( /obj/machinery/atmospherics/pipe/simple/orange/hidden{ dir = 10 @@ -21704,9 +21445,14 @@ /turf/open/floor/plasteel, /area/security/courtroom) "aUW" = ( -/obj/structure/pool/Lboard, -/turf/open/pool, -/area/crew_quarters/fitness/cogpool) +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 5 + }, +/turf/open/floor/plating, +/area/engine/engineering) "aUX" = ( /obj/machinery/portable_atmospherics/scrubber, /turf/open/floor/plating, @@ -21735,12 +21481,12 @@ /turf/open/floor/plasteel/grimy, /area/security/detectives_office) "aVb" = ( -/obj/structure/pool/Rboard, -/obj/effect/turf_decal/stripes/line{ - dir = 8 +/obj/machinery/atmospherics/components/unary/portables_connector/visible, +/obj/structure/cable{ + icon_state = "2-4" }, -/turf/open/floor/plasteel/white, -/area/crew_quarters/fitness/cogpool) +/turf/open/floor/engine, +/area/engine/teg) "aVc" = ( /obj/effect/turf_decal/tile/red{ dir = 8 @@ -21770,8 +21516,11 @@ /turf/open/floor/plating, /area/maintenance/port/central) "aVf" = ( -/turf/open/floor/plasteel/white, -/area/crew_quarters/fitness/cogpool) +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/engine, +/area/engine/teg) "aVg" = ( /obj/machinery/computer/cryopod{ pixel_y = 28 @@ -21927,13 +21676,12 @@ /turf/open/floor/plasteel/dark, /area/crew_quarters/lounge/jazz) "aVy" = ( -/obj/machinery/holopad, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel/white, -/area/medical{ - name = "Medical Booth" - }) +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/structure/reagent_dispensers/foamtank, +/turf/open/floor/plasteel, +/area/engine/secure_construction) "aVz" = ( /obj/structure/chair{ dir = 8 @@ -21957,13 +21705,14 @@ /turf/open/floor/circuit/green, /area/crew_quarters/cryopod) "aVB" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ - dir = 5 +/obj/machinery/light_switch{ + pixel_y = 24 }, -/turf/closed/wall/r_wall, -/area/engine/engineering{ - name = "Engine Room" - }) +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/engine, +/area/engine/teg) "aVC" = ( /obj/structure/cable{ icon_state = "4-8" @@ -22154,18 +21903,16 @@ /turf/open/floor/plasteel, /area/gateway) "aVX" = ( -/obj/structure/closet/secure_closet/medical1, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/blue{ - dir = 8 +/obj/structure/cable{ + icon_state = "1-2" }, -/obj/item/clothing/mask/surgical, -/obj/item/clothing/suit/apron/surgical, -/obj/item/clothing/gloves/color/latex, -/turf/open/floor/plasteel/white, -/area/medical{ - name = "Medical Booth" - }) +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/structure/reagent_dispensers/fueltank/high, +/turf/open/floor/plasteel, +/area/engine/secure_construction) "aVY" = ( /obj/structure/chair{ dir = 4 @@ -22333,21 +22080,14 @@ /turf/open/floor/plating, /area/hallway/primary/port/fore) "aWs" = ( -/obj/machinery/light{ - dir = 8; - light_color = "#e8eaff" +/obj/structure/cable{ + icon_state = "1-8" }, -/obj/effect/turf_decal/tile/blue{ - dir = 8 +/obj/structure/cable{ + icon_state = "1-4" }, -/obj/effect/turf_decal/tile/yellow{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel/white, -/area/crew_quarters/fitness/cogpool) +/turf/open/floor/engine, +/area/engine/teg) "aWt" = ( /obj/machinery/light/small{ dir = 4 @@ -22477,20 +22217,11 @@ /turf/open/floor/plasteel/checker, /area/ai_monitored/storage/eva) "aWH" = ( -/obj/machinery/disposal/bin{ - name = "Corpse Delivery" +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 }, -/obj/machinery/light, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/obj/effect/turf_decal/tile/blue, -/obj/structure/disposalpipe/trunk, -/obj/effect/turf_decal/delivery/red, -/turf/open/floor/plasteel/white, -/area/medical{ - name = "Medical Booth" - }) +/turf/open/floor/engine, +/area/engine/secure_construction) "aWI" = ( /obj/machinery/suit_storage_unit/standard_unit, /obj/effect/turf_decal/tile/yellow{ @@ -22502,21 +22233,11 @@ /turf/open/floor/plasteel/checker, /area/ai_monitored/storage/eva) "aWJ" = ( -/obj/machinery/disposal/bin, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/blue{ - dir = 4 +/obj/structure/transit_tube/station/reverse/flipped{ + dir = 1 }, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/obj/structure/disposalpipe/trunk{ - dir = 4 - }, -/turf/open/floor/plasteel/white, -/area/medical{ - name = "Medical Booth" - }) +/turf/open/floor/engine, +/area/engine/secure_construction) "aWK" = ( /obj/structure/table, /obj/effect/turf_decal/stripes/line{ @@ -22628,14 +22349,14 @@ }, /area/crew_quarters/lounge/jazz) "aWV" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ - dir = 10 +/obj/structure/cable{ + icon_state = "4-8" }, -/obj/structure/sign/warning/securearea, -/turf/closed/wall/r_wall, -/area/engine/engineering{ - name = "Engine Room" - }) +/obj/machinery/camera{ + c_tag = "Thermo-Electric Generator" + }, +/turf/open/floor/engine, +/area/engine/teg) "aWW" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -22649,19 +22370,14 @@ /turf/open/floor/plating, /area/maintenance/central) "aWX" = ( -/obj/structure/closet/emcloset, -/obj/effect/turf_decal/delivery, +/obj/machinery/firealarm{ + pixel_y = 26 + }, /obj/structure/cable{ - icon_state = "0-4" + icon_state = "4-8" }, -/obj/machinery/power/apc{ - areastring = "/area/medical"; - dir = 8; - name = "Medical Booth APC"; - pixel_x = -24 - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/civilian) +/turf/open/floor/engine, +/area/engine/teg) "aWY" = ( /obj/effect/turf_decal/tile/red, /obj/effect/turf_decal/tile/red{ @@ -22733,14 +22449,12 @@ /turf/open/floor/plasteel, /area/hallway/primary/central) "aXh" = ( -/obj/machinery/atmospherics/pipe/simple/supply/visible{ - dir = 6 +/obj/machinery/atmospherics/components/unary/portables_connector/visible, +/obj/structure/cable{ + icon_state = "2-8" }, -/obj/structure/sign/warning/securearea, -/turf/closed/wall/r_wall, -/area/engine/engineering{ - name = "Engine Room" - }) +/turf/open/floor/engine, +/area/engine/teg) "aXi" = ( /obj/machinery/atmospherics/pipe/simple/supplymain/hidden, /turf/open/floor/plasteel, @@ -22804,13 +22518,12 @@ /area/ai_monitored/storage/eva) "aXp" = ( /obj/effect/turf_decal/stripes/line{ - dir = 8 + dir = 1 }, -/obj/structure/reagent_dispensers/foamtank, +/obj/effect/turf_decal/stripes/line, +/obj/structure/transit_tube/horizontal, /turf/open/floor/plasteel, -/area/engine/secure_construction{ - name = "Engineering Construction Area" - }) +/area/engine/secure_construction) "aXq" = ( /obj/effect/turf_decal/tile/green, /obj/effect/turf_decal/tile/green{ @@ -22924,7 +22637,7 @@ name = "gas to hot loop" }, /turf/open/floor/plasteel/dark, -/area/engine/teg_hot) +/area/engine/teg/hotloop) "aXG" = ( /obj/machinery/disposal/bin, /obj/effect/turf_decal/tile/blue, @@ -22996,24 +22709,16 @@ /turf/open/floor/plasteel, /area/security/brig) "aXP" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Pool Maintenance"; - req_one_access_txt = "12" - }, -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ +/obj/machinery/atmospherics/components/binary/pump/on{ dir = 8 }, -/turf/open/floor/plating, -/area/crew_quarters/fitness/cogpool) +/turf/closed/wall/r_wall, +/area/engine/teg) "aXQ" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/closed/wall, -/area/medical{ - name = "Medical Booth" - }) +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/transit_tube/horizontal, +/turf/open/floor/plating, +/area/engine/secure_construction) "aXR" = ( /turf/closed/wall, /area/security/courtroom) @@ -23111,20 +22816,12 @@ /turf/open/floor/plasteel, /area/tcommsat/computer) "aYb" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 4 +/obj/machinery/atmospherics/components/binary/valve/digital{ + dir = 4; + name = "generator to hot loop" }, -/obj/effect/turf_decal/tile/yellow{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 8 - }, -/turf/open/floor/plasteel/white, -/area/crew_quarters/fitness/cogpool) +/turf/open/floor/engine, +/area/engine/teg) "aYc" = ( /obj/effect/landmark/start/assistant, /turf/open/floor/wood, @@ -23162,32 +22859,22 @@ /turf/open/floor/plasteel, /area/bridge) "aYi" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 8 +/obj/machinery/atmospherics/pipe/manifold/scrubbers/visible, +/obj/machinery/meter, +/obj/structure/cable{ + icon_state = "1-2" }, -/obj/effect/turf_decal/tile/yellow{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 10 - }, -/turf/open/floor/plasteel/white, -/area/crew_quarters/fitness/cogpool) +/turf/open/floor/engine, +/area/engine/teg) "aYj" = ( -/obj/effect/turf_decal/tile/blue{ +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ dir = 4 }, -/obj/effect/turf_decal/tile/yellow{ - dir = 8 - }, /obj/effect/turf_decal/stripes/line{ - dir = 1 + dir = 9 }, -/turf/open/floor/plasteel/white, -/area/crew_quarters/fitness/cogpool) +/turf/open/floor/plasteel/dark, +/area/engine/teg) "aYk" = ( /turf/open/floor/circuit/green, /area/ai_monitored/nuke_storage) @@ -23446,30 +23133,17 @@ /turf/open/floor/plasteel, /area/crew_quarters/bar) "aYL" = ( +/turf/closed/wall/r_wall, +/area/engine/storage) +"aYM" = ( /obj/structure/cable{ icon_state = "1-2" }, -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/stripes/line{ +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 4 }, -/obj/structure/reagent_dispensers/fueltank, -/turf/open/floor/plasteel, -/area/engine/secure_construction{ - name = "Engineering Construction Area" - }) -"aYM" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/obj/effect/turf_decal/tile/yellow{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plasteel/white, -/area/crew_quarters/fitness/cogpool) +/turf/open/floor/plating, +/area/engine/engineering) "aYN" = ( /obj/effect/turf_decal/tile/yellow{ dir = 4 @@ -23533,7 +23207,25 @@ /area/hallway/primary/port/fore) "aYW" = ( /obj/structure/table/reinforced, -/obj/machinery/door/firedoor, +/obj/item/pen/blue, +/obj/machinery/camera{ + c_tag = "Customs - Fore"; + dir = 4 + }, +/obj/structure/window/reinforced/spawner/north, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "HoPFore"; + name = "HoP Fore Desk Shutters" + }, +/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/obj/machinery/door/firedoor/border_only{ + dir = 1; + name = "north facing firelock" + }, +/turf/open/floor/plasteel/dark, +/area/security/checkpoint/customs) +"aYX" = ( +/obj/structure/table/reinforced, /obj/machinery/door/window/northright{ name = "Customs Desk"; req_access_txt = "57" @@ -23542,16 +23234,9 @@ id = "HoPFore"; name = "HoP Fore Desk Shutters" }, -/turf/open/floor/plasteel/dark, -/area/security/checkpoint/customs) -"aYX" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/firedoor, -/obj/item/flashlight/lamp, -/obj/structure/window/reinforced/spawner/north, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "HoPFore"; - name = "HoP Fore Desk Shutters" +/obj/machinery/door/firedoor/border_only{ + dir = 1; + name = "north facing firelock" }, /turf/open/floor/plasteel/dark, /area/security/checkpoint/customs) @@ -23574,14 +23259,11 @@ /turf/closed/wall/r_wall, /area/ai_monitored/turret_protected/ai) "aZa" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 8 +/obj/structure/cable{ + icon_state = "1-2" }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plasteel/white, -/area/crew_quarters/fitness/cogpool) +/turf/open/floor/plating, +/area/engine/engineering) "aZb" = ( /obj/structure/closet, /obj/effect/spawner/lootdrop/maintenance, @@ -23592,11 +23274,14 @@ }, /area/maintenance/department/eva) "aZc" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ + dir = 10 + }, /obj/effect/turf_decal/stripes/line{ dir = 1 }, -/turf/open/floor/plasteel/white, -/area/crew_quarters/fitness/cogpool) +/turf/open/floor/plasteel/dark, +/area/engine/teg) "aZd" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/command{ @@ -23626,11 +23311,11 @@ /turf/open/floor/plasteel/dark, /area/ai_monitored/nuke_storage) "aZg" = ( -/obj/effect/turf_decal/stripes/corner{ - dir = 4 +/obj/effect/turf_decal/stripes/line{ + dir = 1 }, -/turf/open/floor/plasteel/white, -/area/crew_quarters/fitness/cogpool) +/turf/open/floor/plasteel/dark, +/area/engine/teg) "aZh" = ( /obj/structure/closet/crate, /obj/machinery/light, @@ -23655,19 +23340,19 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, -/obj/item/caution{ +/obj/item/clothing/suit/caution{ pixel_x = 6; pixel_y = 3 }, -/obj/item/caution{ +/obj/item/clothing/suit/caution{ pixel_x = 6; pixel_y = 3 }, -/obj/item/caution{ +/obj/item/clothing/suit/caution{ pixel_x = 6; pixel_y = 3 }, -/obj/item/caution{ +/obj/item/clothing/suit/caution{ pixel_x = 6; pixel_y = 3 }, @@ -23779,13 +23464,14 @@ /turf/open/floor/plasteel/dark, /area/ai_monitored/nuke_storage) "aZt" = ( +/obj/machinery/atmospherics/pipe/simple/supply/visible{ + dir = 6 + }, /obj/effect/turf_decal/stripes/line{ - dir = 10 + dir = 1 }, /turf/open/floor/plasteel/dark, -/area/engine/supermatter{ - name = "Thermo-Electric Generator" - }) +/area/engine/teg) "aZu" = ( /obj/machinery/blackbox_recorder, /obj/effect/turf_decal/bot_white, @@ -24234,14 +23920,14 @@ /turf/open/space/basic, /area/space/nearstation) "ban" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/obj/effect/turf_decal/tile/yellow{ +/obj/machinery/atmospherics/pipe/simple/supply/visible{ dir = 4 }, -/turf/open/floor/plasteel/white, -/area/crew_quarters/fitness/cogpool) +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/turf/open/floor/plasteel/dark, +/area/engine/teg) "bao" = ( /obj/machinery/disposal/bin, /obj/effect/turf_decal/stripes/white/full, @@ -24249,27 +23935,14 @@ /turf/open/floor/plasteel/dark, /area/crew_quarters/heads/hop) "bap" = ( -/obj/structure/cable{ - icon_state = "1-2" +/obj/effect/turf_decal/delivery, +/obj/machinery/portable_atmospherics/canister/toxins, +/obj/machinery/firealarm{ + pixel_y = 26 }, -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/obj/structure/rack, -/obj/item/clothing/mask/gas, -/obj/item/clothing/mask/gas, -/obj/item/clothing/mask/gas, -/obj/item/clothing/gloves/color/black, -/obj/item/clothing/gloves/color/black, -/obj/item/clothing/gloves/color/black, -/obj/item/clothing/suit/hazardvest, -/obj/item/clothing/suit/hazardvest, -/obj/item/clothing/suit/hazardvest, +/obj/effect/decal/cleanable/cobweb, /turf/open/floor/plasteel, -/area/engine/secure_construction{ - name = "Engineering Construction Area" - }) +/area/engine/storage) "baq" = ( /obj/effect/turf_decal/delivery, /obj/machinery/door/firedoor, @@ -24523,25 +24196,20 @@ }, /area/lawoffice) "baT" = ( -/obj/machinery/iv_drip, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden, -/turf/open/floor/plasteel/white, -/area/medical/medbay/zone2{ - name = "Medbay Treatment Center" - }) +/obj/machinery/atmospherics/pipe/manifold/supply/visible, +/obj/machinery/meter, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/engine, +/area/engine/teg) "baU" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 4 +/obj/machinery/atmospherics/components/binary/valve/digital{ + dir = 4; + name = "cold loop to generator" }, -/obj/effect/turf_decal/tile/yellow{ - dir = 8 - }, -/obj/effect/landmark/start/assistant, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 1 - }, -/turf/open/floor/plasteel/white, -/area/crew_quarters/fitness/cogpool) +/turf/open/floor/engine, +/area/engine/teg) "baV" = ( /obj/structure/disposalpipe/trunk{ dir = 1 @@ -24665,14 +24333,8 @@ /turf/closed/wall, /area/hallway/primary/aft) "bbi" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, -/obj/effect/turf_decal/tile/yellow{ - dir = 8 - }, -/turf/open/floor/plasteel/white, -/area/crew_quarters/fitness/cogpool) +/turf/open/floor/engine, +/area/engine/teg) "bbj" = ( /obj/machinery/atmospherics/pipe/simple/orange/hidden, /turf/closed/wall/r_wall, @@ -24750,10 +24412,11 @@ /turf/open/floor/plasteel/dark, /area/lawoffice) "bbt" = ( -/turf/open/floor/plasteel/white, -/area/medical/medbay/zone2{ - name = "Medbay Treatment Center" - }) +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/engine, +/area/engine/teg) "bbu" = ( /obj/structure/grille, /obj/structure/cable, @@ -24782,13 +24445,12 @@ /turf/open/floor/plasteel, /area/quartermaster/office) "bbx" = ( +/obj/structure/window/reinforced/spawner/east, /obj/effect/turf_decal/stripes/line{ - dir = 9 + dir = 8 }, -/turf/open/floor/plasteel, -/area/medical/medbay/zone2{ - name = "Medbay Treatment Center" - }) +/turf/open/floor/plasteel/dark, +/area/engine/teg) "bby" = ( /obj/effect/turf_decal/tile/brown{ dir = 4 @@ -24800,14 +24462,10 @@ /turf/open/floor/plasteel, /area/quartermaster/office) "bbz" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel, -/area/medical/medbay/zone2{ - name = "Medbay Treatment Center" - }) +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible, +/turf/open/floor/plating, +/area/engine/teg) "bbA" = ( /obj/effect/turf_decal/tile/purple{ dir = 8 @@ -24821,23 +24479,21 @@ /turf/open/floor/plasteel, /area/hallway/primary/aft) "bbB" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 +/obj/structure/cable{ + icon_state = "1-8" }, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden, -/turf/open/floor/plasteel, -/area/medical/medbay/zone2{ - name = "Medbay Treatment Center" - }) +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating, +/area/engine/engineering) "bbC" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 5 +/obj/structure/cable{ + icon_state = "1-2" }, -/obj/effect/landmark/start/medical_doctor, -/turf/open/floor/plasteel, -/area/medical/medbay/zone2{ - name = "Medbay Treatment Center" - }) +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 10 + }, +/turf/open/floor/plating, +/area/engine/engineering) "bbD" = ( /obj/structure/cable{ icon_state = "1-2" @@ -24847,14 +24503,10 @@ /turf/open/floor/plasteel/dark, /area/bridge) "bbE" = ( -/obj/effect/turf_decal/tile/red, -/obj/effect/turf_decal/tile/red{ - dir = 4 - }, -/turf/open/floor/plasteel/white, -/area/medical/medbay/zone2{ - name = "Medbay Treatment Center" - }) +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/sign/warning/electricshock, +/turf/open/floor/plating, +/area/engine/teg) "bbF" = ( /obj/machinery/atmospherics/pipe/heat_exchanging/simple{ dir = 6 @@ -24871,11 +24523,10 @@ /turf/open/floor/plasteel/dark, /area/bridge) "bbH" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/turf/open/floor/plasteel/white, -/area/crew_quarters/fitness/cogpool) +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/supply/visible, +/turf/open/floor/plating, +/area/engine/teg) "bbI" = ( /obj/machinery/light, /turf/open/floor/plasteel, @@ -25008,16 +24659,12 @@ /turf/open/floor/plasteel, /area/hallway/primary/aft) "bbZ" = ( +/obj/structure/window/reinforced/spawner/west, /obj/effect/turf_decal/stripes/line{ - dir = 8 + dir = 4 }, -/obj/machinery/light{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/medical/medbay/zone2{ - name = "Medbay Treatment Center" - }) +/turf/open/floor/plasteel/dark, +/area/engine/teg) "bca" = ( /turf/open/floor/engine/vacuum, /area/engine/atmos) @@ -25035,11 +24682,14 @@ /turf/closed/wall/r_wall, /area/crew_quarters/lounge/jazz) "bcd" = ( -/obj/item/kirbyplants{ - icon_state = "plant-14" +/obj/structure/cable{ + icon_state = "1-2" }, -/turf/open/floor/plasteel/white, -/area/crew_quarters/fitness/cogpool) +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/engine, +/area/engine/teg) "bce" = ( /obj/structure/plasticflaps, /obj/machinery/conveyor/auto{ @@ -25176,20 +24826,22 @@ /turf/open/floor/plasteel/dark, /area/security/courtroom/jury) "bcu" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible, -/obj/machinery/camera{ - c_tag = "Aft Maintenance - Air Hookup" +/obj/structure/cable{ + icon_state = "4-8" }, -/turf/open/floor/plating, -/area/maintenance/aft/secondary{ - name = "Aft Air Hookup" - }) +/obj/item/radio/intercom{ + dir = 8; + name = "Station Intercom (Common)"; + pixel_x = 28 + }, +/turf/open/floor/engine, +/area/engine/teg) "bcv" = ( -/obj/machinery/atmospherics/components/binary/valve/digital/on, -/turf/open/floor/plating, -/area/maintenance/aft/secondary{ - name = "Aft Air Hookup" - }) +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/closed/wall/r_wall, +/area/engine/teg) "bcw" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -25239,28 +24891,31 @@ /turf/open/floor/plasteel, /area/gateway) "bcD" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible, -/obj/machinery/portable_atmospherics/canister/air, -/turf/open/floor/plating, -/area/maintenance/aft/secondary{ - name = "Aft Air Hookup" - }) +/obj/structure/window/reinforced/spawner/east, +/obj/machinery/light{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/engine/teg) "bcE" = ( -/obj/machinery/atmospherics/components/binary/valve/digital/on{ - dir = 4 - }, -/turf/closed/wall/r_wall, -/area/maintenance/aft/secondary{ - name = "Aft Air Hookup" - }) -"bcF" = ( -/obj/machinery/atmospherics/pipe/manifold/general/visible{ - dir = 4 +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 }, /turf/open/floor/plating, -/area/maintenance/aft/secondary{ - name = "Aft Air Hookup" - }) +/area/engine/engineering) +"bcF" = ( +/obj/machinery/light/small{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plating, +/area/engine/engineering) "bcG" = ( /obj/structure/lattice/catwalk, /obj/structure/disposalpipe/segment, @@ -25278,10 +24933,14 @@ /turf/open/floor/plasteel/dark/side, /area/security/courtroom) "bcI" = ( -/turf/closed/wall/r_wall, -/area/engine/secure_construction{ - name = "Engineering Construction Area" - }) +/obj/effect/turf_decal/delivery, +/obj/machinery/portable_atmospherics/canister/toxins, +/obj/machinery/light/small{ + dir = 1; + light_color = "#ffc1c1" + }, +/turf/open/floor/plasteel, +/area/engine/storage) "bcJ" = ( /obj/machinery/button/door{ id = "HoPAft"; @@ -25329,17 +24988,15 @@ /turf/open/floor/plasteel, /area/security/courtroom) "bcO" = ( -/obj/structure/disposalpipe/segment{ +/obj/machinery/atmospherics/components/binary/circulator{ dir = 4 }, -/obj/structure/cable{ - icon_state = "4-8" +/obj/effect/turf_decal/stripes/line{ + dir = 1 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 5 - }, -/turf/closed/wall/r_wall, -/area/crew_quarters/fitness/cogpool) +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/engine, +/area/engine/teg) "bcP" = ( /obj/structure/cable{ icon_state = "4-8" @@ -25411,15 +25068,15 @@ /turf/open/floor/plating, /area/ai_monitored/turret_protected/ai_upload_foyer) "bcZ" = ( -/obj/machinery/power/terminal{ - dir = 8 - }, /obj/structure/cable{ icon_state = "1-2" }, /obj/structure/cable{ icon_state = "0-2" }, +/obj/machinery/power/smes{ + charge = 5e+006 + }, /turf/open/floor/plating, /area/ai_monitored/turret_protected/ai_upload_foyer) "bda" = ( @@ -25445,20 +25102,16 @@ /turf/open/floor/engine/vacuum, /area/science/mixing) "bdd" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, -/obj/machinery/camera{ - c_tag = "Pool"; +/obj/machinery/power/generator, +/obj/effect/turf_decal/stripes/line{ dir = 1 }, -/obj/structure/closet/secure_closet/personal, -/obj/effect/turf_decal/tile/yellow{ - dir = 8 +/obj/effect/turf_decal/stripes/line, +/obj/structure/cable/yellow{ + icon_state = "0-2" }, -/obj/item/toy/poolnoodle/red, -/turf/open/floor/plasteel/white, -/area/crew_quarters/fitness/cogpool) +/turf/open/floor/engine, +/area/engine/teg) "bde" = ( /obj/structure/sign/warning/vacuum/external{ pixel_y = 32 @@ -25474,16 +25127,15 @@ /turf/open/floor/plating, /area/hallway/primary/central) "bdh" = ( -/obj/effect/turf_decal/tile/blue{ +/obj/machinery/atmospherics/components/binary/circulator/cold{ dir = 8 }, -/obj/structure/closet/secure_closet/personal, -/obj/effect/turf_decal/tile/yellow{ - dir = 4 +/obj/effect/turf_decal/stripes/line{ + dir = 1 }, -/obj/item/toy/poolnoodle/blue, -/turf/open/floor/plasteel/white, -/area/crew_quarters/fitness/cogpool) +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/engine, +/area/engine/teg) "bdi" = ( /obj/structure/sign/warning/electricshock, /turf/closed/wall/r_wall, @@ -25506,24 +25158,20 @@ }, /area/hallway/primary/central) "bdk" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, +/obj/effect/turf_decal/delivery, +/obj/machinery/portable_atmospherics/canister/toxins, /turf/open/floor/plasteel, -/area/engine/secure_construction{ - name = "Engineering Construction Area" - }) +/area/engine/storage) "bdl" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, -/obj/structure/closet/athletic_mixed, -/obj/effect/turf_decal/tile/yellow{ +/obj/structure/window/reinforced/spawner/west, +/obj/machinery/light{ dir = 8 }, -/obj/item/toy/poolnoodle/yellow, -/turf/open/floor/plasteel/white, -/area/crew_quarters/fitness/cogpool) +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/engine/teg) "bdm" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -25687,11 +25335,11 @@ /turf/open/floor/plasteel, /area/hallway/primary/aft) "bdE" = ( -/obj/effect/landmark/xeno_spawn, -/turf/open/floor/grass, -/area/hydroponics/garden{ - name = "Nature Preserve" - }) +/obj/machinery/light/small{ + dir = 4 + }, +/turf/open/floor/plating, +/area/engine/engineering) "bdF" = ( /obj/effect/turf_decal/tile/purple{ dir = 4 @@ -25763,13 +25411,23 @@ /turf/open/floor/plasteel, /area/quartermaster/office) "bdL" = ( -/obj/machinery/atmospherics/pipe/simple/general/visible{ - dir = 5 +/obj/effect/turf_decal/stripes/line, +/obj/structure/cable{ + icon_state = "1-8" }, -/turf/open/floor/plating, -/area/maintenance/aft/secondary{ - name = "Aft Air Hookup" - }) +/obj/machinery/turretid{ + control_area = "/area/science/server"; + icon_state = "control_stun"; + name = "Computer Core turret control"; + pixel_x = -3; + pixel_y = -23; + req_access_txt = "65" + }, +/obj/machinery/atmospherics/pipe/simple/supplymain/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/science/server/compcore) "bdM" = ( /turf/open/floor/plasteel, /area/quartermaster/office) @@ -25779,16 +25437,25 @@ /turf/open/floor/plasteel, /area/hallway/primary/central) "bdO" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/maintenance{ - name = "Pool External Maintenance"; - req_access_txt = "12" +/obj/machinery/firealarm{ + dir = 4; + pixel_x = -28 }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plating, -/area/crew_quarters/fitness/cogpool) +/area/engine/engineering) "bdP" = ( -/turf/closed/wall/mineral/wood, -/area/crew_quarters/fitness/cogpool) +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/engine, +/area/engine/teg) "bdQ" = ( /obj/machinery/door/airlock/command{ name = "Bridge"; @@ -25833,11 +25500,20 @@ /turf/open/floor/plasteel, /area/quartermaster/office) "bdW" = ( -/obj/structure/mineral_door/woodrustic{ - name = "Sauna" +/obj/structure/table/reinforced, +/obj/item/analyzer, +/obj/item/t_scanner, +/obj/structure/cable{ + icon_state = "0-8" }, -/turf/open/floor/wood, -/area/crew_quarters/fitness/cogpool) +/obj/machinery/power/apc{ + areastring = "/area/engine/teg"; + dir = 4; + name = "Thermo-Electric Generator APC"; + pixel_x = 24 + }, +/turf/open/floor/engine, +/area/engine/teg) "bdX" = ( /obj/structure/table/wood, /obj/item/storage/box/donkpockets, @@ -25847,9 +25523,11 @@ }, /area/chapel/main) "bdY" = ( -/obj/structure/sign/warning/fire, -/turf/closed/wall/mineral/wood, -/area/crew_quarters/fitness/cogpool) +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible, +/obj/effect/turf_decal/delivery, +/obj/structure/window/reinforced/spawner, +/turf/open/floor/engine, +/area/engine/teg) "bdZ" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -25906,13 +25584,12 @@ /turf/open/floor/plating/airless, /area/science/test_area) "bei" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 6 +/obj/effect/turf_decal/delivery, +/obj/structure/cable/yellow{ + icon_state = "1-2" }, -/turf/open/floor/plasteel/dark, -/area/engine/supermatter{ - name = "Thermo-Electric Generator" - }) +/turf/open/floor/engine, +/area/engine/teg) "bej" = ( /turf/open/floor/plasteel, /area/quartermaster/sorting) @@ -25933,14 +25610,12 @@ /turf/open/floor/plasteel, /area/hallway/primary/central) "bem" = ( -/obj/machinery/atmospherics/components/binary/valve/digital{ - dir = 4; - name = "hot loop to generator" - }, +/obj/machinery/atmospherics/pipe/simple/supply/visible, +/obj/effect/turf_decal/delivery, +/obj/item/extinguisher, +/obj/structure/window/reinforced/spawner, /turf/open/floor/engine, -/area/engine/supermatter{ - name = "Thermo-Electric Generator" - }) +/area/engine/teg) "ben" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -25970,25 +25645,24 @@ /turf/open/floor/plasteel/dark, /area/crew_quarters/heads/hor) "beq" = ( -/obj/machinery/atmospherics/components/binary/valve/digital{ - dir = 4; - name = "generator to cold loop" +/obj/structure/table/reinforced, +/obj/item/grenade/chem_grenade/smart_metal_foam{ + pixel_x = 4 }, +/obj/item/radio, /turf/open/floor/engine, -/area/engine/supermatter{ - name = "Thermo-Electric Generator" - }) +/area/engine/teg) "ber" = ( /obj/effect/turf_decal/delivery, /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel, /area/hallway/primary/aft) "bes" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 8 +/obj/effect/turf_decal/stripes/line{ + dir = 10 }, -/turf/closed/wall/r_wall, -/area/crew_quarters/fitness/cogpool) +/turf/open/floor/plasteel/dark, +/area/engine/teg) "bet" = ( /obj/machinery/atmospherics/pipe/simple/cyan/hidden{ dir = 4 @@ -26004,18 +25678,15 @@ /turf/open/floor/plating, /area/ai_monitored/turret_protected/ai) "bev" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/item/radio/intercom{ +/obj/machinery/firealarm{ dir = 8; - name = "Station Intercom (Common)"; - pixel_x = 28 + pixel_x = 26 }, -/turf/open/floor/engine, -/area/engine/supermatter{ - name = "Thermo-Electric Generator" - }) +/obj/structure/disposalpipe/junction{ + dir = 4 + }, +/turf/open/floor/plating, +/area/engine/engineering) "bew" = ( /obj/structure/cable{ icon_state = "1-2" @@ -26033,11 +25704,8 @@ /turf/open/floor/plasteel, /area/security/courtroom) "bey" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 8 - }, -/turf/closed/wall/r_wall/rust, -/area/crew_quarters/fitness/cogpool) +/turf/closed/wall/r_wall, +/area/science/server/compcore) "bez" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -26106,25 +25774,28 @@ /turf/open/floor/plasteel/dark, /area/lawoffice) "beH" = ( -/obj/structure/window/reinforced/spawner/east, -/obj/machinery/light{ - dir = 4 +/obj/structure/grille, +/obj/structure/cable, +/obj/structure/cable{ + icon_state = "0-2" }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/engine/supermatter{ - name = "Thermo-Electric Generator" - }) +/obj/machinery/atmospherics/pipe/simple/supplymain/hidden, +/turf/open/floor/plating, +/area/science/server/compcore) "beI" = ( -/obj/machinery/atmospherics/components/binary/valve/digital{ - dir = 4 +/obj/machinery/door/firedoor, +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "1-2" }, -/turf/open/floor/engine, -/area/engine/supermatter{ - name = "Thermo-Electric Generator" - }) +/obj/machinery/door/airlock/command{ + name = "Computer Core"; + req_access_txt = "30" + }, +/obj/effect/turf_decal/delivery, +/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/turf/open/floor/plasteel, +/area/science/server/compcore) "beJ" = ( /turf/open/floor/plasteel, /area/hallway/primary/central) @@ -26307,10 +25978,13 @@ /turf/open/floor/plasteel/dark, /area/security/courtroom/jury) "bfh" = ( -/turf/closed/wall/r_wall, -/area/science/server{ - name = "Computer Core" - }) +/obj/structure/grille, +/obj/structure/window/reinforced/spawner/north, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plating, +/area/science/server/compcore) "bfi" = ( /obj/machinery/atmospherics/pipe/simple/cyan/hidden{ dir = 10 @@ -26318,17 +25992,23 @@ /turf/open/floor/plasteel, /area/hallway/primary/central) "bfj" = ( -/mob/living/simple_animal/butterfly, -/turf/open/floor/plating/asteroid, -/area/hydroponics/garden{ - name = "Nature Preserve" - }) +/obj/structure/grille, +/obj/structure/window/reinforced/spawner/north, +/obj/structure/cable, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plating, +/area/science/server/compcore) "bfk" = ( -/mob/living/simple_animal/kiwi, -/turf/open/floor/plating/asteroid, -/area/hydroponics/garden{ - name = "Nature Preserve" - }) +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/closed/wall/r_wall, +/area/science/server/compcore) "bfl" = ( /obj/effect/turf_decal/tile/green, /obj/effect/turf_decal/tile/green{ @@ -26350,15 +26030,11 @@ /turf/open/floor/plating, /area/maintenance/department/security) "bfn" = ( -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/components/binary/valve/digital{ - dir = 4; - name = "cold loop to space" - }, -/turf/open/floor/plating, -/area/engine/engineering{ - name = "Engine Room" - }) +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible, +/obj/structure/window/reinforced/spawner/east, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plasteel/dark, +/area/engine/teg) "bfo" = ( /obj/machinery/atmospherics/pipe/simple/general/visible{ dir = 4 @@ -26438,8 +26114,11 @@ }, /area/gateway) "bfv" = ( -/turf/open/floor/plating, -/area/crew_quarters/fitness/cogpool) +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/stairs, +/area/engine/teg) "bfw" = ( /obj/effect/turf_decal/tile/red, /obj/effect/turf_decal/tile/red{ @@ -26460,13 +26139,11 @@ /turf/open/floor/plasteel/white, /area/gateway) "bfy" = ( -/obj/machinery/light/small{ - dir = 1 - }, -/obj/effect/spawner/lootdrop/maintenance, -/obj/machinery/atmospherics/components/unary/thermomachine/heater/on, -/turf/open/floor/plating, -/area/crew_quarters/fitness/cogpool) +/obj/machinery/atmospherics/pipe/simple/supply/visible, +/obj/structure/window/reinforced/spawner/west, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plasteel/dark, +/area/engine/teg) "bfz" = ( /obj/structure/disposalpipe/segment, /obj/effect/landmark/event_spawn, @@ -26524,12 +26201,11 @@ /turf/open/floor/plating, /area/quartermaster/sorting) "bfF" = ( -/obj/machinery/space_heater, -/obj/structure/sign/poster/official/no_erp{ - pixel_y = 32 +/obj/effect/turf_decal/stripes/line{ + dir = 6 }, -/turf/open/floor/wood, -/area/crew_quarters/fitness/cogpool) +/turf/open/floor/plasteel/dark, +/area/engine/teg) "bfG" = ( /obj/machinery/conveyor{ dir = 4; @@ -26552,23 +26228,18 @@ /turf/open/floor/plasteel/dark, /area/chapel/office) "bfI" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable{ - icon_state = "0-8" +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 4 }, -/obj/machinery/power/apc/highcap/fifteen_k{ - areastring = "/area/engine/storage_shared"; - dir = 1; - name = "Electrical Substation APC"; - pixel_y = 26 - }, -/turf/open/floor/plating, -/area/engine/storage_shared{ - name = "Electrical Substation" - }) +/turf/open/floor/engine, +/area/engine/teg) "bfJ" = ( -/turf/open/floor/wood, -/area/crew_quarters/fitness/cogpool) +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/closed/wall/r_wall, +/area/engine/teg) "bfK" = ( /obj/structure/table/wood, /obj/item/storage/fancy/candle_box{ @@ -26601,13 +26272,23 @@ }, /area/chapel/office) "bfM" = ( -/obj/machinery/light/small{ - dir = 4; - light_color = "#d8b1b1" +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible, +/obj/structure/table, +/obj/machinery/light_switch{ + pixel_x = 24 }, -/obj/structure/bedsheetbin/towel, -/turf/open/floor/wood, -/area/crew_quarters/fitness/cogpool) +/obj/item/clothing/ears/earmuffs, +/obj/item/extinguisher{ + pixel_x = -12; + pixel_y = -2 + }, +/obj/machinery/camera{ + c_tag = "Engineering - Hot Loop"; + dir = 8; + pixel_y = -22 + }, +/turf/open/floor/plasteel, +/area/engine/teg/hotloop) "bfN" = ( /obj/effect/decal/cleanable/cobweb, /obj/effect/decal/cleanable/dirt, @@ -26927,10 +26608,24 @@ /turf/open/floor/plating, /area/quartermaster/warehouse) "bgw" = ( -/turf/open/floor/engine, -/area/engine/secure_construction{ - name = "Engineering Construction Area" - }) +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/camera{ + c_tag = "Engineering Construction Area"; + dir = 4 + }, +/obj/structure/reagent_dispensers/watertank, +/obj/machinery/firealarm{ + dir = 4; + pixel_x = -28 + }, +/turf/open/floor/plasteel, +/area/engine/secure_construction) "bgx" = ( /obj/structure/table/glass, /turf/open/floor/plasteel, @@ -27062,12 +26757,11 @@ /turf/open/floor/plasteel, /area/quartermaster/warehouse) "bgJ" = ( -/obj/machinery/portable_atmospherics/pump, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 8 +/obj/machinery/atmospherics/components/binary/pump/on{ + dir = 4 }, -/turf/open/floor/plating, -/area/crew_quarters/fitness/cogpool) +/turf/closed/wall/r_wall, +/area/engine/teg) "bgK" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, @@ -27116,19 +26810,19 @@ /area/quartermaster/sorting) "bgP" = ( /obj/item/analyzer, -/obj/item/caution, +/obj/item/clothing/suit/caution, /turf/open/floor/plating, /area/maintenance/disposal) "bgQ" = ( /turf/closed/wall, /area/quartermaster/qm) "bgR" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ - dir = 4 +/obj/machinery/atmospherics/components/binary/valve/digital{ + dir = 4; + name = "hot loop to generator" }, -/obj/machinery/meter, -/turf/closed/wall/mineral/wood, -/area/crew_quarters/fitness/cogpool) +/turf/open/floor/engine, +/area/engine/teg) "bgS" = ( /obj/machinery/computer/bounty, /obj/effect/turf_decal/tile/brown{ @@ -27164,9 +26858,6 @@ /turf/open/floor/plating, /area/crew_quarters/heads/hor) "bgY" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, /obj/machinery/status_display, /turf/closed/wall/r_wall, /area/hallway/primary/central) @@ -27180,12 +26871,15 @@ /turf/open/floor/plasteel, /area/quartermaster/office) "bha" = ( -/obj/structure/chair/stool, -/obj/machinery/atmospherics/pipe/heat_exchanging/junction{ +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ dir = 4 }, -/turf/open/floor/wood, -/area/crew_quarters/fitness/cogpool) +/obj/machinery/meter, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/engine, +/area/engine/teg) "bhb" = ( /obj/machinery/atmospherics/pipe/manifold/cyan/hidden{ dir = 1 @@ -27193,12 +26887,11 @@ /turf/open/floor/plasteel, /area/quartermaster/office) "bhc" = ( -/obj/structure/chair/stool, -/obj/machinery/atmospherics/pipe/heat_exchanging/simple{ +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ dir = 4 }, -/turf/open/floor/wood, -/area/crew_quarters/fitness/cogpool) +/turf/open/floor/engine, +/area/engine/teg) "bhd" = ( /obj/effect/turf_decal/tile/brown{ dir = 4 @@ -27228,17 +26921,12 @@ /turf/open/floor/plating, /area/quartermaster/office) "bhg" = ( -/obj/structure/chair/stool, -/obj/machinery/camera{ - c_tag = "Pool - Sauna"; - dir = 8; - pixel_y = -22 +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 }, -/obj/machinery/atmospherics/pipe/heat_exchanging/junction{ - dir = 8 - }, -/turf/open/floor/wood, -/area/crew_quarters/fitness/cogpool) +/turf/open/floor/plating, +/area/engine/engineering) "bhh" = ( /obj/machinery/status_display, /turf/closed/wall/r_wall, @@ -27265,19 +26953,15 @@ /turf/open/floor/plating, /area/quartermaster/warehouse) "bhl" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ - dir = 4 +/obj/structure/cable{ + icon_state = "2-4" }, -/turf/closed/wall/mineral/wood, -/area/crew_quarters/fitness/cogpool) +/turf/closed/wall/r_wall, +/area/science/server/compcore) "bhm" = ( -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 9 - }, -/turf/open/floor/plasteel, -/area/engine/secure_construction{ - name = "Engineering Construction Area" - }) +/obj/effect/landmark/event_spawn, +/turf/open/floor/engine, +/area/engine/secure_construction) "bhn" = ( /obj/effect/turf_decal/tile/yellow, /obj/effect/turf_decal/tile/yellow{ @@ -27336,23 +27020,23 @@ /turf/open/floor/plasteel, /area/quartermaster/warehouse) "bhs" = ( -/obj/effect/turf_decal/stripes/corner{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ +/obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/machinery/airalarm{ + dir = 8; + pixel_x = 23 + }, /obj/machinery/portable_atmospherics/scrubber, /turf/open/floor/plasteel, -/area/engine/secure_construction{ - name = "Engineering Construction Area" - }) +/area/engine/secure_construction) "bht" = ( -/obj/structure/grille, /obj/structure/cable, /obj/structure/cable{ icon_state = "0-4" }, +/obj/machinery/power/terminal, +/obj/structure/grille, /obj/structure/window/reinforced/spawner, /turf/open/floor/plating, /area/ai_monitored/turret_protected/ai) @@ -27640,16 +27324,11 @@ /turf/open/floor/plasteel, /area/hallway/primary/aft) "bhZ" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 +/obj/structure/cable{ + icon_state = "4-8" }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/conveyor{ - dir = 4; - id = "QMLoad" - }, -/turf/open/floor/plating, -/area/quartermaster/storage) +/turf/closed/wall/r_wall, +/area/science/server/compcore) "bia" = ( /obj/effect/turf_decal/tile/yellow{ dir = 1 @@ -27730,18 +27409,12 @@ /turf/open/floor/plasteel, /area/hallway/primary/central) "bij" = ( -/obj/effect/turf_decal/stripes/end{ - dir = 8 +/obj/structure/cable{ + icon_state = "1-8" }, -/obj/machinery/conveyor{ - dir = 4; - id = "QMLoad" - }, -/obj/machinery/light/small{ - dir = 1 - }, -/turf/open/floor/plating, -/area/quartermaster/storage) +/obj/machinery/atmospherics/pipe/simple/supplymain/hidden, +/turf/closed/wall/r_wall, +/area/science/server/compcore) "bik" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, @@ -27755,18 +27428,9 @@ /turf/open/floor/plating, /area/bridge) "bil" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 5 - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 1 - }, -/obj/machinery/conveyor{ - dir = 6; - id = "QMLoad" - }, -/turf/open/floor/plating, -/area/quartermaster/storage) +/obj/structure/window/reinforced/spawner, +/turf/open/floor/plasteel/dark, +/area/science/server/compcore) "bim" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, @@ -27855,31 +27519,16 @@ /turf/open/floor/plasteel, /area/quartermaster/office) "biw" = ( -/obj/machinery/computer/cargo{ - dir = 8 +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "1-4" }, -/obj/effect/turf_decal/bot, -/obj/machinery/button/door{ - id = "QMLoadDoor"; - layer = 4; - name = "Cargo Loading Doors"; - pixel_x = 24; - pixel_y = 6 +/obj/structure/window/reinforced/spawner, +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 5 }, -/obj/machinery/button/door{ - id = "QMUnloadDoor"; - layer = 4; - name = "Cargo Unloading Doors"; - pixel_x = 24; - pixel_y = -6 - }, -/obj/machinery/camera{ - c_tag = "Supply - Cargo Bay"; - dir = 8; - pixel_y = -22 - }, -/turf/open/floor/plasteel, -/area/quartermaster/storage) +/turf/open/floor/plasteel/dark, +/area/science/server/compcore) "bix" = ( /obj/machinery/door/firedoor, /obj/effect/turf_decal/delivery, @@ -27932,13 +27581,17 @@ /turf/open/floor/plasteel, /area/maintenance/disposal) "biE" = ( +/obj/machinery/light_switch{ + pixel_y = 24 + }, /obj/structure/cable{ icon_state = "2-8" }, -/turf/open/floor/plating, -/area/maintenance/aft/secondary{ - name = "Aft Air Hookup" - }) +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, +/area/science/server/compcore) "biF" = ( /obj/structure/cable{ icon_state = "4-8" @@ -27973,13 +27626,11 @@ }, /area/crew_quarters/heads/hor) "biH" = ( -/obj/machinery/light/small, -/obj/machinery/space_heater, -/obj/machinery/atmospherics/pipe/simple/general/visible, -/turf/open/floor/plating, -/area/maintenance/aft/secondary{ - name = "Aft Air Hookup" - }) +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/closed/wall/r_wall, +/area/science/server/compcore) "biI" = ( /obj/machinery/light{ dir = 4; @@ -28002,6 +27653,9 @@ /area/quartermaster/office) "biK" = ( /obj/structure/closet/firecloset, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden{ + dir = 10 + }, /turf/open/floor/plasteel, /area/science/mixing) "biL" = ( @@ -28256,17 +27910,14 @@ /turf/open/floor/plating, /area/maintenance/department/eva) "bjq" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 +/obj/structure/cable{ + icon_state = "1-2" }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/conveyor{ - id = "QMLoad" +/obj/structure/cable{ + icon_state = "1-4" }, /turf/open/floor/plating, -/area/quartermaster/storage) +/area/engine/engineering) "bjr" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/sign/warning/vacuum/external, @@ -28325,14 +27976,11 @@ /turf/open/floor/plating, /area/maintenance/starboard/central) "bjx" = ( -/obj/structure/table/optable, -/obj/effect/turf_decal/bot, -/obj/item/defibrillator/loaded, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel, -/area/medical/medbay/zone2{ - name = "Medbay Treatment Center" - }) +/obj/machinery/atmospherics/pipe/manifold/scrubbers/visible{ + dir = 4 + }, +/turf/open/floor/engine, +/area/engine/teg) "bjy" = ( /obj/effect/turf_decal/tile/yellow{ dir = 4 @@ -28475,20 +28123,11 @@ /turf/open/floor/plasteel, /area/storage/primary) "bjL" = ( -/obj/structure/rack, -/obj/item/clothing/suit/space/fragile, -/obj/item/clothing/head/helmet/space/fragile, -/obj/item/tank/internals/air, -/obj/item/flashlight, -/obj/item/reagent_containers/spray/cleaner, -/obj/machinery/camera{ - c_tag = "Pool Maintenance"; - dir = 8; - pixel_y = -22 +/obj/structure/cable/yellow{ + icon_state = "1-2" }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plating, -/area/crew_quarters/fitness/cogpool) +/turf/open/floor/engine, +/area/engine/teg) "bjM" = ( /obj/machinery/door/airlock/public/glass{ name = "Atmospherics Storage"; @@ -28676,11 +28315,11 @@ /turf/open/floor/plasteel, /area/hallway/primary/central) "bkf" = ( -/obj/machinery/space_heater, -/turf/open/floor/plating, -/area/maintenance/aft/secondary{ - name = "Aft Air Hookup" - }) +/obj/machinery/atmospherics/pipe/manifold/supply/visible{ + dir = 8 + }, +/turf/open/floor/engine, +/area/engine/teg) "bkg" = ( /obj/structure/disposalpipe/segment, /obj/machinery/mineral/stacking_unit_console{ @@ -28753,65 +28392,49 @@ /turf/open/floor/plasteel, /area/science/circuit) "bkp" = ( -/obj/machinery/conveyor_switch/oneway{ - id = "QMLoad" - }, -/turf/open/floor/plasteel, -/area/quartermaster/storage) -"bkq" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 10 - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/obj/machinery/conveyor/inverted{ - dir = 9; - id = "QMLoad" - }, -/turf/open/floor/plating, -/area/quartermaster/storage) -"bkr" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/conveyor{ - dir = 4; - id = "QMLoad" - }, -/obj/machinery/door/poddoor{ - id = "QMLoadDoor"; - name = "Cargo Loading Door" - }, -/turf/open/floor/plating, -/area/quartermaster/storage) -"bks" = ( -/obj/structure/plasticflaps, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/conveyor{ - dir = 4; - id = "QMLoad" - }, -/turf/open/floor/plating, -/area/quartermaster/storage) -"bkt" = ( -/obj/effect/turf_decal/stripes/end{ +/obj/machinery/atmospherics/pipe/simple/supply/visible{ dir = 4 }, -/obj/machinery/conveyor{ - dir = 4; - id = "QMLoad" +/turf/open/floor/engine, +/area/engine/teg) +"bkq" = ( +/obj/machinery/atmospherics/pipe/simple/supply/visible{ + dir = 4 }, -/obj/machinery/door/poddoor{ - id = "QMLoadDoor"; - name = "Cargo Loading Door" +/obj/machinery/meter, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/engine, +/area/engine/teg) +"bkr" = ( +/obj/machinery/atmospherics/components/binary/valve/digital{ + dir = 4; + name = "generator to cold loop" + }, +/turf/open/floor/engine, +/area/engine/teg) +"bks" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "2-8" }, /turf/open/floor/plating, -/area/quartermaster/storage) +/area/engine/engineering) +"bkt" = ( +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/machinery/photocopier, +/turf/open/floor/plasteel, +/area/science/server/compcore) "bku" = ( /obj/structure/closet, /turf/open/floor/plasteel, @@ -28838,12 +28461,19 @@ }, /area/crew_quarters/heads/hor) "bkz" = ( -/obj/machinery/portable_atmospherics/canister/air, -/obj/machinery/atmospherics/pipe/simple/general/visible, -/turf/open/floor/plating, -/area/maintenance/aft/secondary{ - name = "Aft Air Hookup" - }) +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/machinery/light{ + dir = 1; + light_color = "#e8eaff" + }, +/obj/machinery/atmospherics/pipe/simple/supplymain/hidden, +/turf/open/floor/plasteel, +/area/science/server/compcore) "bkA" = ( /obj/machinery/light_switch{ pixel_y = -24 @@ -28950,23 +28580,11 @@ /turf/open/floor/plating, /area/storage/primary) "bkJ" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/light/small{ - dir = 1; - light_color = "#ffc1c1" - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "1-2" +/obj/machinery/airalarm{ + pixel_y = 24 }, /turf/open/floor/plasteel, -/area/engine/engineering{ - name = "Engine Room" - }) +/area/science/server/compcore) "bkK" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable{ @@ -29048,22 +28666,9 @@ /turf/open/floor/plasteel, /area/quartermaster/office) "bkT" = ( -/obj/structure/sink{ - dir = 4; - pixel_x = 11 - }, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, -/obj/item/radio/intercom{ - name = "Station Intercom (Common)"; - pixel_x = 26 - }, -/turf/open/floor/plasteel/white, -/area/medical{ - name = "Medical Booth" - }) +/obj/structure/sign/warning/nosmoking/circle, +/turf/closed/wall/r_wall, +/area/engine/storage) "bkU" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -29086,14 +28691,8 @@ /turf/open/floor/plating, /area/maintenance/department/eva) "bkW" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/external{ - name = "Pool Exterior Access"; - req_access_txt = "13" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper, -/turf/open/floor/plating, -/area/crew_quarters/fitness/cogpool) +/turf/open/floor/plasteel, +/area/science/server/compcore) "bkX" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/disposalpipe/segment, @@ -29262,8 +28861,12 @@ /turf/open/floor/plasteel, /area/hallway/primary/central) "blp" = ( -/turf/closed/wall/r_wall, -/area/hallway/secondary/exit) +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/engine/teg) "blq" = ( /obj/effect/turf_decal/tile/yellow{ dir = 4 @@ -29331,34 +28934,28 @@ /turf/open/floor/plasteel, /area/quartermaster/warehouse) "blv" = ( -/obj/machinery/computer/operating, -/obj/effect/turf_decal/bot, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden, +/obj/structure/disposalpipe/segment, /turf/open/floor/plasteel, -/area/medical/medbay/zone2{ - name = "Medbay Treatment Center" - }) +/area/science/server/compcore) "blw" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/turf/open/floor/plasteel, +/area/science/server/compcore) +"blx" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/power/apc{ + areastring = "/area/science/server/compcore"; + dir = 1; + name = "Computer Core APC"; + pixel_y = 24 }, /turf/open/floor/plasteel, -/area/medical/medbay/zone2{ - name = "Medbay Treatment Center" - }) -"blx" = ( -/obj/structure/table, -/obj/effect/turf_decal/tile/red{ - dir = 1 - }, -/obj/effect/turf_decal/tile/red{ - dir = 8 - }, -/obj/item/storage/backpack/duffelbag/med/surgery, -/turf/open/floor/plasteel/white, -/area/medical/medbay/zone2{ - name = "Medbay Treatment Center" - }) +/area/science/server/compcore) "bly" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -29414,9 +29011,16 @@ /turf/open/floor/plasteel, /area/hallway/primary/central) "blD" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/closed/wall/r_wall, -/area/crew_quarters/fitness/cogpool) +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/machinery/light{ + dir = 1; + light_color = "#e8eaff" + }, +/turf/open/floor/plasteel, +/area/science/server/compcore) "blE" = ( /obj/machinery/light{ dir = 8 @@ -29616,12 +29220,22 @@ /turf/open/floor/plasteel, /area/security/brig) "blZ" = ( -/obj/machinery/conveyor_switch/oneway{ - dir = 8; - id = "QMUnload" +/obj/machinery/disposal/bin, +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/structure/disposalpipe/trunk{ + dir = 4 }, /turf/open/floor/plasteel, -/area/quartermaster/storage) +/area/science/server/compcore) "bma" = ( /obj/structure/chair{ dir = 8 @@ -29666,13 +29280,20 @@ }, /area/crew_quarters/heads/hor) "bme" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/hallway/secondary/exit) +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/engine, +/area/engine/teg) "bmf" = ( -/obj/structure/sign/departments/evac, -/turf/closed/wall/r_wall, -/area/hallway/secondary/exit) +/obj/machinery/atmospherics/components/binary/valve/digital{ + dir = 4 + }, +/turf/open/floor/engine, +/area/engine/teg) "bmg" = ( /obj/effect/turf_decal/tile/green{ dir = 4 @@ -29749,11 +29370,9 @@ /turf/open/floor/plasteel/cafeteria, /area/crew_quarters/kitchen) "bmm" = ( -/obj/machinery/portable_atmospherics/scrubber/huge, -/turf/open/floor/plasteel, -/area/engine/secure_construction{ - name = "Engineering Construction Area" - }) +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/engine/storage) "bmn" = ( /obj/effect/turf_decal/tile/neutral{ dir = 4 @@ -29916,13 +29535,13 @@ /area/gateway) "bmF" = ( /obj/structure/disposalpipe/segment{ - dir = 6 + dir = 4 }, /obj/structure/cable{ - icon_state = "0-4" + icon_state = "1-2" }, -/turf/closed/wall, -/area/crew_quarters/fitness/cogpool) +/turf/closed/wall/r_wall, +/area/science/server/compcore) "bmG" = ( /turf/open/floor/engine, /area/gateway) @@ -29965,35 +29584,42 @@ dir = 4 }, /obj/structure/cable{ - icon_state = "4-8" + icon_state = "1-8" }, /obj/structure/cable{ - icon_state = "2-4" + icon_state = "1-2" }, -/turf/open/floor/plating, -/area/crew_quarters/fitness/cogpool) -"bmK" = ( -/obj/structure/disposalpipe/segment{ +/obj/machinery/atmospherics/pipe/simple/cyan/hidden{ dir = 4 }, -/obj/structure/cable{ - icon_state = "4-8" +/turf/open/floor/plating, +/area/engine/engineering) +"bmK" = ( +/obj/machinery/light/small{ + dir = 1; + light_color = "#ffc1c1" }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/closed/wall/r_wall, -/area/crew_quarters/fitness/cogpool) +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden{ + dir = 10 + }, +/turf/open/floor/plating, +/area/engine/engineering) "bmL" = ( /obj/machinery/atmospherics/pipe/simple/supplymain/hidden, /turf/open/floor/plasteel, /area/hallway/primary/central) "bmM" = ( -/obj/structure/grille, /obj/structure/cable{ icon_state = "0-2" }, /obj/structure/cable{ icon_state = "0-8" }, +/obj/machinery/power/terminal, +/obj/structure/grille, /obj/structure/window/reinforced/spawner, /turf/open/floor/plating, /area/ai_monitored/turret_protected/ai) @@ -30071,13 +29697,12 @@ /turf/open/floor/plating, /area/maintenance/disposal) "bmT" = ( -/obj/machinery/atmospherics/pipe/simple/supply/visible{ - dir = 9 +/obj/machinery/light/small, +/obj/structure/cable/yellow{ + icon_state = "1-2" }, -/turf/closed/wall/r_wall, -/area/engine/engineering{ - name = "Engine Room" - }) +/turf/open/floor/engine, +/area/engine/teg) "bmU" = ( /obj/structure/table/wood, /obj/machinery/light{ @@ -30279,34 +29904,15 @@ /turf/open/floor/plasteel, /area/quartermaster/sorting) "bni" = ( -/obj/structure/table/reinforced, -/obj/structure/window/reinforced, -/obj/effect/turf_decal/tile/brown, -/obj/effect/turf_decal/tile/brown{ - dir = 1 +/obj/machinery/firealarm{ + dir = 1; + pixel_y = -26 }, -/obj/effect/turf_decal/tile/brown{ +/obj/machinery/atmospherics/components/binary/valve/digital{ dir = 4 }, -/obj/effect/turf_decal/tile/brown{ - dir = 8 - }, -/obj/machinery/light{ - dir = 8 - }, -/obj/item/clipboard, -/obj/item/stamp, -/obj/item/stamp/denied{ - pixel_x = 4; - pixel_y = 4 - }, -/obj/item/pen/red, -/obj/item/pen/blue{ - pixel_x = -5; - pixel_y = -3 - }, -/turf/open/floor/plasteel, -/area/quartermaster/sorting) +/turf/open/floor/engine, +/area/engine/teg) "bnj" = ( /obj/structure/sign/warning/securearea{ desc = "A warning sign which reads 'BOMB RANGE"; @@ -30341,24 +29947,18 @@ /turf/closed/wall/r_wall, /area/science/mixing) "bnn" = ( -/obj/structure/table/reinforced, -/obj/effect/turf_decal/tile/brown, -/obj/effect/turf_decal/tile/brown{ - dir = 1 - }, -/obj/effect/turf_decal/tile/brown{ - dir = 4 - }, -/obj/effect/turf_decal/tile/brown{ +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ dir = 8 }, -/obj/machinery/door/window/southleft{ - name = "Cargo Desk"; - req_access_txt = "31" +/obj/structure/cable{ + icon_state = "1-4" }, -/obj/item/folder, -/turf/open/floor/plasteel, -/area/quartermaster/sorting) +/obj/item/radio/intercom{ + name = "Station Intercom (Common)"; + pixel_y = -29 + }, +/turf/open/floor/engine, +/area/engine/teg) "bno" = ( /obj/structure/chair/comfy/brown{ dir = 8 @@ -30406,14 +30006,21 @@ /turf/closed/wall/r_wall, /area/maintenance/department/eva) "bnt" = ( -/obj/machinery/camera{ - c_tag = "Electrical Substation"; +/obj/effect/turf_decal/stripes/line{ dir = 1 }, -/turf/open/floor/plating, -/area/engine/storage_shared{ - name = "Electrical Substation" - }) +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/power/apc{ + areastring = "/area/engine/teg/coldloop"; + dir = 4; + name = "Cold Loop APC"; + pixel_x = 24 + }, +/turf/open/floor/plasteel, +/area/engine/teg/coldloop) "bnu" = ( /obj/structure/cable{ icon_state = "1-2" @@ -30444,25 +30051,13 @@ /turf/open/floor/plasteel, /area/hallway/primary/central) "bny" = ( -/obj/structure/table/reinforced, -/obj/structure/window/reinforced, -/obj/effect/turf_decal/tile/brown, -/obj/effect/turf_decal/tile/brown{ - dir = 1 +/obj/machinery/portable_atmospherics/pump, +/obj/machinery/light/small{ + dir = 1; + light_color = "#ffc1c1" }, -/obj/effect/turf_decal/tile/brown{ - dir = 4 - }, -/obj/effect/turf_decal/tile/brown{ - dir = 8 - }, -/obj/item/paper_bin, -/obj/item/stack/packageWrap, -/obj/item/stack/packageWrap, -/obj/item/pen, -/obj/item/wirecutters, -/turf/open/floor/plasteel, -/area/quartermaster/sorting) +/turf/open/floor/plating, +/area/engine/engineering) "bnz" = ( /obj/effect/turf_decal/plaque{ icon_state = "L5" @@ -30585,9 +30180,16 @@ /turf/open/floor/plasteel, /area/hallway/primary/aft) "bnO" = ( -/obj/machinery/status_display, -/turf/closed/wall/r_wall, -/area/hallway/secondary/exit) +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible, +/obj/machinery/door/airlock/engineering/glass{ + name = "Thermo-Electric Generator"; + req_one_access_txt = "10;24" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/obj/effect/turf_decal/delivery, +/obj/machinery/door/firedoor/heavy, +/turf/open/floor/plasteel, +/area/engine/teg) "bnP" = ( /obj/effect/turf_decal/plaque{ icon_state = "L11" @@ -30595,11 +30197,18 @@ /turf/open/floor/plasteel, /area/hallway/primary/central) "bnQ" = ( -/obj/machinery/atmospherics/components/binary/valve/digital/on, -/turf/closed/wall/r_wall, -/area/maintenance/aft/secondary{ - name = "Aft Air Hookup" - }) +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 6 + }, +/turf/open/floor/plating, +/area/engine/engineering) "bnR" = ( /obj/effect/turf_decal/plaque{ icon_state = "L13" @@ -30607,15 +30216,39 @@ /turf/open/floor/plasteel, /area/hallway/primary/central) "bnS" = ( -/obj/structure/cable{ - icon_state = "1-2" +/obj/structure/table, +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/green{ + dir = 1 }, -/turf/open/floor/plating, -/area/crew_quarters/fitness/cogpool) +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/obj/item/radio/off{ + pixel_x = -3; + pixel_y = 1 + }, +/turf/open/floor/plasteel, +/area/science/server/compcore) "bnT" = ( -/obj/structure/disposalpipe/segment, -/turf/closed/wall/r_wall, -/area/crew_quarters/fitness/cogpool) +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green, +/obj/machinery/atmospherics/pipe/simple/supplymain/hidden{ + dir = 9 + }, +/turf/open/floor/plasteel, +/area/science/server/compcore) "bnU" = ( /obj/structure/rack, /obj/item/clothing/suit/space/fragile, @@ -30659,23 +30292,24 @@ /turf/open/floor/plasteel, /area/security/checkpoint/supply) "bnY" = ( -/obj/structure/flora/ausbushes/sunnybush, -/turf/open/floor/grass, -/area/hallway/secondary/exit) +/obj/structure/sign/warning/fire, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/closed/wall/r_wall, +/area/engine/teg) "bnZ" = ( /obj/structure/table/reinforced, -/obj/machinery/door/firedoor, -/obj/item/pen/blue, -/obj/machinery/camera{ - c_tag = "Customs - Fore"; - dir = 4 - }, +/obj/item/flashlight/lamp, /obj/structure/window/reinforced/spawner/north, /obj/machinery/door/poddoor/shutters/preopen{ id = "HoPFore"; name = "HoP Fore Desk Shutters" }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/obj/machinery/door/firedoor/border_only{ + dir = 1; + name = "north facing firelock" + }, /turf/open/floor/plasteel/dark, /area/security/checkpoint/customs) "boa" = ( @@ -30698,24 +30332,22 @@ /area/crew_quarters/heads/chief) "bod" = ( /obj/structure/table/reinforced, -/obj/effect/turf_decal/tile/yellow, -/obj/effect/turf_decal/tile/yellow{ +/obj/item/stack/packageWrap, +/obj/item/hand_labeler, +/obj/machinery/camera{ + c_tag = "Customs - Aft"; dir = 4 }, -/obj/effect/turf_decal/tile/yellow{ - dir = 1 +/obj/structure/window/reinforced/spawner, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "HoPAft"; + name = "HoP Aft Desk Shutters" }, -/obj/effect/turf_decal/tile/yellow{ - dir = 8 +/obj/machinery/door/firedoor/border_only{ + name = "south facing firelock" }, -/obj/machinery/door/firedoor, -/obj/machinery/door/window/southleft{ - name = "Primary Tool Storage Desk"; - req_access_txt = "11" - }, -/obj/item/folder/yellow, -/turf/open/floor/plasteel, -/area/storage/primary) +/turf/open/floor/plasteel/dark, +/area/security/checkpoint/customs) "boe" = ( /obj/machinery/door/airlock/vault{ name = "Vault Door"; @@ -30728,24 +30360,25 @@ /turf/open/floor/plasteel, /area/ai_monitored/nuke_storage) "bof" = ( -/obj/structure/cable{ - icon_state = "1-2" +/obj/effect/turf_decal/bot, +/obj/structure/disposalpipe/segment, +/obj/machinery/porta_turret/ai{ + dir = 1; + req_access = list(16) }, -/obj/machinery/door/airlock/external/glass{ - name = "Pool Exterior Access"; - req_access_txt = "13" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 1 - }, -/turf/open/space/basic, -/area/crew_quarters/fitness/cogpool) +/turf/open/floor/plasteel, +/area/science/server/compcore) "bog" = ( -/obj/machinery/light{ - dir = 1 +/obj/machinery/atmospherics/pipe/simple/supply/visible, +/obj/machinery/door/airlock/engineering/glass{ + name = "Thermo-Electric Generator"; + req_one_access_txt = "10;24" }, -/turf/open/floor/grass, -/area/hallway/secondary/exit) +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/obj/effect/turf_decal/delivery, +/obj/machinery/door/firedoor/heavy, +/turf/open/floor/plasteel, +/area/engine/teg) "boh" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable{ @@ -30759,11 +30392,11 @@ /turf/open/floor/plating, /area/maintenance/disposal) "boi" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ dir = 5 }, -/turf/closed/wall/r_wall, -/area/crew_quarters/fitness/cogpool) +/turf/open/floor/plasteel, +/area/science/server/compcore) "boj" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -30803,16 +30436,17 @@ /turf/open/floor/plasteel/dark, /area/teleporter) "bom" = ( -/obj/structure/flora/ausbushes/leafybush, -/turf/open/floor/grass, -/area/hallway/secondary/exit) -"bon" = ( -/obj/machinery/vending/coffee, -/obj/effect/turf_decal/tile/green{ +/obj/machinery/atmospherics/pipe/simple/supplymain/hidden{ dir = 4 }, -/turf/open/floor/plasteel, -/area/hallway/secondary/exit) +/turf/closed/wall/r_wall, +/area/engine/atmos/aftair) +"bon" = ( +/obj/machinery/atmospherics/pipe/manifold/supplymain/hidden{ + dir = 1 + }, +/turf/closed/wall/r_wall, +/area/engine/atmos/aftair) "boo" = ( /obj/effect/turf_decal/tile/blue{ dir = 1 @@ -30829,32 +30463,24 @@ }, /area/hallway/primary/central) "bop" = ( -/obj/effect/turf_decal/tile/red, -/obj/effect/turf_decal/tile/red{ - dir = 4 - }, -/obj/machinery/door/window/eastleft{ - name = "Operating Theatre"; - req_access_txt = "45" - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/white, -/area/medical/medbay/zone2{ - name = "Medbay Treatment Center" - }) -"boq" = ( -/obj/effect/turf_decal/stripes/line{ +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ dir = 8 }, -/obj/structure/cable{ - icon_state = "2-8" +/turf/open/floor/plasteel, +/area/science/server/compcore) +"boq" = ( +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 8 }, /turf/open/floor/plasteel, -/area/medical/medbay/zone2{ - name = "Medbay Treatment Center" - }) +/area/science/server/compcore) "bor" = ( /obj/structure/closet/crate, /obj/effect/spawner/lootdrop/maintenance, @@ -30869,11 +30495,31 @@ /turf/open/floor/plasteel, /area/quartermaster/storage) "bot" = ( -/obj/structure/disposalpipe/segment, +/obj/structure/table, +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/machinery/firealarm{ + dir = 8; + pixel_x = 26 + }, +/obj/item/storage/box/disks_nanite, +/obj/item/book/manual/wiki/research_and_development{ + pixel_x = 4; + pixel_y = -8 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 8 + }, /turf/open/floor/plasteel, -/area/medical/medbay/zone2{ - name = "Medbay Treatment Center" - }) +/area/science/server/compcore) "bou" = ( /obj/effect/turf_decal/plaque{ icon_state = "L2" @@ -30881,60 +30527,41 @@ /turf/open/floor/plasteel, /area/hallway/primary/central) "bov" = ( -/obj/effect/turf_decal/loading_area{ - dir = 8 - }, -/obj/machinery/firealarm{ - dir = 1; - pixel_y = -26 - }, -/obj/machinery/light/small, -/turf/open/floor/plasteel, -/area/quartermaster/storage) -"bow" = ( -/obj/effect/turf_decal/stripes/end{ - dir = 8 - }, -/obj/machinery/conveyor{ - dir = 8; - id = "QMUnload" - }, -/turf/open/floor/plating, -/area/quartermaster/storage) -"box" = ( -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel, -/area/hallway/secondary/exit) -"boy" = ( -/obj/effect/turf_decal/tile/green{ - dir = 4 +/obj/structure/disposalpipe/segment{ + dir = 5 }, /obj/machinery/atmospherics/pipe/simple/cyan/hidden, -/turf/open/floor/plasteel/white/corner, -/area/hallway/secondary/exit) +/turf/open/floor/plating, +/area/engine/engineering) +"bow" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/engine/engineering) +"box" = ( +/obj/machinery/atmospherics/pipe/simple/supplymain/hidden{ + dir = 10 + }, +/turf/closed/wall/r_wall, +/area/engine/atmos/aftair) +"boy" = ( +/turf/closed/wall/r_wall, +/area/engine/atmos/aftair) "boz" = ( -/obj/machinery/vending/cigarette, -/obj/effect/turf_decal/tile/green{ - dir = 8 - }, -/turf/open/floor/plasteel/white/corner{ - dir = 1 - }, -/area/hallway/secondary/exit) +/obj/machinery/atmospherics/components/unary/portables_connector/visible, +/turf/open/floor/plating, +/area/engine/atmos/aftair) "boA" = ( /turf/closed/wall, /area/security/detectives_office) "boB" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/conveyor{ - dir = 8; - id = "QMUnload" +/obj/machinery/door/firedoor, +/obj/structure/disposalpipe/segment{ + dir = 4 }, /turf/open/floor/plating, -/area/quartermaster/storage) +/area/engine/engineering) "boC" = ( /obj/machinery/light/small{ dir = 4 @@ -30950,46 +30577,40 @@ /turf/open/floor/plating, /area/quartermaster/warehouse) "boD" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/conveyor{ - dir = 8; - id = "QMUnload" - }, -/obj/machinery/door/poddoor{ - id = "QMUnloadDoor"; - name = "Cargo Unloading Door" - }, -/turf/open/floor/plating, -/area/quartermaster/storage) -"boE" = ( -/obj/structure/plasticflaps, -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/conveyor{ - dir = 8; - id = "QMUnload" - }, -/turf/open/floor/plating, -/area/quartermaster/storage) -"boF" = ( -/obj/effect/turf_decal/stripes/end{ +/obj/effect/turf_decal/delivery, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible, +/obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/machinery/conveyor{ - dir = 8; - id = "QMUnload" +/turf/open/floor/plasteel, +/area/engine/engineering) +"boE" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/machinery/door/poddoor{ - id = "QMUnloadDoor"; - name = "Cargo Unloading Door" +/obj/machinery/light/small{ + dir = 1; + light_color = "#ffc1c1" }, -/turf/open/floor/plating, -/area/quartermaster/storage) +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/engine/engineering) +"boF" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/atmospherics/pipe/simple/supply/visible, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/engine/engineering) "boG" = ( /obj/machinery/space_heater, /obj/effect/turf_decal/tile/blue{ @@ -31032,8 +30653,11 @@ /turf/open/floor/plating, /area/quartermaster/miningoffice) "boL" = ( -/obj/machinery/atmospherics/pipe/simple/cyan/hidden, -/turf/open/floor/plasteel, +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden{ + dir = 4 + }, +/turf/open/floor/plating, /area/science/mixing) "boM" = ( /obj/machinery/mineral/ore_redemption{ @@ -31169,28 +30793,24 @@ }, /area/crew_quarters/lounge/jazz) "bpa" = ( -/obj/effect/turf_decal/tile/red{ +/obj/machinery/door/firedoor, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ dir = 8 }, -/obj/effect/turf_decal/tile/red{ - dir = 1 - }, -/obj/machinery/door/window/westleft{ - name = "Treatment Center"; - req_access_txt = "5" - }, -/turf/open/floor/plasteel/white, -/area/medical/medbay/zone2{ - name = "Medbay Treatment Center" - }) +/turf/open/floor/plating, +/area/engine/engineering) "bpb" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 1 +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/turf/open/floor/plasteel/white, -/area/medical/medbay/zone2{ - name = "Medbay Treatment Center" - }) +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 8 + }, +/turf/open/floor/plating, +/area/engine/engineering) "bpc" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/firealarm{ @@ -31213,48 +30833,66 @@ /turf/open/floor/plasteel, /area/quartermaster/miningoffice) "bpe" = ( -/obj/effect/turf_decal/tile/red, -/obj/effect/turf_decal/tile/red{ +/obj/structure/disposalpipe/junction{ dir = 4 }, -/obj/machinery/door/window/eastright{ - name = "Operating Theatre"; - req_access_txt = "45" +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 8 }, -/turf/open/floor/plasteel/white, -/area/medical/medbay/zone2{ - name = "Medbay Treatment Center" - }) +/turf/open/floor/plating, +/area/engine/engineering) "bpf" = ( /turf/open/floor/plasteel, /area/quartermaster/miningoffice) "bpg" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 +/obj/structure/disposalpipe/segment{ + dir = 9 }, /obj/structure/cable{ icon_state = "1-2" }, -/turf/open/floor/plasteel, -/area/medical/medbay/zone2{ - name = "Medbay Treatment Center" - }) +/obj/machinery/camera{ + c_tag = "Engine Room - Starboard Quarter"; + dir = 8; + pixel_y = -22 + }, +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 9 + }, +/turf/open/floor/plating, +/area/engine/engineering) "bph" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ +/obj/structure/table, +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/green{ dir = 1 }, +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/item/multitool{ + pixel_y = 4 + }, +/obj/item/book/manual/wiki/robotics_cyborgs, /turf/open/floor/plasteel, -/area/medical/medbay/zone2{ - name = "Medbay Treatment Center" - }) +/area/science/server/compcore) "bpi" = ( -/obj/structure/flora/junglebush/b, -/turf/open/floor/grass, -/area/hallway/secondary/exit) +/obj/machinery/firealarm{ + pixel_y = 26 + }, +/obj/machinery/atmospherics/components/binary/valve/digital/on, +/turf/open/floor/plating, +/area/engine/atmos/aftair) "bpj" = ( -/obj/structure/flora/junglebush, -/turf/open/floor/grass, -/area/hallway/secondary/exit) +/obj/machinery/atmospherics/components/unary/portables_connector/visible, +/obj/machinery/camera{ + c_tag = "Aft Maintenance - Air Hookup" + }, +/turf/open/floor/plating, +/area/engine/atmos/aftair) "bpk" = ( /obj/effect/turf_decal/tile/brown{ dir = 4 @@ -31464,33 +31102,40 @@ }, /area/crew_quarters/lounge/jazz) "bpK" = ( -/obj/structure/disposalpipe/segment, -/turf/closed/wall/r_wall, -/area/engine/engineering{ - name = "Engine Room" - }) -"bpL" = ( -/obj/structure/cable{ - icon_state = "1-2" +/obj/structure/chair/stool, +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/green{ + dir = 1 }, -/turf/closed/wall/r_wall, -/area/engine/engine_smes{ - name = "Power Monitoring" - }) +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/science/server/compcore) +"bpL" = ( +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/science/server/compcore) "bpM" = ( /obj/effect/turf_decal/stripes/corner, /turf/open/floor/plasteel, /area/science/mixing) "bpN" = ( -/obj/structure/grille, -/obj/machinery/power/terminal, -/obj/structure/cable/yellow{ - icon_state = "0-4" +/obj/effect/turf_decal/tile/green{ + dir = 8 }, -/turf/open/floor/plating, -/area/engine/engine_smes{ - name = "Power Monitoring" - }) +/obj/effect/turf_decal/tile/green, +/turf/open/floor/plasteel, +/area/science/server/compcore) "bpO" = ( /obj/structure/disposalpipe/segment{ dir = 10 @@ -31523,31 +31168,22 @@ /turf/open/floor/carpet/red, /area/security/brig) "bpT" = ( -/obj/structure/window/reinforced/spawner, -/turf/open/floor/grass, -/area/hallway/secondary/exit) -"bpU" = ( -/obj/structure/chair{ - dir = 4 - }, -/obj/effect/turf_decal/tile/green{ - dir = 4 - }, -/turf/open/floor/plasteel/white/corner, -/area/hallway/secondary/exit) -"bpV" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/atmos{ - name = "Aft Air Hookup"; - req_access_txt = "12;24" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, +/obj/machinery/atmospherics/components/binary/valve/digital/on, /turf/open/floor/plating, -/area/maintenance/aft/secondary{ - name = "Aft Air Hookup" - }) +/area/engine/atmos/aftair) +"bpU" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible, +/obj/machinery/portable_atmospherics/canister/air, +/turf/open/floor/plating, +/area/engine/atmos/aftair) +"bpV" = ( +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/obj/effect/turf_decal/tile/green, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel, +/area/science/server/compcore) "bpW" = ( /obj/structure/cable{ icon_state = "1-2" @@ -31693,16 +31329,11 @@ /turf/open/floor/plasteel, /area/hallway/primary/aft) "bqp" = ( -/obj/structure/chair{ - dir = 8 +/obj/machinery/atmospherics/components/binary/valve/digital/on{ + dir = 4 }, -/obj/effect/turf_decal/tile/green{ - dir = 8 - }, -/turf/open/floor/plasteel/white/corner{ - dir = 1 - }, -/area/hallway/secondary/exit) +/turf/closed/wall/r_wall, +/area/engine/atmos/aftair) "bqq" = ( /obj/machinery/chem_master, /obj/effect/turf_decal/stripes/line, @@ -31730,22 +31361,15 @@ /turf/open/floor/plating, /area/maintenance/aft) "bqt" = ( -/obj/structure/table, -/obj/effect/turf_decal/tile/red{ - dir = 1 - }, -/obj/effect/turf_decal/tile/red{ +/obj/effect/turf_decal/tile/green{ dir = 8 }, -/obj/item/clothing/gloves/color/latex, -/obj/item/clothing/suit/apron/surgical, -/obj/item/clothing/mask/surgical, -/obj/item/healthanalyzer, -/obj/item/clothing/neck/stethoscope, -/turf/open/floor/plasteel/white, -/area/medical/medbay/zone2{ - name = "Medbay Treatment Center" - }) +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/science/server/compcore) "bqu" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable{ @@ -31908,33 +31532,17 @@ /turf/open/floor/plasteel, /area/hallway/primary/central) "bqL" = ( -/obj/structure/chair{ +/obj/machinery/atmospherics/pipe/manifold/general/visible{ dir = 4 }, -/obj/machinery/light_switch{ - pixel_x = -24 - }, -/obj/effect/turf_decal/tile/green{ - dir = 8 - }, -/obj/effect/turf_decal/tile/green{ - dir = 4 - }, -/turf/open/floor/plasteel/white/corner{ - dir = 1 - }, -/area/hallway/secondary/exit) +/turf/open/floor/plating, +/area/engine/atmos/aftair) "bqM" = ( -/obj/structure/table, -/obj/effect/turf_decal/tile/green{ - dir = 4 +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 5 }, -/obj/item/storage/dice, -/obj/item/toy/cards/deck, -/turf/open/floor/plasteel/white/corner{ - dir = 1 - }, -/area/hallway/secondary/exit) +/turf/open/floor/plating, +/area/engine/atmos/aftair) "bqN" = ( /obj/structure/table/glass, /obj/effect/turf_decal/tile/yellow{ @@ -31944,21 +31552,28 @@ /turf/open/floor/plasteel, /area/hallway/primary/aft) "bqO" = ( -/obj/machinery/atmospherics/pipe/simple/general/visible{ - dir = 4 - }, -/turf/open/floor/plasteel/white, -/area/medical/medbay/zone2{ - name = "Medbay Treatment Center" - }) -"bqP" = ( -/obj/machinery/atmospherics/pipe/manifold/general/visible{ +/obj/structure/table, +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/green{ dir = 1 }, -/turf/open/floor/plasteel/white, -/area/medical/medbay/zone2{ - name = "Medbay Treatment Center" - }) +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/item/storage/box/disks, +/turf/open/floor/plasteel, +/area/science/server/compcore) +"bqP" = ( +/obj/machinery/camera{ + c_tag = "Engine Room - Port Quarter"; + dir = 1 + }, +/obj/structure/cable, +/turf/open/floor/plating, +/area/engine/engineering) "bqQ" = ( /obj/effect/turf_decal/tile/yellow{ dir = 4 @@ -31969,27 +31584,12 @@ /turf/open/floor/plasteel/dark/corner, /area/hallway/secondary/entry) "bqR" = ( -/obj/machinery/computer/operating{ - dir = 1 - }, -/obj/effect/turf_decal/bot, -/turf/open/floor/plasteel, -/area/medical/medbay/zone2{ - name = "Medbay Treatment Center" - }) +/obj/machinery/atmospherics/pipe/simple/cyan/hidden, +/turf/open/floor/plating, +/area/engine/engineering) "bqS" = ( -/obj/structure/sink{ - dir = 4; - pixel_x = 11 - }, -/obj/effect/turf_decal/tile/red, -/obj/effect/turf_decal/tile/red{ - dir = 4 - }, -/turf/open/floor/plasteel/white, -/area/medical/medbay/zone2{ - name = "Medbay Treatment Center" - }) +/turf/open/floor/plating, +/area/engine/engineering) "bqT" = ( /obj/machinery/computer/crew, /obj/effect/turf_decal/tile/blue{ @@ -32000,16 +31600,12 @@ /turf/open/floor/plasteel/white, /area/medical/medbay/lobby) "bqU" = ( -/obj/structure/chair{ - dir = 8 - }, -/obj/effect/turf_decal/tile/green{ +/obj/machinery/atmospherics/pipe/manifold/general/visible{ dir = 4 }, -/turf/open/floor/plasteel/white/corner{ - dir = 1 - }, -/area/hallway/secondary/exit) +/obj/effect/landmark/event_spawn, +/turf/open/floor/plating, +/area/engine/atmos/aftair) "bqV" = ( /obj/effect/turf_decal/tile/yellow{ dir = 8 @@ -32075,11 +31671,11 @@ /turf/open/floor/plasteel, /area/maintenance/disposal) "brb" = ( -/obj/structure/window/reinforced/spawner, -/turf/open/floor/plasteel/dark, -/area/science/server{ - name = "Computer Core" - }) +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ + dir = 6 + }, +/turf/open/floor/plating, +/area/engine/engineering) "brc" = ( /obj/structure/cable{ icon_state = "1-2" @@ -32245,31 +31841,27 @@ /turf/open/floor/plating, /area/chapel/office) "bru" = ( -/obj/machinery/atmospherics/pipe/simple/general/visible{ - dir = 4 +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/components/binary/valve/digital{ + dir = 4; + name = "hot loop to space" }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/white, -/area/medical/medbay/zone2{ - name = "Medbay Treatment Center" - }) +/turf/open/floor/plating, +/area/engine/engineering) "brv" = ( -/obj/machinery/disposal/bin, -/obj/machinery/light{ - dir = 1 +/obj/machinery/portable_atmospherics/canister/air, +/obj/machinery/atmospherics/pipe/simple/general/visible, +/obj/structure/cable{ + icon_state = "0-4" }, -/obj/effect/turf_decal/tile/green{ - dir = 4 +/obj/machinery/power/apc{ + areastring = "/area/engine/atmos/airaft"; + dir = 8; + name = "Aft Air Hookup APC"; + pixel_x = -24 }, -/obj/structure/disposalpipe/trunk{ - dir = 4 - }, -/turf/open/floor/plasteel/white/corner{ - dir = 1 - }, -/area/hallway/secondary/exit) +/turf/open/floor/plating, +/area/engine/atmos/aftair) "brw" = ( /obj/structure/cable{ icon_state = "4-8" @@ -32296,26 +31888,12 @@ /turf/open/floor/plasteel, /area/hallway/secondary/civilian) "brz" = ( -/obj/effect/turf_decal/tile/purple{ - dir = 8 +/obj/effect/turf_decal/delivery, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ + dir = 9 }, -/obj/effect/turf_decal/tile/purple, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 8 - }, -/obj/machinery/power/apc{ - areastring = "/area/science/research"; - name = "Research Sector APC"; - pixel_y = -24 - }, -/obj/structure/cable, /turf/open/floor/plasteel, -/area/science/research{ - name = "Research Sector" - }) +/area/engine/engineering) "brA" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -32453,26 +32031,21 @@ /turf/open/floor/plasteel, /area/hallway/primary/central) "brN" = ( -/obj/effect/turf_decal/tile/green{ - dir = 4 +/obj/structure/cable{ + icon_state = "2-8" }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/white/corner{ - dir = 1 - }, -/area/hallway/secondary/exit) +/turf/open/floor/plating, +/area/engine/atmos/aftair) "brO" = ( -/obj/machinery/atmospherics/pipe/manifold/general/visible, -/obj/effect/landmark/start/medical_doctor, -/obj/structure/disposalpipe/segment{ - dir = 4 +/obj/machinery/firealarm{ + dir = 1; + pixel_y = -26 }, -/turf/open/floor/plasteel/white, -/area/medical/medbay/zone2{ - name = "Medbay Treatment Center" - }) +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/engine/engineering) "brP" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -32835,9 +32408,12 @@ /turf/open/floor/plasteel/stairs/left, /area/hydroponics) "bsx" = ( -/obj/structure/lattice, -/turf/closed/wall/r_wall, -/area/crew_quarters/fitness/cogpool) +/obj/effect/turf_decal/delivery, +/obj/machinery/atmospherics/pipe/simple/supply/visible{ + dir = 5 + }, +/turf/open/floor/plasteel, +/area/engine/engineering) "bsy" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/disposalpipe/segment, @@ -33037,11 +32613,25 @@ }, /area/chapel/office) "bsX" = ( -/obj/effect/landmark/event_spawn, -/turf/open/floor/engine, -/area/engine/secure_construction{ - name = "Engineering Construction Area" - }) +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/obj/structure/rack, +/obj/item/clothing/mask/gas, +/obj/item/clothing/mask/gas, +/obj/item/clothing/mask/gas, +/obj/item/clothing/gloves/color/black, +/obj/item/clothing/gloves/color/black, +/obj/item/clothing/gloves/color/black, +/obj/item/clothing/suit/hazardvest, +/obj/item/clothing/suit/hazardvest, +/obj/item/clothing/suit/hazardvest, +/turf/open/floor/plasteel, +/area/engine/secure_construction) "bsY" = ( /obj/machinery/portable_atmospherics/scrubber, /turf/open/floor/plating, @@ -33124,13 +32714,13 @@ /turf/open/floor/plasteel/white, /area/medical/medbay/lobby) "btk" = ( -/obj/structure/sign/poster/official/nanomichi_ad{ - pixel_x = 32 +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/components/binary/valve/digital{ + dir = 4; + name = "cold loop to space" }, -/turf/open/floor/carpet/blue, -/area/crew_quarters/abandoned_gambling_den{ - name = "Arcade" - }) +/turf/open/floor/plating, +/area/engine/engineering) "btl" = ( /obj/effect/turf_decal/tile/yellow, /obj/effect/turf_decal/tile/yellow{ @@ -33326,28 +32916,15 @@ /turf/closed/wall/r_wall, /area/hallway/secondary/civilian) "btK" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/maintenance{ - name = "Aft Maintenance"; - req_access_txt = "12" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden{ - dir = 4 - }, +/obj/machinery/light/small, +/obj/machinery/space_heater, +/obj/machinery/atmospherics/pipe/simple/general/visible, /turf/open/floor/plating, -/area/hallway/secondary/exit) +/area/engine/atmos/aftair) "btL" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/exit) +/obj/machinery/space_heater, +/turf/open/floor/plating, +/area/engine/atmos/aftair) "btM" = ( /obj/structure/table/wood, /obj/item/paper_bin, @@ -33375,15 +32952,10 @@ /turf/open/floor/plasteel, /area/quartermaster/miningoffice) "btO" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden, -/turf/open/floor/plasteel, -/area/hallway/secondary/exit) +/obj/machinery/portable_atmospherics/canister/air, +/obj/machinery/atmospherics/pipe/simple/general/visible, +/turf/open/floor/plating, +/area/engine/atmos/aftair) "btP" = ( /obj/effect/landmark/event_spawn, /turf/open/floor/plating, @@ -33506,8 +33078,8 @@ /turf/closed/wall, /area/maintenance/disposal) "bui" = ( -/turf/open/floor/plasteel, -/area/hallway/secondary/exit) +/turf/closed/wall/r_wall, +/area/hallway/secondary/exit/departure_lounge) "buj" = ( /obj/structure/closet/crate, /turf/open/floor/plating, @@ -33544,11 +33116,9 @@ /turf/closed/wall/r_wall, /area/ai_monitored/turret_protected/ai) "buo" = ( -/obj/structure/chair{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/exit) +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/hallway/secondary/exit/departure_lounge) "bup" = ( /obj/structure/cable{ icon_state = "0-4" @@ -33867,19 +33437,9 @@ /turf/closed/wall, /area/janitor) "bvb" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/door/airlock/engineering{ - name = "Electrical Substation"; - req_access_txt = "10" - }, -/obj/structure/fans/tiny, -/turf/open/floor/plating, -/area/engine/storage_shared{ - name = "Electrical Substation" - }) +/obj/structure/sign/departments/evac, +/turf/closed/wall/r_wall, +/area/hallway/secondary/exit/departure_lounge) "bvc" = ( /obj/machinery/computer/cargo/request, /obj/machinery/airalarm{ @@ -34044,16 +33604,24 @@ /obj/machinery/atmospherics/pipe/simple/cyan/hidden{ dir = 4 }, +/obj/item/kirbyplants{ + icon_state = "plant-20"; + pixel_y = 3 + }, /turf/open/floor/plasteel, /area/crew_quarters/locker) "bvu" = ( /turf/closed/wall/r_wall, /area/chapel/office) "bvv" = ( -/turf/closed/wall/r_wall/rust, -/area/hydroponics/garden{ - name = "Nature Preserve" - }) +/obj/machinery/atmospherics/pipe/simple/supply/visible{ + dir = 10 + }, +/obj/machinery/light_switch{ + pixel_y = -24 + }, +/turf/open/floor/plating, +/area/engine/engineering) "bvw" = ( /obj/machinery/atmospherics/pipe/simple/general/visible, /turf/closed/wall/r_wall, @@ -34233,7 +33801,7 @@ /turf/open/floor/plasteel/dark, /area/chapel/office) "bvU" = ( -/obj/item/caution, +/obj/item/clothing/suit/caution, /obj/effect/decal/cleanable/dirt, /obj/structure/sign/warning/biohazard{ pixel_x = -32 @@ -34277,18 +33845,9 @@ /turf/open/floor/plasteel, /area/quartermaster/warehouse) "bvY" = ( -/obj/effect/turf_decal/delivery, -/obj/machinery/atmospherics/pipe/simple/supply/visible, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/engine/engineering{ - name = "Engine Room" - }) +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating, +/area/engine/engineering) "bvZ" = ( /obj/item/folder, /obj/structure/table/wood/fancy, @@ -34623,17 +34182,15 @@ /turf/open/floor/plating, /area/maintenance/disposal) "bwJ" = ( -/obj/machinery/door/firedoor, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 8 +/obj/structure/cable, +/obj/machinery/power/apc{ + areastring = "/area/engine/engineering"; + dir = 4; + name = "Engine Room APC"; + pixel_x = 24 }, /turf/open/floor/plating, -/area/engine/engineering{ - name = "Engine Room" - }) +/area/engine/engineering) "bwK" = ( /obj/machinery/camera{ c_tag = "Research - Gateway Chamber"; @@ -35340,21 +34897,15 @@ /turf/open/floor/carpet/green, /area/crew_quarters/heads/hop) "bye" = ( -/obj/effect/turf_decal/tile/green, -/obj/effect/turf_decal/tile/green{ +/obj/machinery/computer/rdservercontrol{ dir = 1 }, -/obj/effect/turf_decal/tile/green{ +/obj/machinery/light{ dir = 8 }, -/obj/effect/turf_decal/tile/green{ - dir = 4 - }, -/obj/machinery/photocopier, -/turf/open/floor/plasteel, -/area/science/server{ - name = "Computer Core" - }) +/obj/structure/window/reinforced/spawner, +/turf/open/floor/plasteel/dark, +/area/science/server/compcore) "byf" = ( /obj/machinery/door/airlock/engineering/glass{ name = "Telecommunications Mainframe"; @@ -35838,14 +35389,14 @@ /turf/open/floor/plating, /area/maintenance/disposal) "bzq" = ( -/obj/machinery/light{ - dir = 8 - }, -/obj/structure/sign/warning/pods{ - pixel_x = -32 +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Departures" }, +/obj/effect/turf_decal/delivery, +/obj/machinery/atmospherics/pipe/simple/orange/hidden, /turf/open/floor/plasteel, -/area/hallway/secondary/exit) +/area/hallway/secondary/exit/departure_lounge) "bzr" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ dir = 10 @@ -36046,10 +35597,9 @@ /turf/open/floor/plating, /area/router) "bzN" = ( -/turf/open/floor/plasteel, -/area/science/server{ - name = "Computer Core" - }) +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/science/server/compcore) "bzO" = ( /obj/machinery/conveyor_switch/oneway{ id = "recycler"; @@ -36073,11 +35623,12 @@ /turf/open/floor/plasteel, /area/maintenance/department/chapel) "bzR" = ( -/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, -/area/science/server{ - name = "Computer Core" - }) +/area/science/server/compcore) "bzS" = ( /obj/structure/table, /obj/machinery/light/small{ @@ -36123,7 +35674,9 @@ name = "Toxins Launch Room"; req_access_txt = "7;8" }, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden{ + dir = 5 + }, /turf/open/floor/plasteel, /area/science/mixing) "bzY" = ( @@ -36257,7 +35810,6 @@ /obj/effect/turf_decal/tile/blue{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden, /turf/open/floor/plasteel, /area/science/mixing) "bAm" = ( @@ -36390,18 +35942,13 @@ /area/maintenance/disposal) "bAy" = ( /obj/effect/turf_decal/stripes/line{ - dir = 10 - }, -/obj/structure/disposalpipe/junction/flip{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "1-2" + dir = 1 }, +/obj/effect/turf_decal/stripes/line, +/obj/structure/disposalpipe/segment, +/obj/machinery/holopad, /turf/open/floor/plasteel, -/area/medical/medbay/zone2{ - name = "Medbay Treatment Center" - }) +/area/science/server/compcore) "bAz" = ( /obj/structure/disposalpipe/junction/flip{ dir = 1 @@ -36503,19 +36050,17 @@ /obj/effect/turf_decal/tile/red{ dir = 1 }, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden, /turf/open/floor/plasteel, /area/science/mixing) "bAH" = ( -/obj/effect/turf_decal/stripes/line, -/obj/structure/disposalpipe/segment, -/obj/structure/disposalpipe/segment{ - dir = 4 +/obj/machinery/computer/nanite_cloud_controller, +/obj/machinery/light{ + dir = 4; + light_color = "#e8eaff" }, -/turf/open/floor/plasteel, -/area/medical/medbay/zone2{ - name = "Medbay Treatment Center" - }) +/obj/structure/window/reinforced/spawner, +/turf/open/floor/plasteel/dark, +/area/science/server/compcore) "bAI" = ( /obj/machinery/photocopier, /obj/machinery/requests_console{ @@ -36560,14 +36105,9 @@ /turf/open/space/basic, /area/space) "bAM" = ( -/obj/effect/turf_decal/stripes/line, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/medical/medbay/zone2{ - name = "Medbay Treatment Center" - }) +/obj/machinery/atmospherics/pipe/simple/cyan/hidden, +/turf/closed/wall/r_wall, +/area/engine/engineering) "bAN" = ( /obj/structure/rack, /obj/item/clothing/suit/space/fragile, @@ -36599,6 +36139,9 @@ /obj/effect/turf_decal/tile/blue{ dir = 4 }, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden{ + dir = 4 + }, /turf/open/floor/plasteel, /area/science/mixing) "bAQ" = ( @@ -36607,47 +36150,46 @@ /turf/open/floor/plating, /area/maintenance/disposal) "bAR" = ( -/obj/machinery/door/airlock/engineering/glass{ - name = "Thermo-Electric Generator Room"; - req_access_txt = "10" +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ + dir = 5 }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 1 - }, -/obj/machinery/door/firedoor/heavy, -/obj/effect/turf_decal/delivery, -/turf/open/floor/plasteel, -/area/engine/engineering{ - name = "Engine Room" - }) +/turf/closed/wall/r_wall, +/area/engine/engineering) "bAS" = ( /turf/closed/wall/r_wall/rust, /area/maintenance/disposal) "bAT" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 6 +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ + dir = 10 }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/medical/medbay/zone2{ - name = "Medbay Treatment Center" - }) +/obj/structure/sign/warning/securearea, +/turf/closed/wall/r_wall, +/area/engine/engineering) "bAU" = ( /obj/effect/turf_decal/stripes/line{ dir = 6 }, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden{ + dir = 4 + }, /turf/open/floor/plasteel, /area/science/mixing) "bAV" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden{ + dir = 4 + }, /turf/open/floor/plasteel/white, /area/science/mixing) "bAW" = ( -/obj/structure/sign/poster/official/get_your_legs, -/turf/closed/wall, -/area/hallway/secondary/exit) +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Departures" + }, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) "bAX" = ( /obj/structure/table/wood, /obj/machinery/atmospherics/components/unary/vent_pump/on{ @@ -36666,9 +36208,14 @@ }, /area/crew_quarters/heads/captain) "bAY" = ( -/obj/machinery/status_display, -/turf/closed/wall, -/area/hallway/secondary/exit) +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Departures" + }, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) "bAZ" = ( /obj/machinery/atmospherics/pipe/manifold/cyan/hidden{ dir = 1 @@ -36677,9 +36224,9 @@ /turf/open/floor/carpet, /area/chapel/main) "bBa" = ( -/obj/structure/sign/poster/official/help_others, -/turf/closed/wall, -/area/hallway/secondary/exit) +/obj/machinery/status_display, +/turf/closed/wall/r_wall, +/area/hallway/secondary/exit/departure_lounge) "bBb" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/cyan/hidden{ @@ -36692,16 +36239,9 @@ }, /area/maintenance/department/chapel) "bBc" = ( -/obj/machinery/light{ - dir = 8 - }, -/obj/effect/turf_decal/tile/red{ - dir = 1 - }, -/turf/open/floor/plasteel/white/corner{ - dir = 8 - }, -/area/hallway/secondary/exit) +/obj/machinery/atmospherics/components/binary/valve/digital/on, +/turf/closed/wall/r_wall, +/area/engine/atmos/aftair) "bBd" = ( /obj/structure/table, /obj/item/reagent_containers/food/snacks/popcorn, @@ -36711,15 +36251,16 @@ /turf/open/floor/wood, /area/crew_quarters/fitness) "bBe" = ( -/obj/machinery/light{ - dir = 4; - light_color = "#c1caff" +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/atmos{ + name = "Aft Air Hookup"; + req_access_txt = "12;24" }, -/obj/structure/sign/warning/pods{ - pixel_x = 32 +/obj/structure/cable{ + icon_state = "1-2" }, -/turf/open/floor/plasteel, -/area/hallway/secondary/exit) +/turf/open/floor/plating, +/area/engine/atmos/aftair) "bBf" = ( /obj/structure/cable{ icon_state = "1-4" @@ -36782,41 +36323,27 @@ /turf/open/floor/plating, /area/hallway/primary/aft) "bBm" = ( -/obj/structure/chair, -/obj/effect/turf_decal/tile/red{ - dir = 1 - }, -/turf/open/floor/plasteel/white/corner{ - dir = 4 - }, -/area/hallway/secondary/exit) +/obj/structure/sign/warning/nosmoking, +/turf/closed/wall/r_wall, +/area/engine/atmos/aftair) "bBn" = ( -/obj/effect/turf_decal/tile/red{ +/obj/machinery/door/airlock/engineering/glass{ + name = "Thermo-Electric Generator Room"; + req_access_txt = "10" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 1 }, -/obj/effect/turf_decal/tile/red{ - dir = 8 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/white, -/area/medical/medbay/zone2{ - name = "Medbay Treatment Center" - }) -"bBo" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/visible, -/obj/machinery/door/airlock/engineering/glass{ - name = "Thermo-Electric Generator"; - req_one_access_txt = "10;24" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper, -/obj/effect/turf_decal/delivery, /obj/machinery/door/firedoor/heavy, +/obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, -/area/engine/supermatter{ - name = "Thermo-Electric Generator" - }) +/area/engine/engineering) +"bBo" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/closed/wall/r_wall, +/area/engine/engineering) "bBp" = ( /obj/machinery/conveyor/inverted{ dir = 9; @@ -36867,15 +36394,9 @@ /turf/closed/wall, /area/router) "bBw" = ( -/obj/structure/chair, -/obj/effect/turf_decal/tile/red{ - dir = 1 - }, -/obj/effect/landmark/start/assistant, -/turf/open/floor/plasteel/white/corner{ - dir = 4 - }, -/area/hallway/secondary/exit) +/obj/structure/flora/ausbushes/sunnybush, +/turf/open/floor/grass, +/area/hallway/secondary/exit/departure_lounge) "bBx" = ( /obj/structure/table, /obj/item/storage/toolbox/electrical, @@ -36956,18 +36477,12 @@ /turf/open/floor/plating, /area/maintenance/disposal) "bBE" = ( -/obj/structure/grille, -/obj/machinery/power/terminal, -/obj/structure/cable/yellow{ - icon_state = "0-8" +/obj/machinery/atmospherics/pipe/simple/supply/visible{ + dir = 6 }, -/obj/structure/cable/yellow{ - icon_state = "0-4" - }, -/turf/open/floor/plating, -/area/engine/engine_smes{ - name = "Power Monitoring" - }) +/obj/structure/sign/warning/securearea, +/turf/closed/wall/r_wall, +/area/engine/engineering) "bBF" = ( /obj/structure/disposalpipe/segment{ dir = 10 @@ -37017,11 +36532,11 @@ /turf/open/floor/plating, /area/quartermaster/warehouse) "bBM" = ( -/obj/effect/turf_decal/tile/red{ +/obj/machinery/light{ dir = 1 }, -/turf/open/floor/plasteel, -/area/hallway/secondary/exit) +/turf/open/floor/grass, +/area/hallway/secondary/exit/departure_lounge) "bBN" = ( /obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/incinerator_toxmix{ dir = 1 @@ -37029,10 +36544,11 @@ /turf/open/floor/engine, /area/science/mixing) "bBO" = ( +/obj/machinery/atmospherics/pipe/simple/supply/visible{ + dir = 9 + }, /turf/closed/wall/r_wall, -/area/engine/engine_smes{ - name = "Power Monitoring" - }) +/area/engine/engineering) "bBP" = ( /obj/machinery/door/firedoor, /obj/structure/table/reinforced, @@ -37054,31 +36570,14 @@ /turf/open/floor/plasteel/showroomfloor, /area/medical/medbay/central) "bBR" = ( -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/machinery/power/apc{ - dir = 1; - name = "Computer Core APC"; - pixel_y = 24 - }, -/turf/open/floor/plasteel, -/area/science/server{ - name = "Computer Core" - }) +/obj/structure/disposalpipe/segment, +/turf/closed/wall/r_wall, +/area/engine/engineering) "bBS" = ( -/obj/effect/turf_decal/tile/green, -/obj/effect/turf_decal/tile/green{ - dir = 4 - }, -/obj/machinery/light{ - dir = 1; - light_color = "#e8eaff" - }, +/obj/effect/turf_decal/delivery, +/obj/machinery/rnd/server, /turf/open/floor/plasteel, -/area/science/server{ - name = "Computer Core" - }) +/area/science/server/compcore) "bBT" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable{ @@ -37141,29 +36640,25 @@ /turf/open/floor/plasteel, /area/router/eva) "bBZ" = ( -/turf/closed/wall, -/area/hallway/secondary/exit) +/obj/structure/flora/ausbushes/leafybush, +/turf/open/floor/grass, +/area/hallway/secondary/exit/departure_lounge) "bCa" = ( -/obj/machinery/power/smes/engineering, -/obj/structure/cable{ - icon_state = "0-2" - }, -/turf/open/floor/plating, -/area/engine/engine_smes{ - name = "Power Monitoring" - }) -"bCb" = ( -/obj/structure/window/reinforced/spawner/west, -/obj/machinery/light{ +/obj/effect/turf_decal/stripes/line{ dir = 8 }, /obj/effect/turf_decal/stripes/line{ dir = 4 }, -/turf/open/floor/plasteel/dark, -/area/engine/supermatter{ - name = "Thermo-Electric Generator" - }) +/obj/machinery/door/poddoor{ + id = "RDServer"; + name = "RD Server Lockup" + }, +/turf/open/floor/plasteel, +/area/science/server/compcore) +"bCb" = ( +/turf/open/floor/circuit/green, +/area/science/server/compcore) "bCc" = ( /obj/effect/turf_decal/delivery, /obj/structure/cable{ @@ -37373,11 +36868,12 @@ /turf/open/floor/plasteel, /area/storage/primary) "bCA" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ +/obj/machinery/vending/coffee, +/obj/effect/turf_decal/tile/green{ dir = 4 }, /turf/open/floor/plasteel, -/area/hallway/secondary/exit) +/area/hallway/secondary/exit/departure_lounge) "bCB" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/disposaloutlet, @@ -37532,18 +37028,9 @@ /turf/open/floor/plating/airless, /area/maintenance/disposal) "bCW" = ( -/obj/machinery/atmospherics/pipe/simple/supply/visible, -/obj/machinery/door/airlock/engineering/glass{ - name = "Thermo-Electric Generator"; - req_one_access_txt = "10;24" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper, -/obj/effect/turf_decal/delivery, -/obj/machinery/door/firedoor/heavy, -/turf/open/floor/plasteel, -/area/engine/supermatter{ - name = "Thermo-Electric Generator" - }) +/obj/structure/disposalpipe/segment, +/turf/open/floor/circuit/green, +/area/science/server/compcore) "bCX" = ( /obj/machinery/rnd/production/circuit_imprinter/department/science, /obj/item/reagent_containers/glass/beaker/sulphuric, @@ -37900,10 +37387,11 @@ /turf/open/floor/plating, /area/hallway/secondary/service) "bDL" = ( +/obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/simple/cyan/hidden{ - dir = 4 + dir = 10 }, -/turf/open/floor/plasteel, +/turf/open/floor/plating, /area/science/mixing) "bDM" = ( /obj/structure/table/reinforced, @@ -38184,24 +37672,11 @@ /turf/open/floor/plasteel, /area/security/checkpoint) "bEo" = ( -/obj/machinery/disposal/bin, -/obj/effect/turf_decal/tile/green, -/obj/effect/turf_decal/tile/green{ - dir = 1 +/obj/structure/cable{ + icon_state = "1-2" }, -/obj/effect/turf_decal/tile/green{ - dir = 8 - }, -/obj/effect/turf_decal/tile/green{ - dir = 4 - }, -/obj/structure/disposalpipe/trunk{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/science/server{ - name = "Computer Core" - }) +/turf/closed/wall/r_wall, +/area/engine/engine_smes) "bEp" = ( /turf/closed/wall/r_wall, /area/maintenance/solars/starboard/fore) @@ -38223,20 +37698,13 @@ }, /area/crew_quarters/heads/captain) "bEr" = ( -/obj/structure/sign/warning/vacuum/external{ - pixel_x = -32; - pixel_y = 32 +/obj/structure/grille, +/obj/machinery/power/terminal, +/obj/structure/cable/yellow{ + icon_state = "0-4" }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/manifold/supplymain/hidden{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/engine/engineering{ - name = "Engine Room" - }) +/turf/open/floor/plating, +/area/engine/engine_smes) "bEs" = ( /obj/machinery/portable_atmospherics/canister/oxygen, /obj/effect/turf_decal/tile/yellow{ @@ -38312,13 +37780,16 @@ /turf/open/floor/plating, /area/maintenance/solars/starboard/fore) "bEz" = ( -/obj/structure/chair/stool, -/obj/effect/landmark/start/assistant, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on, -/turf/open/floor/carpet/blue, -/area/crew_quarters/abandoned_gambling_den{ - name = "Arcade" - }) +/obj/structure/grille, +/obj/machinery/power/terminal, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/turf/open/floor/plating, +/area/engine/engine_smes) "bEA" = ( /obj/structure/cable{ icon_state = "1-2" @@ -38424,17 +37895,11 @@ /turf/open/floor/plasteel/dark, /area/crew_quarters/bar) "bEK" = ( -/obj/machinery/atmospherics/pipe/simple/supply/visible, -/obj/machinery/space_heater{ - anchored = 1 +/obj/structure/cable/yellow{ + icon_state = "4-8" }, -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/engine/engineering{ - name = "Engine Room" - }) +/turf/closed/wall/r_wall, +/area/engine/engine_smes) "bEL" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -38534,11 +37999,25 @@ /turf/open/floor/carpet/green, /area/crew_quarters/bar) "bES" = ( +/obj/machinery/door/airlock/engineering{ + name = "Hot Loop"; + req_one_access_txt = "10;24" + }, +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, +/obj/machinery/door/firedoor/heavy, /obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/open/floor/carpet/blue, -/area/crew_quarters/abandoned_gambling_den{ - name = "Arcade" - }) +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/engine/engine_smes) "bET" = ( /obj/machinery/atmospherics/pipe/simple/orange/hidden, /turf/open/floor/wood, @@ -38668,19 +38147,14 @@ /turf/open/floor/plasteel, /area/ai_monitored/turret_protected/ai) "bFg" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/visible, -/obj/machinery/suit_storage_unit/engine, -/obj/machinery/atmospherics/pipe/simple/supplymain/hidden{ - dir = 4 +/obj/structure/cable/yellow{ + icon_state = "4-8" }, -/obj/machinery/airalarm{ - dir = 4; - pixel_x = -23 +/obj/structure/cable/yellow{ + icon_state = "2-4" }, -/turf/open/floor/plasteel, -/area/engine/engineering{ - name = "Engine Room" - }) +/turf/closed/wall/r_wall, +/area/engine/engine_smes) "bFh" = ( /obj/effect/turf_decal/tile/brown, /obj/machinery/light, @@ -38729,12 +38203,7 @@ /turf/open/floor/plasteel, /area/science/xenobiology) "bFp" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden{ - dir = 4 - }, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden, /turf/open/floor/plasteel, /area/science/mixing) "bFq" = ( @@ -39330,15 +38799,9 @@ /turf/open/floor/plasteel/freezer, /area/crew_quarters/toilet/restrooms) "bGv" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/public/glass{ - name = "Arcade" - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/open/floor/carpet/blue, -/area/crew_quarters/abandoned_gambling_den{ - name = "Arcade" - }) +/obj/item/clothing/suit/caution, +/turf/open/floor/plasteel, +/area/science/server/compcore) "bGw" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/public/glass{ @@ -39451,6 +38914,18 @@ /obj/item/clothing/gloves/color/grey, /turf/open/floor/plating, /area/maintenance/starboard/central) +"bGK" = ( +/obj/structure/table, +/obj/machinery/button/door{ + id = "RDServer"; + layer = 3.6; + name = "RD Server Lockup Control"; + pixel_x = -24 + }, +/obj/item/circuitboard/machine/rdserver, +/obj/item/disk/tech_disk, +/turf/open/floor/circuit/green, +/area/science/server/compcore) "bGL" = ( /obj/structure/chair{ dir = 1 @@ -39465,10 +38940,7 @@ /obj/effect/turf_decal/tile/neutral{ dir = 1 }, -/obj/item/kirbyplants{ - icon_state = "plant-20"; - pixel_y = 3 - }, +/obj/machinery/gear_painter, /turf/open/floor/plasteel, /area/crew_quarters/locker) "bGN" = ( @@ -39492,6 +38964,14 @@ /obj/effect/landmark/start/assistant, /turf/open/floor/plasteel/freezer, /area/crew_quarters/toilet) +"bGP" = ( +/obj/machinery/computer/robotics{ + dir = 1 + }, +/obj/machinery/light, +/obj/structure/disposalpipe/segment, +/turf/open/floor/circuit/green, +/area/science/server/compcore) "bGQ" = ( /obj/structure/lattice/catwalk, /obj/structure/disposalpipe/segment{ @@ -39748,11 +39228,14 @@ /turf/open/floor/plasteel, /area/crew_quarters/locker) "bHt" = ( -/obj/structure/chair{ +/obj/effect/turf_decal/tile/green{ dir = 8 }, -/turf/open/floor/plasteel, -/area/hallway/secondary/exit) +/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/turf/open/floor/plasteel/white/corner{ + dir = 1 + }, +/area/hallway/secondary/exit/departure_lounge) "bHu" = ( /obj/effect/turf_decal/tile/neutral, /turf/open/floor/plasteel, @@ -40056,20 +39539,15 @@ /area/medical/chemistry) "bIg" = ( /obj/structure/table, -/obj/effect/turf_decal/tile/purple{ - dir = 4 +/obj/item/circuitboard/machine/cyborgrecharger, +/obj/item/disk/design_disk, +/obj/machinery/camera/motion{ + c_tag = "Computer Core"; + dir = 1; + network = list("minisat") }, -/obj/effect/turf_decal/tile/purple{ - dir = 1 - }, -/obj/item/reagent_containers/food/snacks/chips, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/science/research{ - name = "Research Sector" - }) +/turf/open/floor/circuit/green, +/area/science/server/compcore) "bIh" = ( /obj/machinery/disposal/bin, /obj/effect/turf_decal/delivery/white, @@ -40122,26 +39600,12 @@ /turf/open/space/basic, /area/space/nearstation) "bIn" = ( -/obj/structure/chair{ - dir = 8 +/obj/machinery/power/smes/engineering, +/obj/structure/cable{ + icon_state = "0-2" }, -/obj/effect/turf_decal/tile/purple{ - dir = 4 - }, -/obj/effect/turf_decal/tile/purple{ - dir = 1 - }, -/obj/machinery/light{ - dir = 1; - light_color = "#cee5d2" - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 10 - }, -/turf/open/floor/plasteel, -/area/science/research{ - name = "Research Sector" - }) +/turf/open/floor/plating, +/area/engine/engine_smes) "bIo" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/sign/directions/evac{ @@ -40361,27 +39825,31 @@ /turf/open/floor/plasteel, /area/medical/chemistry) "bIN" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 +/obj/effect/turf_decal/stripes/line{ + dir = 8 }, /obj/structure/cable{ - icon_state = "4-8" + icon_state = "0-2" }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden{ +/obj/machinery/power/apc{ + areastring = "/area/engine/engine_smes"; + dir = 1; + name = "Power Monitoring APC"; + pixel_y = 24 + }, +/turf/open/floor/plasteel, +/area/engine/engine_smes) +"bIO" = ( +/obj/effect/turf_decal/stripes/line{ dir = 4 }, -/turf/open/floor/plasteel, -/area/science/research{ - name = "Research Sector" - }) -"bIO" = ( -/obj/effect/turf_decal/tile/purple, +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "1-2" + }, /obj/machinery/atmospherics/pipe/simple/orange/hidden, /turf/open/floor/plasteel, -/area/science/research{ - name = "Research Sector" - }) +/area/engine/engine_smes) "bIP" = ( /obj/effect/turf_decal/tile/neutral, /obj/effect/turf_decal/tile/neutral{ @@ -40394,41 +39862,35 @@ /turf/open/floor/plasteel, /area/hallway/primary/central) "bIQ" = ( -/obj/effect/turf_decal/tile/purple, -/obj/effect/turf_decal/tile/purple{ - dir = 4 +/obj/structure/table/reinforced, +/obj/item/clothing/gloves/color/yellow, +/obj/item/multitool, +/obj/item/multitool{ + pixel_x = 5; + pixel_y = 3 + }, +/obj/item/t_scanner{ + pixel_x = -6; + pixel_y = 4 + }, +/obj/item/t_scanner{ + pixel_x = -4 }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, /turf/open/floor/plasteel, -/area/science/research{ - name = "Research Sector" - }) +/area/engine/engine_smes) "bIR" = ( -/obj/effect/turf_decal/tile/purple, -/obj/effect/turf_decal/tile/purple{ - dir = 4 +/obj/machinery/computer/monitor, +/obj/machinery/airalarm{ + pixel_y = 24 }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/obj/structure/cable/yellow, /turf/open/floor/plasteel, -/area/science/research{ - name = "Research Sector" - }) +/area/engine/engine_smes) "bIS" = ( -/obj/effect/turf_decal/tile/purple, -/obj/effect/turf_decal/tile/purple{ - dir = 4 - }, -/obj/structure/extinguisher_cabinet{ - pixel_x = 26 - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/obj/machinery/modular_computer/console/preset/engineering, +/obj/structure/cable/yellow, /turf/open/floor/plasteel, -/area/science/research{ - name = "Research Sector" - }) +/area/engine/engine_smes) "bIT" = ( /obj/structure/lattice, /obj/machinery/atmospherics/pipe/simple/supplymain/visible{ @@ -40570,25 +40032,10 @@ /turf/open/floor/plasteel, /area/medical/chemistry) "bJg" = ( -/obj/structure/table, -/obj/effect/turf_decal/tile/red{ - dir = 4 - }, -/obj/effect/turf_decal/tile/red{ - dir = 8 - }, -/obj/effect/turf_decal/tile/red{ - dir = 1 - }, -/obj/item/storage/box/rxglasses{ - pixel_x = 2 - }, -/obj/item/pen, -/obj/structure/window/reinforced/spawner/west, -/turf/open/floor/plasteel/white, -/area/medical/medbay/zone2{ - name = "Medbay Treatment Center" - }) +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/sign/warning/electricshock, +/turf/open/floor/plating, +/area/engine/engine_smes) "bJh" = ( /obj/structure/sign/warning/biohazard, /obj/structure/disposalpipe/segment{ @@ -40636,26 +40083,15 @@ /turf/open/floor/plasteel/dark, /area/lawoffice) "bJn" = ( -/obj/structure/table, -/obj/effect/turf_decal/tile/red, -/obj/effect/turf_decal/tile/red{ - dir = 4 +/obj/structure/cable{ + icon_state = "1-4" }, -/obj/effect/turf_decal/tile/red{ - dir = 1 - }, -/obj/item/clothing/suit/straight_jacket, -/obj/item/clothing/suit/straight_jacket, -/obj/item/clothing/mask/muzzle, -/obj/item/clothing/mask/muzzle, -/obj/structure/window/reinforced/spawner/east, -/turf/open/floor/plasteel/white, -/area/medical/medbay/zone2{ - name = "Medbay Treatment Center" - }) +/turf/closed/wall/r_wall, +/area/science/server/compcore) "bJo" = ( -/turf/open/floor/plasteel/white/corner, -/area/hallway/secondary/exit) +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) "bJp" = ( /obj/structure/cable{ icon_state = "1-2" @@ -40663,14 +40099,12 @@ /turf/open/floor/plating, /area/maintenance/aft) "bJq" = ( -/obj/structure/chair{ - dir = 1 - }, -/obj/effect/turf_decal/tile/red{ - dir = 8 +/obj/effect/turf_decal/tile/green{ + dir = 4 }, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden, /turf/open/floor/plasteel/white/corner, -/area/hallway/secondary/exit) +/area/hallway/secondary/exit/departure_lounge) "bJr" = ( /obj/machinery/atmospherics/components/unary/vent_pump/siphon/on{ dir = 1 @@ -40715,9 +40149,6 @@ /area/space/nearstation) "bJw" = ( /obj/machinery/holopad, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden{ - dir = 4 - }, /turf/open/floor/plasteel/white, /area/science/mixing) "bJx" = ( @@ -40812,29 +40243,19 @@ /turf/open/floor/plasteel, /area/science/robotics/lab) "bJF" = ( -/obj/effect/turf_decal/tile/purple{ - dir = 1 - }, -/obj/effect/turf_decal/tile/purple{ - dir = 4 - }, -/obj/machinery/light{ - dir = 1; - light_color = "#cee5d2" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "0-2" }, /obj/structure/cable{ - icon_state = "4-8" + icon_state = "0-8" }, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden{ - dir = 4 +/obj/structure/cable{ + icon_state = "0-4" }, -/turf/open/floor/plasteel, -/area/science/research{ - name = "Research Sector" - }) +/turf/open/floor/plating, +/area/science/server/compcore) "bJG" = ( /obj/structure/extinguisher_cabinet{ pixel_y = -32 @@ -40908,11 +40329,14 @@ /turf/open/floor/plating, /area/maintenance/solars/starboard/aft) "bJR" = ( -/obj/effect/turf_decal/tile/red{ +/obj/machinery/vending/cigarette, +/obj/effect/turf_decal/tile/green{ dir = 8 }, -/turf/open/floor/plasteel, -/area/hallway/secondary/exit) +/turf/open/floor/plasteel/white/corner{ + dir = 1 + }, +/area/hallway/secondary/exit/departure_lounge) "bJS" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -40926,9 +40350,7 @@ /turf/open/floor/plating, /area/maintenance/disposal) "bJT" = ( -/obj/machinery/atmospherics/pipe/simple/cyan/hidden{ - dir = 10 - }, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden, /turf/open/floor/plasteel/white, /area/science/mixing) "bJU" = ( @@ -41168,82 +40590,38 @@ /turf/open/floor/plasteel, /area/router) "bKs" = ( -/obj/effect/turf_decal/tile/purple{ - dir = 1 - }, -/obj/effect/turf_decal/tile/purple{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, /obj/structure/cable{ - icon_state = "4-8" + icon_state = "1-8" }, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/science/research{ - name = "Research Sector" - }) +/turf/closed/wall/r_wall, +/area/science/server/compcore) "bKt" = ( -/obj/effect/turf_decal/tile/purple{ - dir = 1 +/obj/structure/cable{ + icon_state = "1-4" }, -/obj/effect/turf_decal/tile/purple{ - dir = 4 - }, -/obj/machinery/light{ - dir = 1; - light_color = "#cee5d2" - }, -/obj/structure/disposalpipe/segment{ - dir = 10 +/turf/closed/wall/r_wall, +/area/engine/engine_smes) +"bKu" = ( +/obj/structure/cable{ + icon_state = "1-4" }, /obj/structure/cable{ icon_state = "4-8" }, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden{ - dir = 4 +/turf/open/floor/plating, +/area/engine/engine_smes) +"bKv" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 }, -/turf/open/floor/plasteel, -/area/science/research{ - name = "Research Sector" - }) -"bKu" = ( -/obj/effect/turf_decal/tile/purple{ - dir = 1 - }, -/obj/structure/disposalpipe/segment, /obj/structure/cable{ - icon_state = "1-2" + icon_state = "4-8" }, /obj/structure/cable{ icon_state = "1-8" }, -/obj/machinery/atmospherics/pipe/manifold/cyan/hidden{ - dir = 4 - }, /turf/open/floor/plasteel, -/area/science/research{ - name = "Research Sector" - }) -"bKv" = ( -/obj/effect/turf_decal/tile/purple{ - dir = 8 - }, -/obj/effect/turf_decal/tile/purple, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/science/research{ - name = "Research Sector" - }) +/area/engine/engine_smes) "bKw" = ( /obj/structure/window/reinforced/spawner/west, /obj/structure/sign/poster/official/nanotrasen_logo{ @@ -41622,7 +41000,7 @@ dir = 1; pixel_y = -26 }, -/obj/item/caution, +/obj/item/clothing/suit/caution, /obj/item/shovel, /obj/item/stack/tile/plasteel{ pixel_x = 10; @@ -41811,24 +41189,21 @@ /turf/open/floor/plasteel/dark, /area/science/xenobiology) "bLG" = ( -/obj/effect/turf_decal/tile/purple{ +/obj/effect/turf_decal/stripes/corner{ dir = 8 }, -/obj/effect/turf_decal/tile/purple, -/obj/structure/disposalpipe/segment{ - dir = 4 +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "4-8" }, -/obj/machinery/camera{ - c_tag = "Research Aft"; - dir = 1 +/obj/structure/cable{ + icon_state = "1-8" }, /obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 8 + dir = 5 }, /turf/open/floor/plasteel, -/area/science/research{ - name = "Research Sector" - }) +/area/engine/engine_smes) "bLH" = ( /obj/machinery/atmospherics/pipe/simple/cyan/hidden, /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ @@ -41941,20 +41316,17 @@ /turf/open/floor/plating, /area/quartermaster/warehouse) "bLU" = ( -/obj/effect/turf_decal/tile/purple{ - dir = 8 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/manifold/orange/hidden{ +/obj/effect/turf_decal/stripes/line{ dir = 1 }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 8 + }, /turf/open/floor/plasteel, -/area/science/research{ - name = "Research Sector" - }) +/area/engine/engine_smes) "bLV" = ( /obj/machinery/atmospherics/pipe/simple/orange/hidden{ dir = 5 @@ -42627,6 +41999,19 @@ }, /turf/open/floor/plating, /area/router) +"bNo" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/landmark/start/station_engineer, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/engine/engine_smes) "bNp" = ( /obj/machinery/light{ dir = 1 @@ -42793,32 +42178,17 @@ /turf/open/floor/plasteel/white, /area/medical/virology) "bNH" = ( -/obj/effect/turf_decal/tile/red{ - dir = 4 - }, -/obj/effect/turf_decal/tile/red{ - dir = 8 - }, -/obj/machinery/light{ - dir = 4; - light_color = "#c1caff" - }, -/turf/open/floor/plasteel/white/corner, -/area/hallway/secondary/exit) +/obj/structure/flora/junglebush/b, +/turf/open/floor/grass, +/area/hallway/secondary/exit/departure_lounge) "bNI" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/sign/departments/evac, -/turf/open/floor/plating, -/area/hallway/secondary/exit) +/obj/structure/flora/junglebush, +/turf/open/floor/grass, +/area/hallway/secondary/exit/departure_lounge) "bNJ" = ( -/obj/effect/turf_decal/tile/red{ - dir = 8 - }, -/obj/machinery/light{ - dir = 8 - }, -/turf/open/floor/plasteel/cafeteria, -/area/hallway/secondary/exit) +/obj/structure/window/reinforced/spawner, +/turf/open/floor/grass, +/area/hallway/secondary/exit/departure_lounge) "bNK" = ( /obj/machinery/power/solar{ id = "aftstarboard"; @@ -42864,19 +42234,19 @@ /turf/open/floor/plating, /area/maintenance/solars/starboard/aft) "bNQ" = ( -/obj/effect/turf_decal/tile/red{ +/obj/structure/window/reinforced/spawner, +/obj/item/storage/backpack/snail, +/turf/open/floor/grass, +/area/hallway/secondary/exit/departure_lounge) +"bNR" = ( +/obj/structure/chair{ + dir = 4 + }, +/obj/effect/turf_decal/tile/green{ dir = 4 }, /turf/open/floor/plasteel/white/corner, -/area/hallway/secondary/exit) -"bNR" = ( -/obj/effect/turf_decal/tile/red{ - dir = 8 - }, -/turf/open/floor/plasteel/white/corner{ - dir = 1 - }, -/area/hallway/secondary/exit) +/area/hallway/secondary/exit/departure_lounge) "bNS" = ( /obj/structure/lattice/catwalk, /obj/structure/cable{ @@ -42910,33 +42280,75 @@ /turf/open/floor/plating, /area/maintenance/starboard/aft) "bNW" = ( -/turf/open/floor/plasteel/stairs/left, -/area/hallway/secondary/exit) -"bNX" = ( -/obj/machinery/light{ - dir = 4; - light_color = "#c1caff" - }, -/turf/open/floor/plasteel/stairs/right, -/area/hallway/secondary/exit) -"bNY" = ( -/obj/machinery/light{ +/obj/structure/chair{ dir = 8 }, -/turf/open/floor/plasteel/stairs/left, -/area/hallway/secondary/exit) +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/turf/open/floor/plasteel/white/corner{ + dir = 1 + }, +/area/hallway/secondary/exit/departure_lounge) +"bNX" = ( +/obj/structure/window/reinforced/spawner, +/mob/living/simple_animal/kiwi, +/turf/open/floor/grass, +/area/hallway/secondary/exit/departure_lounge) +"bNY" = ( +/obj/structure/chair{ + dir = 4 + }, +/obj/machinery/light_switch{ + pixel_x = -24 + }, +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/turf/open/floor/plasteel/white/corner{ + dir = 1 + }, +/area/hallway/secondary/exit/departure_lounge) "bNZ" = ( -/turf/open/floor/plasteel/stairs/right, -/area/hallway/secondary/exit) +/obj/structure/table, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/item/storage/dice, +/obj/item/toy/cards/deck, +/turf/open/floor/plasteel/white/corner{ + dir = 1 + }, +/area/hallway/secondary/exit/departure_lounge) "bOa" = ( -/obj/effect/turf_decal/delivery, -/turf/open/floor/plasteel, -/area/hallway/secondary/exit) +/obj/structure/chair{ + dir = 8 + }, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/turf/open/floor/plasteel/white/corner{ + dir = 1 + }, +/area/hallway/secondary/exit/departure_lounge) "bOb" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/sign/warning/vacuum/external, -/turf/open/floor/plating, -/area/hallway/secondary/exit) +/obj/machinery/disposal/bin, +/obj/machinery/light{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/structure/disposalpipe/trunk{ + dir = 4 + }, +/turf/open/floor/plasteel/white/corner{ + dir = 1 + }, +/area/hallway/secondary/exit/departure_lounge) "bOc" = ( /obj/structure/lattice/catwalk, /obj/structure/cable{ @@ -42955,12 +42367,16 @@ /turf/open/space/basic, /area/solar/starboard/aft) "bOe" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/external/glass{ - name = "Departures Shuttle Dock" +/obj/effect/turf_decal/tile/green{ + dir = 4 }, -/turf/open/floor/plasteel, -/area/hallway/secondary/exit) +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/white/corner{ + dir = 1 + }, +/area/hallway/secondary/exit/departure_lounge) "bOf" = ( /obj/structure/lattice/catwalk, /obj/structure/cable{ @@ -42969,32 +42385,46 @@ /turf/open/space/basic, /area/solar/starboard/aft) "bOg" = ( -/obj/effect/turf_decal/stripes/line{ +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/orange/hidden{ + dir = 8 + }, +/turf/open/floor/plasteel/white/corner{ dir = 1 }, -/turf/open/floor/plasteel, -/area/hallway/secondary/exit) +/area/hallway/secondary/exit/departure_lounge) "bOh" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 5 - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/exit) -"bOi" = ( -/obj/effect/turf_decal/stripes/line{ +/obj/structure/disposalpipe/segment{ dir = 9 }, +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 8 + }, /turf/open/floor/plasteel, -/area/hallway/secondary/exit) +/area/hallway/secondary/exit/departure_lounge) +"bOi" = ( +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden, +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) "bOj" = ( -/obj/effect/turf_decal/stripes/line{ +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ dir = 8 }, -/obj/machinery/light{ - dir = 8 +/turf/open/floor/plasteel/white/corner{ + dir = 1 }, -/turf/open/floor/plasteel, -/area/hallway/secondary/exit) +/area/hallway/secondary/exit/departure_lounge) "bOk" = ( /obj/structure/lattice/catwalk, /obj/structure/cable{ @@ -43003,17 +42433,34 @@ /turf/open/space/basic, /area/solar/starboard/aft) "bOl" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 10 +/obj/machinery/computer/arcade, +/obj/machinery/light{ + dir = 1 }, -/turf/open/floor/plasteel, -/area/hallway/secondary/exit) +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 8 + }, +/turf/open/floor/plasteel/white/corner{ + dir = 1 + }, +/area/hallway/secondary/exit/departure_lounge) "bOm" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 6 +/obj/structure/chair{ + dir = 4 }, -/turf/open/floor/plasteel, -/area/hallway/secondary/exit) +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 8 + }, +/turf/open/floor/plasteel/white/corner{ + dir = 1 + }, +/area/hallway/secondary/exit/departure_lounge) "bOn" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/maintenance{ @@ -43026,10 +42473,18 @@ /turf/open/floor/plating, /area/crew_quarters/toilet/restrooms) "bOo" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/sign/warning/docking, -/turf/open/floor/plating, -/area/hallway/secondary/exit) +/obj/structure/table, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/item/paicard, +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 8 + }, +/turf/open/floor/plasteel/white/corner{ + dir = 1 + }, +/area/hallway/secondary/exit/departure_lounge) "bOp" = ( /obj/structure/cable{ icon_state = "2-8" @@ -43119,13 +42574,25 @@ /turf/open/space/basic, /area/space/nearstation) "bOx" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/engineering/glass{ + name = "Power Monitoring"; + req_access_txt = "10" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, /obj/machinery/atmospherics/pipe/simple/orange/hidden{ dir = 8 }, -/turf/closed/wall/r_wall, -/area/science/research{ - name = "Research Sector" - }) +/turf/open/floor/plasteel, +/area/engine/engine_smes) "bOy" = ( /obj/machinery/atmospherics/pipe/simple/general/visible{ dir = 4 @@ -43143,15 +42610,14 @@ /turf/open/floor/plasteel/dark, /area/science/xenobiology) "bOz" = ( -/obj/effect/turf_decal/tile/green{ - dir = 8 - }, -/obj/effect/turf_decal/tile/green, +/obj/structure/grille, /obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel, -/area/science/server{ - name = "Computer Core" - }) +/obj/structure/cable, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plating, +/area/science/server/compcore) "bOA" = ( /obj/effect/turf_decal/tile/green{ dir = 4 @@ -43200,9 +42666,6 @@ light_color = "#e8eaff" }, /obj/machinery/atmospherics/pipe/simple/orange/hidden, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden{ - dir = 4 - }, /turf/open/floor/plasteel, /area/science/mixing) "bOF" = ( @@ -43384,18 +42847,23 @@ /area/science/xenobiology) "bOY" = ( /obj/structure/table/reinforced, -/obj/machinery/door/firedoor, -/obj/item/stack/packageWrap, -/obj/item/hand_labeler, -/obj/machinery/camera{ - c_tag = "Customs - Aft"; - dir = 4 +/obj/item/clipboard, +/obj/item/stamp/denied{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/stamp, +/obj/machinery/door/window/southright{ + name = "Customs Desk"; + req_access_txt = "57" }, -/obj/structure/window/reinforced/spawner, /obj/machinery/door/poddoor/shutters/preopen{ id = "HoPAft"; name = "HoP Aft Desk Shutters" }, +/obj/machinery/door/firedoor/border_only{ + name = "south facing firelock" + }, /turf/open/floor/plasteel/dark, /area/security/checkpoint/customs) "bOZ" = ( @@ -43467,24 +42935,8 @@ /turf/open/floor/engine, /area/science/xenobiology) "bPl" = ( -/obj/structure/chair/sofa/right, -/obj/effect/turf_decal/tile/purple{ - dir = 1 - }, -/obj/effect/turf_decal/tile/purple{ - dir = 8 - }, -/obj/effect/turf_decal/tile/purple{ - dir = 4 - }, -/obj/item/book/manual/wiki/research_and_development, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 10 - }, -/turf/open/floor/plasteel, -/area/science/research{ - name = "Research Sector" - }) +/turf/closed/wall/r_wall, +/area/engine/engine_smes) "bPm" = ( /obj/structure/cable{ icon_state = "4-8" @@ -43563,24 +43015,9 @@ /turf/open/floor/plasteel/cafeteria, /area/crew_quarters/kitchen) "bPv" = ( -/obj/structure/table/reinforced, -/obj/item/clothing/gloves/color/yellow, -/obj/item/multitool, -/obj/item/multitool{ - pixel_x = 5; - pixel_y = 3 - }, -/obj/item/t_scanner{ - pixel_x = -6; - pixel_y = 4 - }, -/obj/item/t_scanner{ - pixel_x = -4 - }, -/turf/open/floor/plasteel, -/area/engine/engine_smes{ - name = "Power Monitoring" - }) +/obj/machinery/recharge_station, +/turf/open/floor/plating, +/area/engine/engine_smes) "bPw" = ( /obj/structure/cable{ icon_state = "4-8" @@ -43641,75 +43078,73 @@ /turf/open/floor/plasteel, /area/engine/atmos) "bPD" = ( -/obj/structure/table/glass, -/obj/item/paper_bin, -/obj/item/pen, -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/camera{ - c_tag = "Escape Hall - Fore"; - dir = 1 - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/exit) -"bPE" = ( -/obj/structure/table/glass, -/obj/item/clipboard, -/obj/item/storage/crayons, -/obj/machinery/atmospherics/pipe/manifold/cyan/hidden, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/exit) -"bPF" = ( -/obj/structure/table/glass, -/obj/item/storage/fancy/cigarettes, -/obj/item/lighter{ - pixel_x = 6 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/exit) -"bPG" = ( /obj/structure/chair{ dir = 8 }, -/obj/structure/cable{ - icon_state = "4-8" +/obj/machinery/light_switch{ + pixel_x = 24 + }, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 10 + }, +/turf/open/floor/plasteel/cafeteria, +/area/hallway/secondary/exit/departure_lounge) +"bPE" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/maintenance{ + name = "Aft Maintenance"; + req_access_txt = "12" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/hallway/secondary/exit/departure_lounge) +"bPF" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 }, /obj/machinery/atmospherics/pipe/simple/cyan/hidden{ dir = 4 }, /turf/open/floor/plasteel, -/area/hallway/secondary/exit) +/area/hallway/secondary/exit/departure_lounge) +"bPG" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) "bPH" = ( -/obj/structure/cable{ - icon_state = "4-8" +/obj/structure/disposalpipe/segment{ + dir = 4 }, /obj/machinery/atmospherics/pipe/simple/cyan/hidden{ dir = 4 }, +/obj/machinery/holopad, /turf/open/floor/plasteel, -/area/hallway/secondary/exit) +/area/hallway/secondary/exit/departure_lounge) "bPI" = ( -/obj/structure/cable{ - icon_state = "4-8" +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/machinery/atmospherics/pipe/manifold/cyan/hidden{ - dir = 1 +/obj/machinery/atmospherics/pipe/simple/cyan/hidden{ + dir = 4 }, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden, /turf/open/floor/plasteel, -/area/hallway/secondary/exit) +/area/hallway/secondary/exit/departure_lounge) "bPJ" = ( /obj/machinery/atmospherics/pipe/manifold/orange/visible{ dir = 1 @@ -43757,18 +43192,19 @@ /turf/open/floor/plating, /area/maintenance/aft) "bPO" = ( -/obj/machinery/light{ - dir = 4; - light_color = "#c1caff" +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/maintenance{ + name = "Starboard Quarter Maintenance"; + req_one_access_txt = "12;48" }, -/obj/effect/turf_decal/tile/red, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/white/corner{ +/obj/structure/disposalpipe/segment{ dir = 4 }, -/area/hallway/secondary/exit) +/obj/machinery/atmospherics/pipe/simple/cyan/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/hallway/secondary/exit/departure_lounge) "bPP" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/disposalpipe/segment, @@ -43807,13 +43243,19 @@ /turf/open/floor/plasteel/showroomfloor, /area/medical/morgue) "bPT" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/maintenance{ + name = "Aft Maintenance"; + req_access_txt = "12" + }, /obj/structure/cable{ - icon_state = "1-2" + icon_state = "4-8" }, -/turf/open/floor/plasteel/white/corner{ - dir = 4 +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 8 }, -/area/hallway/secondary/exit) +/turf/open/floor/plating, +/area/hallway/secondary/exit/departure_lounge) "bPU" = ( /obj/machinery/door/firedoor, /obj/structure/disposalpipe/segment, @@ -43880,9 +43322,6 @@ /obj/effect/turf_decal/stripes/line{ dir = 1 }, -/obj/structure/cable{ - icon_state = "2-4" - }, /obj/machinery/camera/motion{ c_tag = "AI Foyer"; network = list("minisat"); @@ -43900,7 +43339,7 @@ dir = 6 }, /turf/open/floor/plasteel, -/area/ai_monitored/turret_protected/ai) +/area/ai_monitored/turret_protected/ai_upload_foyer) "bQc" = ( /obj/structure/bodycontainer/morgue{ dir = 8 @@ -43915,10 +43354,13 @@ /area/medical/morgue) "bQd" = ( /obj/structure/cable{ - icon_state = "1-2" + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 8 }, /turf/open/floor/plasteel, -/area/hallway/secondary/exit) +/area/hallway/secondary/exit/departure_lounge) "bQe" = ( /obj/structure/lattice, /obj/structure/grille/broken, @@ -43960,9 +43402,6 @@ /obj/structure/cable{ icon_state = "1-4" }, -/obj/structure/cable{ - icon_state = "4-8" - }, /obj/machinery/atmospherics/pipe/manifold/supplymain/hidden, /turf/open/floor/plasteel, /area/ai_monitored/turret_protected/ai_upload_foyer) @@ -43985,44 +43424,30 @@ /turf/open/floor/plasteel/white, /area/medical/medbay/central) "bQl" = ( -/obj/structure/bed/roller, -/obj/effect/turf_decal/tile/red{ - dir = 8 +/obj/machinery/power/port_gen/pacman, +/obj/machinery/light, +/obj/machinery/light_switch{ + pixel_y = -24 }, -/obj/effect/turf_decal/tile/red{ - dir = 1 - }, -/obj/structure/window/reinforced/spawner/west, -/turf/open/floor/plasteel/white, -/area/medical/medbay/zone2{ - name = "Medbay Treatment Center" - }) +/obj/item/stack/sheet/mineral/plasma, +/obj/item/stack/sheet/mineral/plasma, +/obj/item/stack/sheet/mineral/plasma, +/turf/open/floor/plating, +/area/engine/engine_smes) "bQm" = ( -/obj/structure/bed/roller, -/obj/effect/turf_decal/tile/red, -/obj/effect/turf_decal/tile/red{ - dir = 4 - }, -/obj/structure/window/reinforced/spawner/east, -/turf/open/floor/plasteel/white, -/area/medical/medbay/zone2{ - name = "Medbay Treatment Center" - }) -"bQn" = ( -/obj/machinery/atmospherics/components/unary/thermomachine/freezer{ - dir = 4 - }, -/obj/effect/turf_decal/tile/red{ +/obj/effect/turf_decal/stripes/line{ dir = 8 }, -/obj/effect/turf_decal/tile/red{ +/obj/machinery/camera{ + c_tag = "Engineering - Power Monitoring"; dir = 1 }, -/obj/structure/window/reinforced/spawner/west, -/turf/open/floor/plasteel/white, -/area/medical/medbay/zone2{ - name = "Medbay Treatment Center" - }) +/turf/open/floor/plasteel, +/area/engine/engine_smes) +"bQn" = ( +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel, +/area/engine/engine_smes) "bQo" = ( /obj/structure/disposalpipe/junction/yjunction, /obj/machinery/atmospherics/pipe/simple/cyan/hidden{ @@ -44057,16 +43482,25 @@ /area/engine/break_room) "bQr" = ( /obj/structure/cable{ - icon_state = "1-4" + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/orange/hidden{ + dir = 1 }, /turf/open/floor/plasteel, -/area/hallway/secondary/exit) +/area/hallway/secondary/exit/departure_lounge) "bQs" = ( /obj/structure/cable{ icon_state = "4-8" }, -/turf/open/floor/plasteel/white/corner, -/area/hallway/secondary/exit) +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) "bQt" = ( /obj/machinery/conveyor/auto{ dir = 5; @@ -44085,21 +43519,8 @@ /turf/open/floor/plasteel/white, /area/medical/medbay/central) "bQv" = ( -/obj/structure/disposalpipe/sorting/mail/flip{ - dir = 1; - sortType = 24 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden, /turf/open/floor/plasteel, -/area/science/research{ - name = "Research Sector" - }) +/area/engine/engine_smes) "bQw" = ( /obj/structure/cable{ icon_state = "4-8" @@ -44119,35 +43540,13 @@ /turf/open/floor/plasteel, /area/hallway/primary/central) "bQy" = ( -/obj/effect/turf_decal/tile/red, -/obj/effect/turf_decal/tile/red{ - dir = 4 - }, -/obj/machinery/light{ - dir = 4; - light_color = "#c1caff" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plasteel/white, -/area/medical/medbay/zone2{ - name = "Medbay Treatment Center" - }) +/obj/machinery/light, +/turf/open/floor/plasteel, +/area/engine/engine_smes) "bQz" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 8 - }, -/obj/machinery/portable_atmospherics/canister/oxygen, -/obj/effect/turf_decal/tile/red, -/obj/effect/turf_decal/tile/red{ - dir = 4 - }, -/obj/structure/window/reinforced/spawner/east, -/turf/open/floor/plasteel/white, -/area/medical/medbay/zone2{ - name = "Medbay Treatment Center" - }) +/obj/structure/closet/secure_closet/engineering_electrical, +/turf/open/floor/plasteel, +/area/engine/engine_smes) "bQA" = ( /obj/item/radio/intercom{ name = "Station Intercom (Common)"; @@ -44160,35 +43559,12 @@ /turf/open/floor/plasteel/dark, /area/lawoffice) "bQB" = ( -/obj/structure/table, -/obj/effect/turf_decal/tile/red, -/obj/effect/turf_decal/tile/red{ - dir = 8 - }, -/obj/item/weldingtool, -/obj/item/wrench/medical, -/turf/open/floor/plasteel/white, -/area/medical/medbay/zone2{ - name = "Medbay Treatment Center" - }) +/turf/closed/wall, +/area/engine/engine_smes) "bQC" = ( -/obj/machinery/atmospherics/pipe/simple/general/visible{ - dir = 6 - }, -/obj/effect/turf_decal/tile/red{ - dir = 8 - }, -/obj/effect/turf_decal/tile/red{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/window/reinforced/spawner/west, -/turf/open/floor/plasteel/white, -/area/medical/medbay/zone2{ - name = "Medbay Treatment Center" - }) +/obj/structure/sign/warning/electricshock, +/turf/closed/wall, +/area/engine/engine_smes) "bQD" = ( /obj/machinery/power/apc{ name = "Tech Storage APC"; @@ -44250,29 +43626,18 @@ /turf/open/floor/plasteel, /area/hallway/primary/central) "bQJ" = ( -/obj/machinery/disposal/bin, -/obj/effect/turf_decal/tile/red, -/obj/effect/turf_decal/tile/red{ - dir = 8 +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/engineering{ + name = "Engineering Workshop"; + req_access_txt = "11" }, -/obj/effect/turf_decal/tile/red{ - dir = 4 - }, -/obj/effect/turf_decal/tile/red{ +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/stripes/line{ dir = 1 }, -/obj/machinery/power/apc{ - name = "Medbay Treatment Center APC"; - pixel_y = -24 - }, -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/obj/structure/cable, -/turf/open/floor/plasteel/white, -/area/medical/medbay/zone2{ - name = "Medbay Treatment Center" - }) +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plasteel, +/area/engine/engine_smes) "bQK" = ( /obj/structure/chair/office/dark{ dir = 4 @@ -44320,17 +43685,12 @@ /turf/open/space/basic, /area/space/nearstation) "bQP" = ( -/obj/effect/turf_decal/tile/purple, -/obj/effect/turf_decal/tile/purple{ +/obj/machinery/atmospherics/pipe/manifold/orange/hidden{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 9 - }, +/obj/effect/turf_decal/bot, /turf/open/floor/plasteel, -/area/science/research{ - name = "Research Sector" - }) +/area/quartermaster/storage) "bQQ" = ( /obj/effect/turf_decal/tile/purple{ dir = 4 @@ -44412,9 +43772,7 @@ /turf/open/floor/plating, /area/router) "bQX" = ( -/obj/machinery/atmospherics/pipe/simple/cyan/hidden{ - dir = 5 - }, +/obj/machinery/atmospherics/pipe/manifold/cyan/hidden, /turf/open/floor/plasteel/white, /area/science/mixing) "bQY" = ( @@ -44428,23 +43786,12 @@ /turf/open/floor/plasteel, /area/hallway/primary/central) "bQZ" = ( -/obj/structure/chair{ - dir = 4 - }, -/obj/effect/turf_decal/tile/purple{ - dir = 4 - }, -/obj/effect/turf_decal/tile/purple{ +/obj/machinery/light/small{ dir = 1 }, -/obj/effect/landmark/start/scientist, -/obj/machinery/airalarm{ - pixel_y = 24 - }, +/obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, -/area/science/research{ - name = "Research Sector" - }) +/area/quartermaster/storage) "bRa" = ( /obj/item/cigbutt, /obj/structure/cable{ @@ -44475,22 +43822,11 @@ /turf/open/floor/plasteel/dark, /area/crew_quarters/heads/captain) "bRd" = ( -/obj/effect/turf_decal/bot, -/obj/machinery/portable_atmospherics/canister/carbon_dioxide, -/obj/structure/disposalpipe/segment, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/machinery/power/apc{ - areastring = "/area/engine/storage"; - dir = 4; - name = "Canister Storage APC"; - pixel_x = 24 +/obj/effect/turf_decal/stripes/line{ + dir = 1 }, /turf/open/floor/plasteel, -/area/engine/storage{ - name = "Canister Storage" - }) +/area/engine/secure_construction) "bRe" = ( /obj/machinery/computer/security/wooden_tv, /obj/effect/turf_decal/bot, @@ -44664,18 +44000,14 @@ /turf/open/floor/plasteel, /area/quartermaster/miningoffice) "bRx" = ( -/obj/structure/table, -/obj/item/circuitboard/machine/cyborgrecharger, -/obj/item/disk/design_disk, -/obj/machinery/camera/motion{ - c_tag = "Computer Core"; - dir = 1; - network = list("minisat") +/obj/effect/turf_decal/loading_area{ + dir = 8 }, -/turf/open/floor/circuit/green, -/area/science/server{ - name = "Computer Core" - }) +/obj/machinery/status_display/supply{ + pixel_y = 32 + }, +/turf/open/floor/plasteel, +/area/quartermaster/storage) "bRy" = ( /obj/effect/turf_decal/tile/neutral, /obj/effect/turf_decal/tile/neutral{ @@ -44695,14 +44027,13 @@ /turf/open/floor/plasteel, /area/quartermaster/miningoffice) "bRA" = ( -/obj/machinery/light{ +/obj/effect/turf_decal/stripes/line{ dir = 1 }, -/obj/machinery/atmospherics/pipe/simple/supplymain/hidden, -/turf/open/floor/engine, -/area/engine/secure_construction{ - name = "Engineering Construction Area" - }) +/obj/effect/landmark/start/atmospheric_technician, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on, +/turf/open/floor/plasteel, +/area/engine/secure_construction) "bRB" = ( /obj/item/radio/intercom{ name = "Station Intercom (Common)"; @@ -44823,35 +44154,39 @@ /turf/open/floor/plasteel/white, /area/medical/medbay/central) "bRM" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/open/floor/plasteel/stairs/left, -/area/science/research{ - name = "Research Sector" - }) -"bRN" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable{ - icon_state = "1-2" +/obj/effect/turf_decal/stripes/line{ + dir = 5 }, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden, -/turf/open/floor/plasteel/stairs/medium, -/area/science/research{ - name = "Research Sector" - }) -"bRO" = ( -/obj/effect/turf_decal/tile/purple{ - dir = 8 - }, -/obj/effect/turf_decal/tile/purple{ +/obj/effect/turf_decal/stripes/corner{ dir = 1 }, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/obj/machinery/conveyor/inverted{ + dir = 6; + icon_state = "conveyor_map_inverted"; + id = "cargounload" + }, +/turf/open/floor/plating, +/area/quartermaster/storage) +"bRN" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/conveyor{ + dir = 1; + id = "cargounload" + }, +/turf/open/floor/plating, +/area/quartermaster/storage) +"bRO" = ( +/obj/machinery/conveyor_switch/oneway{ + dir = 8; + id = "cargounload" + }, /turf/open/floor/plasteel, -/area/science/research{ - name = "Research Sector" - }) +/area/quartermaster/storage) "bRP" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/command{ @@ -44873,36 +44208,33 @@ /turf/open/floor/plasteel, /area/ai_monitored/storage/eva) "bRR" = ( -/obj/effect/turf_decal/tile/purple{ +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/obj/effect/turf_decal/stripes/corner{ dir = 8 }, -/obj/effect/turf_decal/tile/purple{ - dir = 1 +/obj/machinery/conveyor{ + dir = 9; + id = "cargounload" }, -/obj/structure/disposalpipe/junction/flip{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/open/floor/plasteel, -/area/science/research{ - name = "Research Sector" - }) +/turf/open/floor/plating, +/area/quartermaster/storage) "bRS" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable{ - icon_state = "1-2" +/obj/effect/turf_decal/stripes/line{ + dir = 1 }, -/obj/structure/cable{ - icon_state = "1-8" +/obj/effect/turf_decal/stripes/line, +/obj/machinery/door/poddoor{ + id = "QMUnloadDoor"; + name = "Cargo Unloading Door" }, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden, -/turf/open/floor/plasteel, -/area/science/research{ - name = "Research Sector" - }) +/obj/machinery/conveyor{ + dir = 8; + id = "cargounload" + }, +/turf/open/floor/plating, +/area/quartermaster/storage) "bRT" = ( /obj/effect/turf_decal/tile/purple, /obj/effect/turf_decal/tile/purple{ @@ -44936,9 +44268,6 @@ /area/science/robotics/lab) "bRW" = ( /obj/effect/turf_decal/bot, -/obj/structure/cable{ - icon_state = "2-4" - }, /obj/machinery/status_display/ai{ pixel_y = 32 }, @@ -45066,9 +44395,6 @@ /area/science/xenobiology) "bSk" = ( /obj/machinery/door/firedoor, -/obj/structure/cable{ - icon_state = "4-8" - }, /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 4 }, @@ -45088,56 +44414,73 @@ /turf/open/floor/plasteel/white, /area/science/mixing) "bSm" = ( -/obj/machinery/modular_computer/console/preset/engineering, -/obj/structure/cable/yellow, -/turf/open/floor/plasteel, -/area/engine/engine_smes{ - name = "Power Monitoring" - }) -"bSn" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/sign/warning/electricshock, -/turf/open/floor/plating, -/area/engine/engine_smes{ - name = "Power Monitoring" - }) -"bSo" = ( -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/turf/open/floor/engine, -/area/engine/supermatter{ - name = "Thermo-Electric Generator" - }) -"bSp" = ( -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plating, -/area/engine/engine_smes{ - name = "Power Monitoring" - }) -"bSq" = ( +/obj/structure/plasticflaps, /obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, +/obj/machinery/conveyor{ + dir = 8; + id = "cargounload" + }, +/turf/open/floor/plating, +/area/quartermaster/storage) +"bSn" = ( +/obj/effect/turf_decal/stripes/end{ + dir = 4 + }, +/obj/machinery/door/poddoor{ + id = "QMUnloadDoor"; + name = "Cargo Unloading Door" + }, +/obj/machinery/conveyor{ + dir = 8; + id = "cargounload" + }, +/turf/open/floor/plating, +/area/quartermaster/storage) +"bSo" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/structure/cable, +/turf/open/floor/plating, +/area/science/server/compcore) +"bSp" = ( +/obj/machinery/conveyor_switch/oneway{ + id = "cargoload" + }, +/turf/open/floor/plasteel, +/area/quartermaster/storage) +"bSq" = ( +/obj/machinery/computer/cargo{ dir = 8 }, -/obj/structure/cable{ - icon_state = "4-8" +/obj/effect/turf_decal/bot, +/obj/machinery/camera{ + c_tag = "Supply - Cargo Bay"; + dir = 8; + pixel_y = -22 }, -/obj/structure/cable{ - icon_state = "1-8" +/obj/machinery/button/door{ + id = "QMLoadDoor"; + layer = 4; + name = "Cargo Loading Doors"; + pixel_x = 24; + pixel_y = -6 + }, +/obj/machinery/button/door{ + id = "QMUnloadDoor"; + layer = 4; + name = "Cargo Unloading Doors"; + pixel_x = 24; + pixel_y = 6 }, /turf/open/floor/plasteel, -/area/engine/engine_smes{ - name = "Power Monitoring" - }) +/area/quartermaster/storage) "bSr" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, /obj/machinery/light, /obj/machinery/atmospherics/pipe/simple/supplymain/hidden{ dir = 4 @@ -45145,18 +44488,12 @@ /turf/open/floor/mineral/titanium/blue, /area/ai_monitored/turret_protected/ai_upload_foyer) "bSs" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, /obj/machinery/atmospherics/pipe/simple/supplymain/hidden{ dir = 4 }, /turf/open/floor/mineral/titanium/blue, /area/ai_monitored/turret_protected/ai_upload_foyer) "bSt" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, /obj/machinery/light{ dir = 1 }, @@ -45174,24 +44511,24 @@ /turf/open/floor/plasteel/dark, /area/hallway/secondary/service) "bSv" = ( -/obj/machinery/recharge_station, -/turf/open/floor/plating, -/area/engine/engine_smes{ - name = "Power Monitoring" - }) -"bSw" = ( -/obj/machinery/power/port_gen/pacman, -/obj/machinery/light, -/obj/machinery/light_switch{ - pixel_y = -24 +/obj/effect/turf_decal/delivery, +/obj/structure/noticeboard/rd{ + pixel_y = 28 }, -/obj/item/stack/sheet/mineral/plasma, -/obj/item/stack/sheet/mineral/plasma, -/obj/item/stack/sheet/mineral/plasma, -/turf/open/floor/plating, -/area/engine/engine_smes{ - name = "Power Monitoring" - }) +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/science/research) +"bSw" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/science/research) "bSx" = ( /obj/machinery/atmospherics/pipe/simple/supply/visible, /turf/open/floor/plasteel, @@ -45358,9 +44695,6 @@ /area/science/lab) "bSO" = ( /obj/machinery/door/firedoor, -/obj/structure/cable{ - icon_state = "4-8" - }, /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 8 }, @@ -45881,9 +45215,6 @@ /obj/structure/cable{ icon_state = "1-2" }, -/obj/structure/cable{ - icon_state = "4-8" - }, /obj/machinery/status_display/ai{ pixel_y = 32 }, @@ -45981,9 +45312,6 @@ /obj/machinery/light_switch{ pixel_y = 24 }, -/obj/structure/cable{ - icon_state = "4-8" - }, /obj/machinery/atmospherics/pipe/simple/supplymain/hidden{ dir = 4 }, @@ -46112,9 +45440,17 @@ /turf/open/floor/plasteel, /area/hallway/primary/central) "bUx" = ( -/obj/machinery/atmospherics/pipe/simple/cyan/hidden, +/obj/structure/chair{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 8 + }, /turf/open/floor/plasteel, -/area/hallway/secondary/exit) +/area/hallway/secondary/exit/departure_lounge) "bUy" = ( /obj/machinery/atmospherics/pipe/simple/cyan/hidden{ dir = 4 @@ -46143,22 +45479,21 @@ /turf/open/floor/plating, /area/maintenance/solars/port) "bUB" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 +/obj/structure/chair{ + dir = 4 }, -/obj/structure/cable{ - icon_state = "0-2" +/obj/effect/turf_decal/tile/purple{ + dir = 4 }, -/obj/machinery/power/apc{ - areastring = "/area/engine/engine_smes"; - dir = 1; - name = "Power Monitoring APC"; +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/landmark/start/scientist, +/obj/machinery/airalarm{ pixel_y = 24 }, /turf/open/floor/plasteel, -/area/engine/engine_smes{ - name = "Power Monitoring" - }) +/area/science/research) "bUC" = ( /obj/structure/cable{ icon_state = "1-2" @@ -46395,13 +45730,14 @@ /turf/open/floor/plating, /area/maintenance/starboard/aft) "bUX" = ( -/obj/structure/transit_tube/station/reverse/flipped{ +/obj/effect/turf_decal/stripes/line{ dir = 1 }, -/turf/open/floor/engine, -/area/engine/secure_construction{ - name = "Engineering Construction Area" - }) +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 6 + }, +/turf/open/floor/plasteel, +/area/engine/secure_construction) "bUY" = ( /obj/structure/cable{ icon_state = "1-2" @@ -46432,15 +45768,15 @@ /turf/open/floor/plasteel, /area/router) "bVb" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 +/obj/effect/turf_decal/stripes/corner{ + dir = 4 }, -/obj/effect/turf_decal/stripes/line, -/obj/structure/transit_tube/horizontal, +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 8 + }, +/obj/machinery/portable_atmospherics/scrubber, /turf/open/floor/plasteel, -/area/engine/secure_construction{ - name = "Engineering Construction Area" - }) +/area/engine/secure_construction) "bVc" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -46475,17 +45811,19 @@ /turf/open/floor/plasteel/dark, /area/crew_quarters/heads/hor) "bVf" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 +/obj/structure/table, +/obj/effect/turf_decal/tile/purple{ + dir = 4 }, -/obj/machinery/camera{ - c_tag = "Engineering - Power Monitoring"; +/obj/effect/turf_decal/tile/purple{ dir = 1 }, +/obj/item/reagent_containers/food/snacks/chips, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 4 + }, /turf/open/floor/plasteel, -/area/engine/engine_smes{ - name = "Power Monitoring" - }) +/area/science/research) "bVg" = ( /obj/machinery/power/emitter, /obj/effect/turf_decal/tile/blue{ @@ -46746,9 +46084,6 @@ /turf/open/floor/plasteel, /area/engine/atmos) "bVF" = ( -/obj/structure/cable{ - icon_state = "1-4" - }, /obj/structure/cable{ icon_state = "1-2" }, @@ -46802,17 +46137,24 @@ /turf/open/floor/plating, /area/maintenance/starboard/central) "bVL" = ( -/obj/effect/turf_decal/delivery, -/obj/structure/noticeboard/rd{ - pixel_y = 28 - }, -/obj/machinery/light{ +/obj/structure/chair{ dir = 8 }, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/machinery/light{ + dir = 1; + light_color = "#cee5d2" + }, +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 10 + }, /turf/open/floor/plasteel, -/area/science/research{ - name = "Research Sector" - }) +/area/science/research) "bVM" = ( /obj/effect/turf_decal/tile/purple{ dir = 4 @@ -46820,10 +46162,12 @@ /obj/effect/turf_decal/tile/purple{ dir = 1 }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden, /turf/open/floor/plasteel, -/area/science/research{ - name = "Research Sector" - }) +/area/science/research) "bVN" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable{ @@ -46874,9 +46218,7 @@ pixel_y = 32 }, /turf/open/floor/plasteel, -/area/science/research{ - name = "Research Sector" - }) +/area/science/research) "bVS" = ( /obj/effect/turf_decal/tile/purple{ dir = 4 @@ -46889,9 +46231,7 @@ light_color = "#cee5d2" }, /turf/open/floor/plasteel, -/area/science/research{ - name = "Research Sector" - }) +/area/science/research) "bVT" = ( /obj/effect/turf_decal/tile/purple, /obj/effect/turf_decal/tile/purple{ @@ -46904,9 +46244,7 @@ pixel_y = 24 }, /turf/open/floor/plasteel, -/area/science/research{ - name = "Research Sector" - }) +/area/science/research) "bVU" = ( /obj/machinery/door/firedoor, /obj/structure/cable{ @@ -46956,26 +46294,17 @@ /area/engine/atmos) "bVY" = ( /obj/structure/table/reinforced, -/obj/effect/turf_decal/tile/yellow, -/obj/effect/turf_decal/tile/yellow{ - dir = 4 +/obj/item/flashlight/lamp, +/obj/structure/window/reinforced/spawner, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "HoPAft"; + name = "HoP Aft Desk Shutters" }, -/obj/effect/turf_decal/tile/yellow{ - dir = 1 +/obj/machinery/door/firedoor/border_only{ + name = "south facing firelock" }, -/obj/effect/turf_decal/tile/yellow{ - dir = 8 - }, -/obj/machinery/door/firedoor, -/obj/machinery/door/window/southright{ - name = "Primary Tool Storage Desk"; - req_access_txt = "11" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/storage/primary) +/turf/open/floor/plasteel/dark, +/area/security/checkpoint/customs) "bVZ" = ( /obj/machinery/power/apc{ name = "Cargo Bay APC"; @@ -46986,16 +46315,16 @@ /area/quartermaster/storage) "bWa" = ( /turf/closed/wall/r_wall, -/area/science/research{ - name = "Research Sector" - }) +/area/science/research) "bWb" = ( /obj/structure/closet/l3closet/scientist, /obj/effect/turf_decal/stripes/line, +/obj/machinery/camera{ + c_tag = "Research Entrance"; + network = list("ss13","rd") + }, /turf/open/floor/plasteel, -/area/science/research{ - name = "Research Sector" - }) +/area/science/research) "bWc" = ( /obj/machinery/portable_atmospherics/scrubber, /obj/effect/turf_decal/stripes/line, @@ -47004,9 +46333,7 @@ light_color = "#cee5d2" }, /turf/open/floor/plasteel, -/area/science/research{ - name = "Research Sector" - }) +/area/science/research) "bWd" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible, /obj/structure/sign/poster/official/wtf_is_co2{ @@ -47106,9 +46433,6 @@ /area/science/mixing) "bWm" = ( /obj/machinery/door/firedoor, -/obj/structure/cable{ - icon_state = "4-8" - }, /obj/machinery/door/airlock/engineering{ name = "AI SMES Access"; req_one_access_txt = "10;24" @@ -47129,26 +46453,10 @@ /turf/open/floor/plasteel, /area/hallway/primary/aft) "bWo" = ( -/obj/effect/turf_decal/tile/purple, -/obj/effect/turf_decal/tile/purple{ - dir = 4 - }, -/obj/effect/turf_decal/tile/purple{ - dir = 1 - }, -/obj/effect/turf_decal/tile/purple{ - dir = 8 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, +/obj/structure/closet/l3closet/scientist, +/obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, -/area/science/research{ - name = "Research Sector" - }) +/area/science/research) "bWp" = ( /obj/machinery/atmospherics/miner/n2o, /obj/machinery/portable_atmospherics/canister/nitrous_oxide, @@ -47163,21 +46471,55 @@ /turf/open/floor/plasteel, /area/hallway/primary/central) "bWr" = ( -/obj/structure/closet/l3closet/scientist, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/camera{ - c_tag = "Research Entrance"; - network = list("ss13","rd") +/obj/structure/table/reinforced, +/obj/structure/window/reinforced, +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 1 }, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/obj/machinery/light{ + dir = 8 + }, +/obj/item/clipboard, +/obj/item/stamp, +/obj/item/stamp/denied{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/pen/red, +/obj/item/pen/blue{ + pixel_x = -5; + pixel_y = -3 + }, +/obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, -/area/science/research{ - name = "Research Sector" - }) +/area/quartermaster/sorting) "bWs" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 8 + }, +/obj/machinery/door/window/southleft{ + name = "Cargo Desk"; + req_access_txt = "31" + }, +/obj/item/folder, +/obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, -/area/science/research{ - name = "Research Sector" - }) +/area/quartermaster/sorting) "bWt" = ( /obj/machinery/atmospherics/pipe/simple/cyan/hidden{ dir = 4 @@ -47192,9 +46534,6 @@ /turf/open/floor/plasteel/white, /area/science/mixing) "bWv" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, /obj/machinery/atmospherics/pipe/simple/orange/hidden{ dir = 8 }, @@ -47208,72 +46547,82 @@ /turf/open/floor/plating, /area/lawoffice) "bWx" = ( -/obj/effect/turf_decal/tile/purple, -/obj/effect/turf_decal/tile/purple{ - dir = 8 +/obj/structure/table/reinforced, +/obj/structure/window/reinforced, +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 1 }, -/turf/open/floor/plasteel, -/area/science/research{ - name = "Research Sector" - }) -"bWy" = ( -/obj/effect/turf_decal/tile/purple, -/obj/effect/turf_decal/tile/purple{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/science/research{ - name = "Research Sector" - }) -"bWz" = ( -/obj/effect/turf_decal/tile/purple, -/obj/effect/turf_decal/tile/purple{ - dir = 8 - }, -/obj/machinery/firealarm{ - dir = 1; - pixel_y = -26 - }, -/turf/open/floor/plasteel, -/area/science/research{ - name = "Research Sector" - }) -"bWA" = ( -/obj/effect/turf_decal/tile/purple, -/obj/effect/turf_decal/tile/purple{ +/obj/effect/turf_decal/tile/brown{ dir = 4 }, -/obj/effect/turf_decal/tile/purple{ +/obj/effect/turf_decal/tile/brown{ dir = 8 }, +/obj/item/paper_bin, +/obj/item/stack/packageWrap, +/obj/item/stack/packageWrap, +/obj/item/pen, +/obj/item/wirecutters, +/obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, -/area/science/research{ - name = "Research Sector" - }) +/area/quartermaster/sorting) +"bWy" = ( +/obj/machinery/status_display/supply, +/turf/closed/wall/r_wall, +/area/quartermaster/storage) +"bWz" = ( +/obj/structure/table, +/obj/machinery/light{ + dir = 8 + }, +/obj/item/storage/toolbox/electrical, +/obj/item/hand_labeler, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/quartermaster/storage) +"bWA" = ( +/obj/effect/turf_decal/bot, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/navbeacon{ + codes_txt = "delivery;dir=1"; + dir = 1; + freq = 1400; + location = "Bridge" + }, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/science/research) "bWB" = ( -/obj/structure/rack, -/obj/effect/turf_decal/stripes/line{ - dir = 1 +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden{ + dir = 4 }, -/obj/item/extinguisher, /turf/open/floor/plasteel, -/area/science/research{ - name = "Research Sector" - }) +/area/science/research) "bWC" = ( -/obj/machinery/shower{ - dir = 1 +/obj/structure/disposalpipe/segment{ + dir = 6 }, -/obj/effect/turf_decal/stripes/line{ +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/manifold/cyan/hidden{ dir = 1 }, /turf/open/floor/plasteel, -/area/science/research{ - name = "Research Sector" - }) +/area/science/research) "bWD" = ( /obj/effect/turf_decal/bot, /obj/machinery/navbeacon{ @@ -47343,17 +46692,18 @@ /turf/open/floor/plating, /area/engine/atmos) "bWL" = ( -/obj/structure/sink{ - dir = 4; - pixel_x = 11 +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden{ + dir = 4 }, /turf/open/floor/plasteel, -/area/science/research{ - name = "Research Sector" - }) +/area/science/research) "bWM" = ( /obj/effect/turf_decal/delivery, /obj/structure/disposalpipe/segment{ @@ -47373,16 +46723,17 @@ /turf/open/floor/plasteel, /area/hallway/primary/central) "bWN" = ( -/obj/structure/grille, -/obj/structure/cable, -/obj/structure/cable{ - icon_state = "0-2" +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/supplymain/hidden, -/turf/open/floor/plating, -/area/science/server{ - name = "Computer Core" - }) +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/science/research) "bWO" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -47391,21 +46742,18 @@ /turf/open/floor/plasteel, /area/hallway/primary/aft) "bWP" = ( -/obj/machinery/door/firedoor, -/obj/structure/disposalpipe/segment, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, /obj/structure/cable{ - icon_state = "1-2" + icon_state = "4-8" }, -/obj/machinery/door/airlock/command{ - name = "Computer Core"; - req_access_txt = "30" +/obj/structure/cable{ + icon_state = "1-4" }, -/obj/effect/turf_decal/delivery, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/obj/machinery/atmospherics/pipe/manifold/cyan/hidden, /turf/open/floor/plasteel, -/area/science/server{ - name = "Computer Core" - }) +/area/science/research) "bWQ" = ( /obj/structure/grille, /obj/structure/cable, @@ -47416,11 +46764,20 @@ /turf/open/floor/plating/airless, /area/space/nearstation) "bWR" = ( -/obj/structure/sign/warning/fire, -/turf/closed/wall/r_wall, -/area/science/research{ - name = "Research Sector" - }) +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/science/research) "bWS" = ( /obj/machinery/atmospherics/pipe/simple/cyan/hidden{ dir = 4 @@ -47428,66 +46785,127 @@ /turf/closed/wall/r_wall, /area/science/mixing) "bWT" = ( -/obj/structure/chair/sofa/left, -/obj/effect/turf_decal/tile/purple{ - dir = 1 - }, -/obj/effect/turf_decal/tile/purple{ +/obj/structure/disposalpipe/segment{ dir = 4 }, +/obj/structure/cable{ + icon_state = "4-8" + }, /obj/effect/landmark/start/scientist, +/obj/machinery/atmospherics/pipe/manifold/cyan/hidden{ + dir = 1 + }, /turf/open/floor/plasteel, -/area/science/research{ - name = "Research Sector" - }) +/area/science/research) "bWU" = ( -/obj/machinery/disposal/bin, -/obj/effect/turf_decal/tile/purple{ - dir = 1 - }, +/obj/effect/turf_decal/tile/purple, /obj/effect/turf_decal/tile/purple{ dir = 4 }, -/obj/structure/disposalpipe/trunk, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden{ + dir = 4 + }, /turf/open/floor/plasteel, -/area/science/research{ - name = "Research Sector" - }) +/area/science/research) "bWV" = ( -/obj/machinery/vending/coffee, -/obj/effect/turf_decal/tile/purple{ - dir = 1 - }, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/tile/purple, /obj/effect/turf_decal/tile/purple{ dir = 4 }, -/turf/open/floor/plasteel, -/area/science/research{ - name = "Research Sector" - }) -"bWW" = ( /obj/effect/turf_decal/tile/purple{ dir = 1 }, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/airlock/research/glass{ + name = "Research Sector"; + req_one_access_txt = "29;47" + }, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden{ + dir = 4 + }, /turf/open/floor/plasteel, -/area/science/research{ - name = "Research Sector" - }) +/area/science/research) +"bWW" = ( +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/science/research) "bWX" = ( /obj/effect/turf_decal/tile/purple, /obj/effect/turf_decal/tile/purple{ dir = 4 }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, /turf/open/floor/plasteel, -/area/science/research{ - name = "Research Sector" - }) +/area/science/research) "bWY" = ( -/obj/structure/sign/warning/nosmoking, -/turf/closed/wall/r_wall, -/area/maintenance/aft/secondary{ - name = "Aft Air Hookup" - }) +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/science/research) "bWZ" = ( /obj/structure/cable{ icon_state = "1-2" @@ -47495,25 +46913,35 @@ /turf/closed/wall, /area/hallway/primary/aft) "bXa" = ( -/obj/structure/table, -/obj/effect/turf_decal/tile/green, -/obj/effect/turf_decal/tile/green{ - dir = 1 - }, -/obj/effect/turf_decal/tile/green{ - dir = 8 - }, -/obj/effect/turf_decal/tile/green{ +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ dir = 4 }, -/obj/item/multitool{ - pixel_y = 4 +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/airlock/research/glass{ + name = "Research Sector"; + req_one_access_txt = "29;47" + }, +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 8 }, -/obj/item/book/manual/wiki/robotics_cyborgs, /turf/open/floor/plasteel, -/area/science/server{ - name = "Computer Core" - }) +/area/science/research) "bXb" = ( /obj/effect/turf_decal/tile/yellow{ dir = 8 @@ -47577,13 +47005,16 @@ /turf/closed/wall/r_wall, /area/science/mixing) "bXh" = ( -/obj/structure/disposalpipe/segment{ +/obj/machinery/firealarm{ + dir = 1; + pixel_y = -26 + }, +/obj/machinery/light/small, +/obj/effect/turf_decal/loading_area{ dir = 4 }, /turf/open/floor/plasteel, -/area/science/research{ - name = "Research Sector" - }) +/area/quartermaster/storage) "bXi" = ( /obj/structure/cable{ icon_state = "1-2" @@ -47602,29 +47033,26 @@ /turf/open/floor/plating, /area/maintenance/aft) "bXk" = ( -/obj/structure/chair/stool, -/obj/effect/turf_decal/tile/green, -/obj/effect/turf_decal/tile/green{ - dir = 1 - }, -/obj/effect/turf_decal/tile/green{ +/obj/effect/turf_decal/stripes/end{ dir = 8 }, -/obj/effect/turf_decal/tile/green{ - dir = 4 +/obj/machinery/conveyor{ + dir = 4; + id = "cargoload" }, -/turf/open/floor/plasteel, -/area/science/server{ - name = "Computer Core" - }) +/turf/open/floor/plating, +/area/quartermaster/storage) "bXl" = ( -/obj/structure/disposalpipe/junction/flip{ - dir = 4 +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 }, -/turf/open/floor/plasteel, -/area/science/research{ - name = "Research Sector" - }) +/obj/machinery/conveyor{ + dir = 4; + id = "cargoload" + }, +/turf/open/floor/plating, +/area/quartermaster/storage) "bXm" = ( /obj/effect/turf_decal/delivery, /obj/machinery/door/firedoor, @@ -47646,24 +47074,20 @@ /turf/open/floor/plasteel/white, /area/medical/medbay/central) "bXo" = ( -/obj/structure/closet/l3closet/scientist, -/obj/effect/turf_decal/tile/purple, -/obj/effect/turf_decal/tile/purple{ - dir = 4 - }, -/obj/effect/turf_decal/tile/purple{ +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ dir = 1 }, -/obj/effect/turf_decal/tile/purple{ - dir = 8 +/obj/machinery/conveyor{ + dir = 4; + id = "cargoload" }, -/obj/structure/disposalpipe/segment{ - dir = 4 +/obj/machinery/door/poddoor{ + id = "QMLoadDoor"; + name = "Cargo Loading Door" }, -/turf/open/floor/plasteel, -/area/science/research{ - name = "Research Sector" - }) +/turf/open/floor/plating, +/area/quartermaster/storage) "bXp" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/disposal/deliveryChute{ @@ -47688,20 +47112,17 @@ /turf/open/floor/plasteel/white, /area/medical/chemistry) "bXr" = ( -/obj/effect/turf_decal/tile/purple{ +/obj/structure/plasticflaps, +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ dir = 1 }, -/obj/effect/turf_decal/tile/purple{ - dir = 8 +/obj/machinery/conveyor{ + dir = 4; + id = "cargoload" }, -/obj/machinery/camera{ - c_tag = "Research Fore"; - dir = 4 - }, -/turf/open/floor/plasteel, -/area/science/research{ - name = "Research Sector" - }) +/turf/open/floor/plating, +/area/quartermaster/storage) "bXs" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -47748,37 +47169,32 @@ /turf/open/floor/plasteel, /area/quartermaster/sorting) "bXx" = ( +/obj/effect/turf_decal/stripes/end{ + dir = 4 + }, +/obj/machinery/conveyor{ + dir = 4; + id = "cargoload" + }, +/obj/machinery/door/poddoor{ + id = "QMLoadDoor"; + name = "Cargo Loading Door" + }, +/turf/open/floor/plating, +/area/quartermaster/storage) +"bXy" = ( /obj/effect/turf_decal/tile/purple{ dir = 1 }, /obj/effect/turf_decal/tile/purple{ dir = 8 }, -/obj/machinery/firealarm{ - dir = 4; - pixel_x = -28 - }, -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/open/floor/plasteel, -/area/science/research{ - name = "Research Sector" - }) -"bXy" = ( -/obj/effect/turf_decal/tile/purple{ - dir = 8 - }, -/obj/effect/turf_decal/tile/purple, -/obj/machinery/light, -/obj/item/kirbyplants{ - icon_state = "plant-16" +/obj/machinery/camera{ + c_tag = "Research Fore"; + dir = 4 }, /turf/open/floor/plasteel, -/area/science/research{ - name = "Research Sector" - }) +/area/science/research) "bXz" = ( /obj/machinery/power/apc{ name = "Medbay Lobby APC"; @@ -47790,28 +47206,12 @@ /turf/open/floor/plating, /area/maintenance/aft) "bXA" = ( -/obj/structure/chair{ - dir = 4 - }, -/obj/effect/turf_decal/tile/purple{ - dir = 8 - }, -/obj/effect/turf_decal/tile/purple, /turf/open/floor/plasteel, -/area/science/research{ - name = "Research Sector" - }) +/area/science/research) "bXB" = ( -/obj/structure/table, -/obj/effect/turf_decal/tile/purple{ - dir = 8 - }, -/obj/effect/turf_decal/tile/purple, -/obj/item/modular_computer/laptop/preset/civilian, +/obj/effect/landmark/event_spawn, /turf/open/floor/plasteel, -/area/science/research{ - name = "Research Sector" - }) +/area/science/research) "bXC" = ( /obj/effect/turf_decal/tile/blue{ dir = 1 @@ -47825,21 +47225,13 @@ /turf/open/floor/plasteel/white, /area/medical/medbay/lobby) "bXD" = ( -/obj/machinery/atmospherics/pipe/simple/general/visible{ - dir = 10 +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "1-2" }, -/obj/effect/turf_decal/tile/red, -/obj/effect/turf_decal/tile/red{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/window/reinforced/spawner/east, -/turf/open/floor/plasteel/white, -/area/medical/medbay/zone2{ - name = "Medbay Treatment Center" - }) +/obj/machinery/atmospherics/pipe/simple/cyan/hidden, +/turf/open/floor/plasteel, +/area/science/research) "bXE" = ( /obj/structure/cable{ icon_state = "1-2" @@ -47892,32 +47284,17 @@ /turf/open/floor/plating, /area/crew_quarters/heads/captain) "bXJ" = ( -/obj/structure/chair{ - dir = 8 - }, -/obj/effect/turf_decal/tile/purple{ - dir = 8 - }, /obj/effect/turf_decal/tile/purple, +/obj/machinery/atmospherics/pipe/simple/orange/hidden, /turf/open/floor/plasteel, -/area/science/research{ - name = "Research Sector" - }) +/area/science/research) "bXK" = ( +/obj/effect/turf_decal/tile/purple, /obj/effect/turf_decal/tile/purple{ dir = 8 }, -/obj/effect/turf_decal/tile/purple, -/obj/machinery/light, -/obj/machinery/disposal/bin, -/obj/effect/turf_decal/stripes/white/full, -/obj/structure/disposalpipe/trunk{ - dir = 4 - }, /turf/open/floor/plasteel, -/area/science/research{ - name = "Research Sector" - }) +/area/science/research) "bXL" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/rack, @@ -47955,21 +47332,15 @@ /turf/open/floor/plasteel, /area/engine/atmos) "bXQ" = ( -/obj/structure/closet/l3closet/scientist, /obj/effect/turf_decal/tile/purple, -/obj/effect/turf_decal/tile/purple{ - dir = 4 - }, -/obj/effect/turf_decal/tile/purple{ - dir = 1 - }, /obj/effect/turf_decal/tile/purple{ dir = 8 }, +/obj/structure/cable{ + icon_state = "1-2" + }, /turf/open/floor/plasteel, -/area/science/research{ - name = "Research Sector" - }) +/area/science/research) "bXR" = ( /obj/machinery/portable_atmospherics/canister/carbon_dioxide, /obj/machinery/atmospherics/miner/carbon_dioxide, @@ -47985,26 +47356,24 @@ /turf/open/floor/plasteel/white, /area/science/mixing) "bXT" = ( -/obj/effect/turf_decal/tile/purple{ - dir = 1 - }, +/obj/effect/turf_decal/tile/purple, /obj/effect/turf_decal/tile/purple{ dir = 8 }, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/manifold/orange/hidden{ - dir = 8 +/obj/machinery/firealarm{ + dir = 1; + pixel_y = -26 }, /turf/open/floor/plasteel, -/area/science/research{ - name = "Research Sector" - }) +/area/science/research) "bXU" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/science/research{ - name = "Research Sector" - }) +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden, +/turf/open/floor/plasteel, +/area/science/research) "bXV" = ( /obj/machinery/atmospherics/components/binary/pump{ dir = 8; @@ -48038,33 +47407,23 @@ /turf/open/floor/plating, /area/maintenance/starboard/aft) "bXZ" = ( -/obj/structure/table, /obj/effect/turf_decal/tile/purple, /obj/effect/turf_decal/tile/purple{ dir = 4 }, /obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/science/research) +"bYa" = ( +/obj/structure/rack, +/obj/effect/turf_decal/stripes/line{ dir = 1 }, -/obj/effect/turf_decal/tile/purple{ - dir = 8 - }, -/obj/item/paper_bin, -/obj/item/radio/headset/headset_sci, -/obj/item/radio/headset/headset_sci, +/obj/item/extinguisher, /turf/open/floor/plasteel, -/area/science/research{ - name = "Research Sector" - }) -"bYa" = ( -/obj/effect/turf_decal/tile/purple, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/science/research{ - name = "Research Sector" - }) +/area/science/research) "bYb" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -48078,14 +47437,14 @@ /turf/open/floor/plasteel/white, /area/science/mixing) "bYc" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/disposalpipe/segment{ - dir = 4 +/obj/machinery/shower{ + dir = 1 }, -/turf/open/floor/plating, -/area/science/research{ - name = "Research Sector" - }) +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/science/research) "bYd" = ( /obj/machinery/atmospherics/pipe/manifold4w/yellow/visible, /turf/open/floor/plasteel, @@ -48129,25 +47488,15 @@ /turf/open/floor/plating, /area/maintenance/starboard/aft) "bYi" = ( -/obj/structure/table, -/obj/effect/turf_decal/tile/purple, -/obj/effect/turf_decal/tile/purple{ - dir = 4 +/obj/structure/sink{ + dir = 4; + pixel_x = 11 }, -/obj/effect/turf_decal/tile/purple{ +/obj/effect/turf_decal/stripes/line{ dir = 1 }, -/obj/effect/turf_decal/tile/purple{ - dir = 8 - }, -/obj/machinery/recharger, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, /turf/open/floor/plasteel, -/area/science/research{ - name = "Research Sector" - }) +/area/science/research) "bYj" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -48161,12 +47510,9 @@ /turf/open/floor/plasteel/white, /area/science/mixing) "bYk" = ( -/obj/machinery/vending/wardrobe/science_wardrobe, -/obj/effect/turf_decal/delivery, -/turf/open/floor/plasteel, -/area/science/research{ - name = "Research Sector" - }) +/obj/structure/sign/warning/fire, +/turf/closed/wall/r_wall, +/area/science/research) "bYl" = ( /obj/structure/lattice, /obj/structure/disposalpipe/sorting/mail/flip{ @@ -48207,23 +47553,11 @@ /turf/open/floor/circuit/green, /area/science/robotics/mechbay) "bYr" = ( -/obj/effect/turf_decal/tile/purple{ +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ dir = 8 }, -/obj/effect/turf_decal/tile/purple{ - dir = 1 - }, -/obj/effect/turf_decal/tile/purple{ - dir = 4 - }, -/obj/machinery/light{ - dir = 8 - }, -/obj/machinery/photocopier, -/turf/open/floor/plasteel, -/area/science/research{ - name = "Research Sector" - }) +/turf/closed/wall/r_wall, +/area/science/research) "bYs" = ( /obj/machinery/door/firedoor, /obj/effect/mapping_helpers/airlock/cyclelink_helper{ @@ -48258,41 +47592,36 @@ /turf/open/floor/plating, /area/maintenance/starboard/aft) "bYu" = ( +/obj/structure/chair/sofa/right, /obj/effect/turf_decal/tile/purple{ dir = 1 }, /obj/effect/turf_decal/tile/purple{ dir = 8 }, -/obj/structure/disposalpipe/junction/flip{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden{ +/obj/effect/turf_decal/tile/purple{ dir = 4 }, +/obj/item/book/manual/wiki/research_and_development, +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 10 + }, /turf/open/floor/plasteel, -/area/science/research{ - name = "Research Sector" - }) +/area/science/research) "bYv" = ( /turf/closed/wall, /area/science/robotics/mechbay) "bYw" = ( +/obj/structure/chair/sofa/left, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, /obj/effect/turf_decal/tile/purple{ dir = 4 }, -/obj/effect/turf_decal/tile/purple, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden{ - dir = 10 - }, +/obj/effect/landmark/start/scientist, /turf/open/floor/plasteel, -/area/science/research{ - name = "Research Sector" - }) +/area/science/research) "bYx" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -48321,21 +47650,16 @@ /turf/open/floor/plasteel/white, /area/science/xenobiology) "bYA" = ( +/obj/machinery/disposal/bin, /obj/effect/turf_decal/tile/purple{ dir = 1 }, /obj/effect/turf_decal/tile/purple{ - dir = 8 + dir = 4 }, -/obj/structure/disposalpipe/segment, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/obj/structure/disposalpipe/trunk, /turf/open/floor/plasteel, -/area/science/research{ - name = "Research Sector" - }) +/area/science/research) "bYB" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -48379,20 +47703,15 @@ /turf/open/floor/circuit/green, /area/science/robotics/mechbay) "bYG" = ( -/obj/effect/turf_decal/tile/red{ - dir = 8 - }, -/obj/effect/turf_decal/tile/red{ +/obj/machinery/vending/coffee, +/obj/effect/turf_decal/tile/purple{ dir = 1 }, -/obj/structure/window/reinforced/spawner/west, -/obj/machinery/sleeper{ +/obj/effect/turf_decal/tile/purple{ dir = 4 }, -/turf/open/floor/plasteel/white, -/area/medical/medbay/zone2{ - name = "Medbay Treatment Center" - }) +/turf/open/floor/plasteel, +/area/science/research) "bYH" = ( /obj/structure/sign/poster/contraband/kss13{ pixel_y = -32 @@ -48429,17 +47748,10 @@ /area/medical/medbay/lobby) "bYL" = ( /obj/effect/turf_decal/tile/purple{ - dir = 4 + dir = 1 }, -/obj/effect/turf_decal/tile/purple, -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden, /turf/open/floor/plasteel, -/area/science/research{ - name = "Research Sector" - }) +/area/science/research) "bYM" = ( /obj/machinery/vending/wardrobe/cargo_wardrobe, /obj/effect/turf_decal/delivery, @@ -48504,32 +47816,29 @@ /turf/open/space/basic, /area/solar/starboard/aft) "bYS" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/science/server{ - name = "Computer Core" - }) +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/science/research) "bYT" = ( -/obj/effect/turf_decal/tile/green{ - dir = 8 +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "1-2" }, -/obj/effect/turf_decal/tile/green, -/obj/effect/turf_decal/tile/green{ - dir = 1 +/obj/machinery/atmospherics/pipe/manifold/cyan/hidden{ + dir = 4 }, /turf/open/floor/plasteel, -/area/science/server{ - name = "Computer Core" - }) +/area/science/research) "bYU" = ( -/obj/effect/turf_decal/tile/green{ - dir = 8 +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 4 }, -/obj/effect/turf_decal/tile/green, +/obj/machinery/atmospherics/pipe/simple/orange/hidden, /turf/open/floor/plasteel, -/area/science/server{ - name = "Computer Core" - }) +/area/science/research) "bYV" = ( /obj/machinery/rnd/destructive_analyzer, /obj/machinery/airalarm{ @@ -48546,85 +47855,82 @@ /turf/open/floor/plasteel, /area/hallway/primary/aft) "bYX" = ( -/obj/effect/turf_decal/tile/green{ - dir = 8 - }, -/obj/effect/turf_decal/tile/green, -/obj/effect/turf_decal/tile/green{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/science/server{ - name = "Computer Core" - }) +/obj/structure/sign/poster/official/anniversary_vintage_reprint, +/turf/closed/wall/r_wall, +/area/science/research) "bYY" = ( -/turf/open/floor/circuit/green, -/area/science/server{ - name = "Computer Core" - }) -"bYZ" = ( -/obj/structure/disposalpipe/segment, -/turf/open/floor/circuit/green, -/area/science/server{ - name = "Computer Core" - }) -"bZa" = ( -/obj/structure/table, -/obj/effect/turf_decal/tile/green, -/obj/effect/turf_decal/tile/green{ +/obj/effect/turf_decal/tile/purple{ dir = 1 }, -/obj/effect/turf_decal/tile/green{ +/obj/effect/turf_decal/tile/purple{ dir = 8 }, -/obj/effect/turf_decal/tile/green{ +/obj/machinery/firealarm{ + dir = 4; + pixel_x = -28 + }, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/turf/open/floor/plasteel, +/area/science/research) +"bYZ" = ( +/obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/item/storage/box/disks, /turf/open/floor/plasteel, -/area/science/server{ - name = "Computer Core" - }) +/area/science/research) +"bZa" = ( +/obj/structure/disposalpipe/junction/flip{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/science/research) "bZb" = ( -/obj/structure/table, -/obj/machinery/button/door{ - id = "RDServer"; - layer = 3.6; - name = "RD Server Lockup Control"; - pixel_x = -24 - }, -/obj/item/circuitboard/machine/rdserver, -/obj/item/disk/tech_disk, -/turf/open/floor/circuit/green, -/area/science/server{ - name = "Computer Core" - }) -"bZc" = ( -/obj/machinery/computer/robotics{ - dir = 1 - }, -/obj/machinery/light, /obj/structure/disposalpipe/segment, -/turf/open/floor/circuit/green, -/area/science/server{ - name = "Computer Core" - }) +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden, +/turf/open/floor/plasteel, +/area/science/research) +"bZc" = ( +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/turf/open/floor/plasteel, +/area/science/research) "bZd" = ( /obj/effect/landmark/blobstart, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/quartermaster/warehouse) "bZe" = ( -/obj/structure/grille, -/obj/structure/disposalpipe/segment, -/obj/structure/cable, -/obj/structure/cable{ - icon_state = "0-2" +/obj/structure/closet/l3closet/scientist, +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 4 }, -/turf/open/floor/plating, -/area/science/server{ - name = "Computer Core" - }) +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/science/research) "bZf" = ( /obj/machinery/atmospherics/pipe/simple/general/visible, /obj/structure/cable{ @@ -48853,35 +48159,27 @@ /area/science/xenobiology) "bZE" = ( /obj/effect/turf_decal/tile/purple{ - dir = 4 + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 8 }, -/obj/effect/turf_decal/tile/purple, /obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden, +/obj/machinery/atmospherics/pipe/manifold/orange/hidden{ + dir = 8 + }, /turf/open/floor/plasteel, -/area/science/research{ - name = "Research Sector" - }) +/area/science/research) "bZF" = ( /turf/open/floor/wood, /area/library) "bZG" = ( -/obj/effect/turf_decal/tile/purple{ - dir = 1 +/obj/effect/turf_decal/tile/purple, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 8 }, -/obj/structure/sign/warning/fire{ - pixel_x = -32; - pixel_y = 32 - }, -/obj/structure/disposalpipe/segment, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, /turf/open/floor/plasteel, -/area/science/research{ - name = "Research Sector" - }) +/area/science/research) "bZH" = ( /turf/closed/wall, /area/library) @@ -49452,24 +48750,22 @@ /turf/open/floor/engine, /area/science/explab) "cbf" = ( -/obj/effect/turf_decal/tile/red, -/obj/effect/turf_decal/tile/red{ - dir = 4 - }, -/obj/structure/window/reinforced/spawner/east, -/obj/machinery/sleeper{ +/obj/effect/turf_decal/tile/purple{ dir = 8 }, -/turf/open/floor/plasteel/white, -/area/medical/medbay/zone2{ - name = "Medbay Treatment Center" - }) +/obj/effect/turf_decal/tile/purple, +/obj/machinery/light, +/obj/item/kirbyplants{ + icon_state = "plant-16" + }, +/turf/open/floor/plasteel, +/area/science/research) "cbg" = ( /obj/machinery/portable_atmospherics/canister/nitrogen, /turf/open/floor/engine, /area/science/storage) "cbh" = ( -/obj/machinery/rnd/experimentor, +/obj/effect/landmark/event_spawn, /turf/open/floor/engine, /area/science/explab) "cbi" = ( @@ -49487,14 +48783,15 @@ /turf/open/floor/plating, /area/crew_quarters/heads/captain) "cbj" = ( -/obj/structure/cable{ - icon_state = "1-8" +/obj/structure/chair{ + dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/supplymain/hidden, -/turf/closed/wall/r_wall, -/area/science/server{ - name = "Computer Core" - }) +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple, +/turf/open/floor/plasteel, +/area/science/research) "cbk" = ( /obj/structure/table, /obj/item/paper_bin, @@ -49646,11 +48943,14 @@ /turf/open/floor/plating, /area/ai_monitored/storage/eva) "cbB" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/science/misc_lab{ - name = "Research Observatory" - }) +/obj/structure/table, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple, +/obj/item/modular_computer/laptop/preset/civilian, +/turf/open/floor/plasteel, +/area/science/research) "cbC" = ( /obj/machinery/portable_atmospherics/canister/nitrous_oxide, /obj/effect/turf_decal/stripes/line{ @@ -49659,18 +48959,28 @@ /turf/open/floor/engine, /area/science/storage) "cbD" = ( -/obj/effect/turf_decal/tile/neutral{ +/obj/structure/chair{ dir = 8 }, -/turf/open/floor/plasteel/dark, -/area/science/misc_lab{ - name = "Research Observatory" - }) +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple, +/turf/open/floor/plasteel, +/area/science/research) "cbE" = ( -/turf/closed/wall/r_wall, -/area/science/misc_lab{ - name = "Research Observatory" - }) +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple, +/obj/machinery/light, +/obj/machinery/disposal/bin, +/obj/effect/turf_decal/stripes/white/full, +/obj/structure/disposalpipe/trunk{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/science/research) "cbF" = ( /obj/machinery/atmospherics/pipe/simple/cyan/hidden{ dir = 6 @@ -49721,22 +49031,19 @@ /turf/open/floor/plasteel, /area/engine/atmos) "cbJ" = ( -/obj/structure/table/reinforced, -/obj/item/analyzer, -/obj/item/t_scanner, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/structure/disposalpipe/sorting/mail/flip{ + dir = 1; + sortType = 24 + }, /obj/structure/cable{ - icon_state = "0-8" + icon_state = "1-2" }, -/obj/machinery/power/apc{ - areastring = "/area/engine/supermatter"; - dir = 4; - name = "Thermo-Electric Generator APC"; - pixel_x = 24 - }, -/turf/open/floor/engine, -/area/engine/supermatter{ - name = "Thermo-Electric Generator" - }) +/obj/machinery/atmospherics/pipe/simple/cyan/hidden, +/turf/open/floor/plasteel, +/area/science/research) "cbK" = ( /obj/effect/turf_decal/tile/yellow{ dir = 4 @@ -49811,6 +49118,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden{ + dir = 4 + }, /turf/open/floor/plasteel, /area/science/mixing) "cbQ" = ( @@ -49828,6 +49138,20 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/central) +"cbS" = ( +/obj/structure/closet/l3closet/scientist, +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/science/research) "cbT" = ( /obj/machinery/atmospherics/pipe/simple/supplymain/visible{ dir = 4 @@ -49859,18 +49183,24 @@ /turf/open/floor/plasteel/dark, /area/engine/atmos) "cbV" = ( -/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/structure/disposalpipe/junction/flip{ + dir = 1 + }, /obj/structure/cable{ - icon_state = "1-4" + icon_state = "2-8" }, -/obj/structure/window/reinforced/spawner, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 5 +/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden{ + dir = 4 }, -/turf/open/floor/plasteel/dark, -/area/science/server{ - name = "Computer Core" - }) +/turf/open/floor/plasteel, +/area/science/research) "cbW" = ( /obj/machinery/disposal/deliveryChute{ dir = 8 @@ -49888,19 +49218,15 @@ /turf/open/floor/circuit, /area/bridge) "cbY" = ( -/obj/machinery/light_switch{ - pixel_y = 24 +/obj/effect/turf_decal/tile/purple{ + dir = 4 }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ +/obj/effect/turf_decal/tile/purple, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden{ dir = 10 }, -/turf/open/floor/plasteel/dark, -/area/science/server{ - name = "Computer Core" - }) +/turf/open/floor/plasteel, +/area/science/research) "cbZ" = ( /obj/machinery/computer/slot_machine, /obj/structure/window/reinforced/spawner/west, @@ -50129,11 +49455,17 @@ /turf/open/floor/plasteel, /area/hallway/primary/aft) "ccx" = ( -/obj/machinery/atmospherics/pipe/simple/cyan/hidden{ - dir = 4 +/obj/structure/table/glass, +/obj/item/reagent_containers/food/drinks/coffee, +/obj/item/pen/blue, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 8 }, /turf/open/floor/plasteel, -/area/hallway/secondary/exit) +/area/hallway/secondary/exit/departure_lounge) "ccy" = ( /obj/structure/plasticflaps, /obj/machinery/conveyor/auto{ @@ -50264,20 +49596,27 @@ }, /turf/open/floor/plating, /area/maintenance/disposal) +"ccJ" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/science/research) "ccK" = ( -/obj/machinery/atmospherics/pipe/simple/cyan/hidden{ +/obj/structure/table/glass, +/obj/item/storage/toolbox/emergency, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ dir = 9 }, /turf/open/floor/plasteel, -/area/hallway/secondary/exit) +/area/hallway/secondary/exit/departure_lounge) "ccL" = ( -/obj/effect/landmark/event_spawn, -/obj/machinery/light{ - dir = 8; - light_color = "#e8eaff" +/obj/effect/turf_decal/stripes/line, +/obj/machinery/computer/rdconsole/experiment{ + dir = 1 }, -/obj/machinery/rnd/bepis, -/turf/open/floor/engine, +/turf/open/floor/plasteel, /area/science/explab) "ccM" = ( /obj/structure/disposalpipe/segment{ @@ -50371,14 +49710,19 @@ /turf/open/floor/plasteel, /area/quartermaster/warehouse) "ccX" = ( -/obj/effect/turf_decal/loading_area{ - dir = 4 +/obj/effect/turf_decal/tile/purple{ + dir = 8 }, -/obj/machinery/atmospherics/pipe/manifold/orange/hidden{ - dir = 4 +/obj/effect/turf_decal/tile/purple{ + dir = 1 }, +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden, /turf/open/floor/plasteel, -/area/quartermaster/storage) +/area/science/research) "ccY" = ( /obj/structure/cable, /obj/effect/landmark/start/librarian, @@ -50430,9 +49774,21 @@ /turf/open/floor/plating, /area/hallway/secondary/entry) "cdd" = ( -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plating, -/area/hallway/secondary/exit) +/obj/structure/table/glass, +/obj/item/paper_bin, +/obj/item/pen, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/camera{ + c_tag = "Escape Hall - Fore"; + dir = 1 + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) "cde" = ( /obj/machinery/light{ dir = 1 @@ -50441,21 +49797,22 @@ /turf/open/floor/mineral/titanium/blue, /area/hallway/primary/central) "cdf" = ( -/obj/effect/turf_decal/tile/green{ - dir = 8 +/obj/structure/table, +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 4 }, -/obj/effect/turf_decal/tile/green{ +/obj/effect/turf_decal/tile/purple{ dir = 1 }, -/obj/machinery/light{ - dir = 1; - light_color = "#e8eaff" +/obj/effect/turf_decal/tile/purple{ + dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/supplymain/hidden, +/obj/item/paper_bin, +/obj/item/radio/headset/headset_sci, +/obj/item/radio/headset/headset_sci, /turf/open/floor/plasteel, -/area/science/server{ - name = "Computer Core" - }) +/area/science/research) "cdg" = ( /obj/structure/cable{ icon_state = "4-8" @@ -50463,13 +49820,8 @@ /turf/open/floor/plasteel, /area/engine/break_room) "cdh" = ( -/obj/machinery/airalarm{ - pixel_y = 24 - }, -/turf/open/floor/plasteel, -/area/science/server{ - name = "Computer Core" - }) +/turf/closed/wall/r_wall, +/area/crew_quarters/toilet/restrooms) "cdi" = ( /obj/machinery/disposal/deliveryChute, /obj/structure/disposalpipe/trunk{ @@ -50529,14 +49881,15 @@ /turf/open/floor/plasteel, /area/engine/break_room) "cdn" = ( +/obj/structure/table/glass, +/obj/item/clipboard, +/obj/item/storage/crayons, +/obj/machinery/atmospherics/pipe/manifold/cyan/hidden, /obj/structure/cable{ - icon_state = "1-4" + icon_state = "4-8" }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, /turf/open/floor/plasteel, -/area/science/server{ - name = "Computer Core" - }) +/area/hallway/secondary/exit/departure_lounge) "cdo" = ( /obj/structure/grille, /obj/structure/disposalpipe/segment{ @@ -50856,7 +50209,7 @@ /area/router/eng) "cdV" = ( /turf/closed/wall/r_wall, -/area/engine/teg_hot) +/area/engine/teg/hotloop) "cdW" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/simple/orange/hidden{ @@ -51054,7 +50407,7 @@ icon_state = "1-2" }, /turf/closed/wall/r_wall/rust, -/area/engine/teg_hot) +/area/engine/teg/hotloop) "cer" = ( /obj/structure/window/reinforced/spawner/east, /obj/machinery/mass_driver{ @@ -51078,19 +50431,33 @@ icon_state = "1-2" }, /turf/closed/wall/r_wall, -/area/engine/teg_hot) +/area/engine/teg/hotloop) "ceu" = ( -/obj/machinery/vending/snack/random, -/turf/open/floor/carpet/blue, -/area/crew_quarters/abandoned_gambling_den{ - name = "Arcade" - }) +/obj/structure/table/glass, +/obj/item/storage/fancy/cigarettes, +/obj/item/lighter{ + pixel_x = 6 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) "cev" = ( -/obj/machinery/vending/games, -/turf/open/floor/carpet/blue, -/area/crew_quarters/abandoned_gambling_den{ - name = "Arcade" - }) +/obj/structure/chair{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) "cew" = ( /obj/structure/window/reinforced/spawner/east, /obj/machinery/conveyor/auto{ @@ -51101,92 +50468,63 @@ /turf/open/floor/plating, /area/router/eng) "cex" = ( -/obj/effect/spawner/structure/window, -/turf/open/floor/plating, -/area/crew_quarters/abandoned_gambling_den{ - name = "Arcade" - }) +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) "cey" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/public/glass{ - name = "Arcade" +/obj/effect/turf_decal/tile/purple{ + dir = 1 }, -/turf/open/floor/carpet/blue, -/area/crew_quarters/abandoned_gambling_den{ - name = "Arcade" - }) +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/turf/open/floor/plasteel, +/area/science/research) "cez" = ( -/obj/structure/table, -/obj/effect/turf_decal/tile/red, -/obj/effect/turf_decal/tile/red{ - dir = 8 - }, -/obj/effect/turf_decal/tile/red{ +/obj/effect/turf_decal/tile/purple{ dir = 4 }, -/obj/effect/turf_decal/tile/red{ - dir = 1 +/obj/effect/turf_decal/tile/purple, +/obj/structure/disposalpipe/segment{ + dir = 6 }, -/obj/item/storage/firstaid/fire{ - pixel_x = 2; - pixel_y = 4 - }, -/obj/item/storage/firstaid/fire{ - pixel_x = 2; - pixel_y = 4 - }, -/obj/item/storage/firstaid/fire{ - pixel_x = 2; - pixel_y = 4 - }, -/obj/item/storage/firstaid/brute, -/obj/item/storage/firstaid/brute, -/obj/item/storage/firstaid/brute, -/obj/item/clothing/glasses/hud/health, -/turf/open/floor/plasteel/white, -/area/medical/medbay/zone2{ - name = "Medbay Treatment Center" - }) +/obj/machinery/atmospherics/pipe/simple/cyan/hidden, +/turf/open/floor/plasteel, +/area/science/research) "ceA" = ( -/obj/structure/table, -/obj/effect/turf_decal/tile/red, -/obj/effect/turf_decal/tile/red{ - dir = 8 - }, -/obj/effect/turf_decal/tile/red{ - dir = 1 - }, -/obj/item/storage/firstaid/toxin{ - pixel_x = 2; - pixel_y = 4 - }, -/obj/item/storage/firstaid/toxin{ - pixel_x = 2; - pixel_y = 4 - }, -/obj/item/storage/firstaid/toxin{ - pixel_x = 2; - pixel_y = 4 - }, -/obj/item/storage/firstaid/o2, -/obj/item/storage/firstaid/o2, -/obj/item/storage/firstaid/o2, -/turf/open/floor/plasteel/white, -/area/medical/medbay/zone2{ - name = "Medbay Treatment Center" - }) -"ceB" = ( -/obj/effect/turf_decal/tile/red, -/obj/effect/turf_decal/tile/red{ +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/effect/turf_decal/tile/red{ +/turf/open/floor/plating, +/area/science/research) +"ceB" = ( +/obj/effect/turf_decal/tile/purple{ dir = 8 }, -/turf/open/floor/plasteel/white, -/area/medical/medbay/zone2{ - name = "Medbay Treatment Center" - }) +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/structure/disposalpipe/segment, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden, +/turf/open/floor/plasteel, +/area/science/research) "ceC" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/simple/cyan/hidden, @@ -51340,7 +50678,7 @@ }, /obj/effect/turf_decal/stripes/line, /turf/open/floor/engine/vacuum, -/area/engine/teg_hot) +/area/engine/teg/hotloop) "ceS" = ( /obj/structure/closet/crate, /obj/effect/spawner/lootdrop/maintenance{ @@ -51426,7 +50764,7 @@ dir = 6 }, /turf/open/floor/engine/vacuum, -/area/engine/teg_hot) +/area/engine/teg/hotloop) "cfb" = ( /obj/machinery/light{ dir = 8 @@ -51477,7 +50815,7 @@ dir = 10 }, /turf/open/floor/engine/vacuum, -/area/engine/teg_hot) +/area/engine/teg/hotloop) "cfg" = ( /obj/structure/chair{ dir = 8 @@ -51497,39 +50835,71 @@ /turf/open/floor/plasteel/dark, /area/crew_quarters/heads/hor) "cfh" = ( -/obj/structure/disposalpipe/segment, +/obj/structure/table, +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/machinery/recharger, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, /turf/open/floor/plasteel, -/area/engine/engine_smes{ - name = "Power Monitoring" - }) +/area/science/research) "cfi" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/cyan/hidden{ + dir = 1 + }, /turf/open/floor/plasteel, -/area/engine/engine_smes{ - name = "Power Monitoring" - }) +/area/hallway/secondary/exit/departure_lounge) "cfj" = ( -/obj/machinery/light, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/orange/hidden, /turf/open/floor/plasteel, -/area/engine/engine_smes{ - name = "Power Monitoring" - }) +/area/hallway/secondary/exit/departure_lounge) "cfk" = ( -/obj/structure/closet/secure_closet/engineering_electrical, -/turf/open/floor/plasteel, -/area/engine/engine_smes{ - name = "Power Monitoring" - }) +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/maintenance{ + name = "Starboard Quarter Maintenance"; + req_one_access_txt = "12;48" + }, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/hallway/secondary/exit/departure_lounge) "cfl" = ( -/turf/closed/wall, -/area/engine/engine_smes{ - name = "Power Monitoring" - }) +/obj/machinery/light{ + dir = 8 + }, +/obj/structure/sign/warning/pods{ + pixel_x = -32 + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) "cfm" = ( -/obj/structure/sign/warning/electricshock, -/turf/closed/wall, -/area/engine/engine_smes{ - name = "Power Monitoring" - }) +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) "cfn" = ( /obj/structure/cable{ icon_state = "1-2" @@ -51542,13 +50912,13 @@ "cfo" = ( /obj/machinery/atmospherics/pipe/heat_exchanging/simple, /turf/open/floor/engine/vacuum, -/area/engine/teg_hot) +/area/engine/teg/hotloop) "cfp" = ( /obj/machinery/atmospherics/pipe/heat_exchanging/junction{ dir = 1 }, /turf/open/floor/engine/vacuum, -/area/engine/teg_hot) +/area/engine/teg/hotloop) "cfq" = ( /obj/structure/lattice/catwalk, /turf/open/floor/plating/airless, @@ -51566,7 +50936,7 @@ }, /obj/machinery/door/firedoor/heavy, /turf/open/floor/plating, -/area/engine/teg_hot) +/area/engine/teg/hotloop) "cfs" = ( /obj/machinery/atmospherics/pipe/simple/orange/visible, /obj/machinery/atmospherics/pipe/simple/cyan/visible{ @@ -51586,72 +50956,49 @@ dir = 4 }, /turf/open/floor/plating, -/area/engine/teg_hot) +/area/engine/teg/hotloop) "cfu" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ dir = 4 }, /turf/closed/wall/r_wall, -/area/engine/teg_hot) +/area/engine/teg/hotloop) "cfv" = ( -/obj/effect/turf_decal/delivery, -/obj/machinery/portable_atmospherics/canister/toxins, -/obj/machinery/firealarm{ - pixel_y = 26 - }, -/obj/effect/decal/cleanable/cobweb, -/turf/open/floor/plasteel, -/area/engine/storage{ - name = "Canister Storage" - }) -"cfw" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/camera{ - c_tag = "Engineering Construction Area"; - dir = 4 - }, -/obj/structure/reagent_dispensers/watertank, -/obj/machinery/firealarm{ - dir = 4; - pixel_x = -28 - }, -/turf/open/floor/plasteel, -/area/engine/secure_construction{ - name = "Engineering Construction Area" - }) -"cfx" = ( -/obj/effect/turf_decal/stripes/line{ +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ dir = 8 }, -/obj/machinery/airalarm{ - dir = 8; - pixel_x = 23 - }, -/obj/machinery/portable_atmospherics/scrubber, -/turf/open/floor/plasteel, -/area/engine/secure_construction{ - name = "Engineering Construction Area" - }) -"cfy" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 +/turf/closed/wall/r_wall, +/area/engine/secure_construction) +"cfw" = ( +/obj/machinery/door/airlock/engineering{ + name = "Canister Storage"; + req_one_access_txt = "10;24" }, /obj/structure/cable{ - icon_state = "0-2" + icon_state = "4-8" }, -/obj/machinery/power/terminal{ +/obj/machinery/door/firedoor/heavy, +/obj/effect/turf_decal/delivery, +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/engine/storage) +"cfx" = ( +/obj/effect/turf_decal/stripes/line{ dir = 1 }, -/turf/open/floor/plating, -/area/engine/storage_shared{ - name = "Electrical Substation" - }) +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/engine/storage) +"cfy" = ( +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) "cfz" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable{ @@ -51666,19 +51013,19 @@ dir = 5 }, /turf/open/floor/engine/vacuum, -/area/engine/teg_hot) +/area/engine/teg/hotloop) "cfB" = ( /obj/machinery/atmospherics/pipe/heat_exchanging/simple{ dir = 9 }, /turf/open/floor/engine/vacuum, -/area/engine/teg_hot) +/area/engine/teg/hotloop) "cfC" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 5 }, /turf/open/floor/engine/vacuum, -/area/engine/teg_hot) +/area/engine/teg/hotloop) "cfD" = ( /obj/structure/lattice, /obj/machinery/atmospherics/pipe/simple/supplymain/visible{ @@ -51692,13 +51039,13 @@ dir = 9 }, /turf/closed/wall/r_wall, -/area/engine/teg_hot) +/area/engine/teg/hotloop) "cfF" = ( /obj/structure/cable{ icon_state = "1-2" }, /turf/open/floor/plating, -/area/engine/teg_hot) +/area/engine/teg/hotloop) "cfG" = ( /obj/machinery/door/airlock/highsecurity{ name = "Secure Tech Storage"; @@ -51715,7 +51062,7 @@ }, /obj/machinery/atmospherics/components/unary/outlet_injector/on, /turf/open/floor/engine/vacuum, -/area/engine/teg_hot) +/area/engine/teg/hotloop) "cfI" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -51727,13 +51074,13 @@ /obj/effect/decal/cleanable/ash, /obj/effect/decal/remains/human, /turf/open/floor/engine/vacuum, -/area/engine/teg_hot) +/area/engine/teg/hotloop) "cfJ" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /turf/closed/wall/r_wall, -/area/engine/teg_hot) +/area/engine/teg/hotloop) "cfK" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ dir = 10 @@ -51742,32 +51089,23 @@ icon_state = "1-2" }, /turf/open/floor/plating, -/area/engine/teg_hot) +/area/engine/teg/hotloop) "cfL" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/corner, +/obj/structure/cable{ + icon_state = "2-4" + }, /obj/structure/cable{ icon_state = "4-8" }, -/obj/structure/disposalpipe/segment{ - dir = 4 +/obj/machinery/atmospherics/pipe/manifold/orange/hidden{ + dir = 1 }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/door/airlock/atmos{ - name = "Atmospherics Access"; - req_access_txt = "24" - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 8 - }, -/obj/machinery/door/firedoor, /turf/open/floor/plasteel, -/area/engine/storage{ - name = "Canister Storage" - }) +/area/engine/storage) "cfM" = ( /obj/structure/cable{ icon_state = "2-8" @@ -51877,7 +51215,7 @@ /obj/structure/window/plasma/reinforced/spawner, /obj/structure/lattice, /turf/open/space/basic, -/area/engine/teg_hot) +/area/engine/teg/hotloop) "cfX" = ( /obj/item/pipe, /obj/structure/cable{ @@ -51897,14 +51235,14 @@ /turf/open/floor/plating, /area/quartermaster/warehouse) "cfZ" = ( -/obj/machinery/light{ - dir = 4; - light_color = "#c1caff" +/obj/effect/turf_decal/tile/purple{ + dir = 4 }, -/turf/open/floor/plasteel/stairs/right, -/area/science/research{ - name = "Research Sector" - }) +/obj/effect/turf_decal/tile/purple, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden, +/turf/open/floor/plasteel, +/area/science/research) "cga" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable{ @@ -51925,7 +51263,7 @@ }, /obj/machinery/door/firedoor/heavy, /turf/open/floor/plating, -/area/engine/teg_hot) +/area/engine/teg/hotloop) "cgc" = ( /obj/effect/turf_decal/tile/yellow{ dir = 4 @@ -52008,7 +51346,7 @@ }, /obj/machinery/meter, /turf/closed/wall/r_wall, -/area/engine/teg_hot) +/area/engine/teg/hotloop) "cgj" = ( /obj/machinery/conveyor/auto{ id = "cargo" @@ -52036,7 +51374,7 @@ name = "atmos mix to burn" }, /turf/open/floor/plasteel/dark, -/area/engine/teg_hot) +/area/engine/teg/hotloop) "cgm" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ @@ -52062,7 +51400,7 @@ "cgo" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/visible, /turf/open/floor/plasteel/dark, -/area/engine/teg_hot) +/area/engine/teg/hotloop) "cgp" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ dir = 10 @@ -52073,7 +51411,7 @@ pixel_y = 24 }, /turf/open/floor/plasteel/dark, -/area/engine/teg_hot) +/area/engine/teg/hotloop) "cgq" = ( /obj/structure/disposalpipe/segment, /obj/effect/decal/cleanable/dirt, @@ -52109,8 +51447,8 @@ /area/quartermaster/warehouse) "cgt" = ( /obj/structure/rack, -/obj/item/caution, -/obj/item/caution, +/obj/item/clothing/suit/caution, +/obj/item/clothing/suit/caution, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel, /area/quartermaster/warehouse) @@ -52123,7 +51461,7 @@ light_color = "#ffc1c1" }, /turf/open/floor/plasteel/dark, -/area/engine/teg_hot) +/area/engine/teg/hotloop) "cgv" = ( /obj/structure/disposalpipe/segment{ dir = 6 @@ -52144,7 +51482,7 @@ icon_state = "1-2" }, /turf/open/floor/plasteel/dark, -/area/engine/teg_hot) +/area/engine/teg/hotloop) "cgx" = ( /obj/structure/cable{ icon_state = "1-2" @@ -52192,7 +51530,6 @@ /obj/structure/disposalpipe/segment{ dir = 10 }, -/obj/structure/cable, /obj/structure/cable{ icon_state = "0-2" }, @@ -52204,7 +51541,7 @@ "cgD" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, -/area/engine/teg_hot) +/area/engine/teg/hotloop) "cgE" = ( /obj/structure/reagent_dispensers/fueltank, /obj/machinery/light{ @@ -52216,131 +51553,116 @@ /turf/open/floor/plasteel, /area/quartermaster/storage) "cgF" = ( -/obj/structure/grille, -/obj/structure/window/reinforced/spawner/north, -/obj/structure/cable{ - icon_state = "0-4" - }, -/turf/open/floor/plating, -/area/science/server{ - name = "Computer Core" - }) +/obj/machinery/vending/wardrobe/science_wardrobe, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel, +/area/science/research) "cgG" = ( -/obj/structure/grille, -/obj/structure/window/reinforced/spawner/north, -/obj/structure/cable, -/obj/structure/cable{ - icon_state = "0-8" +/obj/machinery/light{ + dir = 4; + light_color = "#c1caff" }, +/obj/effect/turf_decal/tile/red, /obj/structure/cable{ - icon_state = "0-4" + icon_state = "1-2" }, -/turf/open/floor/plating, -/area/science/server{ - name = "Computer Core" - }) +/turf/open/floor/plasteel/white/corner{ + dir = 4 + }, +/area/hallway/secondary/exit/departure_lounge) "cgH" = ( -/obj/structure/cable{ - icon_state = "2-8" - }, -/turf/closed/wall/r_wall, -/area/science/server{ - name = "Computer Core" - }) +/obj/structure/sign/poster/official/get_your_legs, +/turf/closed/wall, +/area/hallway/secondary/exit/departure_lounge) "cgI" = ( -/obj/structure/cable{ - icon_state = "2-4" - }, -/turf/closed/wall/r_wall, -/area/science/server{ - name = "Computer Core" - }) +/obj/machinery/status_display, +/turf/closed/wall, +/area/hallway/secondary/exit/departure_lounge) "cgJ" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/closed/wall/r_wall, -/area/science/server{ - name = "Computer Core" - }) +/obj/structure/sign/poster/official/help_others, +/turf/closed/wall, +/area/hallway/secondary/exit/departure_lounge) "cgK" = ( -/obj/structure/cable{ - icon_state = "1-8" +/obj/effect/turf_decal/tile/purple{ + dir = 8 }, -/turf/closed/wall/r_wall, -/area/science/server{ - name = "Computer Core" - }) -"cgL" = ( -/obj/machinery/computer/rdservercontrol{ +/obj/effect/turf_decal/tile/purple{ dir = 1 }, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, /obj/machinery/light{ dir = 8 }, -/obj/structure/window/reinforced/spawner, -/turf/open/floor/plasteel/dark, -/area/science/server{ - name = "Computer Core" - }) -"cgM" = ( -/obj/effect/turf_decal/stripes/line{ +/obj/machinery/photocopier, +/turf/open/floor/plasteel, +/area/science/research) +"cgL" = ( +/obj/effect/turf_decal/tile/purple{ dir = 1 }, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plasteel, -/area/science/server{ - name = "Computer Core" - }) -"cgN" = ( -/obj/structure/cable{ - icon_state = "1-2" +/obj/structure/sign/warning/fire{ + pixel_x = -32; + pixel_y = 32 }, -/turf/closed/wall/r_wall, -/area/science/server{ - name = "Computer Core" - }) -"cgO" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/closed/wall/r_wall, -/area/science/server{ - name = "Computer Core" - }) -"cgP" = ( -/obj/structure/cable{ - icon_state = "1-4" - }, -/turf/closed/wall/r_wall, -/area/science/server{ - name = "Computer Core" - }) -"cgQ" = ( -/obj/effect/spawner/structure/window/reinforced, /obj/structure/disposalpipe/segment, /obj/structure/cable{ - icon_state = "0-2" + icon_state = "1-2" }, -/obj/structure/cable{ - icon_state = "0-8" +/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/turf/open/floor/plasteel, +/area/science/research) +"cgM" = ( +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 4 }, -/obj/structure/cable{ - icon_state = "0-4" +/obj/structure/extinguisher_cabinet{ + pixel_x = 26 }, -/turf/open/floor/plating, -/area/science/server{ - name = "Computer Core" - }) +/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/turf/open/floor/plasteel, +/area/science/research) +"cgN" = ( +/obj/machinery/light{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/turf/open/floor/plasteel/white/corner{ + dir = 8 + }, +/area/hallway/secondary/exit/departure_lounge) +"cgO" = ( +/obj/machinery/atmospherics/pipe/simple/cyan/hidden, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"cgP" = ( +/obj/machinery/light{ + dir = 4; + light_color = "#c1caff" + }, +/obj/structure/sign/warning/pods{ + pixel_x = 32 + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"cgQ" = ( +/obj/structure/sign/poster/official/safety_internals{ + pixel_x = -32 + }, +/obj/effect/turf_decal/stripes/line, +/obj/effect/decal/cleanable/cobweb, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) "cgR" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ dir = 6 }, /turf/open/floor/plasteel/dark, -/area/engine/teg_hot) +/area/engine/teg/hotloop) "cgS" = ( /obj/machinery/atmospherics/components/trinary/mixer{ dir = 4; @@ -52350,7 +51672,7 @@ target_pressure = 4500 }, /turf/open/floor/plasteel/dark, -/area/engine/teg_hot) +/area/engine/teg/hotloop) "cgT" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/disposalpipe/segment, @@ -52363,22 +51685,15 @@ name = "manual mix to burn" }, /turf/open/floor/plasteel/dark, -/area/engine/teg_hot) +/area/engine/teg/hotloop) "cgV" = ( -/obj/structure/reagent_dispensers/water_cooler, -/obj/effect/turf_decal/tile/purple{ - dir = 8 - }, -/obj/effect/turf_decal/tile/purple{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 8 +/obj/effect/turf_decal/stripes/line, +/obj/machinery/light/small{ + dir = 1; + light_color = "#ffc1c1" }, /turf/open/floor/plasteel, -/area/science/research{ - name = "Research Sector" - }) +/area/hallway/secondary/exit/departure_lounge) "cgW" = ( /obj/docking_port/stationary{ dir = 4; @@ -52432,7 +51747,7 @@ icon_state = "2-4" }, /turf/open/floor/plasteel/dark, -/area/engine/teg_hot) +/area/engine/teg/hotloop) "chc" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -52476,7 +51791,7 @@ icon_state = "4-8" }, /turf/open/floor/plasteel/dark, -/area/engine/teg_hot) +/area/engine/teg/hotloop) "chh" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on, /turf/open/floor/plating, @@ -52494,28 +51809,42 @@ icon_state = "1-8" }, /turf/open/floor/plasteel/dark, -/area/engine/teg_hot) +/area/engine/teg/hotloop) "chk" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ dir = 10 }, /turf/closed/wall/r_wall, -/area/engine/teg_hot) +/area/engine/teg/hotloop) "chl" = ( -/obj/machinery/portable_atmospherics/canister/nitrogen, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/engine/storage{ - name = "Canister Storage" - }) -"chm" = ( -/obj/structure/disposalpipe/segment{ - dir = 9 +/obj/effect/turf_decal/stripes/line{ + dir = 1 }, -/turf/closed/wall/r_wall/rust, -/area/hydroponics/garden{ - name = "Nature Preserve" - }) +/obj/effect/turf_decal/stripes/line, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/engine/storage) +"chm" = ( +/obj/structure/reagent_dispensers/water_cooler, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/science/research) "chn" = ( /obj/machinery/light{ dir = 8 @@ -52544,22 +51873,22 @@ "chr" = ( /obj/machinery/atmospherics/components/binary/valve/digital, /turf/open/floor/plasteel/dark, -/area/engine/teg_hot) +/area/engine/teg/hotloop) "chs" = ( /turf/open/floor/plasteel/dark, -/area/engine/teg_hot) +/area/engine/teg/hotloop) "cht" = ( /obj/structure/cable{ icon_state = "1-2" }, /turf/open/floor/plasteel/dark, -/area/engine/teg_hot) +/area/engine/teg/hotloop) "chu" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ dir = 5 }, /turf/closed/wall/r_wall, -/area/engine/teg_hot) +/area/engine/teg/hotloop) "chv" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -52593,14 +51922,11 @@ /turf/open/floor/plasteel, /area/engine/atmos) "chy" = ( -/obj/structure/cable{ - icon_state = "2-8" - }, /obj/machinery/atmospherics/pipe/simple/orange/hidden{ dir = 10 }, /turf/closed/wall/r_wall, -/area/engine/teg_hot) +/area/engine/teg/hotloop) "chz" = ( /obj/effect/turf_decal/delivery, /obj/machinery/atmospherics/components/unary/portables_connector/visible{ @@ -52611,20 +51937,20 @@ pixel_x = -28 }, /turf/open/floor/plasteel, -/area/engine/teg_hot) +/area/engine/teg/hotloop) "chA" = ( /obj/effect/turf_decal/delivery, /obj/machinery/atmospherics/components/unary/portables_connector/visible{ dir = 1 }, /turf/open/floor/plasteel, -/area/engine/teg_hot) +/area/engine/teg/hotloop) "chB" = ( /obj/effect/turf_decal/stripes/line{ dir = 9 }, /turf/open/floor/plasteel, -/area/engine/teg_hot) +/area/engine/teg/hotloop) "chC" = ( /turf/closed/wall/r_wall/rust, /area/space/nearstation) @@ -52636,13 +51962,13 @@ dir = 1 }, /turf/open/floor/plasteel, -/area/engine/teg_hot) +/area/engine/teg/hotloop) "chE" = ( /obj/machinery/atmospherics/pipe/simple/supply/visible{ dir = 5 }, /turf/closed/wall/r_wall, -/area/engine/teg_cold) +/area/engine/teg/coldloop) "chF" = ( /obj/machinery/atmospherics/pipe/simple/supply/visible{ dir = 4 @@ -52652,7 +51978,7 @@ /obj/item/pipe_dispenser, /obj/item/wrench, /turf/open/floor/plasteel/dark, -/area/engine/teg_cold) +/area/engine/teg/coldloop) "chG" = ( /obj/machinery/atmospherics/pipe/simple/supply/visible{ dir = 4 @@ -52662,7 +51988,7 @@ }, /obj/machinery/atmospherics/pipe/simple/orange/hidden, /turf/open/floor/plasteel/dark, -/area/engine/teg_cold) +/area/engine/teg/coldloop) "chH" = ( /obj/machinery/atmospherics/pipe/manifold/general/visible{ dir = 1 @@ -52676,7 +52002,7 @@ /obj/machinery/meter, /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/dark, -/area/engine/teg_cold) +/area/engine/teg/coldloop) "chJ" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -52698,32 +52024,24 @@ dir = 4 }, /turf/open/floor/plating, -/area/engine/teg_cold) +/area/engine/teg/coldloop) "chL" = ( /obj/structure/cable{ icon_state = "4-8" }, -/obj/machinery/atmospherics/pipe/simple/cyan/visible{ - dir = 6 - }, /turf/open/floor/plasteel, /area/engine/atmos) "chM" = ( /obj/structure/cable{ icon_state = "1-8" }, -/obj/machinery/atmospherics/pipe/manifold/cyan/visible{ - dir = 4 - }, +/obj/machinery/atmospherics/pipe/simple/cyan/visible, /turf/open/floor/plasteel, /area/engine/atmos) "chN" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, /obj/machinery/atmospherics/pipe/simple/orange/hidden, /turf/closed/wall/r_wall, -/area/engine/teg_hot) +/area/engine/teg/hotloop) "chO" = ( /obj/structure/table, /obj/machinery/requests_console{ @@ -52849,7 +52167,7 @@ "chX" = ( /obj/structure/sign/warning/nosmoking, /turf/closed/wall/r_wall, -/area/engine/teg_hot) +/area/engine/teg/hotloop) "chY" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -52863,14 +52181,14 @@ /obj/item/grenade/chem_grenade/smart_metal_foam, /obj/item/wrench, /turf/open/floor/plasteel, -/area/engine/teg_hot) +/area/engine/teg/hotloop) "chZ" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 }, /obj/machinery/atmospherics/components/unary/portables_connector/visible, /turf/open/floor/plasteel, -/area/engine/teg_hot) +/area/engine/teg/hotloop) "cia" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -52879,13 +52197,13 @@ icon_state = "1-2" }, /turf/open/floor/plasteel, -/area/engine/teg_hot) +/area/engine/teg/hotloop) "cib" = ( /obj/effect/turf_decal/stripes/corner{ dir = 4 }, /turf/open/floor/plasteel, -/area/engine/teg_hot) +/area/engine/teg/hotloop) "cic" = ( /obj/effect/turf_decal/tile/yellow{ dir = 4 @@ -52913,13 +52231,13 @@ }, /obj/item/analyzer, /turf/open/floor/plasteel, -/area/engine/teg_hot) +/area/engine/teg/hotloop) "cie" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, /turf/closed/wall/r_wall, -/area/engine/teg_cold) +/area/engine/teg/coldloop) "cif" = ( /obj/machinery/light/small{ brightness = 3; @@ -53047,7 +52365,7 @@ dir = 4 }, /turf/open/floor/plasteel/dark, -/area/engine/teg_cold) +/area/engine/teg/coldloop) "cis" = ( /obj/structure/sign/warning/vacuum{ pixel_y = -32 @@ -53132,7 +52450,7 @@ icon_state = "1-2" }, /turf/open/floor/plasteel/dark, -/area/engine/teg_cold) +/area/engine/teg/coldloop) "ciE" = ( /obj/effect/turf_decal/tile/red{ dir = 8 @@ -53155,13 +52473,18 @@ /turf/open/floor/plasteel, /area/hallway/primary/aft) "ciG" = ( -/obj/structure/cable/yellow{ +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ icon_state = "1-2" }, -/turf/closed/wall/r_wall, -/area/engine/engineering{ - name = "Engine Room" - }) +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/orange/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/science/research) "ciH" = ( /obj/machinery/atmospherics/pipe/simple/supply/visible{ dir = 6 @@ -53171,7 +52494,7 @@ dir = 1 }, /turf/open/floor/plasteel/dark, -/area/engine/teg_cold) +/area/engine/teg/coldloop) "ciI" = ( /turf/closed/wall/r_wall/rust, /area/quartermaster/warehouse) @@ -53331,17 +52654,17 @@ pixel_y = 1 }, /obj/machinery/power/apc{ - areastring = "/area/engine/teg_hot"; + areastring = "/area/engine/teg/hotloop"; dir = 8; name = "Hot Loop APC"; pixel_x = -24 }, /turf/open/floor/plasteel, -/area/engine/teg_hot) +/area/engine/teg/hotloop) "ciZ" = ( /obj/machinery/atmospherics/components/binary/valve/digital, /turf/open/floor/plasteel, -/area/engine/teg_hot) +/area/engine/teg/hotloop) "cja" = ( /obj/structure/cable{ icon_state = "1-2" @@ -53407,7 +52730,7 @@ dir = 6 }, /turf/open/floor/plasteel, -/area/engine/teg_hot) +/area/engine/teg/hotloop) "cji" = ( /obj/structure/fans/tiny, /obj/structure/plasticflaps, @@ -53463,22 +52786,22 @@ /turf/closed/wall/rust, /area/maintenance/port/central) "cjr" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/disposalpipe/segment, -/obj/structure/cable{ - icon_state = "0-2" +/obj/effect/turf_decal/tile/purple{ + dir = 4 }, -/obj/structure/cable, -/turf/open/floor/plating, -/area/science/server{ - name = "Computer Core" - }) +/obj/effect/turf_decal/tile/purple, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/manifold/cyan/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/science/research) "cjs" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 8 }, /turf/open/floor/plasteel, -/area/engine/teg_hot) +/area/engine/teg/hotloop) "cjt" = ( /obj/structure/cable{ icon_state = "0-2" @@ -53495,23 +52818,10 @@ /turf/open/floor/plating, /area/maintenance/starboard/aft) "cju" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/visible, -/obj/structure/table, -/obj/machinery/light_switch{ - pixel_x = 24 - }, -/obj/item/clothing/ears/earmuffs, -/obj/item/extinguisher{ - pixel_x = -12; - pixel_y = -2 - }, -/obj/machinery/camera{ - c_tag = "Engineering - Hot Loop"; - dir = 8; - pixel_y = -22 - }, +/obj/effect/turf_decal/stripes/line, +/obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel, -/area/engine/teg_hot) +/area/hallway/secondary/exit/departure_lounge) "cjv" = ( /obj/structure/chair{ dir = 1 @@ -53558,7 +52868,7 @@ dir = 4; pixel_x = -28 }, -/obj/item/kirbyplants/random, +/obj/machinery/gear_painter, /turf/open/floor/plasteel, /area/quartermaster/office) "cjB" = ( @@ -53638,7 +52948,7 @@ dir = 4 }, /turf/closed/wall/r_wall, -/area/engine/teg_cold) +/area/engine/teg/coldloop) "cjL" = ( /obj/machinery/atmospherics/pipe/simple/supply/visible{ dir = 4 @@ -53646,7 +52956,7 @@ /obj/machinery/portable_atmospherics/canister, /obj/machinery/atmospherics/pipe/simple/orange/hidden, /turf/open/floor/plasteel/dark, -/area/engine/teg_cold) +/area/engine/teg/coldloop) "cjM" = ( /obj/structure/table, /obj/item/storage/box/lights/mixed, @@ -53774,7 +53084,7 @@ icon_state = "1-2" }, /turf/open/floor/plasteel/dark, -/area/engine/teg_cold) +/area/engine/teg/coldloop) "cjV" = ( /obj/machinery/door/firedoor, /obj/structure/disposalpipe/segment, @@ -53821,7 +53131,7 @@ }, /obj/structure/disposalpipe/segment, /turf/open/floor/plasteel/dark, -/area/engine/teg_cold) +/area/engine/teg/coldloop) "cjY" = ( /obj/machinery/computer/station_alert{ dir = 4 @@ -53878,21 +53188,17 @@ }, /area/science/robotics/lab) "ckc" = ( -/obj/machinery/portable_atmospherics/canister/air, -/obj/machinery/atmospherics/pipe/simple/general/visible, -/obj/structure/cable{ - icon_state = "0-4" +/obj/machinery/door/airlock/external{ + name = "Escape Pod" }, -/obj/machinery/power/apc{ - areastring = "/area/maintenance/aft/secondary"; - dir = 8; - name = "Aft Air Hookup APC"; - pixel_x = -24 +/obj/effect/turf_decal/stripes/line{ + dir = 4 }, -/turf/open/floor/plating, -/area/maintenance/aft/secondary{ - name = "Aft Air Hookup" - }) +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) "ckd" = ( /obj/machinery/atmospherics/pipe/simple/orange/hidden, /turf/open/floor/plasteel/white, @@ -53905,17 +53211,9 @@ /turf/open/floor/wood, /area/library) "ckf" = ( -/obj/effect/turf_decal/tile/purple{ - dir = 4 - }, -/obj/effect/turf_decal/tile/purple, -/obj/effect/turf_decal/tile/purple{ - dir = 8 - }, +/obj/effect/landmark/event_spawn, /turf/open/floor/plasteel, -/area/science/research{ - name = "Research Sector" - }) +/area/hallway/secondary/exit/departure_lounge) "ckg" = ( /obj/effect/turf_decal/tile/yellow{ dir = 4 @@ -53969,7 +53267,7 @@ /area/space/station_ruins) "ckm" = ( /turf/closed/wall/r_wall, -/area/engine/teg_cold) +/area/engine/teg/coldloop) "ckn" = ( /obj/machinery/door/airlock/external/glass{ name = "External Solar Access"; @@ -53981,17 +53279,13 @@ /turf/open/floor/plating, /area/maintenance/solars/starboard/aft) "cko" = ( -/obj/structure/cable, -/obj/machinery/power/apc{ - areastring = "/area/engine/engineering"; - dir = 4; - name = "Engine Room APC"; - pixel_x = 24 +/obj/structure/cable{ + icon_state = "1-2" }, -/turf/open/floor/plating, -/area/engine/engineering{ - name = "Engine Room" - }) +/turf/open/floor/plasteel/white/corner{ + dir = 4 + }, +/area/hallway/secondary/exit/departure_lounge) "ckp" = ( /obj/effect/turf_decal/tile/yellow{ dir = 8 @@ -54021,22 +53315,23 @@ /turf/open/floor/plasteel, /area/quartermaster/storage) "cks" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 }, /obj/structure/cable{ - icon_state = "1-8" + icon_state = "4-8" }, /obj/structure/cable{ - icon_state = "1-2" + icon_state = "2-4" }, /obj/machinery/atmospherics/pipe/simple/cyan/hidden{ dir = 4 }, -/turf/open/floor/plating, -/area/engine/engineering{ - name = "Engine Room" - }) +/turf/open/floor/plasteel, +/area/science/research) "ckt" = ( /obj/machinery/portable_atmospherics/scrubber, /obj/machinery/airalarm{ @@ -54047,13 +53342,13 @@ icon_state = "1-2" }, /turf/open/floor/plasteel, -/area/engine/teg_hot) +/area/engine/teg/hotloop) "cku" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible{ dir = 1 }, /turf/open/floor/plasteel, -/area/engine/teg_hot) +/area/engine/teg/hotloop) "ckv" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/mining/glass{ @@ -54070,36 +53365,38 @@ }, /obj/machinery/atmospherics/pipe/simple/orange/hidden, /turf/open/floor/plasteel, -/area/engine/teg_hot) +/area/engine/teg/hotloop) "ckx" = ( -/obj/machinery/light/small{ - dir = 1; - light_color = "#ffc1c1" - }, /obj/structure/disposalpipe/segment{ - dir = 10 + dir = 5 }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/effect/landmark/start/scientist, +/obj/machinery/atmospherics/pipe/simple/orange/hidden, /obj/machinery/atmospherics/pipe/simple/cyan/hidden{ - dir = 10 + dir = 4 }, -/turf/open/floor/plating, -/area/engine/engineering{ - name = "Engine Room" - }) +/turf/open/floor/plasteel, +/area/science/research) "cky" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on, /turf/open/floor/plasteel, -/area/engine/teg_hot) +/area/engine/teg/hotloop) "ckz" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/visible, /obj/structure/table, /obj/item/pipe_dispenser, /turf/open/floor/plasteel, -/area/engine/teg_hot) +/area/engine/teg/hotloop) "ckA" = ( /obj/structure/sign/warning/fire, /turf/closed/wall/r_wall, -/area/engine/teg_hot) +/area/engine/teg/hotloop) "ckB" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -54120,7 +53417,7 @@ }, /obj/machinery/atmospherics/pipe/simple/orange/hidden, /turf/open/floor/plasteel, -/area/engine/teg_cold) +/area/engine/teg/coldloop) "ckC" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -54135,7 +53432,7 @@ name = "gas to cold loop" }, /turf/open/floor/plasteel, -/area/engine/teg_cold) +/area/engine/teg/coldloop) "ckD" = ( /obj/effect/turf_decal/tile/yellow{ dir = 8 @@ -54155,21 +53452,14 @@ /turf/open/floor/plasteel, /area/security/checkpoint/supply) "ckF" = ( -/obj/effect/turf_decal/stripes/line{ +/obj/structure/chair, +/obj/effect/turf_decal/tile/red{ dir = 1 }, -/obj/structure/disposalpipe/segment, -/obj/structure/cable{ - icon_state = "0-8" +/turf/open/floor/plasteel/white/corner{ + dir = 4 }, -/obj/machinery/power/apc{ - areastring = "/area/engine/teg_cold"; - dir = 4; - name = "Cold Loop APC"; - pixel_x = 24 - }, -/turf/open/floor/plasteel, -/area/engine/teg_cold) +/area/hallway/secondary/exit/departure_lounge) "ckG" = ( /obj/machinery/atmospherics/pipe/manifold/orange/hidden{ dir = 1 @@ -54204,7 +53494,7 @@ dir = 8 }, /turf/closed/wall/r_wall, -/area/engine/teg_hot) +/area/engine/teg/hotloop) "ckK" = ( /obj/structure/closet/secure_closet/miner, /obj/effect/turf_decal/tile/brown{ @@ -54258,34 +53548,41 @@ /turf/open/floor/plasteel, /area/quartermaster/storage) "ckP" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ +/obj/effect/turf_decal/tile/purple{ dir = 4 }, -/obj/machinery/firealarm{ - dir = 4; - pixel_x = -28 +/obj/structure/disposalpipe/segment, +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/open/floor/plasteel/dark, -/area/science/misc_lab{ - name = "Research Observatory" - }) +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/cyan/hidden, +/turf/open/floor/plasteel, +/area/science/research) "ckQ" = ( -/obj/effect/turf_decal/tile/neutral{ +/obj/effect/turf_decal/tile/purple{ dir = 1 }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 +/obj/effect/turf_decal/tile/purple{ + dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden, -/turf/open/floor/plasteel/dark, -/area/science/misc_lab{ - name = "Research Observatory" - }) +/obj/machinery/light{ + dir = 1; + light_color = "#cee5d2" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/science/research) "ckR" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -54302,55 +53599,82 @@ /turf/open/floor/plasteel/dark, /area/science/xenobiology) "ckT" = ( -/obj/structure/cable{ - icon_state = "1-2" +/obj/effect/turf_decal/tile/purple{ + dir = 1 }, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ +/obj/effect/turf_decal/tile/purple{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/open/floor/plasteel/dark, -/area/science/misc_lab{ - name = "Research Observatory" - }) +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/science/research) "ckU" = ( -/obj/machinery/light{ - dir = 4; - light_color = "#e8eaff" - }, -/obj/effect/turf_decal/tile/neutral{ +/obj/effect/turf_decal/tile/purple{ dir = 1 }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 +/obj/effect/turf_decal/tile/purple{ + dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden, -/turf/open/floor/plasteel/dark, -/area/science/misc_lab{ - name = "Research Observatory" - }) +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel, +/area/science/research) "ckV" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/machinery/light{ + dir = 1; + light_color = "#cee5d2" + }, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/science/research) +"ckW" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/structure/disposalpipe/segment, /obj/structure/cable{ icon_state = "1-2" }, -/obj/effect/turf_decal/tile/neutral{ +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/manifold/cyan/hidden{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/open/floor/plasteel/dark, -/area/science/misc_lab{ - name = "Research Observatory" - }) -"ckW" = ( -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden, -/turf/open/floor/plasteel/dark, -/area/science/misc_lab{ - name = "Research Observatory" - }) +/turf/open/floor/plasteel, +/area/science/research) "ckX" = ( /obj/machinery/atmospherics/components/binary/valve, /obj/structure/cable{ @@ -54406,27 +53730,35 @@ /turf/open/floor/plasteel/white, /area/medical/chemistry) "cld" = ( -/obj/effect/turf_decal/tile/neutral{ +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ dir = 1 }, -/turf/open/floor/plasteel/dark, -/area/science/misc_lab{ - name = "Research Observatory" - }) -"cle" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, /obj/structure/cable{ - icon_state = "0-4" + icon_state = "1-2" }, -/obj/machinery/power/apc{ - areastring = "/area/science/misc_lab"; - dir = 1; - name = "Research Observatory APC"; - pixel_y = 24 +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 6 }, -/turf/open/floor/plasteel/dark, -/area/science/misc_lab{ - name = "Research Observatory" - }) +/turf/open/floor/plasteel, +/area/science/research) +"cle" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/orange/hidden, +/turf/open/floor/plasteel, +/area/science/research) "clf" = ( /obj/machinery/light/small{ dir = 8 @@ -54438,22 +53770,36 @@ /turf/open/floor/engine, /area/science/xenobiology) "clg" = ( -/obj/structure/cable{ - icon_state = "1-2" +/obj/effect/turf_decal/tile/purple{ + dir = 8 }, -/obj/structure/cable{ - icon_state = "1-8" +/obj/effect/turf_decal/tile/purple, +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/open/floor/plasteel/dark, -/area/science/misc_lab{ - name = "Research Observatory" - }) +/obj/structure/disposalpipe/segment, +/obj/item/radio/intercom{ + name = "Station Intercom (Common)"; + pixel_y = -29 + }, +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/science/research) "clh" = ( -/turf/open/floor/plasteel/dark, -/area/science/misc_lab{ - name = "Research Observatory" - }) +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/science/research) "cli" = ( /obj/structure/sign/warning/electricshock, /turf/closed/wall/r_wall, @@ -54576,63 +53922,95 @@ }, /area/library) "clx" = ( -/obj/effect/turf_decal/bot, -/obj/machinery/portable_atmospherics/canister/oxygen, -/obj/machinery/light{ - dir = 8 - }, /obj/structure/cable{ icon_state = "4-8" }, +/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/atmos{ + name = "Atmospherics Access"; + req_access_txt = "24" + }, +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 8 + }, +/obj/machinery/door/firedoor, /turf/open/floor/plasteel, -/area/engine/storage{ - name = "Canister Storage" - }) +/area/engine/storage) "cly" = ( /obj/machinery/atmospherics/pipe/simple/orange/hidden, /turf/open/floor/plasteel/grimy, /area/crew_quarters/bar) "clz" = ( -/obj/machinery/firealarm{ - dir = 4; - pixel_x = -28 +/obj/effect/turf_decal/tile/purple{ + dir = 8 }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plating, -/area/engine/engineering{ - name = "Engine Room" - }) -"clA" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/turf/open/floor/engine, -/area/engine/supermatter{ - name = "Thermo-Electric Generator" - }) -"clB" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/closed/wall/r_wall, -/area/engine/supermatter{ - name = "Thermo-Electric Generator" - }) -"clC" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ +/obj/effect/turf_decal/tile/purple, +/obj/structure/disposalpipe/segment{ dir = 4 }, -/turf/open/floor/plating, -/area/engine/engineering{ - name = "Engine Room" - }) +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 8 + }, +/obj/machinery/power/apc{ + areastring = "/area/science/research"; + name = "Research Sector APC"; + pixel_y = -24 + }, +/obj/structure/cable, +/turf/open/floor/plasteel, +/area/science/research) +"clA" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/camera{ + c_tag = "Research Aft"; + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/science/research) +"clB" = ( +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/manifold/orange/hidden{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/science/research) +"clC" = ( +/obj/structure/disposalpipe/sorting/mail/flip{ + dir = 1; + sortType = 24 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden, +/turf/open/floor/plasteel, +/area/science/research) "clD" = ( /obj/machinery/telecomms/server/presets/medical, /turf/open/floor/circuit/telecomms/mainframe, @@ -54650,13 +54028,15 @@ /turf/open/floor/circuit/telecomms/mainframe, /area/tcommsat/server) "clH" = ( -/obj/structure/disposalpipe/segment{ - dir = 9 +/obj/structure/chair, +/obj/effect/turf_decal/tile/red{ + dir = 1 }, -/turf/open/floor/plating, -/area/engine/storage_shared{ - name = "Electrical Substation" - }) +/obj/effect/landmark/start/assistant, +/turf/open/floor/plasteel/white/corner{ + dir = 4 + }, +/area/hallway/secondary/exit/departure_lounge) "clI" = ( /obj/machinery/telecomms/bus/preset_four, /turf/open/floor/circuit/telecomms/mainframe, @@ -54773,36 +54153,17 @@ dir = 8 }, /turf/open/floor/plasteel, -/area/engine/teg_hot) +/area/engine/teg/hotloop) "clZ" = ( -/obj/machinery/airalarm{ - dir = 4; - pixel_x = -22 - }, -/obj/structure/chair{ - dir = 4 - }, -/obj/machinery/camera{ - c_tag = "Escape Hall - Port"; - dir = 4 +/obj/effect/turf_decal/tile/red{ + dir = 1 }, /turf/open/floor/plasteel, -/area/hallway/secondary/exit) +/area/hallway/secondary/exit/departure_lounge) "cma" = ( -/obj/machinery/firealarm{ - dir = 8; - pixel_x = 26 - }, -/obj/structure/chair{ - dir = 8 - }, -/obj/machinery/camera{ - c_tag = "Escape Hall - Starboard"; - dir = 8; - pixel_y = -22 - }, +/obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, -/area/hallway/secondary/exit) +/area/hallway/secondary/exit/departure_lounge) "cmb" = ( /obj/effect/turf_decal/tile/brown{ dir = 1 @@ -54856,7 +54217,7 @@ dir = 8 }, /turf/open/floor/plasteel, -/area/engine/teg_hot) +/area/engine/teg/hotloop) "cmg" = ( /obj/structure/disposalpipe/junction{ dir = 4 @@ -54874,7 +54235,7 @@ dir = 4 }, /turf/open/floor/plasteel, -/area/engine/teg_hot) +/area/engine/teg/hotloop) "cmh" = ( /obj/structure/sign/warning/radiation, /turf/closed/wall/r_wall, @@ -54954,11 +54315,17 @@ /turf/open/floor/plasteel, /area/engine/gravity_generator) "cmt" = ( -/obj/structure/disposalpipe/segment, -/turf/closed/wall/r_wall, -/area/engine/secure_construction{ - name = "Engineering Construction Area" - }) +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/engine/secure_construction) "cmu" = ( /obj/effect/turf_decal/stripes/line{ dir = 10 @@ -54992,33 +54359,17 @@ /turf/open/floor/engine, /area/engine/gravity_generator) "cmy" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/maintenance{ - name = "Starboard Quarter Maintenance"; - req_one_access_txt = "12;48" +/obj/effect/turf_decal/stripes/line, +/obj/item/crowbar, +/obj/structure/sign/poster/official/safety_internals{ + pixel_x = 32 }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden{ - dir = 4 - }, -/turf/open/floor/plating, -/area/hallway/secondary/exit) +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) "cmz" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/maintenance{ - name = "Starboard Quarter Maintenance"; - req_one_access_txt = "12;48" - }, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, +/obj/effect/turf_decal/stripes/line, /turf/open/floor/plating, -/area/hallway/secondary/exit) +/area/hallway/secondary/exit/departure_lounge) "cmA" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock{ @@ -55063,7 +54414,7 @@ dir = 5 }, /turf/open/floor/plasteel, -/area/engine/teg_hot) +/area/engine/teg/hotloop) "cmF" = ( /obj/machinery/atmospherics/pipe/simple/supplymain/hidden, /turf/open/floor/mineral/titanium/blue, @@ -55080,7 +54431,7 @@ dir = 4 }, /turf/open/floor/plasteel, -/area/engine/teg_hot) +/area/engine/teg/hotloop) "cmH" = ( /obj/structure/plasticflaps, /obj/structure/fans/tiny, @@ -55091,28 +54442,15 @@ /turf/open/floor/plating, /area/quartermaster/sorting) "cmI" = ( -/obj/structure/table, -/obj/effect/turf_decal/tile/green, -/obj/effect/turf_decal/tile/green{ - dir = 1 - }, -/obj/effect/turf_decal/tile/green{ - dir = 8 - }, -/obj/effect/turf_decal/tile/green{ +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ dir = 4 }, -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 4 - }, -/obj/item/radio/off{ - pixel_x = -3; - pixel_y = 1 +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 9 }, /turf/open/floor/plasteel, -/area/science/server{ - name = "Computer Core" - }) +/area/science/research) "cmJ" = ( /obj/machinery/door/firedoor, /obj/effect/turf_decal/tile/brown, @@ -55232,26 +54570,26 @@ /turf/open/floor/plasteel, /area/science/robotics/lab) "cmT" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/tile/red, -/obj/effect/turf_decal/tile/red{ - dir = 8 - }, -/obj/effect/turf_decal/tile/red{ - dir = 4 - }, -/obj/effect/turf_decal/tile/red{ +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ dir = 1 }, -/obj/item/folder/red, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden, -/obj/machinery/door/window/northright{ - name = "Security Checkpoint"; - req_access_txt = "1" +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/white/full, +/obj/structure/window/reinforced/spawner/north, +/obj/machinery/door/firedoor/border_only{ + dir = 1; + name = "north facing firelock" }, /turf/open/floor/plasteel, -/area/security/checkpoint/supply) +/area/engine/workshop) "cmU" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable{ @@ -55268,20 +54606,8 @@ /turf/open/floor/plasteel/white, /area/medical/chemistry) "cmV" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/orange/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/science/research{ - name = "Research Sector" - }) +/turf/closed/wall, +/area/hallway/secondary/exit/departure_lounge) "cmW" = ( /obj/effect/turf_decal/tile/brown{ dir = 1 @@ -55301,14 +54627,19 @@ /turf/open/floor/plasteel, /area/quartermaster/qm) "cmX" = ( -/obj/machinery/light/small, -/obj/structure/cable/yellow{ - icon_state = "1-2" +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -22 }, -/turf/open/floor/engine, -/area/engine/supermatter{ - name = "Thermo-Electric Generator" - }) +/obj/structure/chair{ + dir = 4 + }, +/obj/machinery/camera{ + c_tag = "Escape Hall - Port"; + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) "cmY" = ( /obj/machinery/door/airlock/engineering{ name = "Hot Loop"; @@ -55326,39 +54657,20 @@ dir = 4 }, /turf/open/floor/plasteel, -/area/engine/teg_hot) +/area/engine/teg/hotloop) "cmZ" = ( -/obj/effect/turf_decal/tile/red, -/obj/effect/turf_decal/tile/red{ - dir = 8 +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "1-2" }, -/obj/effect/turf_decal/tile/red{ - dir = 1 - }, -/obj/structure/window/reinforced/spawner/west, -/obj/machinery/atmospherics/components/unary/cryo_cell{ - dir = 1 - }, -/turf/open/floor/plasteel/white, -/area/medical/medbay/zone2{ - name = "Medbay Treatment Center" - }) +/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/turf/open/floor/plasteel/stairs, +/area/science/research) "cna" = ( -/obj/effect/turf_decal/tile/red, -/obj/effect/turf_decal/tile/red{ - dir = 4 - }, -/obj/effect/turf_decal/tile/red{ - dir = 8 - }, -/obj/structure/window/reinforced/spawner/east, -/obj/machinery/atmospherics/components/unary/cryo_cell{ - dir = 1 - }, -/turf/open/floor/plasteel/white, -/area/medical/medbay/zone2{ - name = "Medbay Treatment Center" - }) +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/turf/open/floor/plasteel/stairs/left, +/area/science/research) "cnb" = ( /obj/structure/table/glass, /obj/effect/turf_decal/stripes/line, @@ -55374,31 +54686,29 @@ /turf/open/floor/plasteel, /area/science/xenobiology) "cnc" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 +/obj/structure/cable{ + icon_state = "1-2" }, /turf/open/floor/plasteel, -/area/hallway/secondary/exit) +/area/hallway/secondary/exit/departure_lounge) "cnd" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/exit) -"cne" = ( -/obj/effect/turf_decal/stripes/line{ +/obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 4 }, -/obj/machinery/light{ - dir = 4; - light_color = "#c1caff" +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"cne" = ( +/obj/machinery/atmospherics/pipe/simple/cyan/hidden{ + dir = 4 }, /turf/open/floor/plasteel, -/area/hallway/secondary/exit) +/area/hallway/secondary/exit/departure_lounge) "cnf" = ( -/obj/effect/turf_decal/stripes/line, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden{ + dir = 9 + }, /turf/open/floor/plasteel, -/area/hallway/secondary/exit) +/area/hallway/secondary/exit/departure_lounge) "cng" = ( /obj/machinery/holopad, /turf/open/floor/plasteel, @@ -55417,7 +54727,7 @@ dir = 8 }, /turf/open/floor/plasteel, -/area/engine/teg_cold) +/area/engine/teg/coldloop) "cni" = ( /obj/machinery/atmospherics/components/binary/pump{ name = "Port to Fuel Pipe" @@ -55425,18 +54735,13 @@ /turf/open/floor/plasteel, /area/engine/atmos) "cnj" = ( -/obj/machinery/camera{ - c_tag = "Research - Observatory"; - dir = 4 +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "1-2" }, -/obj/machinery/firealarm{ - dir = 4; - pixel_x = -28 - }, -/turf/open/floor/plasteel/dark, -/area/science/misc_lab{ - name = "Research Observatory" - }) +/obj/machinery/atmospherics/pipe/simple/cyan/hidden, +/turf/open/floor/plasteel/stairs/medium, +/area/science/research) "cnk" = ( /obj/machinery/light, /obj/effect/turf_decal/tile/yellow{ @@ -55488,7 +54793,7 @@ /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/manifold4w/orange/hidden, /turf/open/floor/plasteel, -/area/engine/teg_cold) +/area/engine/teg/coldloop) "cnp" = ( /obj/effect/landmark/event_spawn, /turf/open/floor/plasteel, @@ -55510,7 +54815,7 @@ dir = 8 }, /turf/open/floor/plasteel, -/area/engine/teg_cold) +/area/engine/teg/coldloop) "cns" = ( /obj/machinery/firealarm{ dir = 8; @@ -55522,7 +54827,7 @@ dir = 10 }, /turf/open/floor/plasteel, -/area/engine/teg_cold) +/area/engine/teg/coldloop) "cnt" = ( /obj/structure/fans/tiny, /obj/structure/plasticflaps, @@ -55567,22 +54872,14 @@ dir = 4 }, /turf/open/floor/plasteel, -/area/engine/teg_hot) +/area/engine/teg/hotloop) "cny" = ( -/obj/effect/turf_decal/tile/green{ - dir = 8 +/obj/machinery/light{ + dir = 4; + light_color = "#c1caff" }, -/obj/effect/turf_decal/tile/green{ - dir = 1 - }, -/obj/effect/turf_decal/tile/green, -/obj/machinery/atmospherics/pipe/simple/supplymain/hidden{ - dir = 9 - }, -/turf/open/floor/plasteel, -/area/science/server{ - name = "Computer Core" - }) +/turf/open/floor/plasteel/stairs/right, +/area/science/research) "cnz" = ( /obj/effect/turf_decal/tile/blue{ dir = 4 @@ -55659,19 +54956,26 @@ }, /area/maintenance/port/fore) "cnG" = ( -/obj/machinery/door/airlock/external/glass{ - name = "Shuttle Maintenance Access" +/obj/machinery/firealarm{ + dir = 8; + pixel_x = 26 + }, +/obj/structure/chair{ + dir = 8 + }, +/obj/machinery/camera{ + c_tag = "Escape Hall - Starboard"; + dir = 8; + pixel_y = -22 }, -/obj/structure/fans/tiny, /turf/open/floor/plasteel, -/area/hallway/secondary/exit) +/area/hallway/secondary/exit/departure_lounge) "cnH" = ( -/obj/machinery/door/airlock/external/glass{ - name = "Departures Shuttle Dock" +/obj/structure/chair{ + dir = 4 }, -/obj/structure/fans/tiny, /turf/open/floor/plasteel, -/area/hallway/secondary/exit) +/area/hallway/secondary/exit/departure_lounge) "cnI" = ( /turf/open/floor/plating{ icon_state = "platingdmg3" @@ -55689,7 +54993,7 @@ dir = 4 }, /turf/open/floor/plasteel, -/area/engine/teg_hot) +/area/engine/teg/hotloop) "cnL" = ( /obj/structure/closet/crate/science, /obj/item/stack/sheet/metal/ten, @@ -55699,8 +55003,19 @@ /obj/item/target/alien, /obj/item/target, /obj/item/target/clown, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden{ + dir = 5 + }, /turf/open/floor/plasteel, /area/science/mixing) +"cnM" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/turf/open/floor/plasteel, +/area/science/research) "cnN" = ( /obj/structure/bookcase/random/fiction, /obj/effect/turf_decal/tile/neutral, @@ -55734,9 +55049,6 @@ /turf/open/space/basic, /area/quartermaster/warehouse) "cnR" = ( -/obj/structure/cable{ - icon_state = "1-8" - }, /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 4 }, @@ -55761,7 +55073,8 @@ /turf/open/floor/plating, /area/maintenance/solars/starboard/aft) "cnT" = ( -/obj/machinery/atmospherics/pipe/manifold/cyan/hidden, +/obj/effect/turf_decal/stripes/line, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden, /turf/open/floor/plasteel, /area/science/mixing) "cnU" = ( @@ -55876,29 +55189,20 @@ }, /obj/machinery/atmospherics/pipe/simple/orange/hidden, /turf/open/floor/plasteel, -/area/engine/teg_hot) +/area/engine/teg/hotloop) "cog" = ( -/obj/structure/cable{ - icon_state = "1-4" +/obj/machinery/navbeacon{ + codes_txt = "patrol;next_patrol=eng2"; + location = "evac" }, -/turf/open/floor/plating, -/area/engine/storage_shared{ - name = "Electrical Substation" - }) +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) "coh" = ( -/obj/structure/cable{ - icon_state = "0-4" +/obj/structure/chair{ + dir = 8 }, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/machinery/power/smes{ - charge = 5e+006 - }, -/turf/open/floor/plating, -/area/engine/storage_shared{ - name = "Electrical Substation" - }) +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) "coi" = ( /obj/machinery/light, /obj/structure/disposalpipe/segment{ @@ -55932,7 +55236,7 @@ dir = 4 }, /turf/open/floor/plasteel, -/area/engine/teg_hot) +/area/engine/teg/hotloop) "col" = ( /obj/effect/turf_decal/tile/blue, /obj/effect/turf_decal/tile/yellow{ @@ -55976,38 +55280,28 @@ /turf/open/floor/plating, /area/crew_quarters/heads/chief) "coq" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/public/glass{ - name = "Departures" +/obj/structure/cable{ + icon_state = "1-4" }, -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, -/area/hallway/secondary/exit) +/area/hallway/secondary/exit/departure_lounge) "cor" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/public/glass{ - name = "Departures" +/obj/structure/cable{ + icon_state = "4-8" }, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden, -/obj/effect/turf_decal/delivery, -/turf/open/floor/plasteel, -/area/hallway/secondary/exit) +/turf/open/floor/plasteel/white/corner, +/area/hallway/secondary/exit/departure_lounge) "cos" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/engineering{ - name = "Engineering Workshop"; - req_access_txt = "11" +/obj/effect/turf_decal/tile/purple{ + dir = 8 }, -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/stripes/line{ +/obj/effect/turf_decal/tile/purple{ dir = 1 }, -/obj/effect/turf_decal/stripes/line, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/orange/hidden, /turf/open/floor/plasteel, -/area/engine/engine_smes{ - name = "Power Monitoring" - }) +/area/science/research) "cot" = ( /obj/machinery/computer/apc_control{ dir = 4 @@ -56069,13 +55363,22 @@ /turf/open/floor/plasteel/white, /area/medical/medbay/central) "coy" = ( -/obj/structure/sign/poster/official/safety_internals{ - pixel_x = -32 +/obj/structure/chair{ + dir = 1 }, -/obj/effect/turf_decal/stripes/line, -/obj/effect/decal/cleanable/cobweb, -/turf/open/floor/plasteel, -/area/hallway/secondary/exit) +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/power/apc/highcap/five_k{ + areastring = "/area/hallway/secondary/exit/departure_lounge"; + name = "Escape Shuttle Hallway APC"; + pixel_y = -28 + }, +/turf/open/floor/plasteel/white/corner, +/area/hallway/secondary/exit/departure_lounge) "coz" = ( /obj/structure/disposalpipe/junction{ dir = 8 @@ -56314,7 +55617,7 @@ }, /obj/machinery/meter, /turf/open/floor/plasteel, -/area/engine/teg_hot) +/area/engine/teg/hotloop) "coU" = ( /obj/machinery/computer/secure_data{ dir = 1 @@ -56358,42 +55661,27 @@ /turf/open/floor/plating, /area/storage/tech) "coX" = ( -/obj/effect/turf_decal/tile/red, -/obj/effect/turf_decal/tile/red{ +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ dir = 4 }, -/obj/machinery/camera{ - c_tag = "Medbay - Operating Theatre"; - dir = 8; - network = list("ss13","medbay"); - pixel_y = -22 - }, -/turf/open/floor/plasteel/white, -/area/medical/medbay/zone2{ - name = "Medbay Treatment Center" - }) +/turf/open/floor/plasteel, +/area/science/research) "coY" = ( -/obj/structure/table, -/obj/effect/turf_decal/tile/red, -/obj/effect/turf_decal/tile/red{ - dir = 8 +/obj/machinery/light{ + dir = 4; + light_color = "#c1caff" }, -/obj/machinery/firealarm{ - dir = 1; - pixel_y = -26 +/obj/structure/disposalpipe/segment, +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/item/reagent_containers/glass/beaker/cryoxadone, -/obj/item/reagent_containers/glass/beaker/cryoxadone, -/obj/machinery/camera{ - c_tag = "Medbay - Cryogenics"; - dir = 1 +/obj/structure/cable{ + icon_state = "1-2" }, -/obj/item/reagent_containers/glass/beaker/cryoxadone, -/obj/item/reagent_containers/glass/beaker/cryoxadone, -/turf/open/floor/plasteel/white, -/area/medical/medbay/zone2{ - name = "Medbay Treatment Center" - }) +/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/turf/open/floor/plasteel, +/area/science/research) "coZ" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -56412,7 +55700,7 @@ dir = 1 }, /turf/open/floor/plasteel, -/area/engine/teg_cold) +/area/engine/teg/coldloop) "cpb" = ( /obj/structure/sink{ dir = 4; @@ -56450,13 +55738,21 @@ /turf/open/floor/engine, /area/science/explab) "cpf" = ( -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 5 +/obj/effect/turf_decal/tile/purple{ + dir = 8 }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/structure/disposalpipe/junction/flip{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/orange/hidden, /turf/open/floor/plasteel, -/area/science/server{ - name = "Computer Core" - }) +/area/science/research) "cpg" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -56467,47 +55763,59 @@ /turf/open/floor/plasteel/dark, /area/science/explab) "cph" = ( -/obj/effect/turf_decal/delivery, -/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ - dir = 9 +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "1-2" }, -/obj/machinery/firealarm{ - dir = 1; - pixel_y = -26 +/obj/structure/cable{ + icon_state = "1-8" }, -/obj/machinery/light/small, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden, /turf/open/floor/plasteel, -/area/engine/engineering{ - name = "Engine Room" - }) +/area/science/research) "cpi" = ( -/obj/effect/turf_decal/delivery, -/obj/machinery/atmospherics/pipe/simple/supply/visible{ - dir = 5 - }, -/obj/machinery/light/small, -/turf/open/floor/plasteel, -/area/engine/engineering{ - name = "Engine Room" - }) -"cpj" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ +/obj/effect/turf_decal/tile/purple{ dir = 8 }, -/turf/open/floor/plating, -/area/engine/engineering{ - name = "Engine Room" - }) +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/obj/effect/turf_decal/tile/purple, +/obj/machinery/power/apc{ + areastring = "/area/science/robotics/lab"; + dir = 8; + name = "Robotics Lab APC"; + pixel_x = -25 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plasteel, +/area/science/research) +"cpj" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden, +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel, +/area/science/research) "cpk" = ( /obj/machinery/atmospherics/pipe/manifold/general/visible{ dir = 8 }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel, -/area/engine/teg_cold) +/area/engine/teg/coldloop) "cpl" = ( /obj/machinery/newscaster{ pixel_x = 30 @@ -56552,7 +55860,7 @@ /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/orange/hidden, /turf/open/floor/plasteel, -/area/engine/teg_cold) +/area/engine/teg/coldloop) "cpp" = ( /obj/structure/plasticflaps, /obj/machinery/conveyor/auto{ @@ -56566,11 +55874,15 @@ /turf/open/floor/plating, /area/quartermaster/sorting) "cpq" = ( -/obj/effect/landmark/event_spawn, -/turf/open/floor/carpet/blue, -/area/crew_quarters/abandoned_gambling_den{ - name = "Arcade" - }) +/obj/effect/turf_decal/tile/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/purple, +/obj/effect/turf_decal/tile/purple{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/science/research) "cpr" = ( /obj/machinery/door/firedoor, /obj/effect/turf_decal/delivery, @@ -56630,15 +55942,14 @@ /turf/open/floor/mineral/titanium/blue, /area/hallway/primary/central) "cpy" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 +/obj/structure/chair{ + dir = 1 }, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden{ - dir = 4 +/obj/effect/turf_decal/tile/red{ + dir = 8 }, -/obj/machinery/holopad, -/turf/open/floor/plasteel, -/area/hallway/secondary/exit) +/turf/open/floor/plasteel/white/corner, +/area/hallway/secondary/exit/departure_lounge) "cpz" = ( /turf/closed/wall/r_wall, /area/medical/virology) @@ -56653,7 +55964,7 @@ dir = 4 }, /turf/open/floor/plasteel, -/area/engine/teg_cold) +/area/engine/teg/coldloop) "cpB" = ( /obj/effect/landmark/carpspawn, /turf/open/space/basic, @@ -56696,7 +56007,7 @@ dir = 4 }, /turf/open/floor/plasteel, -/area/engine/teg_cold) +/area/engine/teg/coldloop) "cpG" = ( /obj/structure/cable{ icon_state = "4-8" @@ -56759,7 +56070,7 @@ dir = 8 }, /turf/open/floor/plasteel, -/area/engine/teg_hot) +/area/engine/teg/hotloop) "cpL" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ dir = 9 @@ -56769,7 +56080,7 @@ light_color = "#c1caff" }, /turf/open/floor/plasteel, -/area/engine/teg_hot) +/area/engine/teg/hotloop) "cpM" = ( /obj/machinery/portable_atmospherics/canister/nitrogen, /obj/effect/turf_decal/bot, @@ -56829,14 +56140,14 @@ /obj/item/electronics/airlock, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel, -/area/engine/teg_cold) +/area/engine/teg/coldloop) "cpS" = ( /obj/machinery/atmospherics/pipe/simple/general/visible{ dir = 5 }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel, -/area/engine/teg_cold) +/area/engine/teg/coldloop) "cpT" = ( /obj/machinery/atmospherics/components/binary/pump/on{ dir = 8 @@ -56844,7 +56155,7 @@ /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/orange/hidden, /turf/open/floor/plasteel, -/area/engine/teg_cold) +/area/engine/teg/coldloop) "cpU" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -56853,7 +56164,7 @@ dir = 4 }, /turf/open/floor/plasteel, -/area/engine/teg_cold) +/area/engine/teg/coldloop) "cpV" = ( /obj/effect/turf_decal/tile/blue, /obj/effect/turf_decal/tile/blue{ @@ -56873,7 +56184,7 @@ light_color = "#c1caff" }, /turf/open/floor/plasteel, -/area/engine/teg_cold) +/area/engine/teg/coldloop) "cpW" = ( /obj/structure/cable{ icon_state = "4-8" @@ -56894,13 +56205,13 @@ }, /obj/machinery/atmospherics/pipe/simple/orange/hidden, /turf/open/floor/plasteel, -/area/engine/teg_hot) +/area/engine/teg/hotloop) "cpZ" = ( /obj/structure/table, /obj/item/tank/internals/air, /obj/item/clothing/mask/gas, /turf/open/floor/plasteel/dark, -/area/engine/teg_hot) +/area/engine/teg/hotloop) "cqa" = ( /obj/machinery/autolathe, /obj/effect/turf_decal/delivery, @@ -56909,7 +56220,7 @@ }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel, -/area/engine/teg_cold) +/area/engine/teg/coldloop) "cqb" = ( /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel/white, @@ -56920,7 +56231,7 @@ }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel, -/area/engine/teg_cold) +/area/engine/teg/coldloop) "cqd" = ( /obj/effect/turf_decal/tile/bar, /obj/effect/turf_decal/tile/bar{ @@ -56950,13 +56261,23 @@ /turf/open/floor/plasteel, /area/hallway/primary/aft) "cqf" = ( -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ +/obj/structure/table, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ dir = 8 }, -/turf/open/floor/plasteel, -/area/science/server{ - name = "Computer Core" - }) +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/item/storage/box/rxglasses{ + pixel_x = 2 + }, +/obj/item/pen, +/obj/structure/window/reinforced/spawner/west, +/turf/open/floor/plasteel/white, +/area/medical/medbay/zone2) "cqg" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable{ @@ -56965,20 +56286,16 @@ /turf/open/floor/plasteel, /area/hallway/primary/aft) "cqh" = ( -/obj/effect/turf_decal/tile/green, -/obj/effect/turf_decal/tile/green{ +/obj/machinery/vending/medical, +/obj/effect/turf_decal/tile/red{ dir = 4 }, -/obj/effect/turf_decal/tile/green{ - dir = 8 +/obj/effect/turf_decal/tile/red{ + dir = 1 }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/science/server{ - name = "Computer Core" - }) +/obj/machinery/atmospherics/pipe/simple/cyan/hidden, +/turf/open/floor/plasteel/white, +/area/medical/medbay/zone2) "cqi" = ( /obj/effect/turf_decal/tile/blue, /obj/effect/turf_decal/tile/blue{ @@ -57011,40 +56328,29 @@ /turf/open/floor/plasteel, /area/quartermaster/office) "cql" = ( -/obj/machinery/navbeacon{ - codes_txt = "patrol;next_patrol=eng2"; - location = "evac" - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/exit) -"cqm" = ( -/obj/structure/table, -/obj/effect/turf_decal/tile/green, -/obj/effect/turf_decal/tile/green{ +/obj/structure/chair{ dir = 1 }, -/obj/effect/turf_decal/tile/green{ +/obj/effect/turf_decal/tile/red{ dir = 8 }, -/obj/effect/turf_decal/tile/green{ +/obj/item/radio/intercom{ + name = "Station Intercom (Common)"; + pixel_y = -29 + }, +/turf/open/floor/plasteel/white/corner, +/area/hallway/secondary/exit/departure_lounge) +"cqm" = ( +/obj/structure/closet/secure_closet/medical1, +/obj/effect/turf_decal/tile/red{ dir = 4 }, -/obj/machinery/firealarm{ - dir = 8; - pixel_x = 26 +/obj/effect/turf_decal/tile/red{ + dir = 1 }, -/obj/item/storage/box/disks_nanite, -/obj/item/book/manual/wiki/research_and_development{ - pixel_x = 4; - pixel_y = -8 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/science/server{ - name = "Computer Core" - }) +/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/turf/open/floor/plasteel/white, +/area/medical/medbay/zone2) "cqn" = ( /obj/structure/cable{ icon_state = "4-8" @@ -57054,7 +56360,7 @@ dir = 5 }, /turf/open/floor/plasteel, -/area/engine/teg_cold) +/area/engine/teg/coldloop) "cqo" = ( /obj/effect/turf_decal/stripes/corner{ dir = 8 @@ -57067,7 +56373,7 @@ dir = 8 }, /turf/open/floor/plasteel, -/area/engine/teg_cold) +/area/engine/teg/coldloop) "cqp" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -57079,7 +56385,7 @@ dir = 8 }, /turf/open/floor/plasteel, -/area/engine/teg_cold) +/area/engine/teg/coldloop) "cqq" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/engineering{ @@ -57095,7 +56401,7 @@ dir = 8 }, /turf/open/floor/plasteel, -/area/engine/teg_cold) +/area/engine/teg/coldloop) "cqr" = ( /obj/machinery/power/apc{ areastring = "/area/maintenance/starboard/central"; @@ -57228,7 +56534,7 @@ }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel, -/area/engine/teg_cold) +/area/engine/teg/coldloop) "cqB" = ( /obj/structure/table/wood, /obj/item/reagent_containers/food/drinks/bottle/absinthe, @@ -57243,11 +56549,11 @@ "cqC" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on, /turf/open/floor/plasteel, -/area/engine/teg_cold) +/area/engine/teg/coldloop) "cqD" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel, -/area/engine/teg_cold) +/area/engine/teg/coldloop) "cqE" = ( /obj/machinery/conveyor_switch{ id = "EngiCargoConveyer" @@ -57259,7 +56565,7 @@ }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel, -/area/engine/teg_cold) +/area/engine/teg/coldloop) "cqF" = ( /obj/effect/turf_decal/delivery, /obj/effect/landmark/event_spawn, @@ -57332,12 +56638,12 @@ }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel, -/area/engine/teg_cold) +/area/engine/teg/coldloop) "cqM" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/cyan/hidden, /turf/open/floor/plasteel, -/area/engine/teg_cold) +/area/engine/teg/coldloop) "cqN" = ( /turf/closed/wall/rust, /area/maintenance/department/security) @@ -57346,16 +56652,23 @@ dir = 4 }, /turf/open/floor/plasteel, -/area/engine/teg_cold) +/area/engine/teg/coldloop) "cqP" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 +/obj/structure/table, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden, -/turf/open/floor/plating, -/area/engine/engineering{ - name = "Engine Room" - }) +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/item/clothing/suit/straight_jacket, +/obj/item/clothing/suit/straight_jacket, +/obj/item/clothing/mask/muzzle, +/obj/item/clothing/mask/muzzle, +/obj/structure/window/reinforced/spawner/east, +/turf/open/floor/plasteel/white, +/area/medical/medbay/zone2) "cqQ" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -57376,9 +56689,6 @@ /turf/open/floor/plasteel, /area/hallway/primary/aft) "cqS" = ( -/obj/machinery/computer/rdconsole/experiment{ - dir = 4 - }, /obj/effect/turf_decal/stripes/line, /obj/machinery/requests_console{ department = "Science"; @@ -57387,25 +56697,19 @@ pixel_x = -30; receive_ore_updates = 1 }, +/obj/structure/table, +/obj/item/book/manual/wiki/experimentor, /turf/open/floor/plasteel, /area/science/explab) "cqT" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/hallway/secondary/exit) -"cqU" = ( -/obj/machinery/door/airlock/external{ - name = "Escape Pod" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ +/obj/effect/turf_decal/tile/red{ dir = 8 }, /turf/open/floor/plasteel, -/area/hallway/secondary/exit) +/area/hallway/secondary/exit/departure_lounge) +"cqU" = ( +/turf/open/floor/plasteel/white/corner, +/area/hallway/secondary/exit/departure_lounge) "cqV" = ( /obj/effect/turf_decal/delivery, /obj/machinery/door/firedoor, @@ -57493,7 +56797,7 @@ id = "EngiCargoConveyer" }, /turf/open/floor/plating, -/area/engine/teg_cold) +/area/engine/teg/coldloop) "crc" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -57579,29 +56883,41 @@ /turf/open/floor/plasteel, /area/engine/break_room) "crj" = ( -/obj/structure/chair{ - dir = 1 +/obj/effect/turf_decal/tile/red{ + dir = 4 }, /obj/effect/turf_decal/tile/red{ dir = 8 }, -/obj/item/radio/intercom{ - name = "Station Intercom (Common)"; - pixel_y = -29 +/obj/machinery/light{ + dir = 4; + light_color = "#c1caff" }, /turf/open/floor/plasteel/white/corner, -/area/hallway/secondary/exit) +/area/hallway/secondary/exit/departure_lounge) "crk" = ( /obj/effect/landmark/event_spawn, /obj/machinery/atmospherics/pipe/simple/supplymain/hidden, /turf/open/floor/mineral/titanium/blue, /area/hallway/primary/central) "crl" = ( -/obj/machinery/atmospherics/pipe/simple/cyan/hidden, -/turf/open/floor/plating, -/area/engine/engineering{ - name = "Engine Room" - }) +/obj/structure/rack, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red, +/obj/item/storage/belt/medical, +/obj/item/tank/internals/emergency_oxygen, +/obj/item/clothing/suit/space/eva/paramedic, +/obj/item/clothing/head/helmet/space/eva/paramedic, +/turf/open/floor/plasteel/white, +/area/medical/medbay/zone2) "crm" = ( /obj/machinery/door/firedoor, /obj/structure/plasticflaps, @@ -57614,7 +56930,7 @@ name = "Engineering Delivery Door" }, /turf/open/floor/plating, -/area/engine/teg_cold) +/area/engine/teg/coldloop) "crn" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/shutters/preopen{ @@ -57661,20 +56977,20 @@ /turf/open/floor/plasteel, /area/hallway/primary/central) "crs" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ +/obj/structure/closet/secure_closet/medical2, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ dir = 8 }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/item/radio/intercom{ - name = "Station Intercom (Common)"; - pixel_y = -29 - }, -/turf/open/floor/engine, -/area/engine/supermatter{ - name = "Thermo-Electric Generator" - }) +/obj/effect/turf_decal/tile/red, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel/white, +/area/medical/medbay/zone2) "crt" = ( /obj/effect/turf_decal/tile/yellow{ dir = 8 @@ -57708,34 +57024,48 @@ /turf/open/floor/plasteel, /area/engine/break_room) "crv" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/engine/engineering{ - name = "Engine Room" - }) -"crw" = ( -/obj/structure/disposalpipe/junction{ +/obj/structure/closet/secure_closet/medical1, +/obj/effect/turf_decal/tile/red{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 8 - }, -/turf/open/floor/plating, -/area/engine/engineering{ - name = "Engine Room" - }) -"crx" = ( -/obj/machinery/camera{ - c_tag = "Engine Room - Port Quarter"; +/obj/effect/turf_decal/tile/red{ dir = 1 }, -/obj/structure/cable, -/turf/open/floor/plating, -/area/engine/engineering{ - name = "Engine Room" - }) +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden, +/turf/open/floor/plasteel/white, +/area/medical/medbay/zone2) +"crw" = ( +/obj/machinery/computer/med_data, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red, +/turf/open/floor/plasteel/white, +/area/medical/medbay/zone2) +"crx" = ( +/obj/structure/closet/crate/freezer/blood, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/turf/open/floor/plasteel/white, +/area/medical/medbay/zone2) "cry" = ( /obj/structure/table, /obj/item/stack/sheet/plasteel{ @@ -57940,13 +57270,10 @@ /turf/open/floor/plasteel, /area/hallway/secondary/entry) "crU" = ( -/obj/effect/turf_decal/stripes/line, -/obj/item/crowbar, -/obj/structure/sign/poster/official/safety_internals{ - pixel_x = 32 - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/exit) +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/sign/departments/evac, +/turf/open/floor/plating, +/area/hallway/secondary/exit/departure_lounge) "crV" = ( /obj/machinery/door/firedoor, /obj/effect/turf_decal/delivery, @@ -58208,7 +57535,7 @@ dir = 4 }, /turf/open/floor/plasteel, -/area/engine/teg_cold) +/area/engine/teg/coldloop) "csr" = ( /obj/structure/table, /obj/machinery/computer/libraryconsole/bookmanagement, @@ -58230,7 +57557,7 @@ dir = 4 }, /turf/open/floor/plasteel, -/area/engine/teg_cold) +/area/engine/teg/coldloop) "cst" = ( /obj/machinery/portable_atmospherics/scrubber, /obj/effect/decal/cleanable/dirt, @@ -58238,7 +57565,7 @@ dir = 9 }, /turf/open/floor/plasteel, -/area/engine/teg_cold) +/area/engine/teg/coldloop) "csu" = ( /obj/effect/turf_decal/tile/yellow{ dir = 8 @@ -58341,11 +57668,16 @@ /turf/open/floor/plating, /area/maintenance/department/chapel) "csC" = ( -/obj/effect/landmark/event_spawn, -/turf/open/floor/plating/asteroid, -/area/hydroponics/garden{ - name = "Nature Preserve" - }) +/obj/structure/closet/crate/freezer/surplus_limbs, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/medical/medbay/zone2) "csD" = ( /obj/effect/landmark/event_spawn, /turf/open/floor/plasteel/dark, @@ -58448,42 +57780,37 @@ }, /area/crew_quarters/heads/hor) "csO" = ( -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel, -/area/science/research{ - name = "Research Sector" - }) +/obj/structure/bed/roller, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/structure/window/reinforced/spawner/west, +/turf/open/floor/plasteel/white, +/area/medical/medbay/zone2) "csP" = ( -/obj/effect/turf_decal/tile/purple{ - dir = 4 - }, -/obj/effect/turf_decal/tile/purple, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/manifold/cyan/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/science/research{ - name = "Research Sector" - }) -"csQ" = ( +/obj/machinery/iv_drip, /obj/machinery/atmospherics/pipe/simple/cyan/hidden, -/turf/closed/wall/r_wall, -/area/engine/engineering{ - name = "Engine Room" - }) +/turf/open/floor/plasteel/white, +/area/medical/medbay/zone2) +"csQ" = ( +/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/turf/open/floor/plasteel/white, +/area/medical/medbay/zone2) "csR" = ( /turf/open/floor/engine, /area/science/storage) "csS" = ( -/obj/machinery/atmospherics/pipe/manifold/general/visible{ +/obj/structure/bed/roller, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ dir = 4 }, -/obj/effect/landmark/event_spawn, -/turf/open/floor/plating, -/area/maintenance/aft/secondary{ - name = "Aft Air Hookup" - }) +/obj/structure/window/reinforced/spawner/east, +/turf/open/floor/plasteel/white, +/area/medical/medbay/zone2) "csT" = ( /obj/effect/landmark/event_spawn, /turf/open/floor/plasteel, @@ -58509,17 +57836,18 @@ }, /area/science/robotics/lab) "csW" = ( -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/plasteel/dark, -/area/science/misc_lab{ - name = "Research Observatory" - }) +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/turf/open/floor/plasteel, +/area/medical/medbay/zone2) "csX" = ( -/obj/machinery/atmospherics/pipe/simple/cyan/hidden, -/turf/open/floor/plasteel/dark, -/area/science/misc_lab{ - name = "Research Observatory" - }) +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel, +/area/medical/medbay/zone2) "csY" = ( /obj/effect/landmark/event_spawn, /turf/open/floor/plasteel/white, @@ -58543,18 +57871,12 @@ /turf/open/floor/engine, /area/science/explab) "ctc" = ( -/obj/structure/cable{ - icon_state = "1-2" +/obj/effect/turf_decal/stripes/line{ + dir = 1 }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/open/floor/plasteel/dark, -/area/science/misc_lab{ - name = "Research Observatory" - }) +/obj/machinery/atmospherics/pipe/simple/cyan/hidden, +/turf/open/floor/plasteel, +/area/medical/medbay/zone2) "ctd" = ( /obj/structure/cable{ icon_state = "1-2" @@ -58627,20 +57949,25 @@ /turf/open/floor/plasteel, /area/engine/atmos) "ctl" = ( -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk, -/obj/effect/turf_decal/tile/yellow, /obj/effect/turf_decal/tile/yellow{ dir = 1 }, -/obj/effect/turf_decal/tile/yellow{ - dir = 4 - }, /obj/effect/turf_decal/tile/yellow{ dir = 8 }, -/obj/effect/turf_decal/stripes/white/full, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow, +/obj/machinery/modular_computer/console/preset/engineering, +/obj/structure/cable{ + icon_state = "1-2" + }, /obj/structure/window/reinforced/spawner/north, +/obj/machinery/door/firedoor/border_only{ + dir = 1; + name = "north facing firelock" + }, /turf/open/floor/plasteel, /area/engine/workshop) "ctm" = ( @@ -58841,21 +58168,17 @@ /turf/open/floor/plating, /area/medical/virology) "ctE" = ( -/obj/effect/turf_decal/tile/yellow{ - dir = 1 +/obj/structure/table/reinforced, +/obj/machinery/door/window/southleft{ + name = "Workshop Desk"; + req_access_txt = "11" }, -/obj/effect/turf_decal/tile/yellow{ - dir = 8 +/obj/item/paper_bin, +/obj/item/pen, +/obj/structure/disposalpipe/segment, +/obj/machinery/door/firedoor/border_only{ + name = "south facing firelock" }, -/obj/effect/turf_decal/tile/yellow{ - dir = 4 - }, -/obj/effect/turf_decal/tile/yellow, -/obj/machinery/modular_computer/console/preset/engineering, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/window/reinforced/spawner/north, /turf/open/floor/plasteel, /area/engine/workshop) "ctF" = ( @@ -58869,13 +58192,14 @@ /turf/closed/wall, /area/engine/workshop) "ctH" = ( -/obj/effect/turf_decal/stripes/line, -/obj/machinery/light/small{ - dir = 1; - light_color = "#ffc1c1" +/obj/effect/turf_decal/tile/red{ + dir = 8 }, -/turf/open/floor/plasteel, -/area/hallway/secondary/exit) +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/plasteel/cafeteria, +/area/hallway/secondary/exit/departure_lounge) "ctI" = ( /obj/structure/table/reinforced, /obj/item/paper_bin, @@ -58928,14 +58252,12 @@ /turf/open/floor/engine, /area/science/xenobiology) "ctN" = ( -/obj/machinery/light/small{ - dir = 4; - light_color = "#d8b1b1" +/obj/effect/turf_decal/stripes/line{ + dir = 5 }, -/turf/open/floor/plasteel/dark, -/area/science/misc_lab{ - name = "Research Observatory" - }) +/obj/effect/landmark/start/medical_doctor, +/turf/open/floor/plasteel, +/area/medical/medbay/zone2) "ctO" = ( /obj/effect/turf_decal/tile/green{ dir = 1 @@ -58949,15 +58271,15 @@ /turf/open/floor/plasteel/white, /area/medical/virology) "ctP" = ( -/obj/effect/turf_decal/tile/neutral{ +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ dir = 8 }, -/obj/effect/turf_decal/tile/neutral, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden, -/turf/open/floor/plasteel/dark, -/area/science/misc_lab{ - name = "Research Observatory" - }) +/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/turf/open/floor/plasteel/white, +/area/medical/medbay/zone2) "ctQ" = ( /obj/structure/grille, /obj/structure/cable{ @@ -59030,30 +58352,18 @@ /turf/open/floor/plasteel/dark, /area/science/xenobiology) "ctV" = ( -/obj/structure/chair{ - dir = 1 - }, /obj/effect/turf_decal/tile/red{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/machinery/power/apc/highcap/five_k{ - areastring = "/area/hallway/secondary/exit"; - name = "Escape Shuttle Hallway APC"; - pixel_y = -28 + dir = 4 }, /turf/open/floor/plasteel/white/corner, -/area/hallway/secondary/exit) +/area/hallway/secondary/exit/departure_lounge) "ctW" = ( -/obj/machinery/airalarm{ - pixel_y = 24 +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 }, -/turf/open/floor/plasteel/dark, -/area/science/misc_lab{ - name = "Research Observatory" - }) +/turf/open/floor/plasteel/white, +/area/medical/medbay/zone2) "ctX" = ( /obj/effect/turf_decal/tile/yellow{ dir = 1 @@ -59068,63 +58378,45 @@ /turf/open/floor/plasteel, /area/engine/workshop) "ctY" = ( -/obj/structure/sign/departments/xenobio{ - pixel_x = -32; - pixel_y = 32 - }, -/obj/effect/turf_decal/tile/neutral, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ +/obj/effect/turf_decal/tile/red{ dir = 8 }, -/obj/effect/turf_decal/tile/green{ - dir = 8 - }, -/obj/effect/turf_decal/tile/purple{ +/obj/effect/turf_decal/tile/red{ dir = 1 }, -/turf/open/floor/plasteel/dark, -/area/science/misc_lab{ - name = "Research Observatory" - }) +/obj/structure/window/reinforced/spawner/west, +/obj/machinery/sleeper{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/medical/medbay/zone2) "ctZ" = ( -/obj/effect/turf_decal/tile/neutral{ +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/structure/window/reinforced/spawner/east, +/obj/machinery/sleeper{ dir = 8 }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/science/misc_lab{ - name = "Research Observatory" - }) +/turf/open/floor/plasteel/white, +/area/medical/medbay/zone2) "cua" = ( -/obj/structure/chair/comfy/black{ +/obj/effect/turf_decal/stripes/line{ dir = 8 }, -/obj/structure/cable{ - icon_state = "1-2" +/obj/machinery/light{ + dir = 8 }, -/obj/machinery/atmospherics/pipe/manifold/orange/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/science/misc_lab{ - name = "Research Observatory" - }) +/turf/open/floor/plasteel, +/area/medical/medbay/zone2) "cub" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/science/misc_lab{ - name = "Research Observatory" - }) +/obj/structure/table/optable, +/obj/effect/turf_decal/bot, +/obj/item/defibrillator/loaded, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel, +/area/medical/medbay/zone2) "cuc" = ( /obj/machinery/door/airlock/virology/glass{ name = "Monkey Pen"; @@ -59172,78 +58464,82 @@ /turf/open/floor/plasteel, /area/science/xenobiology) "cuf" = ( -/obj/machinery/light, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/science/misc_lab{ - name = "Research Observatory" - }) +/obj/machinery/computer/operating, +/obj/effect/turf_decal/bot, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden, +/turf/open/floor/plasteel, +/area/medical/medbay/zone2) "cug" = ( -/obj/structure/cable{ - icon_state = "4-8" +/obj/effect/turf_decal/stripes/line{ + dir = 4 }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/science/misc_lab{ - name = "Research Observatory" - }) +/turf/open/floor/plasteel, +/area/medical/medbay/zone2) "cuh" = ( -/obj/machinery/door/firedoor, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/dark, -/area/science/misc_lab{ - name = "Research Observatory" - }) -"cui" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/dark, -/area/science/misc_lab{ - name = "Research Observatory" - }) -"cuj" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/plasteel/dark, -/area/science/misc_lab{ - name = "Research Observatory" - }) -"cuk" = ( -/obj/structure/chair/comfy/black{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on{ +/obj/structure/table, +/obj/effect/turf_decal/tile/red{ dir = 1 }, -/turf/open/floor/plasteel/dark, -/area/science/misc_lab{ - name = "Research Observatory" - }) +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/obj/item/paper/guides/cogstation/letter_med{ + pixel_y = 4 + }, +/obj/item/storage/backpack/duffelbag/med/surgery, +/turf/open/floor/plasteel/white, +/area/medical/medbay/zone2) +"cui" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/machinery/camera{ + c_tag = "Medbay - Operating Theatre"; + dir = 8; + network = list("ss13","medbay"); + pixel_y = -22 + }, +/turf/open/floor/plasteel/white, +/area/medical/medbay/zone2) +"cuj" = ( +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/machinery/door/window/westright{ + name = "Treatment Center"; + req_access_txt = "5" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/medical/medbay/zone2) +"cuk" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/cyan/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/medical/medbay/zone2) "cul" = ( -/obj/structure/chair/comfy/black, -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel/dark, -/area/science/misc_lab{ - name = "Research Observatory" - }) +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/medical/medbay/zone2) "cum" = ( /obj/structure/rack, /obj/item/storage/firstaid/regular{ @@ -59307,30 +58603,32 @@ /turf/open/floor/plasteel/white, /area/medical/medbay/central) "cuq" = ( -/obj/effect/turf_decal/tile/neutral{ +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ dir = 4 }, -/turf/open/floor/plasteel/dark, -/area/science/misc_lab{ - name = "Research Observatory" - }) +/obj/machinery/door/window/eastleft{ + name = "Operating Theatre"; + req_access_txt = "45" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/white, +/area/medical/medbay/zone2) "cur" = ( -/obj/effect/turf_decal/tile/neutral{ - dir = 4 +/obj/effect/turf_decal/stripes/line{ + dir = 8 }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 +/obj/structure/cable{ + icon_state = "2-8" }, -/turf/open/floor/plasteel/dark, -/area/science/misc_lab{ - name = "Research Observatory" - }) +/turf/open/floor/plasteel, +/area/medical/medbay/zone2) "cus" = ( -/obj/machinery/light/small, -/turf/open/floor/plasteel/dark, -/area/science/misc_lab{ - name = "Research Observatory" - }) +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel, +/area/medical/medbay/zone2) "cut" = ( /obj/docking_port/stationary{ dir = 2; @@ -59368,11 +58666,10 @@ /turf/open/floor/plasteel, /area/engine/workshop) "cux" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ - dir = 4 - }, -/turf/open/floor/plating/airless, -/area/crew_quarters/fitness/cogpool) +/obj/machinery/atmospherics/pipe/simple/cyan/hidden, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel, +/area/medical/medbay/zone2) "cuy" = ( /obj/structure/lattice, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, @@ -59873,41 +59170,22 @@ /area/medical/medbay/central) "cvx" = ( /obj/structure/table, -/obj/effect/turf_decal/tile/red, -/obj/effect/turf_decal/tile/red{ - dir = 8 - }, -/obj/effect/turf_decal/tile/red{ - dir = 4 - }, /obj/effect/turf_decal/tile/red{ dir = 1 }, -/obj/item/storage/firstaid/regular{ - pixel_x = 2; - pixel_y = 4 +/obj/effect/turf_decal/tile/red{ + dir = 8 }, -/obj/item/storage/firstaid/regular{ - pixel_x = 2; - pixel_y = 4 - }, -/obj/item/storage/firstaid/regular{ - pixel_x = 2; - pixel_y = 4 - }, -/obj/item/storage/toolbox/emergency, -/obj/item/hypospray/mkii/tricord, -/obj/item/radio/intercom{ - broadcasting = 1; - frequency = 1485; - listening = 0; - name = "Station Intercom (Medical)"; - pixel_y = -30 +/obj/item/clothing/gloves/color/latex, +/obj/item/clothing/suit/apron/surgical, +/obj/item/clothing/mask/surgical, +/obj/item/healthanalyzer, +/obj/item/clothing/neck/stethoscope, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 1 }, /turf/open/floor/plasteel/white, -/area/medical/medbay/zone2{ - name = "Medbay Treatment Center" - }) +/area/medical/medbay/zone2) "cvy" = ( /obj/machinery/atmospherics/pipe/simple/orange/hidden, /turf/open/floor/plasteel/white, @@ -59932,76 +59210,53 @@ /turf/open/floor/plasteel/dark, /area/science/xenobiology) "cvA" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/sign/warning/securearea{ - pixel_x = -32; - pixel_y = -32 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/tile/green{ +/obj/effect/turf_decal/tile/red{ dir = 8 }, -/obj/effect/turf_decal/tile/purple{ +/obj/effect/turf_decal/tile/red{ dir = 1 }, -/turf/open/floor/plasteel/dark, -/area/science/misc_lab{ - name = "Research Observatory" - }) +/obj/machinery/door/window/westleft{ + name = "Treatment Center"; + req_access_txt = "5" + }, +/turf/open/floor/plasteel/white, +/area/medical/medbay/zone2) "cvB" = ( -/obj/effect/turf_decal/bot, -/obj/structure/disposalpipe/segment, -/obj/machinery/porta_turret/ai{ - dir = 1; - req_access = list(16) +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 }, -/turf/open/floor/plasteel, -/area/science/server{ - name = "Computer Core" - }) +/turf/open/floor/plasteel/white, +/area/medical/medbay/zone2) "cvC" = ( -/obj/machinery/computer/nanite_cloud_controller, -/obj/machinery/light{ - dir = 4; - light_color = "#e8eaff" - }, -/obj/structure/window/reinforced/spawner, -/turf/open/floor/plasteel/dark, -/area/science/server{ - name = "Computer Core" - }) +/turf/open/floor/plasteel/white, +/area/medical/medbay/zone2) "cvD" = ( -/obj/effect/turf_decal/delivery, -/obj/machinery/rnd/server, -/turf/open/floor/plasteel, -/area/science/server{ - name = "Computer Core" - }) +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/machinery/door/window/eastright{ + name = "Operating Theatre"; + req_access_txt = "45" + }, +/turf/open/floor/plasteel/white, +/area/medical/medbay/zone2) "cvE" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/door/poddoor{ - id = "RDServer"; - name = "RD Server Lockup" +/obj/structure/cable{ + icon_state = "1-2" }, /turf/open/floor/plasteel, -/area/science/server{ - name = "Computer Core" - }) +/area/medical/medbay/zone2) "cvF" = ( -/obj/item/caution, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, /turf/open/floor/plasteel, -/area/science/server{ - name = "Computer Core" - }) +/area/medical/medbay/zone2) "cvG" = ( /obj/machinery/door/airlock/research/glass{ name = "Xenobiology Lab Access"; @@ -60218,17 +59473,20 @@ /turf/open/floor/plasteel/dark, /area/science/xenobiology) "cvW" = ( -/obj/structure/chair/comfy/black, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ +/obj/structure/table, +/obj/effect/turf_decal/tile/red{ dir = 1 }, -/turf/open/floor/plasteel/dark, -/area/science/misc_lab{ - name = "Research Observatory" - }) +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/item/clothing/gloves/color/latex, +/obj/item/clothing/suit/apron/surgical, +/obj/item/clothing/mask/surgical, +/obj/item/healthanalyzer, +/obj/item/clothing/neck/stethoscope, +/turf/open/floor/plasteel/white, +/area/medical/medbay/zone2) "cvX" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/research{ @@ -60271,34 +59529,38 @@ /area/science/xenobiology) "cvZ" = ( /obj/structure/table/reinforced, -/obj/machinery/door/firedoor, -/obj/item/clipboard, -/obj/item/stamp/denied{ - pixel_x = 4; - pixel_y = 4 - }, -/obj/item/stamp, /obj/machinery/door/window/southright{ - name = "Customs Desk"; - req_access_txt = "57" + name = "Workshop Desk"; + req_access_txt = "11" }, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "HoPAft"; - name = "HoP Aft Desk Shutters" +/obj/item/folder/yellow, +/obj/machinery/door/firedoor/border_only{ + name = "south facing firelock" }, -/turf/open/floor/plasteel/dark, -/area/security/checkpoint/customs) +/turf/open/floor/plasteel, +/area/engine/workshop) "cwa" = ( /obj/structure/table/reinforced, -/obj/machinery/door/firedoor, -/obj/item/flashlight/lamp, -/obj/structure/window/reinforced/spawner, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "HoPAft"; - name = "HoP Aft Desk Shutters" +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 }, -/turf/open/floor/plasteel/dark, -/area/security/checkpoint/customs) +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/machinery/door/window/southleft{ + name = "Primary Tool Storage Desk"; + req_access_txt = "11" + }, +/obj/item/folder/yellow, +/obj/machinery/door/firedoor/border_only{ + name = "south facing firelock" + }, +/turf/open/floor/plasteel, +/area/storage/primary) "cwb" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -60328,16 +59590,13 @@ /turf/open/floor/plasteel, /area/quartermaster/sorting) "cwd" = ( -/obj/effect/turf_decal/stripes/line{ +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/open/floor/plasteel/white/corner{ dir = 1 }, -/obj/effect/turf_decal/stripes/line, -/obj/structure/disposalpipe/segment, -/obj/machinery/holopad, -/turf/open/floor/plasteel, -/area/science/server{ - name = "Computer Core" - }) +/area/hallway/secondary/exit/departure_lounge) "cwe" = ( /obj/structure/closet/secure_closet/exile, /turf/open/floor/plasteel/white, @@ -60469,27 +59728,8 @@ /turf/open/floor/plating, /area/medical/virology) "cwq" = ( -/obj/machinery/door/airlock/engineering{ - name = "Hot Loop"; - req_one_access_txt = "10;24" - }, -/obj/structure/disposalpipe/segment, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/door/firedoor/heavy, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel, -/area/engine/engine_smes{ - name = "Power Monitoring" - }) +/turf/open/floor/plasteel/stairs/left, +/area/hallway/secondary/exit/departure_lounge) "cwr" = ( /obj/effect/turf_decal/tile/yellow{ dir = 1 @@ -60551,12 +59791,11 @@ /turf/open/floor/plasteel, /area/engine/atmos) "cwy" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/transit_tube/horizontal, -/turf/open/floor/plating, -/area/engine/secure_construction{ - name = "Engineering Construction Area" - }) +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/engine/secure_construction) "cwz" = ( /obj/structure/transit_tube/curved{ dir = 8 @@ -60718,18 +59957,12 @@ /turf/open/floor/mineral/titanium/blue, /area/hallway/primary/central) "cwV" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 +/obj/machinery/light{ + dir = 4; + light_color = "#c1caff" }, -/obj/structure/disposalpipe/segment, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/open/floor/plasteel, -/area/engine/engine_smes{ - name = "Power Monitoring" - }) +/turf/open/floor/plasteel/stairs/right, +/area/hallway/secondary/exit/departure_lounge) "cwW" = ( /obj/machinery/door/firedoor, /obj/effect/turf_decal/delivery, @@ -60789,15 +60022,18 @@ /turf/open/space/basic, /area/space/nearstation) "cxd" = ( -/obj/machinery/computer/monitor, -/obj/machinery/airalarm{ - pixel_y = 24 +/obj/machinery/atmospherics/components/unary/thermomachine/freezer{ + dir = 4 }, -/obj/structure/cable/yellow, -/turf/open/floor/plasteel, -/area/engine/engine_smes{ - name = "Power Monitoring" - }) +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/structure/window/reinforced/spawner/west, +/turf/open/floor/plasteel/white, +/area/medical/medbay/zone2) "cxe" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -60954,21 +60190,11 @@ /turf/open/floor/plasteel, /area/quartermaster/warehouse) "cxs" = ( -/obj/structure/table, -/obj/machinery/light{ - dir = 8 - }, -/obj/machinery/airalarm{ - dir = 4; - pixel_x = -23 - }, -/obj/item/storage/toolbox/electrical, -/obj/item/hand_labeler, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ +/obj/machinery/atmospherics/pipe/simple/general/visible{ dir = 4 }, -/turf/open/floor/plasteel, -/area/quartermaster/storage) +/turf/open/floor/plasteel/white, +/area/medical/medbay/zone2) "cxt" = ( /obj/effect/landmark/start/cargo_technician, /obj/structure/cable{ @@ -61444,6 +60670,7 @@ pixel_y = 24 }, /obj/machinery/power/apc{ + areastring = "/area/crew_quarters/toilet/restrooms"; dir = 4; name = "Restrooms APC"; pixel_x = 24 @@ -61472,28 +60699,11 @@ /turf/open/floor/plasteel, /area/hallway/primary/aft) "cyt" = ( -/obj/effect/turf_decal/tile/purple{ - dir = 8 - }, -/obj/effect/turf_decal/tile/purple{ +/obj/machinery/atmospherics/pipe/manifold/general/visible{ dir = 1 }, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/obj/effect/turf_decal/tile/purple, -/obj/machinery/power/apc{ - areastring = "/area/science/robotics/lab"; - dir = 8; - name = "Robotics Lab APC"; - pixel_x = -25 - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/turf/open/floor/plasteel, -/area/science/research{ - name = "Research Sector" - }) +/turf/open/floor/plasteel/white, +/area/medical/medbay/zone2) "cyu" = ( /obj/structure/closet/wardrobe/chemistry_white{ anchored = 1 @@ -61596,14 +60806,11 @@ /turf/open/floor/plasteel/white, /area/medical/medbay/central) "cyD" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/public/glass{ - name = "Departures" +/obj/machinery/light{ + dir = 8 }, -/obj/effect/turf_decal/delivery, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/open/floor/plasteel, -/area/hallway/secondary/exit) +/turf/open/floor/plasteel/stairs/left, +/area/hallway/secondary/exit/departure_lounge) "cyE" = ( /obj/effect/landmark/event_spawn, /turf/open/floor/plasteel/white, @@ -61636,14 +60843,8 @@ /turf/open/floor/plasteel/white, /area/medical/medbay/central) "cyJ" = ( -/obj/effect/turf_decal/tile/green{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/open/floor/plasteel/white/corner{ - dir = 1 - }, -/area/hallway/secondary/exit) +/turf/open/floor/plasteel/stairs/right, +/area/hallway/secondary/exit/departure_lounge) "cyK" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 8 @@ -61746,103 +60947,53 @@ /turf/open/floor/plating, /area/maintenance/aft) "cyV" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 +/obj/machinery/door/firedoor, +/obj/structure/cable{ + icon_state = "1-2" }, -/obj/machinery/atmospherics/pipe/manifold/orange/hidden{ - dir = 8 - }, -/turf/open/floor/plasteel/white/corner{ - dir = 1 - }, -/area/hallway/secondary/exit) +/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/turf/open/floor/plasteel/dark, +/area/science/observatory) "cyW" = ( -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/exit) +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden, +/turf/open/floor/plasteel/dark, +/area/science/observatory) "cyX" = ( -/obj/effect/turf_decal/tile/green{ - dir = 4 +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/science/observatory) +"cyY" = ( +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"cyZ" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/sign/warning/vacuum/external, +/turf/open/floor/plating, +/area/hallway/secondary/exit/departure_lounge) +"cza" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/turf/open/floor/plasteel/dark, +/area/science/observatory) +"czb" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 }, /obj/machinery/atmospherics/pipe/simple/cyan/hidden, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 8 +/turf/open/floor/plasteel/dark, +/area/science/observatory) +"czc" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/external/glass{ + name = "Departures Shuttle Dock" }, /turf/open/floor/plasteel, -/area/hallway/secondary/exit) -"cyY" = ( -/obj/effect/turf_decal/tile/green{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 8 - }, -/turf/open/floor/plasteel/white/corner{ - dir = 1 - }, -/area/hallway/secondary/exit) -"cyZ" = ( -/obj/machinery/computer/arcade, -/obj/machinery/light{ - dir = 1 - }, -/obj/effect/turf_decal/tile/green{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 8 - }, -/turf/open/floor/plasteel/white/corner{ - dir = 1 - }, -/area/hallway/secondary/exit) -"cza" = ( -/obj/structure/chair{ - dir = 4 - }, -/obj/effect/turf_decal/tile/green{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 8 - }, -/turf/open/floor/plasteel/white/corner{ - dir = 1 - }, -/area/hallway/secondary/exit) -"czb" = ( -/obj/structure/table, -/obj/effect/turf_decal/tile/green{ - dir = 4 - }, -/obj/item/paicard, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 8 - }, -/turf/open/floor/plasteel/white/corner{ - dir = 1 - }, -/area/hallway/secondary/exit) -"czc" = ( -/obj/structure/chair{ - dir = 8 - }, -/obj/machinery/light_switch{ - pixel_x = 24 - }, -/obj/effect/turf_decal/tile/green{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 10 - }, -/turf/open/floor/plasteel/cafeteria, -/area/hallway/secondary/exit) +/area/hallway/secondary/exit/departure_lounge) "czd" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -61854,15 +61005,8 @@ /turf/open/floor/plating, /area/maintenance/aft) "cze" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/open/floor/plasteel, -/area/hallway/secondary/exit) +/turf/closed/wall/r_wall, +/area/science/observatory) "czf" = ( /obj/effect/turf_decal/tile/yellow{ dir = 4 @@ -61937,94 +61081,72 @@ /turf/open/floor/plating, /area/maintenance/aft) "czl" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/maintenance{ - name = "Aft Maintenance"; - req_access_txt = "12" - }, /obj/structure/cable{ - icon_state = "4-8" + icon_state = "1-2" }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 8 - }, -/turf/open/floor/plating, -/area/hallway/secondary/exit) -"czm" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/exit) -"czn" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/manifold/orange/hidden{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/exit) -"czo" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/exit) -"czp" = ( -/obj/structure/chair{ +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ dir = 4 }, -/obj/structure/cable{ - icon_state = "4-8" +/obj/machinery/firealarm{ + dir = 4; + pixel_x = -28 }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ +/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/turf/open/floor/plasteel/dark, +/area/science/observatory) +"czm" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ dir = 8 }, -/turf/open/floor/plasteel, -/area/hallway/secondary/exit) -"czq" = ( -/obj/structure/table/glass, -/obj/item/reagent_containers/food/drinks/coffee, -/obj/item/pen/blue, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/hallway/secondary/exit) -"czr" = ( -/obj/structure/table/glass, -/obj/item/storage/toolbox/emergency, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ +/obj/machinery/atmospherics/pipe/simple/cyan/hidden, +/turf/open/floor/plasteel/dark, +/area/science/observatory) +"czn" = ( +/obj/effect/turf_decal/stripes/line{ dir = 9 }, /turf/open/floor/plasteel, -/area/hallway/secondary/exit) -"czs" = ( -/obj/structure/cable{ - icon_state = "4-8" +/area/hallway/secondary/exit/departure_lounge) +"czo" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 }, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden{ +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"czp" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) +"czq" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/orange/hidden, +/turf/open/floor/plasteel/dark, +/area/science/observatory) +"czr" = ( +/obj/machinery/door/airlock/external/glass{ + name = "Shuttle Maintenance Access" + }, +/obj/structure/fans/tiny, /turf/open/floor/plasteel, -/area/hallway/secondary/exit) +/area/hallway/secondary/exit/departure_lounge) +"czs" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) "czt" = ( /obj/effect/turf_decal/tile/blue, /obj/effect/turf_decal/tile/blue{ @@ -62076,11 +61198,15 @@ /turf/open/floor/plasteel/showroomfloor, /area/medical/morgue) "czy" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 1 +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/light{ + dir = 4; + light_color = "#c1caff" }, /turf/open/floor/plasteel, -/area/hallway/secondary/exit) +/area/hallway/secondary/exit/departure_lounge) "czz" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/command/glass{ @@ -62186,12 +61312,17 @@ /turf/open/floor/plasteel/showroomfloor, /area/medical/morgue) "czK" = ( -/obj/machinery/atmospherics/pipe/simple/cyan/hidden, -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel, -/area/medical/medbay/zone2{ - name = "Medbay Treatment Center" - }) +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 8 + }, +/obj/machinery/portable_atmospherics/canister/oxygen, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/structure/window/reinforced/spawner/east, +/turf/open/floor/plasteel/white, +/area/medical/medbay/zone2) "czL" = ( /obj/effect/turf_decal/tile/purple, /obj/effect/turf_decal/tile/purple{ @@ -62696,7 +61827,7 @@ /obj/effect/turf_decal/tile/green{ dir = 8 }, -/obj/item/caution, +/obj/item/clothing/suit/caution, /obj/machinery/atmospherics/pipe/simple/cyan/hidden{ dir = 4 }, @@ -62876,23 +62007,12 @@ /turf/open/floor/plating, /area/hallway/primary/aft) "cAU" = ( -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/obj/structure/disposalpipe/segment, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 5 +/obj/machinery/computer/operating{ + dir = 1 }, +/obj/effect/turf_decal/bot, /turf/open/floor/plasteel, -/area/engine/engine_smes{ - name = "Power Monitoring" - }) +/area/medical/medbay/zone2) "cAV" = ( /obj/machinery/atmospherics/pipe/simple/orange/hidden{ dir = 5 @@ -62964,19 +62084,16 @@ /turf/open/floor/plasteel, /area/hallway/primary/port/fore) "cBd" = ( -/obj/effect/turf_decal/stripes/line{ +/obj/structure/table, +/obj/effect/turf_decal/tile/red{ dir = 1 }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ +/obj/effect/turf_decal/tile/red{ dir = 8 }, -/turf/open/floor/plasteel, -/area/engine/engine_smes{ - name = "Power Monitoring" - }) +/obj/item/storage/backpack/duffelbag/med/surgery, +/turf/open/floor/plasteel/white, +/area/medical/medbay/zone2) "cBe" = ( /obj/effect/landmark/event_spawn, /obj/machinery/atmospherics/pipe/simple/orange/hidden{ @@ -63038,42 +62155,25 @@ /turf/open/floor/plasteel, /area/hallway/primary/port/fore) "cBk" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 +/obj/structure/sink{ + dir = 4; + pixel_x = 11 }, -/obj/effect/landmark/start/station_engineer, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/engine/engine_smes{ - name = "Power Monitoring" - }) -"cBl" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/engineering/glass{ - name = "Power Monitoring"; - req_access_txt = "10" - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ +/turf/open/floor/plasteel/white, +/area/medical/medbay/zone2) +"cBl" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/light{ dir = 8 }, /turf/open/floor/plasteel, -/area/engine/engine_smes{ - name = "Power Monitoring" - }) +/area/hallway/secondary/exit/departure_lounge) "cBm" = ( /obj/effect/turf_decal/tile/yellow{ dir = 4 @@ -63126,21 +62226,27 @@ /turf/open/floor/plasteel, /area/crew_quarters/bar) "cBr" = ( -/obj/machinery/atmospherics/pipe/simple/supplymain/hidden{ +/obj/effect/turf_decal/stripes/line{ dir = 4 }, -/turf/closed/wall/r_wall, -/area/maintenance/aft/secondary{ - name = "Aft Air Hookup" - }) +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) "cBs" = ( -/obj/machinery/atmospherics/pipe/manifold/supplymain/hidden{ +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 6 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ dir = 1 }, -/turf/closed/wall/r_wall, -/area/maintenance/aft/secondary{ - name = "Aft Air Hookup" - }) +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/window/reinforced/spawner/west, +/turf/open/floor/plasteel/white, +/area/medical/medbay/zone2) "cBt" = ( /obj/structure/closet/l3closet/scientist, /obj/structure/cable{ @@ -63241,13 +62347,14 @@ /turf/open/floor/plating, /area/engine/workshop) "cBC" = ( -/obj/machinery/atmospherics/pipe/simple/supplymain/hidden{ - dir = 10 +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 4 }, -/turf/closed/wall/r_wall, -/area/maintenance/aft/secondary{ - name = "Aft Air Hookup" - }) +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/medical/medbay/zone2) "cBD" = ( /obj/effect/turf_decal/tile/green, /obj/machinery/atmospherics/pipe/simple/orange/hidden, @@ -63586,25 +62693,10 @@ /turf/open/floor/plasteel/white, /area/medical/virology) "cCd" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/machinery/sleeper{ - dir = 8 - }, -/obj/machinery/airalarm{ - pixel_y = 24 - }, -/turf/open/floor/plasteel/white, -/area/medical{ - name = "Medical Booth" - }) +/obj/machinery/light, +/obj/machinery/atmospherics/pipe/manifold/orange/hidden, +/turf/open/floor/plasteel, +/area/engine/secure_construction) "cCe" = ( /obj/effect/turf_decal/tile/red{ dir = 8 @@ -63834,7 +62926,7 @@ /obj/effect/turf_decal/tile/green{ dir = 4 }, -/obj/item/caution, +/obj/item/clothing/suit/caution, /obj/machinery/atmospherics/pipe/manifold4w/orange/hidden, /obj/structure/cable{ icon_state = "4-8" @@ -64679,20 +63771,13 @@ }, /area/crew_quarters/heads/hor) "cDX" = ( -/obj/effect/turf_decal/tile/purple{ +/obj/machinery/atmospherics/pipe/manifold/general/visible, +/obj/effect/landmark/start/medical_doctor, +/obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/effect/turf_decal/tile/purple{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden, -/turf/open/floor/plasteel, -/area/science/research{ - name = "Research Sector" - }) +/turf/open/floor/plasteel/white, +/area/medical/medbay/zone2) "cDY" = ( /obj/structure/cable{ icon_state = "4-8" @@ -64753,242 +63838,141 @@ /turf/open/floor/plasteel/dark, /area/crew_quarters/heads/hor) "cEc" = ( -/obj/effect/turf_decal/bot, -/obj/structure/cable{ - icon_state = "4-8" +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 10 }, -/obj/machinery/navbeacon{ - codes_txt = "delivery;dir=1"; - dir = 1; - freq = 1400; - location = "Bridge" - }, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden{ +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ dir = 4 }, -/turf/open/floor/plasteel, -/area/science/research{ - name = "Research Sector" - }) -"cEd" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/science/research{ - name = "Research Sector" - }) -"cEe" = ( /obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/window/reinforced/spawner/east, +/turf/open/floor/plasteel/white, +/area/medical/medbay/zone2) +"cEd" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/obj/structure/disposalpipe/junction/flip{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel, +/area/medical/medbay/zone2) +"cEe" = ( +/obj/effect/turf_decal/stripes/line, +/obj/structure/disposalpipe/segment, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/medical/medbay/zone2) +"cEf" = ( +/obj/effect/turf_decal/stripes/line, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/medical/medbay/zone2) +"cEg" = ( +/obj/effect/turf_decal/stripes/line{ dir = 6 }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/machinery/atmospherics/pipe/manifold/cyan/hidden{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/science/research{ - name = "Research Sector" - }) -"cEf" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden{ - dir = 4 - }, /turf/open/floor/plasteel, -/area/science/research{ - name = "Research Sector" - }) -"cEg" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/machinery/atmospherics/pipe/manifold/cyan/hidden, -/turf/open/floor/plasteel, -/area/science/research{ - name = "Research Sector" - }) +/area/medical/medbay/zone2) "cEh" = ( +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/science/research{ - name = "Research Sector" - }) +/turf/open/floor/plasteel/white, +/area/medical/medbay/zone2) "cEi" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/machinery/light{ + dir = 4; + light_color = "#c1caff" + }, /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/landmark/start/scientist, -/obj/machinery/atmospherics/pipe/manifold/cyan/hidden{ - dir = 1 - }, -/turf/open/floor/plasteel, -/area/science/research{ - name = "Research Sector" - }) +/turf/open/floor/plasteel/white, +/area/medical/medbay/zone2) "cEj" = ( -/obj/effect/turf_decal/tile/purple, -/obj/effect/turf_decal/tile/purple{ - dir = 4 +/obj/machinery/light{ + dir = 4; + light_color = "#e8eaff" }, -/obj/structure/disposalpipe/segment{ - dir = 4 +/obj/effect/turf_decal/tile/neutral{ + dir = 1 }, -/obj/structure/cable{ - icon_state = "4-8" +/obj/effect/turf_decal/tile/neutral{ + dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/science/research{ - name = "Research Sector" - }) +/obj/machinery/atmospherics/pipe/simple/cyan/hidden, +/turf/open/floor/plasteel/dark, +/area/science/observatory) "cEk" = ( -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/tile/purple, -/obj/effect/turf_decal/tile/purple{ - dir = 4 - }, -/obj/effect/turf_decal/tile/purple{ - dir = 1 - }, -/obj/effect/turf_decal/tile/purple{ - dir = 8 - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/door/airlock/research/glass{ - name = "Research Sector"; - req_one_access_txt = "29;47" - }, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden{ - dir = 4 +/obj/effect/turf_decal/stripes/line{ + dir = 10 }, /turf/open/floor/plasteel, -/area/science/research{ - name = "Research Sector" - }) +/area/hallway/secondary/exit/departure_lounge) "cEl" = ( -/obj/effect/turf_decal/tile/purple, -/obj/effect/turf_decal/tile/purple{ - dir = 4 - }, -/obj/effect/turf_decal/tile/purple{ - dir = 1 - }, -/obj/effect/turf_decal/tile/purple{ - dir = 8 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 8 +/obj/effect/turf_decal/stripes/line{ + dir = 6 }, /turf/open/floor/plasteel, -/area/science/research{ - name = "Research Sector" - }) +/area/hallway/secondary/exit/departure_lounge) "cEm" = ( -/obj/effect/turf_decal/tile/purple, -/obj/effect/turf_decal/tile/purple{ - dir = 4 - }, -/obj/effect/turf_decal/tile/purple{ - dir = 1 - }, -/obj/effect/turf_decal/tile/purple{ +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ dir = 8 }, -/obj/structure/disposalpipe/segment{ - dir = 4 +/obj/effect/turf_decal/tile/red{ + dir = 1 }, -/obj/structure/cable{ - icon_state = "4-8" +/obj/structure/window/reinforced/spawner/west, +/obj/machinery/atmospherics/components/unary/cryo_cell{ + dir = 1 }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/science/research{ - name = "Research Sector" - }) +/turf/open/floor/plasteel/white, +/area/medical/medbay/zone2) "cEn" = ( -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/tile/purple, -/obj/effect/turf_decal/tile/purple{ - dir = 4 +/obj/structure/table, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 }, -/obj/effect/turf_decal/tile/purple{ +/obj/machinery/firealarm{ + dir = 1; + pixel_y = -26 + }, +/obj/item/reagent_containers/glass/beaker/cryoxadone, +/obj/item/reagent_containers/glass/beaker/cryoxadone, +/obj/machinery/camera{ + c_tag = "Medbay - Cryogenics"; dir = 1 }, -/obj/effect/turf_decal/tile/purple{ - dir = 8 - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 8 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/door/airlock/research/glass{ - name = "Research Sector"; - req_one_access_txt = "29;47" - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/science/research{ - name = "Research Sector" - }) +/obj/item/reagent_containers/glass/beaker/cryoxadone, +/obj/item/reagent_containers/glass/beaker/cryoxadone, +/turf/open/floor/plasteel/white, +/area/medical/medbay/zone2) "cEo" = ( /obj/effect/turf_decal/tile/purple{ dir = 8 @@ -65033,45 +64017,75 @@ /turf/open/floor/plasteel, /area/hallway/primary/aft) "cEs" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden, -/turf/open/floor/plasteel, -/area/science/research{ - name = "Research Sector" - }) -"cEt" = ( -/obj/effect/turf_decal/tile/purple, -/obj/effect/turf_decal/tile/purple{ +/obj/structure/table, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden, -/turf/open/floor/plasteel, -/area/science/research{ - name = "Research Sector" - }) +/obj/item/weldingtool, +/obj/item/wrench/medical, +/turf/open/floor/plasteel/white, +/area/medical/medbay/zone2) +"cEt" = ( +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/structure/window/reinforced/spawner/east, +/obj/machinery/atmospherics/components/unary/cryo_cell{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/medical/medbay/zone2) "cEu" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ +/obj/machinery/disposal/bin, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ dir = 4 }, -/turf/open/floor/plasteel, -/area/science/research{ - name = "Research Sector" - }) +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/machinery/power/apc{ + name = "Medbay Treatment Center APC"; + pixel_y = -24 + }, +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/obj/structure/cable, +/turf/open/floor/plasteel/white, +/area/medical/medbay/zone2) "cEv" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable{ - icon_state = "1-2" +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 }, -/obj/machinery/atmospherics/pipe/manifold/cyan/hidden{ +/obj/effect/turf_decal/tile/red{ dir = 4 }, -/turf/open/floor/plasteel, -/area/science/research{ - name = "Research Sector" - }) +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/machinery/light, +/obj/effect/turf_decal/stripes/red/full, +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/obj/structure/sign/poster/official/cleanliness{ + pixel_y = -32 + }, +/obj/machinery/disposal/bin{ + name = "Corpse Disposal Unit" + }, +/turf/open/floor/plasteel/white, +/area/medical/medbay/zone2) "cEw" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/research/glass{ @@ -65083,18 +64097,40 @@ /turf/open/floor/plasteel/white, /area/science/lab) "cEx" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/disposalpipe/segment{ +/obj/structure/table, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ dir = 4 }, -/obj/structure/cable{ - icon_state = "1-2" +/obj/effect/turf_decal/tile/red{ + dir = 1 }, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden, -/turf/open/floor/plasteel, -/area/science/research{ - name = "Research Sector" - }) +/obj/item/storage/firstaid/regular{ + pixel_x = 2; + pixel_y = 4 + }, +/obj/item/storage/firstaid/regular{ + pixel_x = 2; + pixel_y = 4 + }, +/obj/item/storage/firstaid/regular{ + pixel_x = 2; + pixel_y = 4 + }, +/obj/item/storage/toolbox/emergency, +/obj/item/hypospray/mkii/tricord, +/obj/item/radio/intercom{ + broadcasting = 1; + frequency = 1485; + listening = 0; + name = "Station Intercom (Medical)"; + pixel_y = -30 + }, +/turf/open/floor/plasteel/white, +/area/medical/medbay/zone2) "cEy" = ( /obj/machinery/atmospherics/pipe/simple/cyan/hidden, /turf/open/floor/plasteel/white, @@ -65112,21 +64148,35 @@ /turf/open/floor/plasteel, /area/hallway/primary/aft) "cEA" = ( -/obj/effect/turf_decal/tile/purple{ +/obj/structure/table, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ dir = 8 }, -/obj/structure/disposalpipe/sorting/mail/flip{ - dir = 1; - sortType = 24 +/obj/effect/turf_decal/tile/red{ + dir = 4 }, -/obj/structure/cable{ - icon_state = "1-2" +/obj/effect/turf_decal/tile/red{ + dir = 1 }, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden, -/turf/open/floor/plasteel, -/area/science/research{ - name = "Research Sector" - }) +/obj/item/storage/firstaid/fire{ + pixel_x = 2; + pixel_y = 4 + }, +/obj/item/storage/firstaid/fire{ + pixel_x = 2; + pixel_y = 4 + }, +/obj/item/storage/firstaid/fire{ + pixel_x = 2; + pixel_y = 4 + }, +/obj/item/storage/firstaid/brute, +/obj/item/storage/firstaid/brute, +/obj/item/storage/firstaid/brute, +/obj/item/clothing/glasses/hud/health, +/turf/open/floor/plasteel/white, +/area/medical/medbay/zone2) "cEB" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -65213,21 +64263,31 @@ /turf/open/floor/plasteel, /area/hallway/primary/aft) "cEJ" = ( -/obj/effect/turf_decal/tile/purple{ +/obj/structure/table, +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ dir = 8 }, -/obj/effect/turf_decal/tile/purple{ +/obj/effect/turf_decal/tile/red{ dir = 1 }, -/obj/structure/disposalpipe/segment, -/obj/structure/cable{ - icon_state = "1-2" +/obj/item/storage/firstaid/toxin{ + pixel_x = 2; + pixel_y = 4 }, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden, -/turf/open/floor/plasteel, -/area/science/research{ - name = "Research Sector" - }) +/obj/item/storage/firstaid/toxin{ + pixel_x = 2; + pixel_y = 4 + }, +/obj/item/storage/firstaid/toxin{ + pixel_x = 2; + pixel_y = 4 + }, +/obj/item/storage/firstaid/o2, +/obj/item/storage/firstaid/o2, +/obj/item/storage/firstaid/o2, +/turf/open/floor/plasteel/white, +/area/medical/medbay/zone2) "cEK" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 1 @@ -65241,41 +64301,20 @@ /turf/open/floor/plasteel, /area/science/lab) "cEM" = ( -/obj/effect/turf_decal/tile/purple{ - dir = 8 - }, -/obj/effect/turf_decal/tile/purple{ - dir = 1 - }, -/obj/structure/disposalpipe/segment, -/obj/structure/disposalpipe/segment{ +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ dir = 4 }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden, -/turf/open/floor/plasteel, -/area/science/research{ - name = "Research Sector" - }) -"cEN" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden, -/obj/effect/turf_decal/tile/purple, -/obj/effect/turf_decal/tile/purple{ +/obj/effect/turf_decal/tile/red{ dir = 8 }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/turf/open/floor/plasteel, -/area/science/research{ - name = "Research Sector" - }) +/turf/open/floor/plasteel/white, +/area/medical/medbay/zone2) +"cEN" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/sign/warning/docking, +/turf/open/floor/plating, +/area/hallway/secondary/exit/departure_lounge) "cEO" = ( /obj/machinery/door/firedoor, /obj/structure/disposalpipe/segment, @@ -65565,34 +64604,22 @@ /turf/open/floor/plasteel/white, /area/medical/medbay/central) "cFl" = ( -/obj/structure/closet/secure_closet/medical1, -/obj/effect/turf_decal/tile/red{ - dir = 4 +/obj/machinery/door/airlock/external/glass{ + name = "Departures Shuttle Dock" }, -/obj/effect/turf_decal/tile/red{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/open/floor/plasteel/white, -/area/medical/medbay/zone2{ - name = "Medbay Treatment Center" - }) +/obj/structure/fans/tiny, +/turf/open/floor/plasteel, +/area/hallway/secondary/exit/departure_lounge) "cFm" = ( -/obj/structure/closet/crate/freezer/blood, -/obj/effect/turf_decal/tile/red{ +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/tile/neutral{ dir = 4 }, -/obj/effect/turf_decal/tile/red{ - dir = 1 - }, -/obj/effect/turf_decal/tile/red{ - dir = 8 - }, /obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/open/floor/plasteel/white, -/area/medical/medbay/zone2{ - name = "Medbay Treatment Center" - }) +/turf/open/floor/plasteel/dark, +/area/science/observatory) "cFn" = ( /obj/structure/closet/l3closet, /obj/structure/disposalpipe/segment, @@ -65616,23 +64643,24 @@ /turf/open/floor/plasteel/white, /area/medical/medbay/central) "cFp" = ( -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/open/floor/plasteel/white, -/area/medical/medbay/zone2{ - name = "Medbay Treatment Center" - }) -"cFq" = ( -/obj/effect/turf_decal/tile/red{ +/obj/effect/turf_decal/tile/neutral{ dir = 1 }, -/obj/effect/turf_decal/tile/red{ - dir = 8 +/obj/machinery/atmospherics/pipe/simple/cyan/hidden, +/turf/open/floor/plasteel/dark, +/area/science/observatory) +"cFq" = ( +/obj/machinery/door/firedoor, +/obj/structure/cable{ + icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/open/floor/plasteel/white, -/area/medical/medbay/zone2{ - name = "Medbay Treatment Center" - }) +/obj/machinery/door/airlock/research{ + name = "Aft Observatory"; + req_access_txt = "47" + }, +/turf/open/floor/plasteel/dark, +/area/science/observatory) "cFr" = ( /obj/effect/turf_decal/tile/blue{ dir = 1 @@ -65718,68 +64746,40 @@ /turf/open/floor/plasteel/white, /area/medical/medbay/central) "cFw" = ( -/obj/effect/turf_decal/tile/red{ - dir = 8 +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden, +/obj/machinery/door/airlock/research{ + name = "Aft Observatory"; + req_access_txt = "47" }, -/obj/effect/turf_decal/tile/red{ - dir = 1 - }, -/obj/machinery/door/window/westright{ - name = "Treatment Center"; - req_access_txt = "5" - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/white, -/area/medical/medbay/zone2{ - name = "Medbay Treatment Center" - }) +/turf/open/floor/plasteel/dark, +/area/science/observatory) "cFx" = ( /obj/structure/cable{ - icon_state = "4-8" + icon_state = "0-4" }, -/obj/machinery/atmospherics/pipe/manifold/cyan/hidden{ - dir = 4 +/obj/machinery/power/apc{ + areastring = "/area/science/observatory"; + dir = 1; + name = "Research Observatory APC"; + pixel_y = 24 }, -/turf/open/floor/plasteel/white, -/area/medical/medbay/zone2{ - name = "Medbay Treatment Center" - }) +/turf/open/floor/plasteel/dark, +/area/science/observatory) "cFy" = ( /obj/structure/cable{ - icon_state = "4-8" + icon_state = "1-2" }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 1 +/obj/structure/cable{ + icon_state = "1-8" }, -/turf/open/floor/plasteel/white, -/area/medical/medbay/zone2{ - name = "Medbay Treatment Center" - }) +/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/turf/open/floor/plasteel/dark, +/area/science/observatory) "cFz" = ( -/obj/structure/table, -/obj/effect/turf_decal/tile/red{ - dir = 1 - }, -/obj/effect/turf_decal/tile/red{ - dir = 8 - }, -/obj/item/clothing/gloves/color/latex, -/obj/item/clothing/suit/apron/surgical, -/obj/item/clothing/mask/surgical, -/obj/item/healthanalyzer, -/obj/item/clothing/neck/stethoscope, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 1 - }, -/turf/open/floor/plasteel/white, -/area/medical/medbay/zone2{ - name = "Medbay Treatment Center" - }) +/obj/machinery/atmospherics/pipe/simple/cyan/hidden, +/turf/open/floor/plasteel/dark, +/area/science/observatory) "cFA" = ( /obj/structure/table, /obj/item/storage/box/beakers{ @@ -66194,134 +65194,75 @@ /turf/open/floor/plating, /area/router/air) "cGi" = ( -/obj/effect/turf_decal/tile/purple{ - dir = 8 +/obj/machinery/airalarm{ + pixel_y = 24 }, -/obj/effect/turf_decal/tile/purple{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/science/research{ - name = "Research Sector" - }) +/turf/open/floor/plasteel/dark, +/area/science/observatory) "cGj" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/effect/landmark/start/scientist, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden{ +/obj/machinery/camera{ + c_tag = "Research - Observatory"; dir = 4 }, -/turf/open/floor/plasteel, -/area/science/research{ - name = "Research Sector" - }) +/obj/machinery/firealarm{ + dir = 4; + pixel_x = -28 + }, +/turf/open/floor/plasteel/dark, +/area/science/observatory) "cGk" = ( -/obj/effect/turf_decal/tile/purple{ - dir = 4 - }, -/obj/structure/disposalpipe/segment, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/manifold/cyan/hidden, -/turf/open/floor/plasteel, -/area/science/research{ - name = "Research Sector" - }) +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel/dark, +/area/science/observatory) "cGl" = ( -/obj/effect/turf_decal/tile/purple{ +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/turf/open/floor/plasteel/dark, +/area/science/observatory) +"cGm" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden, +/turf/open/floor/plasteel/dark, +/area/science/observatory) +"cGn" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/science/observatory) +"cGo" = ( +/obj/machinery/light/small{ + dir = 4; + light_color = "#d8b1b1" + }, +/turf/open/floor/plasteel/dark, +/area/science/observatory) +"cGp" = ( +/obj/structure/sign/departments/xenobio{ + pixel_x = -32; + pixel_y = 32 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 8 + }, +/obj/effect/turf_decal/tile/green{ dir = 8 }, -/obj/effect/turf_decal/tile/purple, /obj/effect/turf_decal/tile/purple{ dir = 1 }, -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 6 - }, -/turf/open/floor/plasteel, -/area/science/research{ - name = "Research Sector" - }) -"cGm" = ( -/obj/effect/turf_decal/tile/purple{ - dir = 8 - }, -/obj/effect/turf_decal/tile/purple, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/orange/hidden, -/turf/open/floor/plasteel, -/area/science/research{ - name = "Research Sector" - }) -"cGn" = ( -/obj/effect/turf_decal/tile/purple{ - dir = 8 - }, -/obj/effect/turf_decal/tile/purple, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/disposalpipe/segment, -/obj/item/radio/intercom{ - name = "Station Intercom (Common)"; - pixel_y = -29 - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/science/research{ - name = "Research Sector" - }) -"cGo" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/open/floor/plasteel/stairs, -/area/science/research{ - name = "Research Sector" - }) -"cGp" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/open/floor/plasteel, -/area/science/research{ - name = "Research Sector" - }) +/turf/open/floor/plasteel/dark, +/area/science/observatory) "cGq" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -66369,22 +65310,15 @@ /turf/open/floor/plasteel/white, /area/science/circuit) "cGu" = ( -/obj/machinery/light{ - dir = 4; - light_color = "#c1caff" +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 }, -/obj/structure/disposalpipe/segment, -/obj/structure/disposalpipe/segment{ - dir = 4 +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 8 }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/open/floor/plasteel, -/area/science/research{ - name = "Research Sector" - }) +/turf/open/floor/plasteel/dark, +/area/science/observatory) "cGv" = ( /obj/effect/turf_decal/stripes/line, /obj/structure/cable{ @@ -67024,41 +65958,37 @@ /turf/open/floor/engine, /area/science/explab) "cHK" = ( -/obj/machinery/door/firedoor, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/open/floor/plasteel/dark, -/area/science/misc_lab{ - name = "Research Observatory" - }) -"cHL" = ( -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden, -/turf/open/floor/plasteel/dark, -/area/science/misc_lab{ - name = "Research Observatory" - }) -"cHM" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/tile/neutral, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/open/floor/plasteel/dark, -/area/science/misc_lab{ - name = "Research Observatory" - }) -"cHN" = ( /obj/effect/turf_decal/tile/neutral{ dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden, +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 8 + }, /turf/open/floor/plasteel/dark, -/area/science/misc_lab{ - name = "Research Observatory" - }) +/area/science/observatory) +"cHL" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/science/observatory) +"cHM" = ( +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/science/observatory) +"cHN" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/science/observatory) "cHO" = ( /obj/machinery/atmospherics/pipe/simple/orange/hidden{ dir = 8 @@ -67908,24 +66838,17 @@ /turf/open/floor/plasteel, /area/engine/workshop) "cJl" = ( -/obj/structure/disposalpipe/segment{ - dir = 9 +/obj/structure/chair/comfy/black{ + dir = 8 }, /obj/structure/cable{ icon_state = "1-2" }, -/obj/machinery/camera{ - c_tag = "Engine Room - Starboard Quarter"; - dir = 8; - pixel_y = -22 +/obj/machinery/atmospherics/pipe/manifold/orange/hidden{ + dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 9 - }, -/turf/open/floor/plating, -/area/engine/engineering{ - name = "Engine Room" - }) +/turf/open/floor/plasteel/dark, +/area/science/observatory) "cJm" = ( /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, @@ -67940,15 +66863,24 @@ }, /turf/open/floor/plasteel, /area/engine/atmos) -"cJp" = ( -/obj/machinery/atmospherics/pipe/simple/supplymain/hidden{ +"cJo" = ( +/obj/structure/chair/comfy/black{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/closed/wall/r_wall, -/area/engine/engineering{ - name = "Engine Room" - }) +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/science/observatory) +"cJp" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/science/observatory) "cJq" = ( /obj/machinery/atmospherics/pipe/simple/supplymain/visible, /obj/structure/cable{ @@ -67999,32 +66931,27 @@ /turf/open/floor/plasteel, /area/engine/atmos) "cJv" = ( -/obj/machinery/door/firedoor, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/door/airlock/engineering{ - name = "Engineering Router"; - req_access_txt = "11" - }, -/obj/effect/turf_decal/delivery, -/obj/machinery/atmospherics/pipe/simple/supplymain/hidden, -/turf/open/floor/plasteel, -/area/engine/engineering{ - name = "Engine Room" - }) +/turf/open/floor/plasteel/dark, +/area/science/observatory) "cJw" = ( /obj/structure/cable{ - icon_state = "1-2" + icon_state = "4-8" }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ +/obj/structure/sign/warning/securearea{ + pixel_x = -32; + pixel_y = -32 + }, +/obj/effect/turf_decal/tile/neutral{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/supplymain/hidden, -/turf/open/floor/plating, -/area/engine/engineering{ - name = "Engine Room" - }) +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/science/observatory) "cJx" = ( /obj/structure/lattice/catwalk, /obj/machinery/atmospherics/pipe/manifold/supplymain/visible{ @@ -68050,28 +66977,29 @@ /area/quartermaster/warehouse) "cJA" = ( /obj/structure/cable{ - icon_state = "1-2" + icon_state = "4-8" }, -/obj/structure/cable{ - icon_state = "2-4" +/obj/effect/turf_decal/tile/neutral{ + dir = 4 }, -/obj/machinery/atmospherics/pipe/manifold/supplymain/hidden, -/turf/open/floor/plasteel, -/area/engine/engineering{ - name = "Engine Room" - }) +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/science/observatory) "cJB" = ( +/obj/machinery/light, /obj/structure/cable{ icon_state = "4-8" }, -/obj/machinery/atmospherics/pipe/simple/supply/visible, -/obj/machinery/atmospherics/pipe/simple/supplymain/hidden{ +/obj/effect/turf_decal/tile/neutral{ dir = 4 }, -/turf/open/floor/plasteel, -/area/engine/engineering{ - name = "Engine Room" - }) +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/science/observatory) "cJC" = ( /obj/machinery/door/airlock/engineering{ name = "Gravity Generator"; @@ -68113,11 +67041,11 @@ /turf/open/floor/plasteel, /area/engine/gravity_generator) "cJF" = ( -/obj/machinery/atmospherics/pipe/simple/supplymain/hidden, -/turf/closed/wall/r_wall, -/area/engine/secure_construction{ - name = "Engineering Construction Area" - }) +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 9 + }, +/turf/open/floor/plasteel, +/area/engine/secure_construction) "cJG" = ( /obj/effect/turf_decal/stripes/line{ dir = 6 @@ -68141,8 +67069,8 @@ /turf/open/floor/plasteel, /area/engine/gravity_generator) "cJH" = ( -/obj/machinery/atmospherics/pipe/simple/orange/visible{ - dir = 9 +/obj/machinery/atmospherics/pipe/manifold/orange/visible{ + dir = 4 }, /turf/open/floor/plasteel, /area/engine/atmos) @@ -68154,163 +67082,100 @@ /turf/closed/wall/r_wall, /area/engine/gravity_generator) "cJJ" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 1 - }, -/turf/open/floor/engine, -/area/engine/secure_construction{ - name = "Engineering Construction Area" - }) +/obj/machinery/portable_atmospherics/scrubber/huge, +/turf/open/floor/plasteel, +/area/engine/secure_construction) "cJK" = ( /obj/structure/cable{ - icon_state = "1-2" + icon_state = "4-8" }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/obj/machinery/atmospherics/components/binary/valve/digital{ - dir = 4 - }, -/turf/open/floor/plating, -/area/engine/engineering{ - name = "Engine Room" - }) -"cJL" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/open/floor/plating, -/area/engine/engineering{ - name = "Engine Room" - }) -"cJM" = ( -/obj/effect/turf_decal/stripes/line{ +/obj/effect/turf_decal/tile/neutral{ dir = 1 }, -/obj/effect/landmark/start/atmospheric_technician, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on, -/turf/open/floor/plasteel, -/area/engine/secure_construction{ - name = "Engineering Construction Area" - }) +/turf/open/floor/plasteel/dark, +/area/science/observatory) +"cJL" = ( +/obj/machinery/door/firedoor, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/science/observatory) +"cJM" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/closed/wall/r_wall, +/area/engine/storage) "cJN" = ( -/obj/machinery/light/small, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/science/observatory) +"cJO" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/plasteel/dark, +/area/science/observatory) +"cJP" = ( +/obj/structure/chair/comfy/black, /obj/structure/cable{ icon_state = "1-8" }, -/obj/machinery/atmospherics/components/unary/vent_pump/on{ +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 1 }, -/turf/open/floor/plating, -/area/engine/engineering{ - name = "Engine Room" - }) -"cJO" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 5 - }, -/turf/open/floor/plating, -/area/engine/supermatter{ - name = "Thermo-Electric Generator" - }) -"cJP" = ( -/obj/machinery/portable_atmospherics/scrubber, -/obj/machinery/light/small, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 8 - }, -/turf/open/floor/plating, -/area/engine/engineering{ - name = "Engine Room" - }) +/turf/open/floor/plasteel/dark, +/area/science/observatory) "cJQ" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 8 - }, -/turf/open/floor/plating, -/area/engine/engineering{ - name = "Engine Room" - }) +/obj/structure/chair/comfy/black, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel/dark, +/area/science/observatory) "cJR" = ( -/obj/machinery/door/airlock/engineering{ - name = "Canister Storage"; - req_one_access_txt = "10;24" +/obj/effect/turf_decal/bot, +/obj/machinery/portable_atmospherics/canister/oxygen, +/obj/machinery/light{ + dir = 8 }, /obj/structure/cable{ icon_state = "4-8" }, -/obj/machinery/door/firedoor/heavy, -/obj/effect/turf_decal/delivery, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 8 - }, /turf/open/floor/plasteel, -/area/engine/storage{ - name = "Canister Storage" - }) +/area/engine/storage) "cJS" = ( /obj/effect/turf_decal/stripes/line{ - dir = 1 + dir = 4 }, /obj/structure/cable{ - icon_state = "4-8" + icon_state = "1-2" }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 8 +/obj/structure/cable{ + icon_state = "1-8" }, +/obj/machinery/atmospherics/pipe/simple/orange/hidden, /turf/open/floor/plasteel, -/area/engine/storage{ - name = "Canister Storage" - }) +/area/engine/storage) "cJT" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/corner, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/manifold/orange/hidden{ - dir = 1 +/obj/effect/turf_decal/bot, +/obj/machinery/portable_atmospherics/canister/carbon_dioxide, +/obj/structure/sign/poster/official/wtf_is_co2{ + pixel_x = 32 }, +/obj/structure/disposalpipe/segment, /turf/open/floor/plasteel, -/area/engine/storage{ - name = "Canister Storage" - }) +/area/engine/storage) "cJU" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 8 - }, +/obj/effect/turf_decal/bot, +/obj/machinery/portable_atmospherics/canister/oxygen, /turf/open/floor/plasteel, -/area/engine/storage{ - name = "Canister Storage" - }) +/area/engine/storage) "cJV" = ( /obj/structure/plasticflaps, /obj/machinery/door/poddoor{ @@ -68325,50 +67190,6 @@ /turf/open/floor/plating, /area/quartermaster/sorting) "cJW" = ( -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/engine/secure_construction{ - name = "Engineering Construction Area" - }) -"cJX" = ( -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/engine/secure_construction{ - name = "Engineering Construction Area" - }) -"cJY" = ( -/obj/machinery/light, -/obj/machinery/atmospherics/pipe/manifold/orange/hidden, -/turf/open/floor/plasteel, -/area/engine/secure_construction{ - name = "Engineering Construction Area" - }) -"cJZ" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/open/floor/plasteel, -/area/engine/storage{ - name = "Canister Storage" - }) -"cKa" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 }, @@ -68380,10 +67201,28 @@ }, /obj/machinery/atmospherics/pipe/simple/orange/hidden, /turf/open/floor/plasteel, -/area/engine/storage{ - name = "Canister Storage" - }) -"cKb" = ( +/area/engine/storage) +"cJX" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/portable_atmospherics/canister/carbon_dioxide, +/obj/structure/disposalpipe/segment, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/power/apc{ + areastring = "/area/engine/storage"; + dir = 4; + name = "Canister Storage APC"; + pixel_x = 24 + }, +/turf/open/floor/plasteel, +/area/engine/storage) +"cJY" = ( +/obj/machinery/portable_atmospherics/canister/nitrogen, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/engine/storage) +"cJZ" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 }, @@ -68392,27 +67231,24 @@ }, /obj/machinery/atmospherics/pipe/simple/orange/hidden, /turf/open/floor/plasteel, -/area/engine/storage{ - name = "Canister Storage" - }) -"cKc" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/engineering/glass{ - name = "Canister Storage"; - req_access_txt = "10" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/area/engine/storage) +"cKa" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/portable_atmospherics/canister/nitrogen, +/obj/structure/disposalpipe/segment, /turf/open/floor/plasteel, -/area/engine/storage{ - name = "Canister Storage" - }) +/area/engine/storage) +"cKb" = ( +/obj/machinery/atmospherics/pipe/simple/supply/visible{ + dir = 10 + }, +/turf/closed/wall/r_wall, +/area/engine/storage) +"cKc" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/sign/warning/securearea, +/turf/open/floor/plating, +/area/engine/storage) "cKd" = ( /obj/machinery/conveyor{ dir = 8; @@ -68546,57 +67382,46 @@ /turf/open/floor/plasteel/showroomfloor, /area/medical/morgue) "cKr" = ( -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/science/misc_lab{ - name = "Research Observatory" - }) -"cKs" = ( -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/science/misc_lab{ - name = "Research Observatory" - }) -"cKt" = ( -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/science/misc_lab{ - name = "Research Observatory" - }) -"cKu" = ( -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/science/misc_lab{ - name = "Research Observatory" - }) -"cKv" = ( /obj/effect/turf_decal/tile/neutral{ dir = 4 }, -/obj/effect/turf_decal/tile/neutral, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 8 +/turf/open/floor/plasteel/dark, +/area/science/observatory) +"cKs" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 }, /turf/open/floor/plasteel/dark, -/area/science/misc_lab{ - name = "Research Observatory" - }) +/area/science/observatory) +"cKt" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/science/observatory) +"cKu" = ( +/obj/machinery/light/small, +/turf/open/floor/plasteel/dark, +/area/science/observatory) +"cKv" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/engineering/glass{ + name = "Canister Storage"; + req_access_txt = "10" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line, +/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/turf/open/floor/plasteel, +/area/engine/storage) "cKw" = ( /obj/machinery/atmospherics/components/unary/outlet_injector/on{ dir = 4 @@ -68850,11 +67675,6 @@ /obj/machinery/atmospherics/pipe/simple/green/visible, /turf/open/floor/plating, /area/engine/atmos) -"cLc" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/atmospherics/pipe/simple/yellow/visible, -/turf/open/floor/plating, -/area/engine/atmos) "cLd" = ( /obj/effect/turf_decal/tile/green{ dir = 4 @@ -69268,15 +68088,21 @@ }, /turf/open/floor/engine/vacuum, /area/engine/atmos) +"cLZ" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/sign/warning/securearea, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating, +/area/engine/storage) "cMa" = ( -/obj/machinery/light/small{ - dir = 1; - light_color = "#ffc1c1" - }, /obj/machinery/atmospherics/pipe/simple/orange/visible, /obj/machinery/atmospherics/components/binary/pump/on{ dir = 4 }, +/obj/machinery/airlock_sensor/incinerator_atmos{ + pixel_x = -8; + pixel_y = 24 + }, /turf/open/floor/engine/vacuum, /area/engine/atmos) "cMb" = ( @@ -69416,17 +68242,22 @@ pixel_x = -40; pixel_y = 8 }, -/obj/machinery/atmospherics/pipe/simple/cyan/visible, /obj/machinery/atmospherics/pipe/simple/dark/visible{ dir = 4 }, +/obj/machinery/button/ignition/incinerator/atmos{ + pixel_x = -24; + pixel_y = -9 + }, /turf/open/floor/plasteel, /area/engine/atmos) "cMw" = ( -/obj/machinery/atmospherics/pipe/simple/orange/visible, /obj/machinery/atmospherics/pipe/simple/dark/visible{ dir = 4 }, +/obj/machinery/atmospherics/components/binary/valve/digital{ + name = "Waste Release" + }, /turf/open/floor/plasteel, /area/engine/atmos) "cMx" = ( @@ -69544,10 +68375,13 @@ /turf/open/floor/plasteel/dark, /area/engine/atmos) "cMI" = ( -/obj/machinery/atmospherics/pipe/simple/cyan/visible{ - dir = 9 +/obj/machinery/atmospherics/pipe/simple/supplymain/visible{ + dir = 4 }, -/turf/closed/wall/r_wall, +/obj/structure/extinguisher_cabinet{ + pixel_x = 27 + }, +/turf/open/floor/plasteel, /area/engine/atmos) "cMJ" = ( /obj/machinery/atmospherics/pipe/simple/cyan/visible{ @@ -69585,10 +68419,8 @@ /turf/open/floor/plating, /area/engine/atmos) "cMO" = ( +/obj/machinery/atmospherics/pipe/layer_manifold, /obj/effect/spawner/structure/window/reinforced, -/obj/machinery/atmospherics/pipe/manifold/cyan/visible{ - dir = 4 - }, /turf/open/floor/plating, /area/engine/atmos) "cMP" = ( @@ -69817,6 +68649,30 @@ /obj/machinery/light, /turf/open/floor/plasteel, /area/router/air) +"cNm" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/tile/yellow, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/machinery/door/window/southright{ + name = "Primary Tool Storage Desk"; + req_access_txt = "11" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/firedoor/border_only{ + name = "south facing firelock" + }, +/turf/open/floor/plasteel, +/area/storage/primary) "cNn" = ( /obj/machinery/conveyor/auto{ dir = 8; @@ -69829,26 +68685,28 @@ /area/engine/workshop) "cNp" = ( /obj/structure/table/reinforced, -/obj/machinery/door/firedoor, -/obj/machinery/door/window/southleft{ - name = "Workshop Desk"; - req_access_txt = "11" +/obj/effect/turf_decal/tile/red, +/obj/effect/turf_decal/tile/red{ + dir = 8 }, -/obj/item/paper_bin, -/obj/item/pen, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plasteel, -/area/engine/workshop) -"cNq" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/firedoor, -/obj/machinery/door/window/southright{ - name = "Workshop Desk"; - req_access_txt = "11" +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/item/folder/red, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden, +/obj/machinery/door/window/northright{ + name = "Security Checkpoint"; + req_access_txt = "1" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 1; + name = "north facing firelock" }, -/obj/item/folder/yellow, /turf/open/floor/plasteel, -/area/engine/workshop) +/area/security/checkpoint/supply) "cNr" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -70003,7 +68861,7 @@ /turf/open/floor/plating{ icon_state = "panelscorched" }, -/area/engine/teg_hot) +/area/engine/teg/hotloop) "cNL" = ( /obj/machinery/atmospherics/components/unary/outlet_injector/on{ dir = 8 @@ -70011,7 +68869,7 @@ /turf/open/floor/plating{ icon_state = "panelscorched" }, -/area/engine/teg_cold) +/area/engine/teg/coldloop) "cNM" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/rack, @@ -70254,10 +69112,6 @@ /obj/structure/table, /turf/open/floor/plating/airless, /area/quartermaster/miningdock/airless/no_grav) -"cOw" = ( -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel, -/area/hallway/secondary/exit) "cOx" = ( /obj/effect/turf_decal/delivery, /obj/structure/disposalpipe/segment{ @@ -70864,26 +69718,6 @@ /obj/machinery/atmospherics/pipe/simple/orange/hidden, /turf/open/space/basic, /area/space/nearstation) -"cPG" = ( -/obj/effect/turf_decal/stripes/line, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/machinery/turretid{ - control_area = "/area/science/server"; - icon_state = "control_stun"; - name = "Computer Core turret control"; - pixel_x = -3; - pixel_y = -23; - req_access_txt = "65" - }, -/obj/machinery/atmospherics/pipe/simple/supplymain/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/science/server{ - name = "Computer Core" - }) "cPH" = ( /obj/machinery/conveyor_switch{ id = "EngiCargoConveyer" @@ -71738,31 +70572,6 @@ }, /turf/open/floor/plasteel, /area/medical/medbay/central) -"cRc" = ( -/obj/machinery/door/firedoor, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/obj/machinery/door/airlock/research{ - name = "Aft Observatory"; - req_access_txt = "47" - }, -/turf/open/floor/plasteel/dark, -/area/science/misc_lab{ - name = "Research Observatory" - }) -"cRd" = ( -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden, -/obj/machinery/door/airlock/research{ - name = "Aft Observatory"; - req_access_txt = "47" - }, -/turf/open/floor/plasteel/dark, -/area/science/misc_lab{ - name = "Research Observatory" - }) "cRe" = ( /obj/machinery/computer/upload/ai{ dir = 8 @@ -71863,32 +70672,6 @@ }, /turf/open/floor/plasteel/dark, /area/science/robotics/lab) -"cRm" = ( -/obj/effect/turf_decal/tile/red, -/obj/effect/turf_decal/tile/red{ - dir = 8 - }, -/obj/effect/turf_decal/tile/red{ - dir = 4 - }, -/obj/effect/turf_decal/tile/red{ - dir = 1 - }, -/obj/machinery/light, -/obj/effect/turf_decal/stripes/red/full, -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/obj/structure/sign/poster/official/cleanliness{ - pixel_y = -32 - }, -/obj/machinery/disposal/bin{ - name = "Corpse Disposal Unit" - }, -/turf/open/floor/plasteel/white, -/area/medical/medbay/zone2{ - name = "Medbay Treatment Center" - }) "cRn" = ( /obj/machinery/atmospherics/pipe/simple/cyan/hidden, /obj/structure/cable{ @@ -71973,23 +70756,6 @@ }, /turf/open/floor/plasteel/showroomfloor, /area/medical/morgue) -"cRw" = ( -/obj/structure/table, -/obj/effect/turf_decal/tile/red{ - dir = 1 - }, -/obj/effect/turf_decal/tile/red{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/obj/item/paper/guides/cogstation/letter_med{ - pixel_y = 4 - }, -/obj/item/storage/backpack/duffelbag/med/surgery, -/turf/open/floor/plasteel/white, -/area/medical/medbay/zone2{ - name = "Medbay Treatment Center" - }) "cVq" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -72005,6 +70771,13 @@ /obj/effect/landmark/start/atmospheric_technician, /turf/open/floor/plasteel, /area/engine/atmos) +"dnN" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 5 + }, +/turf/open/space/basic, +/area/space/nearstation) "dpO" = ( /obj/machinery/atmospherics/components/unary/thermomachine/heater/on{ dir = 4 @@ -72024,6 +70797,14 @@ }, /turf/open/floor/plating, /area/router) +"dSZ" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/layer_manifold, +/turf/open/floor/plating, +/area/engine/atmos) "dVR" = ( /obj/machinery/atmospherics/pipe/simple/violet/visible, /turf/open/floor/plasteel, @@ -72035,13 +70816,19 @@ }, /turf/open/floor/engine, /area/science/storage) +"ebG" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden, +/turf/open/floor/plating, +/area/science/mixing) "eCy" = ( -/obj/structure/extinguisher_cabinet{ - pixel_x = -27 - }, /obj/machinery/atmospherics/pipe/simple/general/visible{ dir = 9 }, +/obj/machinery/embedded_controller/radio/airlock_controller/incinerator_atmos{ + pixel_x = -25; + pixel_y = 7 + }, /turf/open/floor/plasteel, /area/engine/atmos) "eIh" = ( @@ -72059,6 +70846,10 @@ dir = 1 }, /area/engine/atmos) +"eJy" = ( +/obj/machinery/rnd/experimentor, +/turf/open/floor/engine, +/area/science/explab) "eKM" = ( /obj/machinery/atmospherics/pipe/manifold/supplymain/visible, /turf/open/floor/plasteel, @@ -72141,8 +70932,9 @@ /area/science/mixing) "guK" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/structure/lattice, /turf/open/space/basic, -/area/space) +/area/space/nearstation) "gDY" = ( /obj/machinery/light, /obj/machinery/atmospherics/pipe/simple/cyan/visible, @@ -72213,17 +71005,18 @@ /obj/machinery/atmospherics/pipe/simple/general/visible, /turf/open/floor/plasteel, /area/engine/atmos) -"hXk" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/closed/wall/r_wall, -/area/engine/engineering{ - name = "Engine Room" - }) "ifC" = ( /obj/structure/lattice, /obj/machinery/atmospherics/pipe/manifold/orange/visible, /turf/open/space/basic, /area/space/nearstation) +"iCa" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/cyan/hidden{ + dir = 5 + }, +/turf/open/floor/plating, +/area/science/mixing) "iQY" = ( /obj/machinery/atmospherics/pipe/manifold/yellow/visible{ dir = 4 @@ -72249,14 +71042,13 @@ }, /turf/open/space/basic, /area/space/nearstation) -"jMO" = ( -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 8 +"jAv" = ( +/obj/structure/lattice, +/obj/machinery/atmospherics/pipe/manifold/cyan/visible{ + dir = 4 }, -/turf/closed/wall/r_wall, -/area/engine/secure_construction{ - name = "Engineering Construction Area" - }) +/turf/open/space/basic, +/area/space/nearstation) "kzb" = ( /obj/machinery/atmospherics/pipe/manifold/orange/hidden{ dir = 4 @@ -72286,15 +71078,6 @@ }, /turf/open/floor/plasteel, /area/engine/atmos) -"mkx" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supplymain/hidden, -/turf/open/floor/plating, -/area/engine/engineering{ - name = "Engine Room" - }) "mqB" = ( /obj/machinery/atmospherics/components/binary/pump{ dir = 4; @@ -72302,6 +71085,10 @@ }, /turf/open/floor/plasteel, /area/engine/atmos) +"mqE" = ( +/obj/machinery/atmospherics/pipe/manifold/cyan/visible, +/turf/closed/wall/r_wall, +/area/engine/atmos) "mxW" = ( /obj/structure/lattice, /obj/machinery/atmospherics/pipe/simple/supplymain/visible{ @@ -72309,6 +71096,13 @@ }, /turf/open/space/basic, /area/space/nearstation) +"mDW" = ( +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 10 + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/engine/atmos) "mEa" = ( /obj/machinery/atmospherics/components/binary/pump/on{ dir = 8; @@ -72410,17 +71204,6 @@ /obj/machinery/atmospherics/pipe/simple/supplymain/visible, /turf/open/space/basic, /area/space/nearstation) -"qGi" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/structure/cable/yellow{ - icon_state = "2-4" - }, -/turf/closed/wall/r_wall, -/area/engine/engine_smes{ - name = "Power Monitoring" - }) "qHL" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/simple/brown/visible{ @@ -72445,22 +71228,6 @@ /obj/machinery/atmospherics/pipe/simple/dark/visible, /turf/open/floor/plasteel, /area/engine/atmos) -"rke" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/turf/closed/wall/r_wall, -/area/engine/engine_smes{ - name = "Power Monitoring" - }) -"rqk" = ( -/obj/structure/cable{ - icon_state = "1-4" - }, -/turf/closed/wall/r_wall, -/area/engine/engine_smes{ - name = "Power Monitoring" - }) "rOE" = ( /obj/structure/plasticflaps, /obj/structure/fans/tiny, @@ -72478,8 +71245,8 @@ /turf/open/space/basic, /area/space/nearstation) "rUl" = ( -/obj/machinery/atmospherics/pipe/manifold/orange/visible{ - dir = 8 +/obj/machinery/atmospherics/pipe/simple/orange/visible{ + dir = 6 }, /turf/open/floor/plasteel, /area/engine/atmos) @@ -72490,6 +71257,13 @@ }, /turf/open/floor/plating/airless, /area/router/aux) +"stP" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/item/kirbyplants/random, +/turf/open/floor/plasteel, +/area/quartermaster/office) "sAm" = ( /obj/structure/plasticflaps, /obj/machinery/door/poddoor{ @@ -72507,6 +71281,10 @@ /obj/machinery/portable_atmospherics/canister, /turf/open/floor/plasteel, /area/engine/atmos) +"sSg" = ( +/obj/machinery/rnd/bepis, +/turf/open/floor/engine, +/area/science/explab) "sVC" = ( /obj/structure/lattice/catwalk, /obj/structure/cable{ @@ -72524,16 +71302,6 @@ }, /turf/open/floor/plating, /area/router) -"tjb" = ( -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ - dir = 9 - }, -/obj/machinery/meter, -/turf/open/floor/plating, -/area/engine/engineering{ - name = "Engine Room" - }) "tpQ" = ( /obj/structure/lattice, /obj/machinery/atmospherics/pipe/simple/violet/visible, @@ -72565,8 +71333,8 @@ /turf/open/floor/plasteel, /area/engine/atmos) "tZC" = ( -/obj/machinery/atmospherics/pipe/manifold/orange/visible{ - dir = 1 +/obj/machinery/atmospherics/pipe/simple/orange/visible{ + dir = 4 }, /turf/open/floor/plasteel, /area/engine/atmos) @@ -72580,17 +71348,6 @@ /obj/effect/landmark/xeno_spawn, /turf/open/floor/plasteel/dark, /area/bridge) -"uwK" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 6 - }, -/turf/open/floor/plasteel, -/area/engine/secure_construction{ - name = "Engineering Construction Area" - }) "uAY" = ( /obj/structure/table, /obj/item/storage/belt/utility, @@ -72603,6 +71360,14 @@ }, /turf/open/floor/plasteel, /area/engine/atmos) +"uYy" = ( +/obj/structure/grille, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/turf/open/floor/plating/airless, +/area/space/nearstation) "vcb" = ( /obj/machinery/atmospherics/pipe/simple/brown/visible, /obj/machinery/atmospherics/pipe/simple/green/visible{ @@ -92107,10 +90872,10 @@ bOv bfo blI bfo -bWS -bcw -bcw -bcw +bXg +ebG +ebG +iCa bcy cbu csR @@ -92619,9 +91384,9 @@ boJ fuR bzX bAl -boL +bdf bAG -cnT +bdf boQ cKJ bAP @@ -92874,11 +91639,11 @@ bcy bcy bcy bcy -bcy +bWS bgC bdf boR -bDL +bdf boQ cKJ bAP @@ -92912,10 +91677,10 @@ aaa aaa aaa aaU -cbB -ctY -cvA -cbB +cyX +cGp +cJw +cyX aaU aaU aaU @@ -93131,11 +91896,11 @@ bQe aaU aaU aaU -bcw +boL bdf bdf bpM -bFp +bvj bvj cKK bAU @@ -93169,10 +91934,10 @@ aaa aaa aaa aaU -cbB -cKr -cub -cbB +cyX +cGu +cJA +cyX aaU aaa aaU @@ -93388,7 +92153,7 @@ aye aaU aaU aaU -bcw +bDL cnL bdf bpR @@ -93414,7 +92179,7 @@ cHj cqS cav cav -ccL +ctb caX caX caX @@ -93426,10 +92191,10 @@ aaa aaa aaa aaU -cbB -cKr -cuf -cbB +cyX +cGu +cJB +cyX aaU aaa aaU @@ -93647,8 +92412,8 @@ abp abp bcy biK -bdf -bpR +bFp +cnT bJT bLl cKM @@ -93668,13 +92433,13 @@ aVF caw caA cHk -caP +ccL caT caX -caX +eJy caX cbh -caX +sSg caX cbx cav @@ -93683,10 +92448,10 @@ aaa aaa aaa aaU -cbB -cKr -cub -cbB +cyX +cGu +cJA +cyX aaU aaa aaU @@ -93940,10 +92705,10 @@ aaa aaa aaa aaU -cbB -cKr -cub -cbB +cyX +cGu +cJA +cyX aaU aaa aaU @@ -94197,10 +92962,10 @@ aaa aaa aaa aaU -cbB -cKs -cug -cbB +cyX +cHK +cJK +cyX aaU aaa aaU @@ -94453,12 +93218,12 @@ cav aaa aaa aaU -cbB -cbE -cKt -cuh -cbE -cbB +cyX +cze +cHL +cJL +cze +cyX aaU aaU aaa @@ -94709,14 +93474,14 @@ cav aaU aaU aaU -cbB -cbB -cnj -cKu -cui -clh -cbB -cbB +cyX +cyX +cGj +cHM +cJN +cJv +cyX +cyX aaU aaa aaa @@ -94961,19 +93726,19 @@ cHA cHG cav cav -cbE -cbE -cbE -cbE -cbE -cbE -cle -csW -cKv -cuj -cuq -cus -cbE +cze +cze +cze +cze +cze +cze +cFx +cGk +cHN +cJO +cKr +cKu +cze aaU aaa aaa @@ -95193,20 +93958,20 @@ cDU cDW cDY bgW -bOx +bYr bcy bcw bYs bcw bcy -bYr -cgV -cGi -cGl -cGo -cGp -cGu -cGp +cgK +chm +cks +cld +cmZ +cnM +coY +cnM cGx cGz cHp @@ -95216,21 +93981,21 @@ cHu cHw cHB cHH -cHK -cHM -ckP -ckT -ckT -ckT -ckV -cRc -clg -ctc -cua -cvW -cur -clh -cbB +cyV +cza +czl +czq +czq +czq +cFm +cFq +cFy +cGl +cJl +cJP +cKs +cJv +cyX aaU aaa aaa @@ -95450,16 +94215,16 @@ biA csL cDj cDy -bPl -bXx -bXT bYu -bYA -bYA -bZG -cmV -cGj -cGm +bYY +bZE +cbV +cey +cey +cgL +ciG +ckx +cle bYv bYv cio @@ -95473,21 +94238,21 @@ cHv caG cHC cHI -cHL -cHN -ckQ -ckQ -ckU -ckQ -ckW -cRd -csX -ctP -cuk -cul -cur -clh -cbB +cyW +czb +czm +czm +cEj +czm +cFp +cFw +cFz +cGm +cJo +cJQ +cKs +cJv +cyX aaU aaa aaa @@ -95707,16 +94472,16 @@ biA biA cDj cDy -bWT -bXh -bYa bYw -bYL -bZE -bZE -csP -cGk -cGn +bYZ +bZG +cbY +cez +cfZ +cfZ +cjr +ckP +clg cct bYo ckk @@ -95730,21 +94495,21 @@ bsM cuY bIk bIk -cbB -cbB -cbB -cbB -cbB -cbB -cbB -cbE -ctW -cbD -ctZ -ctZ -cld -cus -cbE +cyX +cyX +cyX +cyX +cyX +cyX +cyX +cze +cGi +cGn +cJp +cJp +cKt +cKu +cze aaU aaa aaa @@ -95964,16 +94729,16 @@ cBt csx cDv bgW -bWU -bXl -bXy +bYA +bZa +cbf bWa -bYc -bXU -bXU +ceA +ccJ +ccJ bWa -bJF -bKv +ckQ +clh bYv bYp bYx @@ -95994,14 +94759,14 @@ aaU aaU aaU aaU -cbB -cbB -ctN -clh -clh -ctN -cbB -cbB +cyX +cyX +cGo +cJv +cJv +cGo +cyX +cyX aaU aaa aaa @@ -96170,11 +94935,11 @@ aUV aYB bbg bcH -bnZ +aYW bqi bIl bcJ -bOY +bod bdr beJ beJ @@ -96221,16 +94986,16 @@ bgW bgW cEb bgW -bWV -bXh -bXA -bXU +bYG +bYZ +cbj +ccJ bpz aaa aaU -bXU -bKs -bKv +ccJ +ckT +clh bYv bYq cPv @@ -96252,12 +95017,12 @@ aaa aaa aaa aaU -cbB -cbE -cbB -cbB -cbE -cbB +cyX +cze +cyX +cyX +cze +cyX aaU aaU aaa @@ -96427,11 +95192,11 @@ bcN aYJ aNL aVJ -aYW +aYX baF bIr bcx -cvZ +bOY bdr beJ beT @@ -96475,19 +95240,19 @@ aVW cDH bbS aUk -bVL -cEc -bXr -bWW -bXh -bXB -bXU +bSv +bWA +bXy +bYL +bYZ +cbB +ccJ bpz aaa aaU -bXU -aJV -brz +ccJ +ckU +clz bYv bTg bYy @@ -96684,11 +95449,11 @@ bcQ aUC aNL aVJ -aYX +bnZ baD bIV bKg -cwa +bVY bdr beJ bfd @@ -96732,19 +95497,19 @@ aWm cDH bcB aTV -bVM -cEd -bWs -bWs -bXh -bXJ -bXU +bSw +bWB +bXA +bXA +bYZ +cbD +ccJ bpz aaa aaU -bXU -bKs -bLG +ccJ +ckT +clA bYv bYv cwb @@ -96989,23 +95754,23 @@ cnu cDI cDT aTV -bQZ -cEd -csO -cEu -bXh -bXK +bUB +bWB +bXB +bYS +bYZ +cbE bWa -bYc -bXU -bXU +ceA +ccJ +ccJ bWa -bKt -bLU -bRM -bRO -bRR -cyt +ckV +clB +cna +cos +cpf +cpi bDT bKd bTi @@ -97246,23 +96011,23 @@ aWm cDH bOt aTV -bIg -cEe -cEs -cEv -cEx -cEA -cEJ -cEM -cEJ -cEJ -cEJ -bKu -bQv -bRN -cEs -bRS -cEN +bVf +bWC +bXD +bYT +bZb +cbJ +ccX +ceB +ccX +ccX +ccX +ckW +clC +cnj +bXD +cph +cpj cEO bIc bRX @@ -97503,23 +96268,23 @@ biP cDH bcC aTV -bIn -bIN -bIO -bIQ -bIR -bIQ -bIQ -bIR -bIQ -bIS -bIQ -bIQ -bQP -cfZ -bWX -bWX -ckf +bVL +bWL +bXJ +bYU +bZc +bYU +bYU +bZc +bYU +cgM +bYU +bYU +cmI +cny +coX +coX +cpq btn bIh bRY @@ -97760,22 +96525,22 @@ aTV bAc brw aTV -bVM -cEf -bWx -aab -bXo -bXQ -bXZ -bYi -bYk +bSw +bWN +bXK +bYX +bZe +cbS +cdf +cfh +cgF bWa bWa -bXU -bXU -bXU -bXU -bXU +ccJ +ccJ +ccJ +ccJ +ccJ bWa bIk bId @@ -98017,9 +96782,9 @@ bfu csu cAS cDV -cDX -cEg -bWx +bVM +bWP +bXK bSE ckR bSE @@ -98275,8 +97040,8 @@ cuQ cpP aTV bVR -cEh -bWy +bWR +bXQ buf bJu bSQ @@ -98531,9 +97296,9 @@ bzz cvM cts aTV -bVM -cEf -bWz +bSw +bWN +bXT bSE bSK bSR @@ -98789,8 +97554,8 @@ cuQ cwe aTV bVS -cEi -cEt +bWT +bXU cEw cEy cEB @@ -99046,8 +97811,8 @@ czf coI aTV bVT -cEj -bWA +bWU +bXZ bSG bSL bSS @@ -99303,7 +98068,7 @@ czz aUk aUk bWa -cEk +bWV bWa bSE bSM @@ -99559,9 +98324,9 @@ bmG cDN bmG aUk -bWr -cEl -bWB +bWb +bWW +bYa bSE bSN bSU @@ -99817,8 +98582,8 @@ cDN bmG aUk bWc -bWo -bWC +bWX +bYc bSE bYV cEC @@ -100073,9 +98838,9 @@ bmG cDN bmG aUk -bWb -cEm -bWL +bWo +bWY +bYi bSE bSP cED @@ -100331,8 +99096,8 @@ cDK aXt bwm bWa -cEn -bWR +bXa +bYk bSH bSG cij @@ -101379,14 +100144,14 @@ bPP bQa cEY cqW -bJg -bQl -bYG -cFw -bpa -bQn -bQC -cmZ +cqf +csO +ctY +cuj +cvA +cxd +cBs +cEm cpz cvs cwg @@ -101636,14 +100401,14 @@ buS bFX cEZ bAs -ayY -baT -baT -cFx -bpb -bqO -bru -coY +cqh +csP +csP +cuk +cvB +cxs +cBC +cEn cpz bMr cwh @@ -101893,14 +100658,14 @@ cPR bFJ cFa cFk -cFl -cFp -cFp -cFy -bbt -bqP -brO -bQB +cqm +csQ +csQ +cul +cvC +cyt +cDX +cEs ctD bMs bMA @@ -102150,14 +100915,14 @@ cPS czD cFb bEl -bJn -bQm -cbf -bop -bpe -bQz -bXD -cna +cqP +csS +ctZ +cuq +cvD +czK +cEc +cEt cvo cvO cwi @@ -102407,14 +101172,14 @@ cPT czE cFc bEl -aJD -bbx -bbZ -boq -bpg -bpg -bAy -bQJ +crl +csW +cua +cur +cvE +cvE +cEd +cEu cpz bMu bMC @@ -102534,7 +101299,7 @@ aaa aaa aaa abp -akN +aaa aTd aaa abp @@ -102664,14 +101429,14 @@ buS cFs cEX bIU -aJE -bbz -bjx -bot -bot -bjx -bAH -cRm +crs +csX +cub +cus +cus +cub +cEe +cEv cpz cvs cwj @@ -102921,14 +101686,14 @@ buS cnz cEZ bJa -aKZ -bbB -blv -czK -bph -bqR -bAM -cvx +crv +ctc +cuf +cux +cvF +cAU +cEf +cEx bMk bMw bMD @@ -103178,14 +101943,14 @@ crg cvR cFd bEl -aMm -bbC -blw -blw -blw -blw -bAT -cez +crw +ctN +cug +cug +cug +cug +cEg +cEA bMl bMv bMv @@ -103435,14 +102200,14 @@ bqz cKH cFe cFk -cFm -cFq -cRw -cFz -bqt -blx -bBn -ceA +crx +ctP +cuh +cvx +cvW +cBd +cEh +cEJ bMl bMw bMv @@ -103615,15 +102380,15 @@ aGe aDM aUK aGe -alZ -alZ -alZ -alZ -aHU -aHU -alZ -alZ -alZ +axQ +axQ +axQ +axQ +aMm +aMm +axQ +axQ +axQ aSt aSt aSt @@ -103657,14 +102422,14 @@ bqX bSt bqX aaU -cgI -cgN -cgN -cgN -cgN +bhl +biH +biH +biH +biH aPg aPg -cgP +bJn aaU aaU aaU @@ -103692,14 +102457,14 @@ crn cxf cFf bEl -aOF -bbE -coX -bbE -bbE -bqS -bQy -ceB +csC +ctW +cui +ctW +ctW +cBk +cEi +cEM bMn bMv bMv @@ -103872,16 +102637,16 @@ aWt aWz aWW aIc -alZ -alZ -aog -aog -axV -axV -aog -aog -alZ -bvv +axQ +axQ +ayK +ayK +aFU +aFU +ayK +ayK +axQ +aPe aUh cjM aVv @@ -103913,15 +102678,15 @@ ajO aRy bSO aRy -bfh -cgJ -bye -cmI -bXa -bfh -bfh -bfh -cgJ +bey +bhZ +bkt +bnS +bph +bey +bey +bey +bhZ aaU aaa aaa @@ -104129,16 +102894,16 @@ aDM aDM aXa bdb -alZ -aog -apB -aFc -bfj -axV -axV -apB -aog -alZ +axQ +ayK +ayY +aHV +aJV +aFU +aFU +ayY +ayK +axQ aUh aUP bCC @@ -104170,15 +102935,15 @@ beu beK bTX bWI -bWN -cbj -cdf -cny -bXk -cgL -cvD -cvF -cgJ +beH +bij +bkz +bnT +bpK +bye +bBS +bGv +bhZ aaU aaa aaa @@ -104386,16 +103151,16 @@ cCf aHG aXb aVC -alZ -aog -apG +axQ +ayK aFN -axV -aLO -axV -aRL -aog -alZ +aJD +aFU +aOF +aFU +aPc +ayK +axQ aUh aUQ aVM @@ -104427,16 +103192,16 @@ ajO aRy bUi aRy -bfh -bfh -cdh +bey +bey +bkJ +bkW +bpL bzN -bYT -bYS -cvE -bYS -cgJ -bfh +bCa +bzN +bhZ +bey aaU aaU aaU @@ -104643,16 +103408,16 @@ bbQ aWA aXd bre -alZ -apB -axV -aGp -axV -csC -axV -axV -apB -alZ +axQ +ayY +aFU +aJE +aFU +aOJ +aFU +aFU +ayY +axQ aSt aSt cho @@ -104684,20 +103449,20 @@ ajO bQb cnR cJt -bfh -brb -bzN -bzN -bYU -cgM -bYY -bZb -cgJ -bfh -bfh -bfh -bfh -bfh +bey +bil +bkW +bkW +bpN +bzR +bCb +bGK +bhZ +bey +bey +bey +bey +bey brs brs bcT @@ -104879,37 +103644,37 @@ auZ aBL bnH axh -anq -anq -anq -anq -anq -anq -anq -anq +abF +abF +abF +abF +abF +abF +abF +abF bID aHu aGr -aOJ -aOT -aOT -aOT -aOU -aOU -aOT -aXP -aOT -aOT -aOJ +aof aog -axV -bfj -axV -axV -axV -axV aog -aSG +aog +aoL +aoL +aog +avU +aog +aog +aof +ayK +aFU +aJV +aFU +aFU +aFU +aFU +ayK +aPh aRh aRq aRq @@ -104941,20 +103706,20 @@ bPU bQi bUU cNC -bWP -cbV -bzR -cvB +beI +biw +blv +bof +bpV +bAy +bCW +bGP +bJF bOz -cwd -bYZ -bZc -cgQ -bZe -bZe -bZe -bZe -cjr +bOz +bOz +bOz +bSo brL brL bVW @@ -105135,38 +103900,38 @@ awc axx ayN aAA -aBM -aCq -aDx -apy -arV -apy -axg -ceu +aab +abJ +acz +aej +agC +aej +alZ anq +abF bID aHu aGr -aOT -aPS -aSb -aTi -aUd -aTi -aWs -aYb -ban -bdd -aOJ aog +apm +aqU +asa +asK +asa +avC +avV +ayo +aBM +aof ayK -bfk -axV -axV -bfj -axV -apB -aSH +aGp +aKZ +aFU +aFU +aJV +aFU +ayY +aPm aSt aSt aTs @@ -105197,21 +103962,21 @@ cRf bPV bQT bVq -cPG -bfh -cbY -cdn -cpf -bYU -cgM -bYY -bRx -cgJ -bfh -bfh -bfh -bfh -bfh +bdL +bey +biE +blw +boi +bpN +bzR +bCb +bIg +bhZ +bey +bey +bey +bey +bey brs brs bcT @@ -105393,37 +104158,37 @@ aeY aBN awN awN -anq -anT -anT -anT -anT -anT -anT -cex +abF +acA +acA +acA +acA +acA +acA +anL bNp aFC aFF -aOU -aQt -aSf -aTj -aTv -aTv -aTv -aYi -baU -bdh -aOJ -bdE -aog -axV -aHV -aRr -axV -aog -aog -aSH +aoL +apy +arB +asi +ast +ast +ast +awa +azg +aCq +aof +azh +ayK +aFU +aNH +aOM +aFU +ayK +ayK +aPm aZz aaU aaU @@ -105455,16 +104220,16 @@ ajO aRy bVC cRh -bfh -bfh -bBR -cqf -bYX -bYS -cvE -bYS -cgJ -bfh +bey +bey +blx +bop +bqt +bzN +bCa +bzN +bhZ +bey aaU aaU aaU @@ -105650,37 +104415,37 @@ aeY aCk aeY aeY -anq -aof -cpq -asa -aoL -anT -anT -cey +abF +acK +aeI +aci +adc +acA +acA +anP bRF aFC aFF -aOU -aQu -aSf -aTv -aTv -aTv -aTv -aYj -ban -bdl -aOJ -alZ -apB -aog -aog -aog -aog -apB -alZ -aSH +aoL +apz +arB +ast +ast +ast +ast +awe +ayo +aCZ +aof +axQ +ayY +ayK +ayK +ayK +ayK +ayY +axQ +aPm aaa aaa aaa @@ -105712,15 +104477,15 @@ bht bcY cyd cRs -cgF bfh +bey +blD +boq +bpK +bAH bBS -cqh -bXk -cvC -cvD -cvF -cgJ +bGv +bhZ aaU aaa aaa @@ -105907,37 +104672,37 @@ akS aCo aor aeY -anI -aoL +abZ +adc +acA +aci +akN +ang +ang anT -asa -bEz -bES -bES -bGv ccg aFC ago -aOT -aQz -aSf -aTw -aTv -aTv -aTv -aYM -bbi -aOT -aOT -aOJ -aOJ -aOJ -bmF -bnT -bnT -aRJ -aRJ -chm +aog +apB +arB +asv +ast +ast +ast +aws +azo +aog +aog +aof +aof +aof +aOc +aOE +aOE +aPd +aPd +aPN aaU aaU aaU @@ -105969,15 +104734,15 @@ bmM bcZ bVF bTS -cgG -bfh -bEo -cqm -bZa -bfh -bfh -bfh -cgJ +bfj +bey +blZ +bot +bqO +bey +bey +bey +bhZ aaU aaa aaa @@ -106164,34 +104929,34 @@ akU aCp aor aeY +acf +adL +acA +acA +acA +acA +acA anL -aoU -anT -anT -anT -anT -anT -cex bRF aFC aFF -aOU -aQB -aSf -aTv -aTv -aUU -aTv -aYj -ban -bdO -bfv -bfv -bfv -bkW -bmJ -bnS -bof +aoL +apG +arB +ast +ast +atb +ast +awe +ayo +aDx +aHL +aHL +aHL +aNx +aOd +aOQ +aOX aQJ aQJ aQJ @@ -106226,15 +104991,15 @@ ajO bdi bWm cjI -cgH -cgN -cgO -cgN -cgN -cgN +bfk +biH +bmF +biH +biH +biH aPg aPg -cgK +bKs aaU aTx ctG @@ -106421,34 +105186,34 @@ akV aqv aor aeY -anP -aqP -apz -asK -apz -btk -cev -anq +aci +adR +agc +agT +agc +anh +anE +abF ccq aFC aFF -aOU -aQI -aSf -aTv -aTv -aTv -aTv -aZa -bbi -aOT -bfy -bgJ -bjL -blD -bmK -boi -bsx +aoL +aqc +arB +ast +ast +ast +ast +awA +azo +aog +aHU +aKp +aMK +aND +aOk +aOR +aOY aaU aaU aaU @@ -106678,33 +105443,33 @@ aeY aeY aeY aeY -anq -anq -anq -anq -anq -anq -anq -anq +abF +abF +abF +abF +abF +abF +abF +abF ccz aHv aFF +aog +aqn +arB +ast +ast +ast +ast +awW +azE +aEZ +aEZ +aLs +aEZ +aof +aOl aOT -aQP -aSf -aTv -aTv -aTv -aTv -aZc -bbH -bdP -bdP -bgR -bdP -aOJ -aPN -bes aaU bQe aye @@ -106946,22 +105711,22 @@ aff cfe aIk aIU -aOX -aQQ -aSf -aTv -aTv -aUW -aTv -aZc -aVf -bdP -bfF -bha -bdP -aOJ -aPN -bes +aoU +aqO +arB +ast +ast +auC +ast +awW +auN +aEZ +aIf +aLF +aEZ +aof +aOl +aOT aaU aye aaU @@ -106997,17 +105762,17 @@ cgD cdV chy chN -bWQ +uYy bWQ cdo aPg aPg cet -bpL -bpL -rqk -bBO -bBO +bEo +bEo +bKt +bPl +bPl ctG ctG cvr @@ -107203,22 +105968,22 @@ ahz bRF aEu aJc -aPa -aQR -aSz -aTz -aTz -aVb -aTz -aZg -aVf -bdW -bfJ -bhc -bdP -aOJ -aPN -bes +apd +aqP +arF +asw +asw +auD +asw +awX +auN +aFc +aIN +aLO +aEZ +aof +aOl +aOT aaU aye aaU @@ -107260,11 +106025,11 @@ ckJ cdV cdV cdV -bpN -bCa -bSp -bSv -cfl +bEr +bIn +bKu +bPv +bQB ctX cuU cwr @@ -107460,22 +106225,22 @@ bGw chQ cAV aJc -aOT -aQX -aSE -aTC -aUe -aVf -aVf -aSE -bcd -bdY -bfM -bhg -bdP -aOJ -aPN -bey +aog +aqS +arN +asx +asM +auN +auN +arN +aAy +aGH +aKj +aMa +aEZ +aof +aOl +aOU aaU aye aaU @@ -107517,11 +106282,11 @@ clY cnx cpK cdV -bBE -bCa -bSp -bSw -cfl +bEz +bIn +bKu +bQl +bQB cuu cuV cwE @@ -107542,9 +106307,9 @@ bum cyU czd czj -blp -blp -bme +bui +bui +buo bxj bxj bxj @@ -107717,22 +106482,22 @@ ahz aAj cAW aJC +aog +aqT +aog +aog +aog +aoL +aoL +aog +aog +aEZ +aEZ +aMz +aEZ +aof +aOl aOT -aRc -aOT -aOT -aOT -aOU -aOU -aOT -aOT -bdP -bdP -bhl -bdP -aOJ -aPN -bes aaU bQe aye @@ -107774,11 +106539,11 @@ cmf cnK cnK cdV -rke -bUB -bSq -bVf -cfm +bEK +bIN +bKv +bQm +bQC cuw cuV cuV @@ -107789,19 +106554,19 @@ bdH cIM coi bZh +cdh bZh -bZh -bZh -bZh +cdh +cdh bsZ bsZ bsZ bxj byU czk -blp -coy -cdd +bui +cgQ +cmz aYp aaa aaa @@ -107987,9 +106752,9 @@ aaU aaU cuA cuy -blD -bcO -bes +aND +aOq +aOT aaU aaa aaa @@ -108031,11 +106796,11 @@ cmg cof cof cpY -cwq -cwV -cAU -cfh -cos +bES +bIO +bLG +bQn +bQJ cuF cva cyp @@ -108056,9 +106821,9 @@ aaU bxj byU czk -blp -ctH -cdd +bui +cgV +cmz csc aaa aaa @@ -108244,9 +107009,9 @@ aaa aaa aaa aaU -aQq -aPR -cux +aNQ +aOx +aOV aaU aaa aaa @@ -108288,17 +107053,17 @@ cmE cok cok cdV -rke -bPv -cBd -cfi -cfm +bEK +bIQ +bLU +bQv +bQC cuH cvb cvd cvd cNa -cNp +ctE ber cIQ cgB @@ -108313,9 +107078,9 @@ aaU bxj byU czk -blp -cqT -cdd +bui +cju +cmz aYp aaa aaa @@ -108501,9 +107266,9 @@ aaa aaa aaa aaU -aQq -aQp -cux +aNQ +aOC +aOV aaU aaa aaa @@ -108539,23 +107304,23 @@ chj aXF chD cid -cju +bfM ckz cmG coT cpL cpZ -qGi -cxd -cBd -cfj -cfl +bFg +bIR +bLU +bQy +bQB cuI cuV cyv cuV cNb -cNq +cvZ beW cIM cgB @@ -108567,15 +107332,15 @@ aaa aaU aaU aaU -blp -btK -czl -blp -cqU -bBZ -bme -bme -bme +bui +bPE +bPT +bui +ckc +cmV +buo +buo +buo aaa aaa aaa @@ -108802,11 +107567,11 @@ cmY cdV cdV cdV -qGi -bSm -cBk -cfk -cfl +bFg +bIS +bNo +bQz +bQB cuJ cvc cyz @@ -108821,19 +107586,19 @@ bzY aaU aaa aaa -blp -bme -bme -blp -btL -czm -bzq bui -clZ buo buo -bme -bme +bui +bPF +bQd +cfl +cfy +cmX +cnH +cnH +buo +buo aaa aaa aaa @@ -109043,27 +107808,27 @@ cer cew ceM ceV -asU -arB -asw -atb -avl -aMa -crv -aOE -aQc -clz -aMa -aQd -cks -crv -crx -aeI -rke -bSn -cBl -bSn -cfl +aQz +aQR +aSb +aTi +aTW +aUW +aZa +bbC +bcF +bdO +aUW +bjq +bmJ +aZa +bqP +aQC +bEK +bJg +bOx +bJg +bQB cuK cuV cyz @@ -109078,28 +107843,28 @@ bBl aaU aaa aaa -bme -bnY -bpT -bqL -btL -czn -czy -bui -bui -bui -bui -bui -bme -bme -bme -bme -bme -bme -bme -cnG -bme -bOo +buo +bBw +bNJ +bNY +bPF +bQr +cfm +cfy +cfy +cfy +cfy +cfy +buo +buo +buo +buo +buo +buo +buo +czr +buo +cEN aaa aaa aaa @@ -109300,27 +108065,27 @@ ces ces ceN ceW -cJv -mkx -cJw -cJN -asR -awe -asS -asS -asS -asS -avC -aQe -ckx -cqP -crl -csQ +aQB +aQT +aSf +aTj +aUe +aXP +aUf +aUf +aUf +aUf +bgJ +blp +bmK +bov +bqR +bAM cqs cqG crt cdm -ctl +cmT cuL cvd cAp @@ -109335,28 +108100,28 @@ bBl aaU aaU aaU -bme -bog -bpT -bqM -btL -czm -bui -cOw -bui -bui -bui -bui -bui -bui -bui -bNW -bOa -bOe -bOi -cnd -bOl -cnH +buo +bBM +bNQ +bNZ +bPF +bQd +cfy +ckf +cfy +cfy +cfy +cfy +cfy +cfy +cfy +cwq +cyY +czc +czn +czs +cEk +cFl aaa aaa aaa @@ -109557,27 +108322,27 @@ cdt cdt ceO ceX -aeI -aQx -asD -asR -asR -avE -avQ -avQ -avQ -avQ -bem -aQe -asR -aSK +aQC +aQX aSr -aeI +aUe +aUe +aYb +bbi +bbi +bbi +bbi +bgR +blp +aUe +bow +bqS +aQC bxz bwP cBn cBH -ctE +ctl cuM cvg cBa @@ -109592,28 +108357,28 @@ bIo aaU cNK aaU -bme -bom -bpT -bqU -btL -czo -bPO -bPT -bQd -bQd -bQr -bJo -bNQ -bNQ -bNQ -bNX +buo +bBZ +bNJ bOa -bOe -bOg -bui -cnf -bme +bPF +bQs +cgG +cko +cnc +cnc +coq +cqU +ctV +ctV +ctV +cwV +cyY +czc +czo +cfy +cma +buo aaa aaa aaa @@ -109814,22 +108579,22 @@ aaU cdt ceP ceK -aeI -arN -arF -asS -auC -avH -axM -axM -axM -axM -aPh -aQk -asS -aSK -aTW -aVB +aQC +aRc +aSz +aUf +aVb +aYi +bbt +bbt +bbt +bbt +bha +bme +aUf +bow +brb +bAR cqu bwR cBx @@ -109849,28 +108614,28 @@ bBl aaU bIm aaU -blp -bme -bme -brv -btL -czp -bAW -bBm bui -bui -bQs -bNH -bme -bme -bme -bme +buo +buo bOb -bme -bOh -cne -bOm -cnH +bPF +bUx +cgH +ckF +cfy +cfy +cor +crj +buo +buo +buo +buo +cyZ +buo +czp +czy +cEl +cFl aaa aaa aaa @@ -110047,10 +108812,10 @@ bka bmV bka bps -ang -ang -ang -ang +aPa +aPa +aPa +aPa cuB aWj aaU @@ -110067,26 +108832,26 @@ aTl qeq bPh guK -hXk -hXk -cJp -hXk -hXk -tjb -asx -asS -auD -awX -axQ -beH -axQ -aZt -avI -beI -asS -aSL -aTZ -aWV +aPP +aPP +aQp +aPP +aPP +aRp +aSE +aUf +aVf +aYj +bbx +bcD +bbx +bes +bhc +bmf +aUf +boB +bru +bAT cqv bwV cBy @@ -110106,28 +108871,28 @@ bzr byT cfc bcT -bmf -bon -bpU -brN -btL -czq -bme -bBm +bvb +bCA +bNR +bOe +bPF +ccx +buo +ckF +cfy +cfy +coy bui -bui -ctV -blp -bme +buo aaU aaU aaU aaU -bme -bme -bme -bme -bme +buo +buo +buo +buo +buo aaa aaa aaa @@ -110304,10 +109069,10 @@ bka bnb boV bpt -aRF -cog -bnt -ang +aRj +aTm +aTz +aPa cuC cuD cuD @@ -110323,27 +109088,27 @@ cuD cuG eUF bsz -aej -agc -agT -bFg -apm -aqS -arP -cph -asS -auN -avK -axR -aAy -aOk -aOR -aPm -aPm -bBo -aTm -aUb -bAR +aPO +aPR +aQd +aQq +aQu +aQI +aRr +aSG +aUf +aVB +aZc +bbz +bcO +bdY +bfn +bjx +bjx +bnO +boD +brz +bBn bnf bwR cBx @@ -110363,18 +109128,18 @@ cyr cyx cyr cyr -cyD -cyJ -cyJ -cyV -cze -czr -bme -bBm -bui -bui -bJq -bme +bzq +bHt +bHt +bOg +bPG +ccK +buo +ckF +cfy +cfy +cpy +buo aaa aaa aaa @@ -110561,10 +109326,10 @@ bms bnd boX bpH -ang -coh -cfy -bvb +aPa +aTv +aTZ +aUd aRu aSv aSy @@ -110581,26 +109346,26 @@ aVK cxa bPr sVC -aNH -bEr -cJA -aqO -anE -anE -anE -aQT -ayb -axt -aCZ -aRG -aOl -aOV -bSo -cmX -aRp -bkJ -aUf -ciG +aPS +aQe +aQs +aQx +aQP +aQP +aQP +aUr +aWs +aZg +bbE +bdd +bei +bfv +bjL +bmT +bnY +boE +brO +bBo bnp cmO cfU @@ -110620,18 +109385,18 @@ cys baN baN baN -coq -box -box -cyW +bAW +bJo +bJo +bOh +bPH +cdd +cgI +clH +cnd +cog cpy -bPD -bAY -bBw -bCA -cql -bJq -bNI +crU aaa aaa aaa @@ -110818,10 +109583,10 @@ bka bno boZ bpJ -apd -bfI -clH -ang +aRF +aTw +aUb +aPa aRX aSw aSM @@ -110837,27 +109602,27 @@ aSu aYU cxb bsz -aej -agC -bEK -cJB -apm -aqT -arQ -cpi -asS -aTQ -avU -ayn -aFU -aOq -aOY aPO -aPO -bCW -bvY -asB -bAR +aQc +aQk +aQt +aQu +aQQ +aRG +aSH +aUf +aWV +aZt +bbH +bdh +bem +bfy +bkf +bkf +bog +boF +bsx +bBn bnq bEW bQF @@ -110877,18 +109642,18 @@ bzI bHn bzI bzI -cor -boy -boy -cyX -btO -bPE -bme -bBm -ccx -bui +bAY bJq -bme +bJq +bOi +bPI +cdn +buo +ckF +cne +cfy +cpy +buo aaa aaa aaa @@ -111075,10 +109840,10 @@ bka bnw bka brA -ang -ang -ang -ang +aPa +aPa +aPa +aPa aaU aaU aaU @@ -111100,21 +109865,21 @@ atF cJC atF atF -arO -asC -asS -auY -azE -ayo -bCb -ayo -bei -avV -aQs -asS -bwJ -bfn -aXh +aRJ +aSK +aUf +aWX +ban +bbZ +bdl +bbZ +bfF +bkp +bni +aUf +bpa +btk +bBE cqw bSx bQG @@ -111134,28 +109899,28 @@ bzU bzV cuo bcT -bnO -boz -bqp -cyY -btL +bBa +bJR +bNW +bOj bPF -bme -bBm -ccx +ceu +buo +ckF +cne +cfy +cql bui -crj -blp -bme +buo aaU aaU aaU aaU -bme -bme -bme -bme -bme +buo +buo +buo +buo +buo aaa aaa aaa @@ -111357,21 +110122,21 @@ ciT cJD cmu atF -arY -awW -asS -avc -awa -clA -aLF -axM -axM -aPP -crs -asS -cpj -aUr -bmT +aRL +aSL +aUf +aXh +baT +bcd +bdP +bbt +bbt +bkq +bnn +aUf +bpb +bvv +bBO cqx bwP bQH @@ -111391,28 +110156,28 @@ bIp aaU bIx aaU -blp -bme -bme -cyZ -btL -bPG -bBa -bBm -ccx bui -bJR -bNJ -bme -bme -bme -bme -bOb -bme -bOi -bOj +buo +buo bOl -cnH +bPF +cev +cgJ +ckF +cne +cfy +cqT +ctH +buo +buo +buo +buo +cyZ +buo +czn +cBl +cEk +cFl cnE aaa aaa @@ -111576,11 +110341,11 @@ aRT cBS cBU cBY -aqn -acK -acK -acK -aqn +asB +arP +arP +arP +asB aaa aaa aVs @@ -111614,21 +110379,21 @@ ciU cJE cJG cJI -cJK -cJL -cJO -asR -aOQ -bev -cbJ -aOx -aPc -beq -aQe -asR -crw +aRR +aST aUt -bpK +aUe +baU +bcu +bdW +beq +bfI +bkr +blp +aUe +bpe +bvY +bBR cqy bEW bQF @@ -111648,28 +110413,28 @@ bQR aaU cNL aaU -bme -bpi -bpT -cza -btL -bPH -bBc -bBM -ccx -bui -bui -bJR -bNR -bNR -bNR -bNY -bOa -bOe -bOg -bui -cnf -bme +buo +bNH +bNX +bOm +bPF +cex +cgN +clZ +cne +cfy +cfy +cqT +cwd +cwd +cwd +cyD +cyY +czc +czo +cfy +cma +buo aaa aaa aaa @@ -111833,11 +110598,11 @@ aXn cBM bDY bEd -aqn -cCd -aRE -aSY -acK +asB +auR +avE +axg +arP aaa aaa aaa @@ -111871,21 +110636,21 @@ cmh cmp atF atF -asi -asi -cJP -asR -awe -clB -asS -asS -aPd -avC -aQe -aRR -cpj -aSr -aeI +aRV +aRV +aTC +aUe +aXP +bcv +aUf +aUf +bfJ +bgJ +blp +bny +bpb +bqS +aQC bQq cqI bQM @@ -111905,28 +110670,28 @@ bIp aaU aaU aaU -bme -bog -bpT -czb -btL -bPI -bUx -bUx -ccK -cOw -bui -bui -bui -bui -bui -bNZ -bOa -bOe -bOh -cnc -bOm -cnH +buo +bBM +bNJ +bOo +bPF +cfi +cgO +cgO +cnf +ckf +cfy +cfy +cfy +cfy +cfy +cyJ +cyY +czc +czp +cBr +cEl +cFl aaa aaa aaa @@ -112088,12 +110853,12 @@ aql aCe aYK aDr -aci -aqn -aqn -aRj -aND -aVX +arO +asB +asB +auY +avw +axt anK anK aHA @@ -112128,21 +110893,21 @@ aus aus cmw atF -asv -asN -cJQ -avA -azh -aOd -aOM -aOC -aPe -clC +aRY +aTc +aTQ +aUU +aYM +bbB +bcE +bdE +bev +bhg +bks +bnQ +bpg +bwJ aQC -aRV -cJl -cko -aeI bpv cqJ cdg @@ -112162,28 +110927,28 @@ bIp aaU aaa aaa -bme -bpj -bpT -czc -cze -czs -czy -bui -bui -bui -bui -bui -bme -bme -bme -bme -bme -bme -bme -cnG -bme -bOo +buo +bNI +bNJ +bPD +bPG +cfj +cfm +cfy +cfy +cfy +cfy +cfy +buo +buo +buo +buo +buo +buo +buo +czr +buo +cEN aaa aaa aaa @@ -112345,12 +111110,12 @@ aka aLU aNE aRd -acK -aHL -aIN -aMK -aOc -aSA +arP +asC +asN +avc +avH +axM aTo aTt aTJ @@ -112385,13 +111150,13 @@ cmi cmq aus atF -aqU -asG -cJR -aws -aqU -aqU -aMz +aYL +bkT +cfw +cJM +aYL +aYL +cKb chE cie cjK @@ -112419,19 +111184,19 @@ bUn aaU aaa aaa -blp -bme -bme -blp -btL -bPH -bBe bui -cma -bHt -bHt -bme -bme +buo +buo +bui +bPF +cex +cgP +cfy +cnG +coh +coh +buo +buo aaa aaa aaa @@ -112602,12 +111367,12 @@ aKf aMb aPl aRf -adR -arX -aKj -aVy -aRx -aSF +arQ +asD +asR +avl +avI +axR aTr arH aVa @@ -112642,13 +111407,13 @@ cmj cmr cmx atF -cfv -asI -cJS -clx -awA -chl -aNx +bap +bdk +cfx +cJR +cJU +cJY +cKc chF cir cjL @@ -112679,15 +111444,15 @@ aaa aaU aaU aaU -blp -cmy -cmz -blp -cqU -blp -bme -bme -bme +bui +bPO +cfk +bui +ckc +bui +buo +buo +buo aaa aaa aaa @@ -112859,12 +111624,12 @@ aKf aMb aPx aLj -anh -azo -aKp -aND -aND -aWH +arV +asG +asS +avw +avw +axV aHx asc aWn @@ -112899,13 +111664,13 @@ cmk cms aus atF -ast -asI -cJT +bcI +bdk +cfL +cJS +cJW cJZ -cKa -cKb -cKc +cKv chG ciD cjU @@ -112924,7 +111689,7 @@ ciL cLr cwQ bPx -bod +cwa beW bXX cIM @@ -112939,9 +111704,9 @@ aaU bxw bza bMQ -blp -cnf -cdd +bui +cma +cmz aYp aaa aaa @@ -113116,12 +111881,12 @@ aKm aMc aPx aRg -aGH -aIf -aLs -aRA -bkT -aWJ +arX +asI +asU +avA +avK +ayb aHz btb aWn @@ -113156,17 +111921,17 @@ aus aus aus atF -asI -asI -cJU -avw -bRd -azg -aNQ +bdk +bdk +chl +cJT +cJX +cKa +cLZ chI ciH cjX -ckF +bnt cns cpo cpT @@ -113181,7 +111946,7 @@ con coo cwR bPy -bVY +cNm bWn bYO cJc @@ -113196,9 +111961,9 @@ bpP cro bza bMQ -blp -ctH -cdd +bui +cgV +cmz csc aaa aaa @@ -113366,19 +112131,19 @@ arv aub azS aBG -aEZ +anI aFS aHd aKr aMf aPy aRi -aqc -aqn -aci -aci -aci -aXQ +arY +asB +arO +arO +arO +ayn aHy bDc aWw @@ -113413,13 +112178,13 @@ atF atF atF atF -aqU -asM -cfL -aqU -aqU -aqU -aqU +aYL +bmm +clx +aYL +aYL +aYL +aYL chK chK ckm @@ -113453,9 +112218,9 @@ bYe bHL bYt bYD -blp -crU -cdd +bui +cmy +cmz aYp aaa aaa @@ -113634,7 +112399,7 @@ aPx aTN avm aVH -aWX +avQ aZF anK aHz @@ -113667,13 +112432,13 @@ bRn qlJ qlJ bcG +aRx +aSA +aVX +bgw +bsX cmt -auR -aYL -cfw -bap -cJW -bcI +aRA bbF bbN bbN @@ -113700,20 +112465,20 @@ bie bZl cqQ bqD -cBr -aRY -bcE -aRY -aRY +bom +boy +bqp +boy +boy btz cOe btB btB btA -blp -blp -blp -blp +bui +bui +bui +bui aaU aaU aaU @@ -113924,13 +112689,13 @@ bsT bRo bRp anr -bcI -bgw -bgw -bgw -bdk -cJX -bcI +aRA +aSF +aSF +aSF +bRd +cwy +aRA bbJ bbF bbN @@ -113957,11 +112722,11 @@ bdH bWO cqR bqE -cBr -aST -bcF -ckc -bnQ +bom +boz +bqL +brv +bBc btA bMQ bta @@ -114181,13 +112946,13 @@ aaa aaa bsz cJx -cJF +aRE +aSY +aWH +bhm bRA -cJJ -bsX -cJM -cJY -bcI +cCd +aRA bbJ bbL bbN @@ -114214,11 +112979,11 @@ cvN bjm bXX bqD -cBs -aTc -bdL -biE -bpV +bon +bpi +bqM +brN +bBe bLZ bNt bta @@ -114438,13 +113203,13 @@ aaa aaa bsz anr -bcI -bgw +aRA +aSF +aWJ +aSF bUX -bgw -uwK -bhm -bcI +cJF +aRA bbL bbN bbN @@ -114471,11 +113236,11 @@ bdI cNx bXX bqD -cBr -bcu -csS -biH -bnQ +bom +bpj +bqU +btK +bBc btB bNV bta @@ -114695,13 +113460,13 @@ aaa aaa bsz anr -bcI +aRA +aVy aXp -bVb -cfx bhs -bmm -bcI +bVb +cJJ +aRA aaU aaa aaa @@ -114728,11 +113493,11 @@ cIC bjm bXX bqD -cBC -bcv -bdL -bkf -bWY +box +bpT +bqM +btL +bBm btC bPm bta @@ -114952,13 +113717,13 @@ aaa aaa bsz anr -bcI -bcI -cwy -bcI -jMO -bcI -bcI +aRA +aRA +aXQ +aRA +cfv +aRA +aRA aaU aaa aaa @@ -114985,11 +113750,11 @@ bBU bnN crc buw -aRY -bcD -bcF -bkz -bnQ +boy +bpU +bqL +btO +bBc btD bPm bxH @@ -115242,11 +114007,11 @@ bgf bez cxB bhf -aRY -aRY -aRY -aRY -aRY +boy +boy +boy +boy +boy btz bPn btE @@ -115498,7 +114263,7 @@ ckq bgf beB cxC -bgq +stP cjA biy bjN @@ -118577,14 +117342,14 @@ cgn cje blb blR -bni +bWr bcA bdM bdM cNA bhb ciE -cmT +cNp cnB csh cHV @@ -118834,7 +117599,7 @@ chd cki ctt blS -bnn +bWs bcA bdM bdM @@ -119091,7 +117856,7 @@ bjo bkk ctx blV -bny +bWx bdK bma bfR @@ -119348,7 +118113,7 @@ bgT bgT ctA bgV -bgV +bWy bgT bgV boM @@ -119605,7 +118370,7 @@ cgE bkl ctB blW -cxs +bWz bos bgV boN @@ -120098,7 +118863,7 @@ bNE cww cpO bYP -cRg +cMI cMH cww cMb @@ -120114,7 +118879,7 @@ bAv bPW cBz bUM -ccX +bQP chf ckO ckO @@ -120371,13 +119136,13 @@ bff bfC bff bfC -bij +bQZ bhK bkn cnw bkn bhK -bov +bXh bgV boI boW @@ -120628,13 +119393,13 @@ aaU aaa aaU bgT -bhZ +bkn bhK bkn bkn bkn bhK -bow +bXk bgT boP boY @@ -120875,7 +119640,7 @@ chn eCy chL cMv -cMI +cMJ anr aaa aaa @@ -120885,13 +119650,13 @@ aaU aaU aaU bgV -bhZ +bRx bhK -bkp +bRO bhK -blZ +bSp bhK -boB +bXl bgV boI boI @@ -121132,7 +119897,7 @@ chp chx chM gDY -jiZ +mqE anr aaa aaa @@ -121142,13 +119907,13 @@ aaU aaa aaU bgT -bil -bjq -bkq +bRM +bRN +bRR bld -biw +bSq bld -boB +bXl bgV aaU boI @@ -121386,7 +120151,7 @@ uVD mqB dpO tZC -qWY +cwB rUl cMw cfs @@ -121401,11 +120166,11 @@ aaU bgT bgT bjr -bkr +bRS ble xxP bnC -boD +bXo bgT aaa aaa @@ -121658,11 +120423,11 @@ aaU aaa aaa bgT -bks +bSm blg bgT cgm -boE +bXr bgT aaa aaa @@ -121900,8 +120665,8 @@ sRD nAF cgz cJH -cwB -cMl +qWY +cJH cMx cMJ cxc @@ -121915,11 +120680,11 @@ aaU aaa aaa bgT -bkt +bSn blh bgT blh -boF +bXx bgT aaa aaa @@ -122664,7 +121429,7 @@ bSb cKS cKY bQO -cLc +cMO eIh bYd tXV @@ -122674,7 +121439,7 @@ cwB cMc cMm cMy -cML +dSZ cLa cKY cLu @@ -123692,7 +122457,7 @@ bTH cKU cKY cLa -cLc +cMO fgS car cwB @@ -123702,7 +122467,7 @@ cwB cMg cMq cMB -cML +dSZ cMQ cKY cLw @@ -124473,8 +123238,8 @@ cLs cLs cMs cME -cMN -aaU +mDW +dnN bZR caJ bpq @@ -124720,7 +123485,7 @@ bTK cKW cKY bQV -cLc +cMO cLk ctk prx @@ -124731,7 +123496,7 @@ prx iQY cMF cMO -cMS +jAv cMT cLy blM diff --git a/_maps/map_files/CogStation/job_changes.dm b/_maps/map_files/CogStation/job_changes.dm index 8b1e3e9172..347f98a829 100644 --- a/_maps/map_files/CogStation/job_changes.dm +++ b/_maps/map_files/CogStation/job_changes.dm @@ -26,4 +26,4 @@ ..() MAP_JOB_CHECK access += ACCESS_MAINT_TUNNELS - minimal_access += ACCESS_MAINT_TUNNELS \ No newline at end of file + minimal_access += ACCESS_MAINT_TUNNELS diff --git a/_maps/map_files/Deltastation/DeltaStation2.dmm b/_maps/map_files/Deltastation/DeltaStation2.dmm index 891b238f11..07902b28b1 100644 --- a/_maps/map_files/Deltastation/DeltaStation2.dmm +++ b/_maps/map_files/Deltastation/DeltaStation2.dmm @@ -660,6 +660,7 @@ /obj/effect/turf_decal/stripes/line{ dir = 4 }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel, /area/hallway/secondary/entry) "abr" = ( @@ -1308,6 +1309,45 @@ /obj/item/toy/poolnoodle/blue, /turf/open/floor/plasteel/dark, /area/crew_quarters/fitness/pool) +"acy" = ( +/obj/machinery/conveyor_switch/oneway{ + dir = 8; + id = "cargounload" + }, +/obj/effect/turf_decal/tile/brown, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/quartermaster/storage) +"acz" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/quartermaster/storage) +"acA" = ( +/obj/machinery/conveyor{ + dir = 9; + id = "cargounload" + }, +/turf/open/floor/plating, +/area/quartermaster/storage) +"acB" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/light/floor, +/turf/open/floor/plasteel, +/area/quartermaster/storage) "acF" = ( /obj/docking_port/stationary{ dir = 2; @@ -1484,9 +1524,6 @@ /obj/machinery/light{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 10 - }, /obj/machinery/camera{ c_tag = "Arrivals Dock - Fore"; dir = 8; @@ -1495,6 +1532,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 4 }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, /turf/open/floor/plasteel, /area/hallway/secondary/entry) "acX" = ( @@ -3495,9 +3535,7 @@ dir = 4 }, /obj/effect/turf_decal/delivery, -/obj/item/kirbyplants{ - icon_state = "plant-21" - }, +/obj/machinery/gear_painter, /turf/open/floor/plasteel, /area/hallway/secondary/entry) "ajL" = ( @@ -3783,6 +3821,9 @@ /obj/effect/turf_decal/tile/blue{ dir = 8 }, +/obj/item/kirbyplants{ + icon_state = "plant-21" + }, /turf/open/floor/plasteel/white/corner, /area/hallway/secondary/entry) "akn" = ( @@ -12917,18 +12958,6 @@ }, /turf/open/floor/plasteel, /area/quartermaster/storage) -"aAH" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/conveyor_switch/oneway{ - dir = 8; - id = "cargounload" - }, -/obj/effect/turf_decal/tile/brown, -/obj/effect/turf_decal/tile/brown{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/quartermaster/storage) "aAI" = ( /obj/structure/cable/white, /obj/structure/cable/white{ @@ -13615,14 +13644,6 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/quartermaster/storage) -"aBZ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/quartermaster/storage) "aCa" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/brown, @@ -14263,23 +14284,6 @@ }, /turf/open/floor/plasteel, /area/quartermaster/storage) -"aDf" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 4 - }, -/obj/machinery/door/airlock/external{ - name = "Supply Dock Airlock"; - req_access_txt = "31" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/quartermaster/storage) "aDg" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ @@ -32961,6 +32965,10 @@ /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/oil, /obj/effect/turf_decal/bot, +/obj/item/stack/ore/silver{ + amount = 2 + }, +/obj/item/stack/ore/iron, /turf/open/floor/plasteel, /area/quartermaster/miningoffice) "biu" = ( @@ -49387,7 +49395,7 @@ }, /obj/machinery/door/airlock/security/glass{ name = "Security E.V.A. Storage"; - req_access_txt = "3" + req_access_txt = "1" }, /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -66630,6 +66638,13 @@ /obj/item/kirbyplants/random, /turf/open/floor/wood, /area/library) +"chT" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel, +/area/hallway/secondary/entry) "chV" = ( /obj/machinery/newscaster{ pixel_x = -32 @@ -79370,6 +79385,7 @@ /obj/effect/turf_decal/tile/neutral{ dir = 8 }, +/obj/machinery/gear_painter, /turf/open/floor/plasteel{ heat_capacity = 1e+006 }, @@ -81561,12 +81577,12 @@ /turf/open/floor/plasteel, /area/engine/storage) "cHt" = ( -/obj/structure/reagent_dispensers/fueltank, /obj/effect/decal/cleanable/dirt, /obj/machinery/status_display/ai{ pixel_y = -32 }, /obj/effect/turf_decal/bot, +/obj/structure/reagent_dispensers/fueltank/high, /turf/open/floor/plasteel, /area/engine/storage) "cHu" = ( @@ -110331,8 +110347,8 @@ }, /obj/effect/turf_decal/stripes/line, /obj/machinery/atmospherics/components/binary/pump/on{ - name = "Space Loop Out"; - dir = 4 + dir = 4; + name = "Space Loop Out" }, /turf/open/floor/plasteel, /area/science/mixing) @@ -125416,6 +125432,12 @@ }, /turf/open/floor/plasteel/white, /area/science/misc_lab) +"fer" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/entry) "fhE" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/medical{ @@ -125528,6 +125550,12 @@ }, /turf/open/floor/engine, /area/science/mixing) +"gfJ" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/entry) "gmj" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/closed/wall/r_wall, @@ -125630,14 +125658,6 @@ }, /turf/open/floor/plasteel, /area/maintenance/department/electrical) -"hdH" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/conveyor{ - dir = 9; - id = "cargoload" - }, -/turf/open/floor/plating, -/area/quartermaster/storage) "hic" = ( /obj/structure/table/reinforced, /obj/item/integrated_electronics/analyzer, @@ -125689,6 +125709,14 @@ /obj/effect/landmark/start/cyborg, /turf/open/floor/plasteel/dark, /area/ai_monitored/turret_protected/aisat_interior) +"hzR" = ( +/obj/effect/turf_decal/delivery, +/obj/structure/table, +/obj/item/gps/mining{ + gpstag = "MINE_PUB" + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/entry) "hAf" = ( /obj/structure/cable/white{ icon_state = "4-8" @@ -125847,6 +125875,21 @@ }, /turf/open/floor/plating, /area/engine/atmos) +"iCO" = ( +/obj/effect/turf_decal/delivery, +/obj/structure/chair{ + dir = 8 + }, +/obj/machinery/camera{ + c_tag = "Arrivals Dock - Public Mining"; + dir = 8; + name = "arrivals camera" + }, +/obj/machinery/light{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/entry) "iIl" = ( /obj/effect/turf_decal/tile/neutral{ dir = 8 @@ -125943,6 +125986,13 @@ }, /turf/open/floor/plasteel, /area/maintenance/solars/port/aft) +"iUI" = ( +/obj/effect/turf_decal/delivery, +/obj/structure/chair{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/entry) "jdx" = ( /obj/structure/lattice, /obj/structure/grille, @@ -126193,6 +126243,10 @@ }, /turf/open/space, /area/engine/atmos) +"kmz" = ( +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel, +/area/hallway/secondary/entry) "kqo" = ( /obj/structure/cable/white{ icon_state = "4-8" @@ -126624,6 +126678,18 @@ }, /turf/open/floor/plasteel, /area/engine/atmos) +"mVW" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/door/airlock/external{ + name = "External Docking Port" + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/entry) "mWZ" = ( /obj/machinery/atmospherics/components/binary/pump, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -126635,6 +126701,17 @@ }, /turf/open/floor/engine, /area/science/mixing) +"naC" = ( +/obj/docking_port/stationary{ + dwidth = 3; + height = 5; + id = "commonmining_home"; + name = "SS13: Common Mining Dock"; + roundstart_template = /datum/map_template/shuttle/mining_common/meta; + width = 7 + }, +/turf/open/space/basic, +/area/space) "nbi" = ( /obj/effect/decal/cleanable/dirt, /turf/closed/wall/r_wall, @@ -126962,6 +127039,14 @@ /obj/effect/landmark/start/paramedic, /turf/open/floor/plasteel/white, /area/medical/storage) +"pIl" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel, +/area/hallway/secondary/entry) "pQm" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable/white{ @@ -127061,6 +127146,13 @@ /obj/effect/spawner/lootdrop/keg, /turf/open/floor/plating, /area/crew_quarters/abandoned_gambling_den) +"qEF" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/computer/shuttle/mining/common{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/entry) "qUn" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/effect/turf_decal/tile/neutral{ @@ -127633,6 +127725,15 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/science/circuit) +"wlT" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel, +/area/hallway/secondary/entry) "wmL" = ( /obj/effect/turf_decal/tile/neutral{ dir = 8 @@ -127654,6 +127755,15 @@ }, /turf/open/floor/plasteel/dark, /area/chapel/office) +"wpx" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/entry) "wum" = ( /obj/machinery/atmospherics/pipe/simple/yellow/visible{ dir = 4 @@ -127738,6 +127848,15 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/fitness/recreation) +"xaL" = ( +/obj/effect/turf_decal/delivery, +/obj/structure/table, +/obj/machinery/light{ + dir = 8 + }, +/obj/item/flashlight, +/turf/open/floor/plasteel, +/area/hallway/secondary/entry) "xcU" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/simple/cyan/visible{ @@ -159602,13 +159721,13 @@ hZh hZh hZh aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa +aad +aad +aaO +aaO +abf +aaO +aaO aad aad aad @@ -159859,13 +159978,13 @@ hZh hZh hZh aaa -aaa -aaa -aaa -aaa -aaa -qgU aad +aaa +aaO +qEF +xaL +hzR +aaO aad aaa aaa @@ -160116,13 +160235,13 @@ hZh hZh hZh aaa -aaa -aaa -aaa -aaa -aaa aaO aaO +aaO +abe +abC +gfJ +aaO abf aaO aaO @@ -160372,18 +160491,18 @@ hZh hZh hZh hZh -aaa -aaa -aaa -aaa -aaa -aaa -aaO -abe +naC +mVW +kmz +mVW +acb +fer +aiT +abZ abp abC abC -abZ +abC abC abC acV @@ -160630,19 +160749,19 @@ hZh hZh hZh aaa -aaa -aaa -aaa -aaa -aaa +aaO +aaO aaO vcs +wpx +pIl +wlT abq -abD -abD -abZ -abD -abD +chT +chT +chT +chT +chT acW adr adr @@ -160887,12 +161006,12 @@ hZh hZh hZh aaa -aaa -aaa -aaa -aaa +aad aaa aaO +agk +iCO +iUI aaO abf aaO @@ -161144,14 +161263,14 @@ hZh hZh hZh aaa -aaa -aaa -aaa -aaa -aaa -qgU aad aad +aaO +aaO +abf +aaO +aaO +aad aaa aaa aad @@ -161402,12 +161521,12 @@ hZh hZh aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa +aad +aad +aad +aad +aad +aad aad aad aad @@ -171733,7 +171852,7 @@ azy aAG aDb aAG -aAG +acB azy azy aAG @@ -173015,7 +173134,7 @@ axk ayB azE azE -aBZ +acz azE azE azE @@ -173271,9 +173390,9 @@ aoF axl ayC azF -aAH -aCa -aCa +acy +aEf +aEf aEf aEf aCa @@ -173529,8 +173648,8 @@ axm ayD ayD ayD -hdH -azD +acA +aEe aaq azD kam @@ -173787,7 +173906,7 @@ ayE azG aAI aCb -aDf +aFk avW aFk aGD diff --git a/_maps/map_files/KiloStation/KiloStation.dmm b/_maps/map_files/KiloStation/KiloStation.dmm index 245f67833e..408efad32f 100644 --- a/_maps/map_files/KiloStation/KiloStation.dmm +++ b/_maps/map_files/KiloStation/KiloStation.dmm @@ -14492,7 +14492,6 @@ /turf/open/floor/plating, /area/maintenance/starboard) "aym" = ( -/obj/structure/reagent_dispensers/fueltank, /obj/effect/turf_decal/delivery, /obj/effect/turf_decal/tile/neutral{ dir = 1 @@ -14503,6 +14502,7 @@ /obj/effect/turf_decal/tile/neutral{ dir = 8 }, +/obj/structure/reagent_dispensers/fueltank/high, /turf/open/floor/plasteel/dark, /area/engine/engineering) "ayn" = ( @@ -48007,8 +48007,9 @@ /obj/effect/turf_decal/tile/neutral{ dir = 4 }, -/obj/structure/closet/wardrobe/mixed, /obj/machinery/light/small, +/obj/effect/turf_decal/delivery, +/obj/machinery/gear_painter, /turf/open/floor/plasteel/dark, /area/crew_quarters/locker) "bzo" = ( @@ -48767,7 +48768,6 @@ /turf/open/floor/plasteel/dark, /area/crew_quarters/fitness/recreation) "bAA" = ( -/obj/structure/table, /obj/effect/turf_decal/tile/neutral{ dir = 1 }, @@ -48777,11 +48777,6 @@ /obj/effect/turf_decal/tile/neutral{ dir = 8 }, -/obj/item/storage/backpack{ - pixel_x = 4; - pixel_y = 4 - }, -/obj/item/storage/backpack, /obj/machinery/firealarm{ dir = 8; pixel_x = 26 @@ -49398,6 +49393,7 @@ dir = 1; name = "recreation camera" }, +/obj/structure/closet/wardrobe/mixed, /turf/open/floor/plasteel, /area/crew_quarters/fitness/recreation) "bBy" = ( @@ -54797,11 +54793,6 @@ /area/hallway/secondary/exit/departure_lounge) "bKn" = ( /obj/structure/table, -/obj/item/paper_bin{ - pixel_x = -4; - pixel_y = 4 - }, -/obj/item/pen, /obj/effect/decal/cleanable/cobweb/cobweb2, /obj/effect/turf_decal/tile/neutral{ dir = 8 @@ -54810,6 +54801,11 @@ /obj/machinery/airalarm{ pixel_y = 22 }, +/obj/item/storage/backpack{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/storage/backpack, /turf/open/floor/plasteel/dark, /area/crew_quarters/fitness/recreation) "bKo" = ( @@ -55425,6 +55421,12 @@ pixel_x = 28; pixel_y = 22 }, +/obj/structure/table, +/obj/item/paper_bin{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/pen, /turf/open/floor/plasteel, /area/crew_quarters/fitness/recreation) "bLd" = ( @@ -60844,6 +60846,11 @@ /obj/effect/turf_decal/tile/red{ dir = 1 }, +/obj/structure/table, +/obj/item/toy/figure/assistant{ + pixel_x = 8; + pixel_y = 6 + }, /turf/open/floor/plasteel, /area/hallway/secondary/entry) "bTD" = ( @@ -61021,6 +61028,12 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ dir = 10 }, +/obj/structure/table, +/obj/item/paper_bin{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/pen, /turf/open/floor/plasteel, /area/hallway/secondary/entry) "bTO" = ( @@ -61259,19 +61272,8 @@ /obj/effect/turf_decal/tile/neutral{ dir = 1 }, -/obj/structure/table, -/obj/item/paper_bin{ - pixel_x = -4; - pixel_y = 4 - }, -/obj/item/pen, -/obj/item/toy/figure/assistant{ - pixel_x = 8; - pixel_y = 6 - }, -/obj/effect/turf_decal/loading_area{ - dir = 1 - }, +/obj/effect/turf_decal/delivery, +/obj/machinery/gear_painter, /turf/open/floor/plasteel/dark, /area/hallway/secondary/entry) "bUi" = ( @@ -71325,15 +71327,16 @@ icon_gib = "magicarp_gib"; icon_living = "magicarp"; icon_state = "magicarp"; - maxHealth = 200; max_co2 = 5; max_tox = 2; + maxHealth = 200; melee_damage_lower = 15; melee_damage_upper = 20; min_oxy = 5; name = "Lia"; real_name = "Lia"; - response_help = "pets"; + response_help_continuous = "pets"; + response_help_simple = "pet"; turns_per_move = 10 }, /turf/open/floor/plasteel/dark, @@ -85507,8 +85510,8 @@ /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/cobweb/cobweb2, /obj/machinery/atmospherics/components/binary/pump/on{ - name = "Space Loop Out"; - dir = 8 + dir = 8; + name = "Space Loop Out" }, /turf/open/floor/plating{ icon_state = "panelscorched" diff --git a/_maps/map_files/LambdaStation/dorms.dmm b/_maps/map_files/LambdaStation/dorms.dmm index a38d2b9e1d..0ed1b0203c 100644 --- a/_maps/map_files/LambdaStation/dorms.dmm +++ b/_maps/map_files/LambdaStation/dorms.dmm @@ -10679,7 +10679,7 @@ light_color = "#e8eaff" }, /obj/machinery/vending/wardrobe/jani_wardrobe{ - products = list(/obj/item/clothing/under/rank/civilian/janitor = 2, /obj/item/cartridge/janitor = 2, /obj/item/clothing/gloves/color/black = 2, /obj/item/clothing/head/soft/purple = 2, /obj/item/paint/paint_remover = 2, /obj/item/melee/flyswatter = 2, /obj/item/flashlight = 2, /obj/item/caution = 10, /obj/item/holosign_creator = 2, /obj/item/lightreplacer = 2, /obj/item/soap/nanotrasen = 2, /obj/item/storage/bag/trash = 2, /obj/item/clothing/shoes/galoshes = 2, /obj/item/watertank/janitor = 2, /obj/item/storage/belt/janitor = 2) + products = list(/obj/item/clothing/under/rank/civilian/janitor = 2, /obj/item/cartridge/janitor = 2, /obj/item/clothing/gloves/color/black = 2, /obj/item/clothing/head/soft/purple = 2, /obj/item/paint/paint_remover = 2, /obj/item/melee/flyswatter = 2, /obj/item/flashlight = 2, /obj/item/clothing/suit/caution = 10, /obj/item/holosign_creator = 2, /obj/item/lightreplacer = 2, /obj/item/soap/nanotrasen = 2, /obj/item/storage/bag/trash = 2, /obj/item/clothing/shoes/galoshes = 2, /obj/item/watertank/janitor = 2, /obj/item/storage/belt/janitor = 2) }, /turf/open/floor/plating, /area/janitor) @@ -13637,7 +13637,7 @@ /turf/open/floor/plasteel, /area/hallway/primary/central) "IX" = ( -/obj/item/caution, +/obj/item/clothing/suit/caution, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{ @@ -13764,6 +13764,7 @@ /obj/effect/turf_decal/trimline/neutral/filled/corner{ dir = 4 }, +/obj/machinery/gear_painter, /turf/open/floor/plasteel, /area/crew_quarters/locker) "Jp" = ( diff --git a/_maps/map_files/LambdaStation/lambda.dmm b/_maps/map_files/LambdaStation/lambda.dmm index b87c755979..50e08dfae4 100644 --- a/_maps/map_files/LambdaStation/lambda.dmm +++ b/_maps/map_files/LambdaStation/lambda.dmm @@ -19827,6 +19827,9 @@ /obj/effect/turf_decal/stripes/line{ dir = 8 }, +/obj/item/stack/ore/silver{ + amount = 2 + }, /turf/open/floor/plasteel, /area/quartermaster/miningoffice) "aJC" = ( @@ -20222,6 +20225,7 @@ /obj/effect/turf_decal/stripes/line{ dir = 4 }, +/obj/item/stack/ore/iron, /turf/open/floor/plasteel, /area/quartermaster/miningoffice) "aKq" = ( @@ -53981,8 +53985,8 @@ pixel_y = -26 }, /obj/structure/cable, -/obj/structure/reagent_dispensers/fueltank, /obj/effect/turf_decal/bot, +/obj/structure/reagent_dispensers/fueltank/high, /turf/open/floor/plasteel, /area/engine/storage_shared) "cvh" = ( @@ -63034,6 +63038,19 @@ /obj/item/assembly/flash/handheld, /turf/open/floor/plating, /area/storage/tech) +"cYI" = ( +/obj/docking_port/stationary{ + dir = 2; + dwidth = 3; + height = 5; + icon_state = "pinonfar"; + id = "commonmining_home"; + name = "SS13: Common Mining Dock"; + roundstart_template = /datum/map_template/shuttle/mining_common/meta; + width = 7 + }, +/turf/open/space/basic, +/area/space) "dcB" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 4 @@ -63774,6 +63791,14 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plating, /area/maintenance/department/cargo) +"etv" = ( +/obj/machinery/door/airlock/external/glass, +/obj/structure/fans/tiny, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/turf/open/floor/plating, +/area/hallway/secondary/entry) "euD" = ( /obj/machinery/door/airlock/hatch{ name = "Telecomms Server Room" @@ -67057,12 +67082,12 @@ /area/engine/atmos) "kgv" = ( /obj/structure/railing{ - icon_state = "railing"; - dir = 4 + dir = 4; + icon_state = "railing" }, /obj/structure/railing{ - icon_state = "railing"; - dir = 8 + dir = 8; + icon_state = "railing" }, /turf/open/floor/plasteel/stairs/old, /area/maintenance/department/medical) @@ -68221,6 +68246,20 @@ /obj/machinery/power/grounding_rod, /turf/open/floor/plating/airless, /area/engine/engineering) +"mnL" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/obj/machinery/computer/shuttle/mining/common{ + dir = 8 + }, +/obj/machinery/camera{ + c_tag = "Arrivals Dock Public Mining"; + dir = 1; + name = "arrivals camera" + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/entry) "mqh" = ( /obj/effect/turf_decal/tile/blue, /obj/effect/turf_decal/tile/blue{ @@ -69098,16 +69137,6 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/toilet/auxiliary) -"ohk" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 10 - }, -/obj/structure/chair{ - dir = 4 - }, -/obj/machinery/light, -/turf/open/floor/plasteel, -/area/hallway/secondary/entry) "ojZ" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable{ @@ -69418,6 +69447,11 @@ }, /turf/open/floor/plating, /area/maintenance/port) +"oTI" = ( +/obj/machinery/door/airlock/external/glass, +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/turf/open/floor/plating, +/area/hallway/secondary/entry) "oUp" = ( /obj/structure/closet/crate, /obj/item/stack/sheet/metal/fifty, @@ -69460,6 +69494,16 @@ }, /turf/open/floor/plasteel, /area/crew_quarters/toilet/auxiliary) +"oVP" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/structure/table, +/obj/item/gps/mining{ + gpstag = "MINE_PUB" + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/entry) "oXg" = ( /obj/structure/cable{ icon_state = "4-8" @@ -69905,6 +69949,14 @@ }, /turf/open/floor/plasteel, /area/engine/break_room) +"pPG" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/structure/table, +/obj/item/flashlight, +/turf/open/floor/plasteel, +/area/hallway/secondary/entry) "pRv" = ( /obj/machinery/air_sensor{ id_tag = "tox_sensor" @@ -71189,12 +71241,12 @@ "tcW" = ( /obj/structure/stairs/west, /obj/structure/railing{ - icon_state = "railing"; - dir = 4 + dir = 4; + icon_state = "railing" }, /obj/structure/railing{ - icon_state = "railing"; - dir = 8 + dir = 8; + icon_state = "railing" }, /turf/open/floor/plating, /area/maintenance/department/medical) @@ -103741,10 +103793,10 @@ nNI ngo bQW nNI -aav -aav -aab -aab +nNI +xMt +xMt +nNI aab aab aab @@ -103996,15 +104048,15 @@ gLI ifC jEO uYv -ohk +uYv +uYv +jEO +jEO +cIu +nNI +xMt +xMt nNI -aab -aav -aab -aab -aab -aab -aab aab aab aab @@ -104253,16 +104305,16 @@ rEw iiC jMW rEw +rEw +rEw +rEw +rEw cwD -xMt -aab -aav -aab -aab -aab -aab -aab -aab +oTI +cxe +cVf +etv +cYI aab aab aab @@ -104510,15 +104562,15 @@ cvp iqD jto jto -cvI +jto +jto +pPG +oVP +mnL +nNI xMt -aab -aav -aab -aab -aab -aab -aab +xMt +nNI aab aab aab @@ -104769,10 +104821,10 @@ xMt cWd nNI nNI -aab -aav -aab -aab +nNI +xMt +xMt +nNI aab aab aab @@ -105027,7 +105079,7 @@ cJk nNI aab aab -aav +aab aab aab aab diff --git a/_maps/map_files/MetaStation/MetaStation.dmm b/_maps/map_files/MetaStation/MetaStation.dmm index be1b5ba779..958ab2dc5a 100644 --- a/_maps/map_files/MetaStation/MetaStation.dmm +++ b/_maps/map_files/MetaStation/MetaStation.dmm @@ -4548,7 +4548,7 @@ /obj/machinery/door/firedoor, /obj/machinery/door/airlock/security/glass{ name = "Security E.V.A. Storage"; - req_access_txt = "3" + req_access_txt = "1" }, /obj/structure/cable/yellow{ icon_state = "4-8" @@ -4826,6 +4826,7 @@ /obj/machinery/light{ dir = 4 }, +/obj/machinery/gear_painter, /turf/open/floor/plasteel/white/corner, /area/hallway/secondary/entry) "aiU" = ( @@ -12681,7 +12682,7 @@ /turf/open/floor/wood, /area/crew_quarters/dorms) "axL" = ( -/obj/item/caution, +/obj/item/clothing/suit/caution, /obj/effect/turf_decal/stripes/line{ dir = 1 }, @@ -15223,7 +15224,6 @@ /turf/open/floor/plating, /area/maintenance/starboard/fore) "aCN" = ( -/obj/structure/reagent_dispensers/fueltank, /obj/item/radio/intercom{ name = "Station Intercom (General)"; pixel_x = -30 @@ -15231,6 +15231,7 @@ /obj/effect/turf_decal/bot{ dir = 1 }, +/obj/structure/reagent_dispensers/fueltank/high, /turf/open/floor/plasteel{ dir = 1 }, @@ -23177,6 +23178,9 @@ }, /obj/machinery/light, /obj/effect/turf_decal/tile/neutral, +/obj/machinery/newscaster{ + pixel_y = -32 + }, /turf/open/floor/plasteel, /area/crew_quarters/locker) "aTy" = ( @@ -23190,17 +23194,6 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/plasteel, /area/crew_quarters/locker) -"aTz" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, -/obj/machinery/light, -/obj/machinery/newscaster{ - pixel_y = -32 - }, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/plasteel, -/area/crew_quarters/locker) "aTA" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 9 @@ -24164,12 +24157,12 @@ /turf/open/floor/plating, /area/hallway/secondary/entry) "aVt" = ( -/obj/item/kirbyplants{ - icon_state = "plant-13" - }, /obj/effect/turf_decal/stripes/line{ dir = 9 }, +/obj/item/kirbyplants{ + icon_state = "plant-20" + }, /turf/open/floor/plasteel, /area/hallway/secondary/entry) "aVu" = ( @@ -24941,10 +24934,9 @@ /turf/open/floor/plasteel, /area/hallway/secondary/entry) "aWV" = ( -/obj/structure/sign/warning/vacuum/external{ - pixel_y = -32 +/obj/effect/turf_decal/stripes/corner{ + dir = 2 }, -/obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel, /area/hallway/secondary/entry) "aWW" = ( @@ -39922,9 +39914,6 @@ /turf/open/floor/plasteel/dark, /area/bridge) "bzU" = ( -/obj/structure/chair/comfy/teal{ - dir = 4 - }, /obj/structure/chair/comfy/black{ dir = 4 }, @@ -48922,7 +48911,7 @@ /turf/open/floor/plating, /area/maintenance/starboard) "bTi" = ( -/obj/machinery/vending/wardrobe/atmos_wardrobe, +/obj/machinery/portable_atmospherics/canister, /turf/open/floor/plasteel/dark, /area/engine/atmos) "bTk" = ( @@ -52011,19 +52000,23 @@ /turf/open/floor/plating, /area/maintenance/port/aft) "bZV" = ( -/obj/item/storage/toolbox/emergency, -/obj/item/hand_labeler, -/obj/effect/spawner/lootdrop/maintenance, +/obj/item/storage/box/lights/mixed, /turf/open/floor/plating, /area/maintenance/port/aft) "bZW" = ( -/obj/item/cigbutt, +/obj/item/cigbutt{ + pixel_x = 6; + pixel_y = -6 + }, /obj/structure/disposalpipe/segment{ dir = 6 }, /obj/effect/turf_decal/stripes/line{ dir = 4 }, +/obj/item/storage/toolbox/emergency, +/obj/item/hand_labeler, +/obj/effect/spawner/lootdrop/maintenance, /turf/open/floor/plating, /area/maintenance/port/aft) "bZX" = ( @@ -53086,7 +53079,6 @@ }, /area/maintenance/port/aft) "cbG" = ( -/obj/item/storage/box/lights/mixed, /obj/structure/disposalpipe/segment{ dir = 4 }, @@ -53179,8 +53171,6 @@ network = list("ss13","medbay") }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/structure/closet/crate/freezer/surplus_limbs, -/obj/item/reagent_containers/glass/beaker/synthflesh, /obj/effect/turf_decal/tile/blue, /obj/effect/turf_decal/tile/blue{ dir = 4 @@ -55174,7 +55164,7 @@ /obj/effect/turf_decal/tile/neutral{ dir = 8 }, -/obj/machinery/bloodbankgen, +/obj/vehicle/ridden/wheelchair, /turf/open/floor/plasteel/dark, /area/medical/sleeper) "cfL" = ( @@ -55716,7 +55706,6 @@ icon_state = "4-8" }, /obj/machinery/atmospherics/pipe/manifold/supply/hidden, -/obj/effect/turf_decal/stripes/line, /turf/open/floor/plating, /area/maintenance/port/aft) "cgM" = ( @@ -56422,35 +56411,29 @@ /turf/closed/wall, /area/medical/surgery) "cib" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 6 - }, -/turf/closed/wall, +/obj/structure/closet/secure_closet/medical2, +/turf/open/floor/plasteel/white/corner, /area/medical/surgery) "cic" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 + dir = 10 }, -/turf/closed/wall, -/area/medical/surgery) -"cid" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Medbay Maintenance"; - req_access_txt = "5" - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ +/turf/open/floor/plasteel/white/side{ dir = 1 }, -/turf/open/floor/plating, -/area/maintenance/port/aft) +/area/medical/surgery) +"cid" = ( +/obj/structure/curtain{ + icon_state = "closed" + }, +/obj/machinery/door/firedoor, +/turf/open/floor/plasteel/white, +/area/medical/surgery) "cie" = ( /obj/machinery/firealarm{ dir = 4; pixel_x = -24 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 10 - }, /obj/effect/turf_decal/tile/blue{ dir = 1 }, @@ -57094,56 +57077,65 @@ /turf/open/floor/plating, /area/maintenance/port/aft) "cjw" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 4 +/obj/structure/table, +/obj/item/storage/backpack/duffelbag/med/surgery{ + pixel_y = 5 }, -/turf/open/floor/plasteel/dark, -/area/medical/surgery) -"cjx" = ( -/obj/structure/chair, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 4 +/obj/machinery/light_switch{ + pixel_x = -26 }, -/turf/open/floor/plasteel/dark, -/area/medical/surgery) -"cjy" = ( -/obj/item/cigbutt, -/obj/machinery/light/small{ - dir = 1 +/obj/machinery/vending/wallmed{ + pixel_y = 29 }, -/turf/open/floor/plasteel/dark, +/turf/open/floor/plasteel/white/corner, /area/medical/surgery) "cjz" = ( -/obj/structure/chair, -/obj/machinery/airalarm{ - pixel_y = 23 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 6 - }, -/turf/open/floor/plasteel/dark, -/area/medical/surgery) -"cjA" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ +/obj/structure/closet/secure_closet/medical2, +/turf/open/floor/plasteel/white/corner{ dir = 8 }, -/turf/open/floor/plasteel/dark, +/area/medical/surgery) +"cjA" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/white/corner{ + dir = 4 + }, /area/medical/surgery) "cjB" = ( -/obj/item/cigbutt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/dark, +/obj/machinery/iv_drip, +/obj/machinery/atmospherics/components/unary/vent_pump/on, +/obj/machinery/firealarm{ + pixel_y = 28 + }, +/turf/open/floor/plasteel/white/side, /area/medical/surgery) "cjC" = ( -/obj/structure/chair, -/turf/open/floor/plasteel/dark, +/obj/structure/table, +/obj/item/radio/intercom{ + broadcasting = 1; + frequency = 1485; + listening = 0; + name = "Station Intercom (Medbay)"; + pixel_y = 22 + }, +/obj/item/clothing/gloves/color/latex, +/obj/item/clothing/suit/apron/surgical, +/turf/open/floor/plasteel/white/side, /area/medical/surgery) "cjD" = ( -/obj/structure/chair, -/obj/machinery/light/small{ - dir = 1 +/obj/structure/table, +/obj/item/storage/backpack/duffelbag/med/surgery{ + pixel_y = 5 + }, +/obj/machinery/light_switch{ + pixel_x = 28 + }, +/obj/machinery/vending/wallmed{ + pixel_y = 29 + }, +/turf/open/floor/plasteel/white/corner{ + dir = 8 }, -/turf/open/floor/plasteel/dark, /area/medical/surgery) "cjE" = ( /obj/structure/bed/roller, @@ -57154,9 +57146,6 @@ name = "Station Intercom (Medbay)"; pixel_x = -30 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 5 - }, /obj/machinery/camera{ c_tag = "Medbay Sleepers"; dir = 4; @@ -57172,12 +57161,7 @@ /turf/open/floor/plasteel/white, /area/medical/sleeper) "cjF" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/white, /area/medical/sleeper) "cjG" = ( @@ -57189,7 +57173,6 @@ /area/medical/sleeper) "cjH" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden, -/obj/effect/turf_decal/tile/blue, /turf/open/floor/plasteel/white, /area/medical/sleeper) "cjI" = ( @@ -57791,71 +57774,66 @@ /turf/open/floor/plasteel/dark, /area/aisat) "ckU" = ( -/obj/structure/chair, -/obj/structure/sign/warning/nosmoking{ - pixel_x = -28 +/obj/machinery/computer/operating{ + dir = 4 + }, +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/plasteel/white/side{ + dir = 4 }, -/turf/open/floor/plasteel/dark, -/area/medical/surgery) -"ckV" = ( -/obj/structure/chair, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/dark, -/area/medical/surgery) -"ckW" = ( -/obj/machinery/holopad, -/turf/open/floor/plasteel/dark, /area/medical/surgery) "ckX" = ( -/obj/structure/chair, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ +/obj/structure/sink{ + dir = 4; + pixel_x = 11 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/turf/open/floor/plasteel/white/side{ dir = 8 }, -/turf/open/floor/plasteel/dark, /area/medical/surgery) "ckY" = ( -/obj/structure/chair, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 6 + }, +/turf/open/floor/plasteel/white/side{ + dir = 1 }, -/turf/open/floor/plasteel/dark, /area/medical/surgery) "ckZ" = ( -/obj/structure/disposalpipe/segment, +/obj/structure/sink{ + dir = 8; + pixel_x = -12; + pixel_y = 2 + }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/turf/open/floor/plasteel/white/side{ dir = 4 }, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/medical{ - name = "Observation" - }, -/turf/open/floor/plasteel/dark, /area/medical/surgery) "cla" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, +/turf/open/floor/plasteel/white, /area/medical/surgery) "clb" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, +/obj/effect/landmark/start/medical_doctor, +/turf/open/floor/plasteel/white, /area/medical/surgery) "clc" = ( -/obj/item/cigbutt, -/obj/machinery/atmospherics/components/unary/vent_pump/on{ +/obj/machinery/computer/operating{ dir = 8 }, -/obj/structure/sign/warning/nosmoking{ - pixel_x = 28 +/obj/machinery/light{ + dir = 4 + }, +/turf/open/floor/plasteel/white/side{ + dir = 8 }, -/obj/effect/landmark/blobstart, -/turf/open/floor/plasteel/dark, /area/medical/surgery) "cld" = ( /obj/machinery/sleeper{ @@ -57895,6 +57873,7 @@ /obj/effect/turf_decal/tile/blue{ dir = 8 }, +/obj/effect/landmark/start/paramedic, /turf/open/floor/plasteel/white, /area/medical/sleeper) "clg" = ( @@ -57975,6 +57954,9 @@ /area/medical/medbay/central) "cln" = ( /obj/effect/turf_decal/tile/blue, +/obj/vehicle/ridden/wheelchair{ + dir = 1 + }, /turf/open/floor/plasteel/white, /area/medical/medbay/central) "clo" = ( @@ -58442,26 +58424,32 @@ /turf/open/floor/wood, /area/maintenance/port/aft) "cmk" = ( -/obj/effect/spawner/structure/window, -/turf/open/floor/plating, +/obj/structure/table/optable, +/turf/open/floor/plasteel/white/corner{ + dir = 4 + }, /area/medical/surgery) "cml" = ( -/obj/effect/spawner/structure/window, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plating, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 4 + }, +/turf/open/floor/plasteel/white/side{ + dir = 1 + }, /area/medical/surgery) "cmm" = ( -/obj/effect/spawner/structure/window, /obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plating, +/turf/open/floor/plasteel/white/corner{ + dir = 1 + }, /area/medical/surgery) "cmn" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/medical{ - name = "Observation" +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 8 + }, +/turf/open/floor/plasteel/white/side{ + dir = 1 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel, /area/medical/surgery) "cmo" = ( /obj/effect/spawner/structure/window, @@ -58904,78 +58892,30 @@ /turf/open/floor/wood, /area/maintenance/port/aft) "cnm" = ( -/obj/structure/table, -/obj/item/hemostat, -/obj/structure/extinguisher_cabinet{ - pixel_x = -27 - }, -/turf/open/floor/plasteel, -/area/medical/surgery) -"cnn" = ( -/obj/structure/table, -/obj/item/surgicaldrill, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/white/side, -/area/medical/surgery) -"cno" = ( -/obj/structure/table, -/obj/item/scalpel{ - pixel_y = 12 - }, -/obj/item/circular_saw, -/turf/open/floor/plasteel/white/side, +/obj/structure/sign/poster/official/cleanliness, +/turf/closed/wall, /area/medical/surgery) "cnp" = ( -/obj/structure/table, -/obj/item/cautery{ - pixel_x = 4 - }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/item/razor{ - pixel_y = 5 +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/medical/glass{ + name = "Operating Theatre"; + req_access_txt = "45" }, -/turf/open/floor/plasteel/white/side, +/turf/open/floor/plasteel/white, /area/medical/surgery) "cnq" = ( -/obj/structure/table, -/obj/item/retractor, -/turf/open/floor/plasteel, +/obj/machinery/smartfridge/organ/preloaded, +/turf/closed/wall, /area/medical/surgery) "cnr" = ( -/obj/machinery/computer/med_data{ - dir = 4 - }, -/obj/structure/extinguisher_cabinet{ - pixel_x = -27 - }, -/turf/open/floor/plasteel/white/side, -/area/medical/surgery) -"cns" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/white/side, +/obj/effect/spawner/structure/window, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/plating, /area/medical/surgery) "cnt" = ( -/obj/structure/table/reinforced, -/obj/item/radio/intercom{ - broadcasting = 1; - frequency = 1485; - listening = 0; - name = "Station Intercom (Medbay)"; - pixel_x = 30 - }, -/obj/structure/bedsheetbin{ - pixel_x = 2 - }, -/obj/item/clothing/suit/straight_jacket, -/obj/item/clothing/mask/muzzle, -/obj/item/clothing/glasses/eyepatch, -/obj/item/clothing/glasses/sunglasses/blindfold, -/obj/item/clothing/ears/earmuffs, -/obj/item/storage/belt/medical{ - pixel_y = 2 - }, -/obj/item/gun/syringe/dart, -/turf/open/floor/plasteel/white/side, +/obj/effect/spawner/structure/window, +/turf/open/floor/plating, /area/medical/surgery) "cnu" = ( /obj/machinery/power/apc{ @@ -59638,89 +59578,96 @@ }, /area/maintenance/port/aft) "coy" = ( -/obj/structure/table, -/obj/item/clothing/gloves/color/latex, -/obj/item/clothing/mask/surgical, -/obj/item/clothing/suit/apron/surgical, -/obj/machinery/airalarm{ - dir = 4; - pixel_x = -22 - }, -/turf/open/floor/plasteel/white/side{ - dir = 4 +/obj/structure/chair{ + dir = 1 }, +/turf/open/floor/plasteel/dark, /area/medical/surgery) "coz" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel/white, +/obj/structure/chair{ + dir = 1 + }, +/obj/effect/decal/cleanable/vomit/old{ + pixel_x = -2; + pixel_y = 7 + }, +/turf/open/floor/plasteel/dark, /area/medical/surgery) "coA" = ( -/obj/effect/landmark/start/medical_doctor, -/turf/open/floor/plasteel/white, +/obj/structure/chair{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 5 + }, +/turf/open/floor/plasteel/dark, /area/medical/surgery) "coB" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/white, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, /area/medical/surgery) "coC" = ( -/obj/machinery/power/apc{ - areastring = "/area/medical/surgery"; - dir = 4; - name = "Surgery APC"; - pixel_x = 26 - }, -/obj/structure/cable/yellow{ - icon_state = "0-2" - }, -/obj/structure/table, -/obj/item/surgical_drapes, -/turf/open/floor/plasteel/white/side{ - dir = 8 +/obj/effect/landmark/start/medical_doctor, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 }, +/turf/open/floor/plasteel/dark, /area/medical/surgery) "coD" = ( -/obj/structure/bed/roller, -/obj/machinery/light/small{ - dir = 8 +/obj/item/cigbutt{ + pixel_x = -8; + pixel_y = 12 }, -/obj/machinery/iv_drip, -/turf/open/floor/plasteel/white, +/obj/structure/chair{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden, +/turf/open/floor/plasteel/dark, /area/medical/surgery) "coE" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 4 +/obj/structure/chair{ + dir = 1 }, -/turf/open/floor/plasteel/white, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, /area/medical/surgery) "coF" = ( -/obj/structure/bed, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 +/obj/item/trash/popcorn{ + pixel_x = -5; + pixel_y = -4 }, -/obj/item/bedsheet/medical, -/turf/open/floor/plasteel/white, +/obj/structure/chair{ + dir = 1 + }, +/obj/machinery/firealarm{ + dir = 8; + pixel_x = 24 + }, +/turf/open/floor/plasteel/dark, /area/medical/surgery) "coG" = ( -/obj/effect/spawner/structure/window, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 +/obj/structure/table/optable, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/plasteel/white/corner{ + dir = 1 }, -/turf/open/floor/plating, /area/medical/surgery) "coH" = ( /obj/structure/cable/yellow{ icon_state = "1-2" }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 9 - }, /obj/effect/turf_decal/tile/blue{ dir = 1 }, /obj/effect/turf_decal/tile/blue{ dir = 8 }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/white, /area/medical/cryo) "coI" = ( @@ -60440,96 +60387,90 @@ /obj/structure/cable/yellow{ icon_state = "1-2" }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/stripes/line{ dir = 4 }, -/turf/open/floor/plating, -/area/maintenance/port/aft) -"cpT" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Surgery Maintenance"; - req_access_txt = "45" - }, -/turf/open/floor/plating, -/area/maintenance/port/aft) -"cpU" = ( -/turf/open/floor/plasteel/white, -/area/medical/surgery) -"cpW" = ( -/obj/structure/cable/yellow{ - icon_state = "1-4" - }, -/turf/open/floor/plasteel/white, -/area/medical/surgery) -"cpX" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/medical{ - name = "Operating Theatre"; - req_access_txt = "45" - }, -/turf/open/floor/plasteel/white, -/area/medical/surgery) -"cpY" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, -/obj/effect/landmark/event_spawn, -/turf/open/floor/plasteel/white, -/area/medical/surgery) -"cpZ" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 8 }, -/obj/effect/landmark/start/medical_doctor, -/obj/machinery/holopad, +/turf/open/floor/plating, +/area/maintenance/port/aft) +"cpT" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, /turf/open/floor/plasteel/white, /area/medical/surgery) +"cpW" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/machinery/holopad, +/turf/open/floor/plasteel/dark/side{ + dir = 1 + }, +/area/medical/surgery) +"cpX" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/obj/structure/extinguisher_cabinet{ + pixel_y = -30 + }, +/turf/open/floor/plasteel/dark/side{ + dir = 1 + }, +/area/medical/surgery) +"cpZ" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 8 + }, +/turf/open/floor/plasteel/dark/side{ + dir = 1 + }, +/area/medical/surgery) "cqa" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" +/turf/open/floor/plasteel/dark/side{ + dir = 1 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/white, /area/medical/surgery) "cqb" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/tile/blue{ + dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ dir = 4 }, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/medical/glass{ +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/obj/machinery/door/airlock/medical{ name = "Surgery Observation" }, /turf/open/floor/plasteel/white, /area/medical/surgery) "cqc" = ( -/obj/structure/cable/yellow{ - icon_state = "4-8" - }, /obj/structure/cable/yellow{ icon_state = "1-4" }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 1 - }, /obj/effect/turf_decal/tile/blue{ dir = 1 }, /obj/effect/turf_decal/tile/blue{ dir = 8 }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 9 + }, /turf/open/floor/plasteel/white, /area/medical/cryo) "cqd" = ( @@ -61166,66 +61107,36 @@ }, /area/maintenance/port/aft) "crj" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ - dir = 4 - }, -/obj/structure/sink{ - dir = 8; - pixel_x = -12; - pixel_y = 2 - }, /obj/machinery/light_switch{ - pixel_x = -28 + pixel_x = -26 }, -/turf/open/floor/plasteel/white/side{ +/turf/open/floor/plasteel/white/corner, +/area/medical/surgery) +"crl" = ( +/turf/open/floor/plasteel/white/side, +/area/medical/surgery) +"crm" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 1 + }, +/turf/open/floor/plasteel/white/side, +/area/medical/surgery) +"crn" = ( +/obj/machinery/light{ dir = 4 }, +/turf/open/floor/plasteel/white/side, /area/medical/surgery) -"crk" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ +"cro" = ( +/obj/effect/landmark/blobstart, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 9 }, /turf/open/floor/plasteel/white, /area/medical/surgery) -"crl" = ( -/obj/machinery/computer/operating{ - dir = 1 - }, -/turf/open/floor/plasteel/white, -/area/medical/surgery) -"crm" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 5 - }, -/turf/open/floor/plasteel/white, -/area/medical/surgery) -"crn" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 8 - }, -/obj/machinery/firealarm{ - dir = 8; - pixel_x = 24 - }, -/turf/open/floor/plasteel/white/side{ - dir = 8 - }, -/area/medical/surgery) -"cro" = ( -/obj/structure/bed/roller, -/obj/machinery/iv_drip, -/obj/structure/sign/warning/nosmoking{ - pixel_x = -28 - }, -/turf/open/floor/plasteel/white, -/area/medical/surgery) "crq" = ( -/obj/structure/bed, -/obj/item/bedsheet/medical, -/obj/machinery/light_switch{ - pixel_x = 26 - }, -/turf/open/floor/plasteel/white, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plasteel/white/side, /area/medical/surgery) "crr" = ( /obj/machinery/airalarm{ @@ -61670,23 +61581,46 @@ /turf/open/floor/plating, /area/maintenance/port/aft) "csj" = ( -/obj/structure/closet/secure_closet/medical2, /obj/structure/sign/warning/nosmoking{ pixel_x = -28 }, -/turf/open/floor/plasteel, +/obj/machinery/limbgrower, +/turf/open/floor/plasteel/white/side{ + dir = 4 + }, /area/medical/surgery) "csk" = ( +/obj/machinery/light, +/obj/machinery/bloodbankgen, +/turf/open/floor/plasteel/white, +/area/medical/surgery) +"csl" = ( /obj/machinery/airalarm{ dir = 1; pixel_y = -22 }, -/turf/open/floor/plasteel/white/side{ - dir = 1 +/obj/structure/window/reinforced{ + dir = 8 }, +/obj/structure/closet/crate/freezer/blood, +/obj/machinery/door/window/northleft{ + name = "Surgery Supplies"; + red_alert_access = 1; + req_access_txt = "5" + }, +/turf/open/floor/plasteel/white, /area/medical/surgery) -"csl" = ( -/obj/machinery/light, +"csm" = ( +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/closet/crate/freezer/surplus_limbs, +/obj/item/reagent_containers/glass/beaker/synthflesh, +/obj/machinery/door/window/northright{ + name = "Surgery Supplies"; + red_alert_access = 1; + req_access_txt = "5" + }, /obj/machinery/camera{ c_tag = "Medbay Surgery"; dir = 1; @@ -61694,72 +61628,38 @@ }, /turf/open/floor/plasteel/white, /area/medical/surgery) -"csm" = ( -/obj/machinery/firealarm{ - dir = 1; - pixel_y = -24 - }, -/turf/open/floor/plasteel/white/side{ - dir = 1 - }, -/area/medical/surgery) "csn" = ( -/obj/item/radio/intercom{ - broadcasting = 1; - frequency = 1485; - listening = 0; - name = "Station Intercom (Medbay)"; - pixel_y = -30 - }, -/obj/structure/closet/crate/freezer/blood, -/turf/open/floor/plasteel, -/area/medical/surgery) -"cso" = ( -/obj/structure/bed/roller, -/obj/machinery/light/small{ - dir = 8 - }, -/obj/machinery/airalarm{ - dir = 1; - pixel_y = -22 - }, -/obj/machinery/iv_drip, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/blue{ - dir = 8 +/obj/structure/chair/office/light{ + dir = 4 }, /turf/open/floor/plasteel/white, /area/medical/surgery) -"csp" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ +"cso" = ( +/obj/item/bedsheet/medical{ dir = 1 }, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/blue{ - dir = 8 +/obj/structure/bed{ + dir = 1 + }, +/turf/open/floor/plasteel/white/side{ + dir = 4 + }, +/area/medical/surgery) +"csp" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 1 }, /turf/open/floor/plasteel/white, /area/medical/surgery) "csq" = ( /obj/structure/bed, -/obj/machinery/firealarm{ - dir = 8; - pixel_x = 24 - }, /obj/item/bedsheet/medical, -/obj/machinery/newscaster{ - pixel_y = -32 +/obj/structure/sign/warning/nosmoking{ + pixel_x = 28 }, -/obj/machinery/camera{ - c_tag = "Medbay Recovery Room"; - dir = 1; - network = list("ss13","medbay") - }, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/blue{ +/turf/open/floor/plasteel/white/side{ dir = 8 }, -/turf/open/floor/plasteel/white, /area/medical/surgery) "csr" = ( /obj/machinery/door/airlock/maintenance{ @@ -62326,8 +62226,12 @@ /turf/open/floor/plating, /area/maintenance/aft) "ctr" = ( -/obj/structure/bed, -/obj/item/bedsheet/medical, +/obj/structure/bed{ + dir = 1 + }, +/obj/item/bedsheet/medical{ + dir = 1 + }, /obj/machinery/atmospherics/components/unary/vent_scrubber/on, /obj/machinery/airalarm{ dir = 4; @@ -62377,6 +62281,16 @@ /obj/structure/cable/yellow{ icon_state = "4-8" }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, /turf/open/floor/plasteel/white, /area/medical/patients_rooms/room_a) "ctv" = ( @@ -62459,7 +62373,7 @@ "ctD" = ( /obj/structure/sign/directions/evac, /turf/closed/wall, -/area/medical/genetics) +/area/medical/paramedic) "ctE" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/machinery/door/firedoor, @@ -62729,29 +62643,38 @@ /turf/open/floor/plating, /area/maintenance/port/aft) "cui" = ( -/obj/structure/closet/crate, -/obj/item/coin/silver, -/obj/item/reagent_containers/spray/weedspray, -/obj/item/paper, -/obj/effect/spawner/lootdrop/maintenance{ - lootcount = 2; - name = "2maintenance loot spawner" +/obj/structure/table/reinforced, +/obj/structure/bedsheetbin{ + pixel_x = 2 }, -/turf/open/floor/plating, -/area/maintenance/port/aft) +/obj/item/clothing/suit/straight_jacket, +/obj/item/clothing/ears/earmuffs, +/obj/item/clothing/glasses/sunglasses/blindfold, +/obj/item/clothing/mask/muzzle, +/obj/item/clothing/glasses/eyepatch, +/obj/item/gun/syringe/dart, +/obj/item/storage/belt/medical{ + pixel_y = 2 + }, +/turf/open/floor/plasteel/white/side{ + dir = 1 + }, +/area/medical/surgery) "cuj" = ( -/obj/effect/decal/cleanable/cobweb, -/obj/structure/cable/yellow{ - icon_state = "0-2" +/obj/structure/sign/poster/official/medical_green_cross{ + pixel_y = -32 }, -/obj/machinery/power/apc{ - areastring = "/area/maintenance/port/aft"; - dir = 1; - name = "Port Quarter Maintenance APC"; - pixel_y = 24 +/obj/structure/bed{ + dir = 1 }, -/turf/open/floor/plating, -/area/maintenance/port/aft) +/obj/item/bedsheet/medical{ + dir = 1 + }, +/obj/machinery/light/small, +/turf/open/floor/plasteel/white/corner{ + dir = 4 + }, +/area/medical/surgery) "cuk" = ( /obj/structure/table, /obj/item/folder/white{ @@ -62937,14 +62860,16 @@ }, /obj/item/folder/white{ pixel_x = 4; - pixel_y = -3 + pixel_y = 4 }, /obj/item/folder/white{ pixel_x = 4; - pixel_y = -3 + pixel_y = 4 }, /obj/item/storage/pill_bottle/mutadone, -/obj/item/storage/pill_bottle/mannitol, +/obj/item/storage/pill_bottle/mannitol{ + pixel_x = 5 + }, /obj/structure/table/glass, /obj/effect/turf_decal/tile/neutral{ dir = 1 @@ -62982,10 +62907,12 @@ /obj/effect/turf_decal/tile/neutral{ dir = 8 }, +/obj/item/reagent_containers/spray/cleaner{ + pixel_x = -5 + }, /turf/open/floor/plasteel/dark, /area/medical/genetics) "cuw" = ( -/obj/structure/filingcabinet/chestdrawer, /obj/effect/turf_decal/tile/blue{ dir = 1 }, @@ -62995,51 +62922,41 @@ /obj/effect/turf_decal/tile/blue{ dir = 8 }, -/turf/open/floor/plasteel, -/area/medical/genetics) -"cux" = ( -/obj/structure/noticeboard{ - desc = "A board for pinning important notices upon. Probably helpful for keeping track of requests."; - name = "requests board"; - pixel_x = -32; - pixel_y = 32 +/obj/machinery/computer/crew, +/obj/machinery/vending/wallmed{ + pixel_x = -25 }, +/turf/open/floor/plasteel, +/area/medical/paramedic) +"cux" = ( /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/tile/blue{ dir = 1 }, -/obj/effect/turf_decal/tile/blue, /obj/effect/turf_decal/tile/blue{ dir = 4 }, /turf/open/floor/plasteel, -/area/medical/genetics) +/area/medical/paramedic) "cuy" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "genetics_shutters"; - name = "genetics shutters" +/obj/structure/table/glass, +/obj/item/flashlight/lamp{ + pixel_x = -1; + pixel_y = 11 }, -/turf/open/floor/plating, -/area/medical/genetics) -"cuz" = ( -/obj/structure/table/reinforced, -/obj/item/paper_bin{ - pixel_x = -2; - pixel_y = 6 +/obj/effect/spawner/lootdrop/cig_packs{ + pixel_x = 5; + pixel_y = -4 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 }, /obj/effect/turf_decal/tile/blue{ dir = 1 }, /obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, /turf/open/floor/plasteel, -/area/medical/genetics) +/area/medical/paramedic) "cuA" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/effect/turf_decal/tile/blue{ @@ -63048,6 +62965,9 @@ /obj/effect/turf_decal/tile/blue{ dir = 8 }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, /turf/open/floor/plasteel, /area/hallway/primary/aft) "cuB" = ( @@ -63347,8 +63267,8 @@ /turf/open/floor/plating, /area/maintenance/port/aft) "cvn" = ( -/obj/structure/chair{ - dir = 8 +/obj/structure/sign/poster/contraband/random{ + pixel_x = 32 }, /turf/open/floor/plating, /area/maintenance/port/aft) @@ -63529,72 +63449,61 @@ /turf/open/floor/plasteel/white, /area/medical/genetics) "cvC" = ( -/obj/machinery/firealarm{ - dir = 4; +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/structure/chair/office/light{ + dir = 1 + }, +/obj/machinery/power/apc{ + areastring = "/area/medical/paramedic"; + dir = 8; + name = "Paramedic Station APC"; pixel_x = -24 }, -/obj/item/storage/box/syringes, -/obj/item/storage/box/beakers{ - pixel_x = 2; - pixel_y = 2 - }, -/obj/structure/table/glass, -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 8 +/obj/structure/cable/yellow{ + icon_state = "0-4" }, /turf/open/floor/plasteel, -/area/medical/genetics) +/area/medical/paramedic) "cvD" = ( -/obj/structure/chair/office/light{ - dir = 4 - }, /obj/structure/disposalpipe/segment, -/obj/effect/landmark/start/geneticist, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/blue{ - dir = 4 +/obj/structure/cable/yellow{ + icon_state = "2-8" }, +/obj/item/cigbutt{ + pixel_x = -15; + pixel_y = 14 + }, +/obj/effect/landmark/start/paramedic, /turf/open/floor/plasteel, -/area/medical/genetics) +/area/medical/paramedic) "cvE" = ( -/obj/structure/table/reinforced, +/obj/structure/table/glass, /obj/item/folder/white{ pixel_x = 4; - pixel_y = -3 + pixel_y = 4 }, -/obj/item/pen, -/obj/machinery/door/firedoor, -/obj/machinery/door/window/eastright{ - dir = 8; - name = "Genetics Desk"; - req_access_txt = "5;9" +/obj/item/pen/blue{ + pixel_x = 5; + pixel_y = 3 }, -/obj/machinery/door/window/southleft{ - dir = 4; - name = "Outer Window" - }, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "genetics_shutters"; - name = "genetics shutters" - }, -/turf/open/floor/plating, -/area/medical/genetics) -"cvF" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue, /obj/effect/turf_decal/tile/blue{ dir = 4 }, -/obj/effect/turf_decal/tile/blue{ - dir = 8 +/obj/effect/turf_decal/tile/blue, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on{ + dir = 4 }, /turf/open/floor/plasteel, -/area/medical/genetics) +/area/medical/paramedic) +"cvF" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/medical/paramedic) "cvG" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/extinguisher_cabinet{ @@ -63854,7 +63763,14 @@ /turf/open/floor/plating, /area/maintenance/port/aft) "cwj" = ( -/obj/item/cigbutt, +/obj/structure/closet/crate, +/obj/item/coin/silver, +/obj/item/reagent_containers/spray/weedspray, +/obj/item/paper, +/obj/effect/spawner/lootdrop/maintenance{ + lootcount = 2; + name = "2maintenance loot spawner" + }, /turf/open/floor/plating, /area/maintenance/port/aft) "cwm" = ( @@ -63866,12 +63782,10 @@ /turf/open/floor/plating, /area/maintenance/port/aft) "cwn" = ( -/obj/structure/rack, -/obj/item/clothing/glasses/sunglasses, -/obj/item/flashlight/pen, -/obj/effect/spawner/lootdrop/maintenance, -/turf/open/floor/plating, -/area/maintenance/port/aft) +/turf/open/floor/plasteel/white/side{ + dir = 1 + }, +/area/medical/surgery) "cwo" = ( /obj/machinery/light/small{ dir = 8 @@ -64062,20 +63976,15 @@ /turf/open/floor/plasteel/white, /area/medical/genetics) "cwD" = ( -/obj/item/storage/box/disks{ - pixel_x = 2; - pixel_y = 2 - }, /obj/item/radio/intercom{ name = "Station Intercom (General)"; pixel_x = -29 }, /obj/machinery/camera{ - c_tag = "Genetics Desk"; + c_tag = "Paramedics Office"; dir = 4; network = list("ss13","medbay") }, -/obj/structure/table/glass, /obj/effect/turf_decal/tile/blue{ dir = 1 }, @@ -64083,26 +63992,15 @@ dir = 8 }, /turf/open/floor/plasteel, -/area/medical/genetics) +/area/medical/paramedic) "cwE" = ( -/obj/machinery/light{ - dir = 4 - }, /obj/structure/disposalpipe/segment, -/obj/machinery/button/door{ - id = "genetics_shutters"; - name = "genetics shutters control"; - pixel_x = 28; - req_access_txt = "9" - }, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/blue{ - dir = 4 +/obj/structure/cable/yellow{ + icon_state = "1-2" }, /turf/open/floor/plasteel, -/area/medical/genetics) +/area/medical/paramedic) "cwF" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/machinery/firealarm{ dir = 4; pixel_x = -24 @@ -64110,6 +64008,7 @@ /obj/effect/turf_decal/tile/blue{ dir = 1 }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel, /area/hallway/primary/aft) "cwG" = ( @@ -64334,11 +64233,28 @@ }, /area/maintenance/port/aft) "cxc" = ( -/obj/item/trash/chips, -/turf/open/floor/plating, -/area/maintenance/port/aft) +/obj/machinery/newscaster{ + pixel_y = -32 + }, +/obj/machinery/camera{ + c_tag = "Medbay Recovery Room"; + dir = 1; + network = list("ss13","medbay") + }, +/obj/structure/bed, +/obj/item/bedsheet/medical, +/obj/structure/sign/poster/official/love_ian{ + pixel_x = 32 + }, +/turf/open/floor/plasteel/white/corner{ + dir = 1 + }, +/area/medical/surgery) "cxd" = ( -/obj/structure/reagent_dispensers/watertank, +/obj/structure/rack, +/obj/item/clothing/glasses/sunglasses, +/obj/item/flashlight/pen, +/obj/effect/spawner/lootdrop/maintenance, /obj/effect/landmark/blobstart, /turf/open/floor/plating, /area/maintenance/port/aft) @@ -64384,6 +64300,16 @@ req_access_txt = "5" }, /obj/machinery/door/firedoor, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, /turf/open/floor/plasteel/white, /area/medical/medbay/aft) "cxi" = ( @@ -64492,12 +64418,12 @@ /obj/structure/cable/yellow{ icon_state = "1-2" }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, /obj/effect/turf_decal/tile/blue{ dir = 4 }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 1 + }, /turf/open/floor/plasteel/white, /area/medical/genetics) "cxu" = ( @@ -64514,57 +64440,62 @@ /turf/open/floor/plasteel/white, /area/medical/genetics) "cxv" = ( -/obj/effect/spawner/structure/window, -/turf/open/floor/plating, -/area/medical/genetics) -"cxw" = ( -/obj/item/folder/white{ - pixel_x = 4; - pixel_y = -3 - }, -/obj/item/stack/packageWrap, -/obj/item/pen, -/obj/item/reagent_containers/spray/cleaner, -/obj/structure/table/glass, -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/medical/genetics) -"cxx" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 +/obj/machinery/firealarm{ + dir = 8; + pixel_x = 24 }, +/obj/effect/landmark/start/paramedic, /obj/effect/turf_decal/tile/blue{ dir = 4 }, +/obj/effect/turf_decal/tile/blue, /turf/open/floor/plasteel, -/area/medical/genetics) -"cxy" = ( -/obj/structure/sign/warning/nosmoking{ - pixel_x = 28 - }, -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, +/area/medical/paramedic) +"cxw" = ( /obj/effect/turf_decal/tile/blue{ dir = 1 }, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/machinery/suit_storage_unit/paramedic, +/obj/effect/turf_decal/tile/blue, +/turf/open/floor/plasteel, +/area/medical/paramedic) +"cxx" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/light, +/obj/structure/closet/secure_closet/paramedic, +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/medical/paramedic) +"cxy" = ( /obj/effect/turf_decal/tile/blue, /obj/effect/turf_decal/tile/blue{ dir = 4 }, -/turf/open/floor/plasteel, -/area/medical/genetics) -"cxz" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/light{ +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/airalarm{ + dir = 1; + pixel_y = -22 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ dir = 8 }, +/turf/open/floor/plasteel, +/area/medical/paramedic) +"cxz" = ( /obj/machinery/navbeacon{ codes_txt = "patrol;next_patrol=10.1-Central-from-Aft"; location = "10-Aft-To-Central" @@ -64572,6 +64503,12 @@ /obj/effect/turf_decal/tile/neutral{ dir = 8 }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, /turf/open/floor/plasteel, /area/hallway/primary/aft) "cxA" = ( @@ -64581,6 +64518,9 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 4 }, +/obj/structure/cable/yellow{ + icon_state = "1-8" + }, /turf/open/floor/plasteel, /area/hallway/primary/aft) "cxB" = ( @@ -64711,17 +64651,36 @@ }, /area/maintenance/port/aft) "cxR" = ( -/obj/structure/rack, -/obj/item/clothing/mask/gas, -/obj/effect/spawner/lootdrop/maintenance, +/obj/item/trash/chips, /turf/open/floor/plating, /area/maintenance/port/aft) "cxS" = ( -/obj/item/latexballon, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 6 + }, +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, +/obj/structure/reagent_dispensers/fueltank, +/obj/effect/decal/cleanable/oil/streak, /turf/open/floor/plating, /area/maintenance/port/aft) "cxT" = ( -/obj/item/clothing/suit/ianshirt, +/obj/structure/cable/yellow{ + 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 = 1 + }, /turf/open/floor/plating, /area/maintenance/port/aft) "cxU" = ( @@ -64886,6 +64845,7 @@ /obj/structure/cable/yellow{ icon_state = "1-8" }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/white, /area/medical/genetics) "cyh" = ( @@ -64893,67 +64853,74 @@ /obj/effect/turf_decal/tile/blue{ dir = 4 }, +/obj/structure/sink{ + dir = 4; + pixel_x = 11 + }, +/obj/structure/mirror{ + pixel_x = 28 + }, /turf/open/floor/plasteel/white, /area/medical/genetics) "cyi" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/research{ - id_tag = "AuxGenetics"; - name = "Genetics Lab"; - req_access_txt = "9" +/obj/machinery/door/airlock/medical/glass{ + id_tag = "MedbayFoyer"; + name = "Medbay"; + req_access_txt = "5" }, +/obj/machinery/door/firedoor, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/medical/paramedic) +"cyk" = ( +/obj/structure/disposalpipe/segment, +/turf/closed/wall, +/area/medical/paramedic) +"cyl" = ( +/turf/closed/wall, +/area/medical/paramedic) +"cym" = ( +/obj/machinery/door/firedoor, /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 4 }, -/turf/open/floor/plasteel, -/area/medical/genetics) -"cyj" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/medical/genetics) -"cyk" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/medical/genetics) -"cyl" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/medical/genetics) -"cym" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/machinery/door/firedoor, /obj/machinery/door/airlock/research{ id_tag = "AuxGenetics"; name = "Genetics Access"; req_access_txt = "9" }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/blue{ dir = 8 }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, /turf/open/floor/plasteel, /area/medical/genetics) "cyn" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 4 - }, /obj/effect/turf_decal/tile/neutral{ dir = 8 }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/light{ + dir = 8 + }, +/obj/item/radio/intercom{ + name = "Station Intercom (General)"; + pixel_x = -26 + }, /turf/open/floor/plasteel, /area/hallway/primary/aft) "cyo" = ( @@ -65279,13 +65246,6 @@ /turf/open/floor/plasteel/white, /area/medical/genetics) "cza" = ( -/obj/structure/sink{ - dir = 4; - pixel_x = 11 - }, -/obj/structure/mirror{ - pixel_x = 28 - }, /obj/effect/turf_decal/tile/blue, /obj/effect/turf_decal/tile/blue{ dir = 4 @@ -65293,65 +65253,66 @@ /obj/effect/turf_decal/tile/blue{ dir = 8 }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, /turf/open/floor/plasteel/white, /area/medical/genetics) "czb" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 6 - }, /obj/effect/turf_decal/tile/blue{ dir = 1 }, -/obj/effect/turf_decal/tile/blue, /obj/effect/turf_decal/tile/blue{ dir = 8 }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 10 + }, +/obj/machinery/camera{ + c_tag = "Genetics Lab"; + dir = 6; + network = list("ss13","medbay") + }, /turf/open/floor/plasteel, /area/medical/genetics) "czc" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 4 }, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/blue{ - dir = 8 +/obj/machinery/light/small{ + dir = 1 }, /turf/open/floor/plasteel, /area/medical/genetics) "czd" = ( -/obj/machinery/light_switch{ - pixel_x = 23 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, /turf/open/floor/plasteel, /area/medical/genetics) "cze" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, -/turf/closed/wall, +/obj/machinery/door/airlock/research{ + id_tag = "AuxGenetics"; + name = "Genetics Access"; + req_access_txt = "9" + }, +/turf/open/floor/plasteel, /area/medical/genetics) "czf" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/item/radio/intercom{ - name = "Station Intercom (General)"; - pixel_x = -26 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, /obj/effect/turf_decal/tile/neutral{ dir = 8 }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 + }, /turf/open/floor/plasteel, /area/hallway/primary/aft) "czg" = ( @@ -65364,9 +65325,6 @@ /turf/open/floor/plasteel, /area/hallway/primary/aft) "czh" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 4 - }, /obj/machinery/button/door{ id = "Skynet_launch"; name = "Mech Bay Door Control"; @@ -65375,6 +65333,7 @@ req_one_access_txt = "29" }, /obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel, /area/hallway/primary/aft) "czi" = ( @@ -65929,6 +65888,9 @@ /obj/effect/turf_decal/tile/neutral{ dir = 8 }, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, /turf/open/floor/plasteel/dark, /area/medical/genetics) "cAh" = ( @@ -67856,9 +67818,7 @@ /obj/structure/cable/yellow{ icon_state = "4-8" }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 5 - }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel/dark, /area/medical/morgue) "cEd" = ( @@ -67877,28 +67837,21 @@ pixel_y = -3 }, /obj/item/clothing/gloves/color/latex, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, /turf/open/floor/plasteel/dark, /area/medical/morgue) "cEe" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, -/turf/closed/wall, -/area/medical/morgue) -"cEf" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 +/turf/open/floor/plasteel/dark/side{ + dir = 1 }, +/area/medical/surgery) +"cEf" = ( /turf/closed/wall, /area/hallway/primary/aft) "cEg" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ - dir = 4 - }, /obj/machinery/firealarm{ dir = 4; pixel_x = -24 @@ -67909,13 +67862,11 @@ /turf/open/floor/plasteel, /area/hallway/primary/aft) "cEh" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ - dir = 4 - }, /obj/effect/turf_decal/tile/purple, /obj/effect/turf_decal/tile/purple{ dir = 4 }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plasteel, /area/hallway/primary/aft) "cEi" = ( @@ -68344,12 +68295,18 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 5 + }, /turf/open/floor/plasteel/dark, /area/medical/morgue) "cEX" = ( /obj/structure/disposalpipe/segment{ dir = 10 }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, /turf/open/floor/plasteel/dark, /area/medical/morgue) "cEY" = ( @@ -68358,9 +68315,15 @@ name = "Morgue"; req_access_txt = "6" }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, /turf/open/floor/plasteel/dark, /area/medical/morgue) "cEZ" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 10 + }, /turf/open/floor/plasteel/dark, /area/hallway/primary/aft) "cFa" = ( @@ -68841,6 +68804,9 @@ /area/medical/morgue) "cFY" = ( /obj/structure/closet, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 5 + }, /turf/open/floor/plasteel/dark, /area/hallway/primary/aft) "cFZ" = ( @@ -68849,6 +68815,9 @@ /obj/effect/turf_decal/tile/neutral{ dir = 1 }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, /turf/open/floor/plasteel, /area/hallway/primary/aft) "cGa" = ( @@ -72323,17 +72292,14 @@ /turf/open/floor/plating, /area/maintenance/port/aft) "cMo" = ( -/obj/structure/disposalpipe/segment{ - dir = 9 +/obj/machinery/power/apc{ + areastring = "/area/maintenance/port/aft"; + dir = 1; + name = "Port Quarter Maintenance APC"; + pixel_y = 24 }, /obj/structure/cable/yellow{ - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 9 - }, -/obj/structure/extinguisher_cabinet{ - pixel_y = -30 + icon_state = "0-8" }, /turf/open/floor/plating, /area/maintenance/port/aft) @@ -72900,10 +72866,16 @@ /turf/open/floor/plating, /area/maintenance/port/aft) "cNg" = ( -/obj/structure/rack, -/obj/item/flashlight, -/obj/effect/spawner/lootdrop/maintenance, -/obj/machinery/light/small, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/item/cigbutt, /turf/open/floor/plating, /area/maintenance/port/aft) "cNh" = ( @@ -75896,8 +75868,12 @@ /turf/closed/wall/r_wall, /area/science/xenobiology) "cUH" = ( -/obj/structure/table/optable, -/turf/open/floor/plasteel/white, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/dark/side{ + dir = 1 + }, /area/medical/surgery) "cUL" = ( /obj/docking_port/stationary/random{ @@ -79640,9 +79616,6 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 10 }, -/obj/structure/sign/poster/contraband/random{ - pixel_y = 32 - }, /obj/structure/cable/yellow{ icon_state = "2-4" }, @@ -80247,6 +80220,14 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, +/obj/machinery/power/apc{ + areastring = "/area/medical/surgery"; + name = "Surgery APC"; + pixel_y = -26 + }, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, /turf/open/floor/plating, /area/maintenance/port/aft) "dwj" = ( @@ -81360,6 +81341,27 @@ /obj/structure/closet/firecloset, /turf/open/floor/plating, /area/engine/engineering) +"foN" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/light, +/obj/machinery/gear_painter, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/locker) +"fpa" = ( +/obj/structure/extinguisher_cabinet{ + pixel_y = -30 + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) "fpY" = ( /turf/closed/wall, /area/crew_quarters/cryopod) @@ -81458,6 +81460,32 @@ }, /turf/open/floor/plating, /area/maintenance/starboard/aft) +"gtn" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/obj/structure/sign/warning/nosmoking{ + pixel_x = 28 + }, +/turf/open/floor/plasteel/dark, +/area/medical/genetics) +"gwW" = ( +/obj/structure/chair{ + dir = 1 + }, +/turf/open/floor/plating, +/area/maintenance/port/aft) "gEk" = ( /obj/structure/cable/yellow{ icon_state = "2-8" @@ -81520,6 +81548,11 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/wood, /area/security/vacantoffice) +"hny" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/structure/curtain, +/turf/open/floor/plasteel/white/side, +/area/medical/surgery) "hyP" = ( /obj/machinery/door/airlock/external{ name = "Escape Pod Two" @@ -81767,6 +81800,15 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/white, /area/science/circuit) +"kgN" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/door/airlock/medical/glass{ + name = "Operating Theatre"; + req_access_txt = "45" + }, +/turf/open/floor/plasteel/white, +/area/medical/surgery) "krD" = ( /turf/closed/wall, /area/science/circuit) @@ -81819,6 +81861,16 @@ }, /turf/open/floor/plasteel/dark, /area/engine/break_room) +"kHw" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/obj/structure/table, +/obj/item/gps{ + gpstag = "MINE_PUB" + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/entry) "kJW" = ( /obj/machinery/atmospherics/components/binary/pump{ dir = 1; @@ -81876,6 +81928,15 @@ }, /turf/open/floor/plasteel, /area/science/circuit) +"lcv" = ( +/obj/machinery/door/airlock/external{ + name = "Public Mining Dock" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/turf/open/floor/plating, +/area/hallway/secondary/entry) "llb" = ( /obj/structure/table/reinforced, /obj/item/integrated_circuit_printer, @@ -81895,6 +81956,13 @@ /obj/item/multitool, /turf/open/floor/plasteel/white, /area/science/circuit) +"lvm" = ( +/obj/effect/turf_decal/stripes/line, +/obj/machinery/computer/shuttle/mining/common{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/entry) "lws" = ( /obj/structure/chair/office/dark{ dir = 8 @@ -81914,6 +81982,16 @@ }, /turf/open/floor/plasteel/dark, /area/crew_quarters/cryopod) +"lFR" = ( +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/machinery/light{ + dir = 4 + }, +/obj/machinery/vending/clothing, +/turf/open/floor/plasteel/white/corner, +/area/hallway/secondary/entry) "lGS" = ( /obj/docking_port/stationary/public_mining_dock, /turf/open/floor/plating, @@ -81957,8 +82035,22 @@ /turf/open/floor/plasteel/white, /area/science/circuit) "lWL" = ( -/obj/machinery/smartfridge/organ/preloaded, -/turf/closed/wall, +/obj/machinery/computer/med_data{ + dir = 8 + }, +/obj/structure/window{ + dir = 4 + }, +/obj/item/radio/intercom{ + broadcasting = 1; + frequency = 1485; + listening = 0; + name = "Station Intercom (Medbay)"; + pixel_y = -30 + }, +/turf/open/floor/plasteel/white/side{ + dir = 8 + }, /area/medical/surgery) "lWY" = ( /obj/machinery/door/airlock/hatch{ @@ -82009,6 +82101,12 @@ }, /turf/open/floor/plasteel/white/corner, /area/hallway/secondary/entry) +"mdt" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/entry) "mjJ" = ( /obj/machinery/nuclearbomb/beer{ pixel_x = 2; @@ -82026,6 +82124,10 @@ }, /turf/open/floor/wood, /area/security/vacantoffice) +"mqC" = ( +/obj/structure/lattice, +/turf/closed/wall, +/area/maintenance/port/aft) "mvj" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -82079,6 +82181,10 @@ icon_state = "panelscorched" }, /area/maintenance/port/aft) +"nho" = ( +/obj/item/latexballon, +/turf/open/floor/plating, +/area/maintenance/port/aft) "nhy" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -82234,6 +82340,12 @@ }, /turf/open/floor/plasteel/white, /area/science/circuit) +"oeQ" = ( +/obj/structure/rack, +/obj/item/clothing/mask/gas, +/obj/effect/spawner/lootdrop/maintenance, +/turf/open/floor/plating, +/area/maintenance/port/aft) "ohj" = ( /obj/item/integrated_electronics/analyzer, /obj/item/integrated_electronics/debugger, @@ -82379,6 +82491,21 @@ }, /turf/open/floor/plating, /area/maintenance/port/fore) +"pAD" = ( +/turf/open/floor/plating, +/area/hallway/secondary/entry) +"pBY" = ( +/obj/docking_port/stationary{ + dir = 8; + dwidth = 3; + height = 5; + id = "commonmining_home"; + name = "SS13: Common Mining Dock"; + roundstart_template = /datum/map_template/shuttle/mining_common/meta; + width = 7 + }, +/turf/open/space, +/area/space) "pCV" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -82473,6 +82600,16 @@ }, /turf/open/floor/plasteel/white, /area/science/circuit) +"qee" = ( +/obj/structure/extinguisher_cabinet{ + pixel_x = 27 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) "qhe" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -82581,6 +82718,16 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/plasteel, /area/hallway/primary/port) +"reM" = ( +/obj/effect/turf_decal/tile/blue, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 5 + }, +/turf/open/floor/plasteel/white, +/area/medical/genetics) "roa" = ( /obj/structure/chair/stool, /obj/machinery/light/small{ @@ -82594,6 +82741,23 @@ }, /turf/open/floor/plasteel, /area/engine/atmos) +"rta" = ( +/obj/machinery/door/airlock/external{ + dir = 2; + name = "Public Mining Dock" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/turf/open/floor/plating, +/area/hallway/secondary/entry) +"rvd" = ( +/obj/structure/rack, +/obj/item/flashlight, +/obj/effect/spawner/lootdrop/maintenance, +/obj/machinery/light/small, +/turf/open/floor/plating, +/area/maintenance/port/aft) "rzX" = ( /obj/structure/chair/office/light{ dir = 1; @@ -82703,6 +82867,10 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel, /area/crew_quarters/fitness/recreation) +"sos" = ( +/obj/structure/mirror, +/turf/closed/wall, +/area/medical/surgery) "sqe" = ( /obj/machinery/atmospherics/pipe/heat_exchanging/simple, /turf/open/space/basic, @@ -82724,6 +82892,17 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/plasteel, /area/hallway/primary/port) +"sBC" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plating, +/area/medical/paramedic) +"sCN" = ( +/obj/item/clothing/suit/ianshirt, +/turf/open/floor/plating, +/area/maintenance/port/aft) "sFv" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -82849,8 +83028,8 @@ /area/medical/morgue) "tID" = ( /obj/machinery/atmospherics/components/binary/pump/on{ - name = "Space Loop Out"; - dir = 4 + dir = 4; + name = "Space Loop Out" }, /turf/open/floor/plasteel/white, /area/science/circuit) @@ -82892,6 +83071,19 @@ /obj/machinery/atmospherics/pipe/manifold4w/general/visible, /turf/open/floor/plasteel, /area/engine/atmos) +"ulG" = ( +/obj/effect/turf_decal/stripes/line, +/obj/structure/table, +/obj/item/flashlight, +/turf/open/floor/plasteel, +/area/hallway/secondary/entry) +"umv" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/primary/aft) "upN" = ( /obj/effect/turf_decal/stripes/line{ dir = 5 @@ -83012,6 +83204,14 @@ }, /turf/open/floor/wood, /area/security/vacantoffice) +"vwZ" = ( +/obj/machinery/atmospherics/pipe/manifold4w/general{ + color = "#0000ff" + }, +/turf/open/floor/plasteel/dark/side{ + dir = 1 + }, +/area/medical/surgery) "vxG" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -83040,6 +83240,15 @@ /obj/structure/lattice, /turf/open/space/basic, /area/space) +"vMG" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/obj/item/kirbyplants{ + icon_state = "plant-05" + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/entry) "vYs" = ( /obj/structure/lattice, /obj/machinery/atmospherics/pipe/heat_exchanging/simple, @@ -83254,8 +83463,8 @@ /area/maintenance/port/aft) "xHA" = ( /obj/machinery/atmospherics/components/binary/pump/on{ - name = "Space Loop In"; - dir = 8 + dir = 8; + name = "Space Loop In" }, /turf/open/floor/plasteel/white, /area/science/circuit) @@ -91679,13 +91888,13 @@ aaf aaf aaa aaa +aaf aaa aaa -aaf -aaf -aaf -aaf -aaf +aaa +aaa +aaa +pBY aaa aaa aaa @@ -91936,16 +92145,16 @@ aaa aaa aaa aaa -aaa -aaa -aaf -aaa -aaa -aaa aaf aaf aaf aaf +aaf +aVs +rta +aVs +aaf +aaf aaa aaa aaa @@ -92195,12 +92404,12 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa +aaf aaa aaf +aVs +pAD +aVs aaa aaf aaa @@ -92456,7 +92665,7 @@ aRA aRA aRA aVs -aVs +lcv aVs aVs aaf @@ -92713,10 +92922,10 @@ wOY aSH aUb aVt -aWT +mdt +vMG aVs aaf -aaf aaa aaa aaa @@ -92970,9 +93179,9 @@ abu bsk aUc aVu -aWU -aYC -aaa +bvF +lvm +aVs aaf aaa aaa @@ -93227,10 +93436,10 @@ wOY aSI aRA aVv -aWU +bvF +ulG aVs aaf -aaf aaa aaa aaa @@ -93485,8 +93694,8 @@ aRA aRA cZf aWV -aRA -aaa +kHw +aVs aaa aaa aaa @@ -97352,7 +97561,7 @@ blU aiT bEs bHJ -aiT +lFR iSt mcS alK @@ -100736,7 +100945,7 @@ cwi dux dux dux -aaa +dux aaa cBR cCK @@ -100991,10 +101200,10 @@ cuf cvk cwh bXE +bXE dvq dux aaa -aaa cBR cBR cDE @@ -101247,10 +101456,10 @@ chZ chZ cvl cbx +cfD ceu dux -dux -aaf +mqC aaa aaa cBR @@ -101497,7 +101706,7 @@ cia cia cia cia -cpT +cDP cia cia cia @@ -101505,11 +101714,11 @@ ceu dyg dvt bXE +bXE dvE dux aaf aaf -aaf dBN cDG cEJ @@ -101752,21 +101961,21 @@ cia cjw ckU cmk -cnm +cnt coy -cpU +cUH crj csj cia cug dyg +bXE dDw bXE -cNg +rvd dux aaa aaa -aaa cBR cDH cEK @@ -102005,25 +102214,25 @@ bXE cer dux dwb -cib -cjx -ckV +cia +cjC +cla cml -cnn +cnt coz -coz -crk +cUH +crq csk cia cuh cvm cDK -cxc +ceu cxR +oeQ dux aaa aaa -aaa dBN cDI cEL @@ -102262,11 +102471,11 @@ bXE bYJ dux dwe +cia +cjB +cpT cic -cjy -ckW -cmk -cno +cnr coA cUH crl @@ -102275,12 +102484,12 @@ cia ceu ceu dyg +ceu dux dux dux aaa aaa -aaa cBR cDJ cEM @@ -102519,25 +102728,25 @@ dvt dux dux dwb -cic +cia cjz ckX cmm cnp coB -coB +vwZ crm csm cia -cui +dux cwj -dyg +cNg +ceu dux -cxS +nho dux aaf aaf -aaf cBR cBR cBR @@ -102776,23 +102985,23 @@ cdi dux cdl dwb -cic -cjA -ckY -cmk +cia +cnm +sos +cid cnq coC cpW crn csn -cia -cdl -cMm -cMo +cui dux -cxT +cxS +cNf +fpa +dux +sCN dux -aaa aaa aaa aaf @@ -103033,25 +103242,25 @@ dux dux cfD dwb -cic cia +cib ckZ -cia -cia -cia +cjA +kgN +coB cpX cia lWL cia -ceu +cia dyg +bXE dyw dux -cxS +nho dux aaa aaa -aaa aaf aaa aaa @@ -103290,20 +103499,20 @@ cdj cse cdj cgL -cid +cia cjB -cla -cmk +cro +ckY cnr coD -cpY -cro +cqa +cnt cso +cuj cia -cfD dyj ceu -dux +ceu dux dux dux @@ -103547,18 +103756,18 @@ cdk ceu cfE dwi -cic +cia cjC clb cmn -cns +cnt coE cpZ -coB +hny csp +cwn csr -duH -dyg +cxT ceu cMm cwm @@ -103804,17 +104013,17 @@ dux dux cfF dwj -cic +cia cjD clc -cmk +coG cnt coF -cqa -crq +cEe +cnt csq +cxc cia -dux diM cwm cNf @@ -104061,20 +104270,20 @@ cdl cev cev cgO -cic cia cia cia cia -coG +cia +cia cqb cia cia cia -cuj -cbx +cia +cMo dDw -bXE +gwW cxU cxU czN @@ -104330,7 +104539,7 @@ csr duH bXE cvn -cwn +dvE cxd cxU cyN @@ -104584,9 +104793,9 @@ coI cqd crs css -dux -dux -dux +cvp +cvp +cvp cxU cxU cxU @@ -108702,7 +108911,7 @@ cvA cwB cxt cyg -cyZ +reM cAd ctA dbr @@ -109214,10 +109423,10 @@ ctA ctA ctA ctA -cxv -cyi ctA ctA +cym +ctA ctA cCi cCW @@ -109467,12 +109676,12 @@ coV cqt cga cKJ -ctB +cyl cuw cvC cwD cxw -cyj +cyl czb cAf cBc @@ -109981,18 +110190,18 @@ coX cnL cga cbC -ctB +cyl cuy cvE -ctB +cxv cxy cyl czd -cAg +gtn ctB cCe cCe -cEe +cCe cEY cCe cCe @@ -110239,11 +110448,11 @@ coY cga csI ctD -cuz cvF -ctB -ctB -cym +sBC +cyl +cyi +cyl cze ctB cBd @@ -110754,18 +110963,18 @@ crG csK ctF car -car +czg car cxA car -czg +car cAi ctF car car -czg -cFb car +cFb +czg car cHO cIF @@ -111011,7 +111220,7 @@ crH csL ctG cgc -cvG +qee chh cxB cyo @@ -111022,7 +111231,7 @@ cCm cpa cEh cFc -chh +umv chh cvG cIG @@ -118410,8 +118619,8 @@ aOD aPK aQV aOu -aTz -aUM +aTt +foN aUM aYe dnh diff --git a/_maps/map_files/OmegaStation/OmegaStation.dmm b/_maps/map_files/OmegaStation/OmegaStation.dmm index af94512e0f..f4d798511f 100644 --- a/_maps/map_files/OmegaStation/OmegaStation.dmm +++ b/_maps/map_files/OmegaStation/OmegaStation.dmm @@ -15268,6 +15268,9 @@ /obj/effect/turf_decal/tile/neutral{ dir = 8 }, +/obj/item/kirbyplants{ + icon_state = "plant-21" + }, /turf/open/floor/plasteel/dark, /area/crew_quarters/dorms) "axG" = ( @@ -19618,9 +19621,6 @@ /turf/open/floor/plasteel/dark, /area/crew_quarters/dorms) "aEL" = ( -/obj/item/kirbyplants{ - icon_state = "plant-21" - }, /obj/machinery/status_display{ pixel_y = -32 }, @@ -19635,6 +19635,7 @@ /obj/effect/turf_decal/tile/neutral{ dir = 8 }, +/obj/machinery/gear_painter, /turf/open/floor/plasteel/dark, /area/crew_quarters/dorms) "aEM" = ( @@ -24502,10 +24503,6 @@ /obj/effect/turf_decal/loading_area{ dir = 1 }, -/obj/effect/turf_decal/stripes/corner, -/obj/effect/turf_decal/stripes/corner{ - dir = 1 - }, /obj/effect/turf_decal/tile/yellow{ dir = 1 }, @@ -25146,13 +25143,13 @@ /turf/open/floor/plasteel, /area/engine/engineering) "aNg" = ( -/obj/structure/reagent_dispensers/fueltank, /obj/structure/sign/warning/nosmoking{ pixel_y = -32 }, /obj/effect/turf_decal/stripes/line{ dir = 5 }, +/obj/structure/reagent_dispensers/fueltank/high, /turf/open/floor/plasteel, /area/engine/engineering) "aNh" = ( diff --git a/_maps/map_files/PubbyStation/PubbyStation.dmm b/_maps/map_files/PubbyStation/PubbyStation.dmm index ed7abba3d6..3fb2661cea 100644 --- a/_maps/map_files/PubbyStation/PubbyStation.dmm +++ b/_maps/map_files/PubbyStation/PubbyStation.dmm @@ -511,10 +511,10 @@ /turf/open/floor/plasteel, /area/crew_quarters/fitness/recreation) "abi" = ( -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 8 +/obj/structure/disposalpipe/segment{ + dir = 10 }, +/obj/machinery/gear_painter, /turf/open/floor/plasteel, /area/crew_quarters/fitness/recreation) "abj" = ( @@ -807,6 +807,11 @@ }, /turf/open/floor/plasteel/cafeteria, /area/crew_quarters/fitness/pool) +"abU" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/effect/landmark/xmastree, +/turf/open/floor/plasteel/dark, +/area/crew_quarters/bar) "abV" = ( /obj/effect/turf_decal/stripes/corner, /turf/open/floor/plasteel/white, @@ -824,6 +829,13 @@ "abY" = ( /turf/open/floor/plasteel/white, /area/ai_monitored/turret_protected/ai) +"abZ" = ( +/obj/structure/flora/ausbushes/ywflowers, +/obj/structure/flora/ausbushes/ppflowers, +/obj/structure/flora/ausbushes/sparsegrass, +/obj/effect/landmark/xmastree, +/turf/open/floor/grass, +/area/hydroponics/garden/monastery) "acc" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -24591,7 +24603,7 @@ /turf/open/floor/plating, /area/maintenance/department/cargo) "beS" = ( -/obj/item/caution, +/obj/item/clothing/suit/caution, /turf/open/floor/plating, /area/maintenance/department/cargo) "beU" = ( @@ -32021,23 +32033,6 @@ }, /turf/open/floor/plating, /area/maintenance/department/science) -"bwq" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/public/glass{ - name = "Monastery Transit" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/turf/open/floor/plasteel, -/area/hallway/secondary/entry) -"bwr" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/public/glass{ - name = "Monastery Transit" - }, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/plasteel, -/area/hallway/secondary/entry) "bws" = ( /obj/structure/closet, /obj/item/stack/cable_coil/random, @@ -32812,9 +32807,6 @@ /turf/open/floor/plasteel, /area/science/xenobiology) "bxY" = ( -/obj/machinery/light/small{ - dir = 1 - }, /turf/open/floor/plasteel/white, /area/hallway/secondary/entry) "bxZ" = ( @@ -33559,6 +33551,9 @@ network = list("monastery"); pixel_x = 28 }, +/obj/machinery/light{ + dir = 4 + }, /turf/open/floor/plasteel/white, /area/hallway/secondary/entry) "bzC" = ( @@ -46854,7 +46849,7 @@ /obj/effect/turf_decal/tile/yellow{ dir = 8 }, -/obj/structure/reagent_dispensers/fueltank, +/obj/structure/reagent_dispensers/fueltank/high, /turf/open/floor/plasteel, /area/engine/engineering) "cdL" = ( @@ -47506,12 +47501,6 @@ }, /turf/open/floor/plasteel/dark, /area/chapel/main/monastery) -"cgj" = ( -/obj/structure/flora/ausbushes/ywflowers, -/obj/structure/flora/ausbushes/ppflowers, -/obj/structure/flora/ausbushes/sparsegrass, -/turf/open/floor/grass, -/area/hydroponics/garden/monastery) "cgk" = ( /obj/structure/flora/ausbushes/ywflowers, /obj/structure/flora/ausbushes/sparsegrass, @@ -53109,6 +53098,16 @@ /obj/structure/barricade/wooden, /turf/open/floor/plating, /area/maintenance/department/security/brig) +"deJ" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/structure/table, +/obj/item/gps/mining{ + gpstag = "MINE_PUB" + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/entry) "dgg" = ( /obj/structure/disposalpipe/segment{ dir = 6 @@ -54469,8 +54468,8 @@ /area/maintenance/department/security/brig) "gjv" = ( /obj/machinery/atmospherics/components/binary/pump/on{ - name = "Space Loop In"; - dir = 1 + dir = 1; + name = "Space Loop In" }, /turf/open/floor/plating, /area/maintenance/department/science) @@ -56534,12 +56533,6 @@ }, /turf/open/floor/plating, /area/hallway/secondary/entry) -"kIc" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plasteel/white{ - heat_capacity = 1e+006 - }, -/area/hallway/secondary/entry) "kIo" = ( /obj/structure/table, /obj/item/paper_bin{ @@ -58350,6 +58343,18 @@ }, /turf/open/floor/plating, /area/quartermaster/miningdock) +"oQm" = ( +/obj/docking_port/stationary{ + dir = 8; + dwidth = 3; + height = 5; + id = "commonmining_home"; + name = "SS13: Common Mining Dock"; + roundstart_template = /datum/map_template/shuttle/mining_common/meta; + width = 7 + }, +/turf/open/space/basic, +/area/space) "oRX" = ( /obj/structure/closet, /turf/open/floor/plating, @@ -58645,6 +58650,15 @@ }, /turf/open/floor/plasteel/white/corner, /area/hallway/secondary/exit/departure_lounge) +"pqP" = ( +/obj/machinery/door/airlock/external{ + name = "Port Docking Bay 2" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/turf/open/floor/plating, +/area/hallway/secondary/entry) "prQ" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 4 @@ -58707,9 +58721,6 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/medical/chemistry) -"pyw" = ( -/turf/open/space/basic, -/area/hallway/secondary/entry) "pzF" = ( /mob/living/simple_animal/opossum, /turf/open/floor/wood, @@ -58751,6 +58762,15 @@ }, /turf/open/floor/plasteel/dark, /area/science/explab) +"pEH" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/structure/chair/comfy{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/entry) "pEL" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 1 @@ -59118,6 +59138,13 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /turf/open/floor/plating, /area/maintenance/department/engine) +"qAx" = ( +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/obj/machinery/disposal/bin, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/recreation) "qAM" = ( /obj/effect/spawner/lootdrop/maintenance, /obj/item/cigbutt, @@ -59281,6 +59308,15 @@ }, /turf/open/floor/engine, /area/engine/engineering) +"qRm" = ( +/obj/machinery/door/airlock/external{ + name = "Port Docking Bay 2" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/turf/open/floor/plating, +/area/hallway/secondary/entry) "qTV" = ( /obj/item/radio/intercom{ name = "Station Intercom (General)"; @@ -59997,6 +60033,14 @@ }, /turf/open/floor/plating, /area/maintenance/department/security/brig) +"sIK" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/structure/table, +/obj/item/flashlight, +/turf/open/floor/plasteel, +/area/hallway/secondary/entry) "sJp" = ( /obj/machinery/atmospherics/pipe/simple/general/visible, /obj/effect/turf_decal/stripes/line, @@ -60896,6 +60940,10 @@ /obj/effect/turf_decal/plaque, /turf/open/floor/plating, /area/maintenance/department/engine) +"uNA" = ( +/obj/structure/disposalpipe/segment, +/turf/open/floor/plasteel, +/area/crew_quarters/fitness/recreation) "uQR" = ( /obj/item/ammo_casing/shotgun/beanbag, /turf/open/floor/plating, @@ -61178,6 +61226,14 @@ }, /turf/open/floor/plasteel, /area/engine/engineering) +"vzp" = ( +/obj/effect/turf_decal/tile/brown, +/obj/item/stack/ore/iron, +/obj/item/stack/ore/silver{ + amount = 2 + }, +/turf/open/floor/plasteel, +/area/quartermaster/miningdock) "vzz" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/public/glass{ @@ -61493,6 +61549,18 @@ }, /turf/open/floor/plasteel, /area/engine/engineering) +"wjQ" = ( +/obj/machinery/computer/shuttle/mining/common{ + dir = 4 + }, +/obj/machinery/light{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/hallway/secondary/entry) "wkZ" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on{ dir = 1 @@ -79749,7 +79817,7 @@ cuE cgK cgJ cgH -cgj +abZ cvj bWV cfn @@ -80466,7 +80534,7 @@ aaa aaa aaa aaa -pyw +aaa bsl btL aZx @@ -80723,7 +80791,7 @@ aaa aaa aaa aaa -pyw +aaa aZx bcX aZx @@ -81759,7 +81827,7 @@ aaa aaa aaa aaa -aaa +oQm aaa aaa aaa @@ -82015,9 +82083,9 @@ aZx aaa aaa aaa -aaa -aaa -aaa +aZx +pqP +aZx aaa aaa aaa @@ -82272,9 +82340,9 @@ aZx aaa aaa aaa -aaa -aaa -aaa +aZx +bcX +aZx aaa aaa aaa @@ -82526,12 +82594,12 @@ aZx bno bon aZx -aaa -aaa -aaa -aaa -aaa -aaa +aZx +aZx +aZx +aZx +qRm +aZx aaa aaa aht @@ -82781,15 +82849,15 @@ bbQ bcX bdV bnp -bon +baK +pEH +deJ +sIK +wjQ +pEH +bbR aZx aaa -aaa -aaa -aaa -aaa -aaa -aaa aht bBV bDf @@ -83038,15 +83106,15 @@ jzz aZx jzz bnp -bon -aZx -aZx -aZx -aZx -aZx +baK +baK +baK +baK +baK +baK +baK aZx aaa -aht bAI abI abI @@ -83296,14 +83364,14 @@ bbR bbR bnp baK -bbR -bbR -bbR -bbR -bbR +baK +baK +baK +baK +baK +baK +aZx aZx -kIc -kIc bAJ bBX bBX @@ -83558,7 +83626,7 @@ baK baK baK baK -aZx +baK bxY bzz kGe @@ -83815,7 +83883,7 @@ bbT bbT bbT bbT -bwq +bbT bxZ bzA bAK @@ -84072,7 +84140,7 @@ bqS bsm btN bfY -bwr +bfY bya bzB bAL @@ -94847,7 +94915,7 @@ aYg aZd beB bbq -beB +abU bdx beB bft @@ -103588,7 +103656,7 @@ bbI bcG bdM beP -bfH +vzp bfH bhv bbI @@ -104069,8 +104137,8 @@ aaY awB abe abi -axw -axw +uNA +qAx axw axw aBX @@ -110784,7 +110852,7 @@ bcQ aaa aaa aaa -abN +bBW aaa aEj aEj @@ -111041,7 +111109,7 @@ bcQ aaa aaa aaa -aaa +cFB aaa aEl bnl diff --git a/_maps/map_files/Snaxi/Snaxi.dmm b/_maps/map_files/Snaxi/Snaxi.dmm index 69b0fd9981..8b16ce13a8 100644 --- a/_maps/map_files/Snaxi/Snaxi.dmm +++ b/_maps/map_files/Snaxi/Snaxi.dmm @@ -14395,7 +14395,6 @@ /obj/machinery/light{ dir = 1 }, -/obj/structure/reagent_dispensers/fueltank, /obj/machinery/camera{ c_tag = "Engineering Access" }, @@ -14403,6 +14402,7 @@ name = "Station Intercom (General)"; pixel_y = 20 }, +/obj/structure/reagent_dispensers/fueltank/high, /turf/open/floor/plasteel/dark/corner{ dir = 1 }, diff --git a/_maps/map_files/generic/CentCom.dmm b/_maps/map_files/generic/CentCom.dmm index 4582400c1a..7506fbdca3 100644 --- a/_maps/map_files/generic/CentCom.dmm +++ b/_maps/map_files/generic/CentCom.dmm @@ -2927,13 +2927,6 @@ /obj/machinery/capture_the_flag/red, /turf/open/floor/circuit/green/anim, /area/ctf) -"hH" = ( -/obj/machinery/light{ - dir = 1 - }, -/obj/machinery/computer/slot_machine, -/turf/open/indestructible/hotelwood, -/area/centcom/holding) "hI" = ( /obj/effect/turf_decal/stripes/line{ dir = 10 @@ -4178,6 +4171,10 @@ "ku" = ( /turf/closed/indestructible/fakeglass, /area/syndicate_mothership) +"kv" = ( +/obj/machinery/light, +/turf/open/floor/plasteel/freezer, +/area/centcom/holding) "kw" = ( /turf/open/floor/plasteel/yellowsiding, /area/centcom/supply) @@ -4505,6 +4502,10 @@ icon_state = "alien15" }, /area/abductor_ship) +"ll" = ( +/obj/machinery/vending/autodrobe, +/turf/open/indestructible/hotelwood, +/area/centcom/holding) "ln" = ( /obj/machinery/light, /obj/effect/turf_decal/tile/brown, @@ -4762,11 +4763,15 @@ /turf/open/floor/plasteel/dark, /area/centcom/control) "lS" = ( -/obj/machinery/door/airlock/wood{ - id_tag = "Ninja1"; - name = "Dorm 1" +/obj/machinery/light{ + dir = 1 }, -/turf/open/floor/wood, +/obj/item/soap, +/obj/item/soap, +/obj/item/soap, +/obj/item/janiupgrade, +/obj/vehicle/ridden/janicart, +/turf/open/indestructible/hotelwood, /area/centcom/holding) "lT" = ( /obj/machinery/door/airlock/centcom{ @@ -4828,14 +4833,14 @@ }, /area/abductor_ship) "ma" = ( -/obj/machinery/button/door{ - id = "Ninja7"; - name = "Dorm Bolt Control"; - normaldoorcontrol = 1; - pixel_x = 25; - specialfunctions = 4 +/obj/structure/closet/secure_closet/personal/cabinet{ + desc = "Swipe your ID on the closet to claim it. First come first serve, this one is wooden and fancy. Store your stuff here."; + name = "Personal ID-Locked Closet" }, -/turf/open/indestructible/hotelwood, +/obj/item/reagent_containers/rag/towel, +/obj/item/reagent_containers/rag/towel, +/obj/item/reagent_containers/rag/towel, +/turf/open/floor/carpet/royalblue, /area/centcom/holding) "mb" = ( /obj/structure/table/reinforced, @@ -6427,6 +6432,23 @@ /obj/effect/turf_decal/tile/brown, /turf/open/floor/plasteel, /area/centcom/supplypod/loading/two) +"oV" = ( +/obj/structure/toilet{ + dir = 4 + }, +/turf/open/floor/mineral/titanium/blue, +/area/centcom/holding) +"oW" = ( +/obj/structure/table/wood, +/obj/item/soap, +/obj/item/soap, +/obj/item/soap, +/obj/item/lightreplacer, +/obj/item/lightreplacer, +/obj/item/storage/bag/trash, +/obj/item/storage/bag/trash, +/turf/open/indestructible/hotelwood, +/area/centcom/holding) "oX" = ( /obj/structure/bookcase/random, /obj/machinery/light{ @@ -6769,14 +6791,6 @@ }, /turf/open/floor/plasteel/dark, /area/centcom/control) -"px" = ( -/obj/structure/table, -/obj/item/storage/backpack/duffelbag/med/surgery, -/obj/machinery/light{ - dir = 8 - }, -/turf/open/floor/plasteel/white, -/area/centcom/holding) "py" = ( /obj/machinery/smartfridge, /turf/closed/indestructible{ @@ -6792,6 +6806,41 @@ }, /turf/open/floor/plasteel/dark, /area/centcom/supplypod) +"pB" = ( +/obj/machinery/light{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/obj/machinery/chem_master/condimaster{ + desc = "Used to separate out liquids - useful for purifying botanical extracts. Also dispenses condiments."; + name = "BrewMaster 2199"; + pixel_x = -4 + }, +/turf/open/indestructible/hotelwood, +/area/centcom/holding) +"pG" = ( +/obj/machinery/biogenerator, +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/turf/open/indestructible/hotelwood, +/area/centcom/holding) "pH" = ( /obj/structure/table/wood, /obj/machinery/recharger, @@ -7289,6 +7338,16 @@ "qE" = ( /turf/closed/indestructible/riveted/uranium, /area/wizard_station) +"qF" = ( +/obj/machinery/light{ + dir = 8 + }, +/obj/structure/window/reinforced/tinted{ + dir = 1 + }, +/obj/machinery/washing_machine, +/turf/open/floor/plasteel/white, +/area/centcom/holding) "qI" = ( /obj/effect/turf_decal/stripes/line, /obj/machinery/light{ @@ -7296,13 +7355,6 @@ }, /turf/open/floor/plating, /area/syndicate_mothership) -"qP" = ( -/obj/structure/chair/comfy/brown{ - color = "#596479"; - dir = 1 - }, -/turf/open/indestructible/hotelwood, -/area/centcom/holding) "qQ" = ( /obj/machinery/door/airlock/centcom{ name = "Administrative Office"; @@ -7397,6 +7449,22 @@ /obj/machinery/vending/coffee, /turf/open/floor/plasteel, /area/syndicate_mothership) +"rg" = ( +/obj/structure/table, +/obj/item/clothing/mask/luchador, +/turf/open/floor/holofloor/wood, +/area/holodeck/rec_center/wrestlingarena) +"rh" = ( +/obj/structure/table/wood, +/obj/item/camera/detective{ + desc = "A polaroid camera with extra capacity for social media marketing."; + name = "Professional camera" + }, +/obj/item/camera_film, +/obj/item/paper_bin, +/obj/item/pen/fountain, +/turf/open/indestructible/hotelwood, +/area/centcom/holding) "rk" = ( /obj/structure/table/reinforced, /obj/item/book/manual/wiki/security_space_law, @@ -7889,10 +7957,6 @@ }, /turf/open/floor/engine/cult, /area/wizard_station) -"sa" = ( -/obj/item/hilbertshotel/ghostdojo, -/turf/open/indestructible/hotelwood, -/area/centcom/holding) "sc" = ( /obj/docking_port/stationary{ area_type = /area/syndicate_mothership/control; @@ -7905,12 +7969,11 @@ /turf/open/floor/plating, /area/syndicate_mothership) "sf" = ( -/obj/machinery/vending/wallmed{ - name = "Emergency NanoMed"; - pixel_y = 28; - use_power = 0 +/obj/effect/landmark/holding_facility, +/mob/living/simple_animal/bot/medbot{ + name = "Syndicate Hospitality Drone" }, -/turf/open/floor/plasteel/white, +/turf/open/indestructible/hotelwood, /area/centcom/holding) "si" = ( /obj/structure/table/wood, @@ -7928,6 +7991,12 @@ }, /turf/open/floor/plasteel, /area/syndicate_mothership) +"sk" = ( +/obj/machinery/door/airlock/wood{ + name = "Bathroom" + }, +/turf/open/floor/mineral/titanium/blue, +/area/centcom/holding) "sq" = ( /obj/machinery/computer/shuttle/white_ship{ dir = 4 @@ -8341,6 +8410,31 @@ /obj/item/reagent_containers/food/drinks/bottle/vodka, /turf/open/floor/wood, /area/syndicate_mothership) +"ta" = ( +/obj/structure/closet{ + anchored = 1; + desc = "A storage unit for plasmaman internals, courtesy of the Spider Clan."; + icon_state = "emergency"; + name = "Plasmaman emergency closet" + }, +/obj/item/clothing/mask/breath, +/obj/item/clothing/mask/breath, +/obj/item/clothing/mask/breath, +/obj/item/clothing/mask/breath, +/obj/item/clothing/mask/breath, +/obj/item/tank/internals/plasmaman/belt/full, +/obj/item/tank/internals/plasmaman/belt/full, +/obj/item/tank/internals/plasmaman/belt/full, +/obj/item/tank/internals/plasmaman/belt/full, +/obj/item/tank/internals/plasmaman/belt/full, +/turf/open/indestructible/hotelwood, +/area/centcom/holding) +"tc" = ( +/obj/machinery/door/airlock/wood/glass{ + name = "Dorms" + }, +/turf/open/floor/wood, +/area/centcom/holding) "td" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -8427,6 +8521,9 @@ }, /turf/open/floor/plasteel, /area/centcom/ferry) +"tv" = ( +/turf/open/floor/holofloor/wood, +/area/holodeck/rec_center/wrestlingarena) "tx" = ( /obj/structure/table/wood, /obj/item/storage/dice, @@ -8712,13 +8809,6 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plasteel, /area/centcom/supplypod) -"tZ" = ( -/obj/structure/chair/wood/normal, -/obj/machinery/light{ - dir = 8 - }, -/turf/open/indestructible/hotelwood, -/area/centcom/holding) "uc" = ( /obj/effect/turf_decal/tile/green{ dir = 1 @@ -8734,6 +8824,10 @@ /obj/item/storage/crayons, /turf/open/floor/plasteel/freezer, /area/syndicate_mothership) +"ue" = ( +/obj/machinery/autolathe/toy, +/turf/open/indestructible/hotelwood, +/area/centcom/holding) "uf" = ( /obj/effect/turf_decal/tile/brown{ dir = 8 @@ -8743,12 +8837,14 @@ }, /turf/open/floor/plasteel, /area/centcom/supplypod/loading/three) +"ug" = ( +/obj/structure/table, +/obj/machinery/dish_drive, +/turf/open/floor/plasteel/cafeteria, +/area/centcom/holding) "uh" = ( -/obj/machinery/door/airlock/wood{ - id_tag = "Ninja2"; - name = "Dorm 2" - }, -/turf/open/floor/wood, +/obj/structure/dresser, +/turf/open/floor/carpet/royalblue, /area/centcom/holding) "uj" = ( /obj/item/clipboard, @@ -9033,6 +9129,16 @@ }, /turf/open/floor/mineral/plastitanium/red, /area/centcom/evac) +"uH" = ( +/obj/structure/closet/crate, +/obj/item/stack/sheet/paperframes/fifty, +/obj/item/stack/sheet/paperframes/fifty, +/obj/item/storage/fancy/candle_box, +/obj/item/storage/fancy/candle_box, +/obj/item/storage/fancy/candle_box, +/obj/item/storage/box/lights/mixed, +/turf/open/indestructible/hotelwood, +/area/centcom/holding) "uJ" = ( /obj/effect/baseturf_helper/asteroid/snow, /turf/closed/indestructible/riveted, @@ -9318,19 +9424,13 @@ }, /turf/open/floor/plasteel, /area/centcom/supplypod) -"vs" = ( -/obj/machinery/vending/hydronutrients, -/obj/effect/turf_decal/tile/green{ - dir = 1 +"vp" = ( +/obj/structure/bed, +/obj/item/bedsheet/hos{ + desc = "A fancy red bedsheet."; + name = "red bedsheet" }, -/obj/effect/turf_decal/tile/green, -/obj/effect/turf_decal/tile/green{ - dir = 4 - }, -/obj/effect/turf_decal/tile/green{ - dir = 8 - }, -/turf/open/indestructible/hotelwood, +/turf/open/floor/carpet/red, /area/centcom/holding) "vt" = ( /obj/structure/rack, @@ -9348,17 +9448,6 @@ }, /turf/open/floor/plasteel, /area/syndicate_mothership) -"vv" = ( -/obj/structure/closet, -/obj/item/storage/backpack/duffelbag/med/surgery, -/obj/machinery/iv_drip, -/obj/item/roller, -/obj/item/storage/firstaid/regular, -/obj/item/reagent_containers/medspray/synthflesh, -/obj/item/reagent_containers/medspray/synthflesh, -/obj/item/reagent_containers/medspray/synthflesh, -/turf/open/floor/plasteel/white, -/area/centcom/holding) "vw" = ( /obj/effect/turf_decal/tile/bar, /obj/effect/turf_decal/tile/bar{ @@ -9367,6 +9456,12 @@ /mob/living/simple_animal/hostile/carp/cayenne, /turf/open/floor/plasteel, /area/syndicate_mothership) +"vx" = ( +/obj/structure/sign/barsign{ + pixel_y = 32 + }, +/turf/open/indestructible/hotelwood, +/area/centcom/holding) "vy" = ( /obj/effect/turf_decal/tile/green{ dir = 8 @@ -9733,6 +9828,15 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/centcom/supplypod/loading/three) +"wi" = ( +/obj/effect/landmark/mafia_game_area, +/turf/open/space/basic, +/area/space) +"wj" = ( +/obj/structure/bed, +/obj/item/bedsheet/random, +/turf/open/indestructible/hotelwood, +/area/centcom/holding) "wl" = ( /obj/structure/table/wood, /obj/item/paicard, @@ -9997,6 +10101,13 @@ /obj/item/toy/cards/deck, /turf/open/floor/carpet, /area/wizard_station) +"wU" = ( +/obj/machinery/door/airlock/wood{ + id_tag = "Ninja7"; + name = "Dorm 7" + }, +/turf/open/indestructible/hotelwood, +/area/centcom/holding) "wX" = ( /obj/effect/turf_decal/tile/bar, /obj/effect/turf_decal/tile/bar{ @@ -10005,10 +10116,12 @@ /obj/structure/chair/stool, /turf/open/floor/plasteel, /area/syndicate_mothership) -"wZ" = ( -/obj/structure/bed, -/obj/item/bedsheet/syndie, -/obj/effect/landmark/holding_facility, +"wY" = ( +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/easel, +/obj/item/canvas/twentythreeXtwentythree, /turf/open/indestructible/hotelwood, /area/centcom/holding) "xa" = ( @@ -10228,6 +10341,16 @@ /obj/machinery/light, /turf/open/floor/carpet, /area/wizard_station) +"xB" = ( +/obj/machinery/button/door{ + id = "Ninja3"; + name = "Dorm Bolt Control"; + normaldoorcontrol = 1; + pixel_y = -25; + specialfunctions = 4 + }, +/turf/open/indestructible/hotelwood, +/area/centcom/holding) "xG" = ( /obj/structure/closet/syndicate/personal, /obj/effect/turf_decal/stripes/line{ @@ -10244,13 +10367,18 @@ /obj/item/bedsheet/syndie, /turf/open/floor/plasteel/dark, /area/syndicate_mothership) -"xO" = ( -/obj/structure/curtain, -/obj/machinery/shower, -/obj/structure/window{ - dir = 8 +"xL" = ( +/obj/structure/table/wood/bar, +/obj/structure/mirror{ + pixel_y = 28 }, -/turf/open/floor/mineral/titanium/blue, +/obj/item/lightreplacer, +/obj/item/lightreplacer, +/obj/item/lightreplacer, +/obj/item/storage/bag/trash, +/obj/item/storage/bag/trash, +/obj/item/storage/bag/trash, +/turf/open/indestructible/hotelwood, /area/centcom/holding) "xQ" = ( /obj/effect/turf_decal/delivery, @@ -10375,6 +10503,10 @@ }, /turf/open/indestructible/hotelwood, /area/centcom/holding) +"yf" = ( +/obj/structure/closet/crate/freezer/blood, +/turf/open/floor/plasteel/white, +/area/centcom/holding) "yg" = ( /obj/structure/chair, /turf/open/floor/mineral/titanium, @@ -10392,6 +10524,10 @@ }, /turf/open/floor/plasteel, /area/centcom/control) +"yl" = ( +/obj/machinery/gear_painter, +/turf/open/indestructible/hotelwood, +/area/centcom/holding) "yn" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/sign/warning/vacuum, @@ -10628,13 +10764,6 @@ }, /turf/open/floor/plating, /area/syndicate_mothership) -"yS" = ( -/obj/machinery/door/airlock/wood{ - id_tag = "Ninja7"; - name = "Dorm 7" - }, -/turf/open/floor/wood, -/area/centcom/holding) "yU" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/centcom{ @@ -10654,13 +10783,23 @@ /turf/open/floor/plasteel/cafeteria, /area/syndicate_mothership) "yW" = ( -/obj/structure/window/reinforced{ - dir = 1 +/obj/structure/mirror{ + pixel_y = 28 }, -/obj/machinery/light{ - dir = 4 +/obj/structure/sink{ + dir = 1; + pixel_y = 25 }, -/turf/open/floor/grass, +/mob/living/simple_animal/bot/cleanbot, +/turf/open/floor/mineral/titanium/blue, +/area/centcom/holding) +"yX" = ( +/obj/structure/curtain, +/obj/machinery/shower, +/obj/structure/window{ + dir = 8 + }, +/turf/open/floor/mineral/titanium/blue, /area/centcom/holding) "yY" = ( /obj/structure/table/wood, @@ -10891,6 +11030,10 @@ }, /turf/open/floor/mineral/plastitanium/red, /area/syndicate_mothership) +"zy" = ( +/obj/structure/mineral_door/paperframe, +/turf/open/indestructible/hotelwood, +/area/centcom/holding) "zz" = ( /obj/structure/table/wood, /obj/item/storage/box/drinkingglasses, @@ -10948,6 +11091,21 @@ }, /turf/open/floor/plasteel/dark, /area/centcom/ferry) +"zE" = ( +/obj/machinery/plantgenes/seedvault, +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/obj/structure/table, +/turf/open/indestructible/hotelwood, +/area/centcom/holding) "zF" = ( /obj/effect/turf_decal/tile/red{ dir = 8 @@ -11071,15 +11229,6 @@ }, /turf/open/floor/plating, /area/syndicate_mothership) -"zS" = ( -/obj/machinery/light{ - dir = 1 - }, -/turf/open/floor/plasteel/freezer, -/area/centcom/holding) -"zT" = ( -/turf/open/indestructible/boss/air, -/area/centcom/holding) "zU" = ( /obj/structure/closet/crate/freezer, /turf/open/floor/plasteel/cafeteria, @@ -11095,13 +11244,6 @@ /obj/item/reagent_containers/food/snacks/carpmeat, /turf/open/floor/plasteel/cafeteria, /area/centcom/holding) -"zW" = ( -/obj/machinery/door/airlock/wood{ - id_tag = "Ninja5"; - name = "Dorm 5" - }, -/turf/open/floor/wood, -/area/centcom/holding) "zX" = ( /obj/structure/table, /obj/machinery/light{ @@ -11111,12 +11253,14 @@ /turf/open/floor/plasteel/cafeteria, /area/centcom/holding) "zY" = ( -/obj/item/bedsheet/wiz{ - desc = "A glow in the dark blue bedsheet."; - name = "blue bedsheet" +/obj/machinery/light{ + dir = 8 }, -/obj/structure/bed, -/turf/open/floor/carpet/royalblue, +/obj/structure/musician/piano, +/obj/structure/sign/painting{ + pixel_x = -32 + }, +/turf/open/indestructible/hotelwood, /area/centcom/holding) "Aa" = ( /turf/open/floor/mech_bay_recharge_floor, @@ -11356,16 +11500,6 @@ /obj/effect/decal/remains/xeno, /turf/open/floor/grass, /area/wizard_station) -"AC" = ( -/obj/machinery/button/door{ - id = "Ninja5"; - name = "Dorm Bolt Control"; - normaldoorcontrol = 1; - pixel_y = 25; - specialfunctions = 4 - }, -/turf/open/indestructible/hotelwood, -/area/centcom/holding) "AD" = ( /obj/machinery/door/airlock/centcom{ name = "Leader's Room"; @@ -11373,10 +11507,6 @@ }, /turf/open/floor/plasteel, /area/syndicate_mothership) -"AE" = ( -/obj/machinery/vending/coffee, -/turf/open/indestructible/hotelwood, -/area/centcom/holding) "AG" = ( /obj/structure/ladder/unbreakable/binary/space, /turf/open/indestructible/airblock, @@ -11595,15 +11725,13 @@ /obj/machinery/mech_bay_recharge_port, /turf/open/floor/plating, /area/syndicate_mothership) -"Bq" = ( -/obj/machinery/sleeper{ - dir = 8 +"Bm" = ( +/obj/machinery/light{ + dir = 4 + }, +/obj/structure/sign/painting{ + pixel_x = 32 }, -/turf/open/floor/plasteel/white, -/area/centcom/holding) -"Bs" = ( -/obj/structure/table/wood, -/obj/machinery/computer/libraryconsole/bookmanagement, /turf/open/indestructible/hotelwood, /area/centcom/holding) "Bu" = ( @@ -12458,13 +12586,6 @@ }, /turf/open/floor/plasteel/dark, /area/centcom/evac) -"CQ" = ( -/obj/effect/landmark/holding_facility, -/mob/living/simple_animal/bot/medbot{ - name = "Syndicate Hospitality Drone" - }, -/turf/open/indestructible/hotelwood, -/area/centcom/holding) "CR" = ( /obj/machinery/computer/security{ dir = 8 @@ -12484,8 +12605,37 @@ }, /turf/open/floor/plasteel/dark, /area/centcom/evac) -"CV" = ( -/obj/structure/chair/stool, +"CS" = ( +/obj/structure/chair/wood/normal{ + dir = 1 + }, +/turf/open/indestructible/hotelwood, +/area/centcom/holding) +"CT" = ( +/obj/structure/bedsheetbin/towel, +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/mineral/titanium/blue, +/area/centcom/holding) +"CU" = ( +/obj/structure/closet, +/obj/item/stack/sheet/mineral/wood/fifty, +/obj/item/stack/tile/wood{ + amount = 24 + }, +/obj/item/stack/tile/carpet/black/fifty, +/obj/item/stack/tile/carpet/blackred/fifty, +/obj/item/stack/tile/carpet/blue/fifty, +/obj/item/stack/tile/carpet/cyan/fifty, +/obj/item/stack/tile/carpet/fifty, +/obj/item/stack/tile/carpet/green/fifty, +/obj/item/stack/tile/carpet/monochrome/fifty, +/obj/item/stack/tile/carpet/orange/fifty, +/obj/item/stack/tile/carpet/purple/fifty, +/obj/item/stack/tile/carpet/red/fifty, +/obj/item/stack/tile/carpet/royalblack/fifty, +/obj/item/stack/tile/carpet/royalblue/fifty, /turf/open/indestructible/hotelwood, /area/centcom/holding) "CX" = ( @@ -12680,9 +12830,20 @@ /obj/structure/table, /turf/open/floor/plasteel/cafeteria, /area/syndicate_mothership) -"Dl" = ( -/obj/structure/mineral_door/paperframe, -/turf/open/indestructible/hotelwood, +"Dm" = ( +/obj/machinery/door/airlock/wood{ + id_tag = "Ninja2"; + name = "Dorm 2" + }, +/turf/open/floor/wood, +/area/centcom/holding) +"Dn" = ( +/obj/machinery/vending/wallmed{ + name = "Emergency NanoMed"; + pixel_y = 28; + use_power = 0 + }, +/turf/open/floor/plasteel/white, /area/centcom/holding) "Do" = ( /obj/effect/turf_decal/tile/bar, @@ -13277,14 +13438,6 @@ /obj/structure/barricade/wooden, /turf/open/floor/engine/cult, /area/wizard_station) -"ED" = ( -/obj/machinery/vending/boozeomat, -/turf/closed/indestructible{ - icon = 'icons/turf/walls/wood_wall.dmi'; - icon_state = "wood"; - smooth = 1 - }, -/area/centcom/holding) "EE" = ( /obj/structure/closet/crate/bin, /obj/effect/turf_decal/tile/neutral{ @@ -13495,6 +13648,19 @@ }, /turf/open/indestructible/hotelwood, /area/centcom/holding) +"Fb" = ( +/obj/structure/chair/stool, +/turf/open/indestructible/hotelwood, +/area/centcom/holding) +"Fe" = ( +/turf/closed/indestructible/wood, +/area/centcom/holding) +"Ff" = ( +/obj/machinery/door/airlock/wood/glass{ + name = "Cryo" + }, +/turf/open/floor/wood, +/area/centcom/holding) "Fg" = ( /obj/structure/flora/grass/brown, /obj/effect/light_emitter, @@ -13503,9 +13669,9 @@ "Fh" = ( /turf/open/floor/plasteel/cafeteria, /area/centcom/holding) -"Fl" = ( -/obj/structure/bedsheetbin/towel, -/turf/open/floor/plasteel/white, +"Fj" = ( +/obj/structure/closet/crate/bin, +/turf/open/indestructible/hotelwood, /area/centcom/holding) "Fm" = ( /obj/machinery/shower{ @@ -13973,6 +14139,13 @@ }, /turf/open/indestructible/hotelwood, /area/centcom/holding) +"Gt" = ( +/obj/machinery/light{ + dir = 1 + }, +/obj/machinery/computer/slot_machine, +/turf/open/indestructible/hotelwood, +/area/centcom/holding) "Gu" = ( /obj/machinery/door/airlock/silver{ name = "Shower" @@ -14423,24 +14596,7 @@ /turf/open/floor/plasteel/white, /area/tdome/tdomeobserve) "Hj" = ( -/obj/machinery/light{ - dir = 8 - }, -/obj/structure/musician/piano, -/obj/structure/sign/painting{ - pixel_x = -32 - }, -/turf/open/indestructible/hotelwood, -/area/centcom/holding) -"Hk" = ( -/obj/structure/table/wood, -/obj/item/camera/detective{ - desc = "A polaroid camera with extra capacity for social media marketing."; - name = "Professional camera" - }, -/obj/item/camera_film, -/obj/item/paper_bin, -/obj/item/pen/fountain, +/obj/structure/bedsheetbin, /turf/open/indestructible/hotelwood, /area/centcom/holding) "Hm" = ( @@ -14594,6 +14750,13 @@ }, /turf/open/floor/plasteel/white, /area/tdome/tdomeobserve) +"Hy" = ( +/obj/machinery/door/airlock/wood{ + id_tag = "Ninja3"; + name = "Dorm 3" + }, +/turf/open/floor/wood, +/area/centcom/holding) "HA" = ( /obj/structure/sink{ dir = 8; @@ -14653,6 +14816,13 @@ }, /turf/open/floor/plasteel, /area/tdome/tdomeobserve) +"HE" = ( +/obj/structure/dresser, +/obj/machinery/light{ + dir = 1 + }, +/turf/open/indestructible/hotelwood, +/area/centcom/holding) "HF" = ( /obj/structure/sink{ dir = 4; @@ -15515,11 +15685,8 @@ /turf/open/floor/plasteel, /area/tdome/tdomeadmin) "Jq" = ( -/obj/machinery/camera{ - c_tag = "Arena"; - network = list("thunder"); - pixel_x = 10; - resistance_flags = 64 +/obj/machinery/camera/motion/thunderdome{ + pixel_x = 10 }, /turf/open/floor/circuit/green, /area/tdome/arena) @@ -15785,12 +15952,6 @@ }, /turf/open/floor/plasteel/dark, /area/tdome/tdomeadmin) -"JV" = ( -/obj/structure/table, -/obj/item/stack/packageWrap, -/obj/item/reagent_containers/glass/beaker, -/turf/open/floor/plasteel/cafeteria, -/area/centcom/holding) "JX" = ( /obj/machinery/door/firedoor, /obj/effect/turf_decal/stripes/line{ @@ -15846,13 +16007,6 @@ }, /turf/open/floor/plasteel/dark, /area/tdome/tdomeadmin) -"Kf" = ( -/obj/structure/closet/secure_closet/personal/cabinet, -/obj/item/reagent_containers/rag/towel, -/obj/item/reagent_containers/rag/towel, -/obj/item/reagent_containers/rag/towel, -/turf/open/floor/carpet/red, -/area/centcom/holding) "Kg" = ( /turf/closed/indestructible/fakedoor{ name = "Thunderdome Admin" @@ -15869,16 +16023,6 @@ }, /turf/open/floor/plasteel, /area/tdome/tdomeadmin) -"Ki" = ( -/obj/structure/closet/secure_closet/personal/cabinet{ - desc = "Swipe your ID on the closet to claim it. First come first serve, this one is wooden and fancy. Store your stuff here."; - name = "Personal ID-Locked Closet" - }, -/obj/item/reagent_containers/rag/towel, -/obj/item/reagent_containers/rag/towel, -/obj/item/reagent_containers/rag/towel, -/turf/open/floor/carpet/royalblue, -/area/centcom/holding) "Kj" = ( /obj/machinery/door/airlock/external{ name = "Backup Emergency Escape Shuttle" @@ -16299,6 +16443,11 @@ }, /turf/open/floor/mineral/titanium/blue, /area/centcom/evac) +"Ld" = ( +/obj/structure/table, +/obj/item/clothing/mask/luchador/rudos, +/turf/open/floor/holofloor/wood, +/area/holodeck/rec_center/wrestlingarena) "Lh" = ( /obj/machinery/sleeper{ dir = 8 @@ -16311,44 +16460,29 @@ }, /turf/open/floor/mineral/titanium/blue, /area/centcom/evac) -"Lk" = ( -/obj/structure/table, -/obj/item/storage/box/bodybags, -/obj/item/storage/box/bodybags, -/obj/item/storage/box/bodybags, -/obj/item/storage/box/bodybags, -/turf/open/floor/plasteel/white, -/area/centcom/holding) -"Ll" = ( -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/structure/easel, -/obj/item/canvas/twentythreeXtwentythree, -/turf/open/indestructible/hotelwood, -/area/centcom/holding) -"Lm" = ( -/obj/machinery/shower{ - dir = 4 - }, -/turf/open/floor/plasteel/freezer, -/area/centcom/holding) -"Ln" = ( -/obj/structure/toilet{ +"Lj" = ( +/obj/machinery/light{ dir = 4 }, /turf/open/floor/mineral/titanium/blue, /area/centcom/holding) +"Lm" = ( +/obj/structure/table, +/obj/item/clothing/mask/luchador/tecnicos, +/turf/open/floor/holofloor/wood, +/area/holodeck/rec_center/wrestlingarena) "Lp" = ( /obj/structure/chair{ dir = 4 }, /turf/open/floor/mineral/titanium/blue, /area/centcom/evac) -"Lr" = ( -/obj/structure/mopbucket, -/obj/item/mop, -/turf/open/indestructible/hotelwood, +"Lq" = ( +/obj/machinery/door/airlock/wood{ + id_tag = "Ninja6"; + name = "Dorm 6" + }, +/turf/open/floor/wood, /area/centcom/holding) "Ls" = ( /obj/docking_port/stationary{ @@ -16379,6 +16513,13 @@ }, /turf/open/floor/mineral/titanium/blue, /area/centcom/evac) +"Ly" = ( +/obj/structure/bed, +/obj/machinery/light/small{ + dir = 1 + }, +/turf/open/indestructible/hotelwood, +/area/centcom/holding) "LA" = ( /obj/structure/table, /obj/structure/bedsheetbin, @@ -16611,6 +16752,14 @@ }, /turf/open/floor/plasteel, /area/tdome/arena) +"Mj" = ( +/obj/item/bedsheet/wiz{ + desc = "A glow in the dark blue bedsheet."; + name = "blue bedsheet" + }, +/obj/structure/bed, +/turf/open/floor/carpet/royalblue, +/area/centcom/holding) "Mk" = ( /obj/effect/turf_decal/stripes/line{ dir = 5 @@ -16620,8 +16769,22 @@ "Mm" = ( /turf/open/floor/grass, /area/centcom/holding) -"Ms" = ( -/obj/effect/mob_spawn/human/ghostcafe{ +"Mn" = ( +/obj/machinery/vr_sleeper/hugbox{ + dir = 8 + }, +/turf/open/indestructible/hotelwood, +/area/centcom/holding) +"Mq" = ( +/obj/machinery/seed_extractor, +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/effect/turf_decal/tile/green{ dir = 8 }, /turf/open/indestructible/hotelwood, @@ -16640,6 +16803,16 @@ /obj/item/storage/fancy/donut_box, /turf/open/floor/plasteel, /area/centcom/supplypod) +"Mw" = ( +/obj/machinery/button/door{ + id = "Ninja7"; + name = "Dorm Bolt Control"; + normaldoorcontrol = 1; + pixel_x = 25; + specialfunctions = 4 + }, +/turf/open/indestructible/hotelwood, +/area/centcom/holding) "Mx" = ( /obj/machinery/light{ dir = 4 @@ -16666,13 +16839,10 @@ /turf/open/floor/plating/asteroid/snow/airless, /area/syndicate_mothership) "Mz" = ( -/obj/structure/closet/crate, -/obj/item/stack/sheet/paperframes/fifty, -/obj/item/stack/sheet/paperframes/fifty, -/obj/item/storage/fancy/candle_box, -/obj/item/storage/fancy/candle_box, -/obj/item/storage/fancy/candle_box, -/obj/item/storage/box/lights/mixed, +/obj/machinery/light{ + dir = 1; + light_color = "#cee5d2" + }, /turf/open/indestructible/hotelwood, /area/centcom/holding) "MB" = ( @@ -16723,11 +16893,8 @@ "MI" = ( /turf/open/floor/plating, /area/syndicate_mothership) -"MJ" = ( -/obj/structure/bed, -/obj/machinery/light/small{ - dir = 1 - }, +"ML" = ( +/obj/structure/table/wood/fancy, /turf/open/indestructible/hotelwood, /area/centcom/holding) "MM" = ( @@ -16740,9 +16907,13 @@ }, /turf/open/floor/plasteel/dark, /area/centcom/supplypod) -"MR" = ( -/obj/machinery/light{ - dir = 4 +"MQ" = ( +/obj/machinery/button/door{ + id = "Ninja5"; + name = "Dorm Bolt Control"; + normaldoorcontrol = 1; + pixel_y = 25; + specialfunctions = 4 }, /turf/open/indestructible/hotelwood, /area/centcom/holding) @@ -16758,6 +16929,29 @@ /obj/effect/turf_decal/tile/brown, /turf/open/floor/plasteel, /area/centcom/supplypod/loading/two) +"MW" = ( +/obj/structure/mopbucket, +/obj/item/mop, +/obj/structure/sink/kitchen{ + desc = "A sink used for washing one's hands and face. It looks rusty and home-made"; + name = "sink"; + pixel_y = 28 + }, +/turf/open/indestructible/hotelwood, +/area/centcom/holding) +"MX" = ( +/obj/structure/table, +/obj/item/storage/box/bodybags, +/obj/item/storage/box/bodybags, +/obj/item/storage/box/bodybags, +/obj/item/storage/box/bodybags, +/turf/open/floor/plasteel/white, +/area/centcom/holding) +"Na" = ( +/obj/item/paicard, +/obj/structure/table/wood, +/turf/open/floor/engine/cult, +/area/wizard_station) "Nc" = ( /obj/effect/turf_decal/tile/brown{ dir = 8 @@ -16775,7 +16969,27 @@ }, /area/centcom/holding) "Nf" = ( -/obj/machinery/autolathe/toy, +/obj/structure/table, +/obj/item/storage/backpack/duffelbag/med/surgery, +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/centcom/holding) +"Ng" = ( +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/table/wood, +/obj/item/canvas/twentythreeXtwentythree, +/obj/item/canvas/twentythreeXtwentythree, +/obj/item/canvas/twentythreeXtwentythree, +/obj/item/canvas/twentythreeXnineteen, +/obj/item/canvas/twentythreeXnineteen, +/obj/item/canvas/twentythreeXnineteen, +/obj/item/canvas/nineteenXnineteen, +/obj/item/canvas/nineteenXnineteen, +/obj/item/canvas/nineteenXnineteen, /turf/open/indestructible/hotelwood, /area/centcom/holding) "Ni" = ( @@ -16804,24 +17018,50 @@ }, /turf/open/floor/plasteel, /area/tdome/tdomeobserve) -"Nt" = ( -/obj/structure/bedsheetbin/color, +"Nl" = ( +/turf/open/floor/carpet/royalblue, +/area/centcom/holding) +"Nn" = ( +/obj/machinery/vending/hydronutrients, +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/turf/open/indestructible/hotelwood, +/area/centcom/holding) +"Np" = ( +/obj/machinery/door/airlock/wood{ + id_tag = "Ninja7"; + name = "Dorm 7" + }, +/turf/open/floor/wood, +/area/centcom/holding) +"Ns" = ( +/obj/structure/mopbucket, +/obj/item/mop, /turf/open/indestructible/hotelwood, /area/centcom/holding) "Nu" = ( /turf/open/floor/wood, /area/syndicate_mothership) +"Nv" = ( +/obj/machinery/vending/boozeomat, +/turf/closed/indestructible{ + icon = 'icons/turf/walls/wood_wall.dmi'; + icon_state = "wood"; + smooth = 1 + }, +/area/centcom/holding) "Nw" = ( /obj/machinery/recharge_station, /turf/open/floor/plasteel/white, /area/centcom/holding) -"Nx" = ( -/obj/machinery/processor, -/obj/machinery/light{ - dir = 1 - }, -/turf/open/floor/plasteel/cafeteria, -/area/centcom/holding) "Nz" = ( /obj/effect/turf_decal/tile/brown{ dir = 8 @@ -16831,28 +17071,11 @@ }, /turf/open/floor/plasteel, /area/centcom/supplypod/loading/two) -"NA" = ( -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/structure/table/wood, -/obj/item/canvas/twentythreeXtwentythree, -/obj/item/canvas/twentythreeXtwentythree, -/obj/item/canvas/twentythreeXtwentythree, -/obj/item/canvas/twentythreeXnineteen, -/obj/item/canvas/twentythreeXnineteen, -/obj/item/canvas/twentythreeXnineteen, -/obj/item/canvas/nineteenXnineteen, -/obj/item/canvas/nineteenXnineteen, -/obj/item/canvas/nineteenXnineteen, -/turf/open/indestructible/hotelwood, -/area/centcom/holding) -"NE" = ( -/obj/machinery/light{ - dir = 4 - }, -/turf/open/floor/plasteel/white, -/area/centcom/holding) +"NB" = ( +/obj/structure/table, +/obj/item/storage/belt/champion/wrestling/holodeck, +/turf/open/floor/holofloor/wood, +/area/holodeck/rec_center/wrestlingarena) "NF" = ( /obj/structure/ladder/unbreakable/binary, /turf/open/indestructible/airblock, @@ -16868,9 +17091,14 @@ }, /turf/open/floor/plasteel, /area/centcom/control) -"NN" = ( -/obj/item/storage/box/bodybags, -/obj/item/storage/box/bodybags, +"NP" = ( +/obj/machinery/button/crematorium{ + id = "crematoriumGhostDojo"; + pixel_x = -25 + }, +/turf/open/indestructible/hotelwood, +/area/centcom/holding) +"NS" = ( /turf/open/indestructible/hotelwood, /area/centcom/holding) "NT" = ( @@ -16897,11 +17125,10 @@ /obj/machinery/vending/cola/sodie, /turf/open/floor/plasteel, /area/syndicate_mothership) -"NZ" = ( -/obj/structure/table/wood/bar, -/obj/structure/safe/floor, -/obj/item/seeds/cherry/bomb, -/obj/item/key/janitor, +"NX" = ( +/obj/structure/chair/comfy/brown{ + dir = 1 + }, /turf/open/indestructible/hotelwood, /area/centcom/holding) "Oa" = ( @@ -16930,15 +17157,18 @@ /obj/machinery/deepfryer, /turf/open/floor/plasteel/cafeteria, /area/syndicate_mothership) -"Of" = ( -/turf/open/floor/carpet/red, -/area/centcom/holding) "Oh" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 }, /turf/open/floor/plasteel/dark, /area/centcom/supplypod) +"Oi" = ( +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/plasteel/freezer, +/area/centcom/holding) "Oj" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/centcom{ @@ -16952,9 +17182,8 @@ }, /turf/open/floor/plasteel, /area/centcom/control) -"Ol" = ( -/obj/structure/table/wood/fancy, -/turf/open/indestructible/hotelwood, +"Ok" = ( +/turf/open/indestructible/boss/air, /area/centcom/holding) "Om" = ( /obj/effect/turf_decal/tile/brown, @@ -16963,9 +17192,13 @@ }, /turf/open/floor/plasteel, /area/centcom/supplypod/loading/three) -"On" = ( -/obj/structure/sign/painting{ - pixel_x = 32 +"Oo" = ( +/obj/machinery/button/door{ + id = "Ninja1"; + name = "Dorm Bolt Control"; + normaldoorcontrol = 1; + pixel_y = -25; + specialfunctions = 4 }, /turf/open/indestructible/hotelwood, /area/centcom/holding) @@ -16983,23 +17216,20 @@ /mob/living/simple_animal/bot/cleanbot, /turf/open/floor/plasteel/white, /area/centcom/holding) +"Oq" = ( +/obj/structure/closet/secure_closet/personal/cabinet{ + desc = "Swipe your ID on the closet to claim it. First come first serve, this one is wooden and fancy. Store your stuff here."; + name = "Personal ID-Locked Closet" + }, +/obj/item/coin/silver, +/obj/item/coin/silver, +/obj/item/coin/silver, +/turf/open/indestructible/hotelwood, +/area/centcom/holding) "Or" = ( /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/centcom/supplypod/loading/two) -"Os" = ( -/obj/structure/chair/wood/normal{ - dir = 1 - }, -/obj/machinery/light{ - dir = 8 - }, -/turf/open/indestructible/hotelwood, -/area/centcom/holding) -"Ot" = ( -/obj/machinery/washing_machine, -/turf/open/floor/mineral/titanium/blue, -/area/centcom/holding) "Ou" = ( /turf/closed/indestructible/fakedoor{ name = "Cold Storage" @@ -17009,12 +17239,22 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plasteel/dark, /area/centcom/supplypod) -"Ox" = ( -/obj/machinery/door/airlock/wood/glass{ - name = "Cryo" +"Ow" = ( +/obj/machinery/vending/kink{ + extended_inventory = 1 }, /turf/open/floor/wood, /area/centcom/holding) +"Oy" = ( +/obj/machinery/shower{ + dir = 1 + }, +/obj/structure/window{ + dir = 8 + }, +/obj/structure/curtain, +/turf/open/floor/mineral/titanium/blue, +/area/centcom/holding) "Oz" = ( /obj/effect/turf_decal/stripes/corner{ dir = 1 @@ -17038,17 +17278,14 @@ }, /turf/open/floor/plasteel, /area/centcom/supplypod) -"OG" = ( -/obj/structure/dresser, -/obj/machinery/light{ - dir = 1 - }, -/turf/open/indestructible/hotelwood, -/area/centcom/holding) "OH" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plasteel/dark, /area/centcom/supplypod) +"OI" = ( +/obj/structure/bedsheetbin/towel, +/turf/open/floor/plasteel/white, +/area/centcom/holding) "OL" = ( /obj/structure/mineral_door/paperframe{ name = "Dojo" @@ -17066,14 +17303,20 @@ /obj/item/storage/box/handcuffs, /turf/open/floor/mineral/plastitanium/red, /area/centcom/evac) +"OO" = ( +/obj/structure/sink{ + dir = 4; + pixel_x = 11 + }, +/obj/structure/mirror{ + pixel_x = 28 + }, +/turf/open/floor/mineral/titanium/blue, +/area/centcom/holding) "OS" = ( /obj/structure/mecha_wreckage/mauler, /turf/open/floor/plasteel/dark, /area/syndicate_mothership) -"OT" = ( -/obj/structure/table, -/turf/open/floor/plasteel/white, -/area/centcom/holding) "OU" = ( /obj/item/clothing/under/costume/jabroni, /obj/item/clothing/under/costume/geisha, @@ -17088,47 +17331,16 @@ }, /turf/open/floor/wood, /area/syndicate_mothership) -"OW" = ( -/obj/structure/bedsheetbin/towel, -/obj/machinery/light{ - dir = 8 - }, -/turf/open/floor/mineral/titanium/blue, -/area/centcom/holding) "OZ" = ( /obj/effect/turf_decal/delivery, /turf/open/floor/plating, /area/syndicate_mothership) -"Pc" = ( -/obj/structure/sink/kitchen{ - desc = "A sink used for washing one's hands and face. It looks rusty and home-made"; - name = "sink"; - pixel_y = 28 - }, -/obj/effect/turf_decal/tile/green{ - dir = 1 - }, -/obj/effect/turf_decal/tile/green, -/obj/effect/turf_decal/tile/green{ - dir = 4 - }, -/obj/effect/turf_decal/tile/green{ - dir = 8 - }, -/obj/item/paper/guides/jobs/hydroponics, -/obj/item/book/manual/hydroponics_pod_people, -/turf/open/indestructible/hotelwood, -/area/centcom/holding) "Pg" = ( /obj/machinery/light{ dir = 1 }, /turf/open/floor/plasteel/dark, /area/centcom/supplypod) -"Ph" = ( -/obj/structure/closet/crate/bin, -/turf/open/indestructible/hotelwood, -/area/centcom/holding) "Pl" = ( /obj/structure/window/reinforced, /obj/structure/window/reinforced{ @@ -17147,6 +17359,14 @@ }, /turf/open/indestructible/boss/air, /area/centcom/holding) +"Pp" = ( +/obj/structure/table, +/obj/machinery/microwave{ + pixel_x = -3; + pixel_y = 6 + }, +/turf/open/floor/plasteel/cafeteria, +/area/centcom/holding) "Pr" = ( /obj/structure/table, /obj/item/book/manual/chef_recipes, @@ -17170,6 +17390,15 @@ /obj/machinery/light/small, /turf/open/floor/wood, /area/syndicate_mothership) +"Px" = ( +/obj/machinery/shower{ + dir = 8 + }, +/turf/open/floor/plasteel/freezer, +/area/centcom/holding) +"Pz" = ( +/turf/open/floor/plasteel/freezer, +/area/centcom/holding) "PA" = ( /obj/structure/window/reinforced{ dir = 4 @@ -17179,13 +17408,8 @@ "PD" = ( /turf/open/floor/plasteel/cafeteria, /area/syndicate_mothership) -"PG" = ( -/obj/structure/table/reinforced, -/obj/item/camera, -/turf/open/floor/plasteel, -/area/centcom/supplypod) -"PI" = ( -/obj/machinery/biogenerator, +"PE" = ( +/obj/machinery/vending/hydroseeds, /obj/effect/turf_decal/tile/green{ dir = 1 }, @@ -17198,6 +17422,28 @@ }, /turf/open/indestructible/hotelwood, /area/centcom/holding) +"PG" = ( +/obj/structure/table/reinforced, +/obj/item/camera, +/turf/open/floor/plasteel, +/area/centcom/supplypod) +"PI" = ( +/obj/structure/table, +/obj/machinery/reagentgrinder, +/obj/item/reagent_containers/glass/beaker/large, +/obj/effect/turf_decal/tile/green{ + dir = 1 + }, +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/obj/machinery/light, +/turf/open/indestructible/hotelwood, +/area/centcom/holding) "PJ" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -17205,17 +17451,16 @@ /turf/open/floor/plating, /area/syndicate_mothership) "PL" = ( -/obj/machinery/autolathe, -/turf/open/indestructible/hotelwood, -/area/centcom/holding) -"PM" = ( -/obj/machinery/vending/clothing{ - extended_inventory = 1 +/obj/machinery/light{ + dir = 8 }, -/turf/open/floor/wood, +/turf/open/indestructible/hotelwood, /area/centcom/holding) "PO" = ( /obj/machinery/hydroponics/constructable, +/obj/machinery/light{ + dir = 8 + }, /obj/effect/turf_decal/tile/green{ dir = 1 }, @@ -17234,11 +17479,6 @@ }, /turf/open/floor/plating, /area/syndicate_mothership) -"PQ" = ( -/obj/structure/closet/secure_closet, -/obj/item/coin/silver, -/turf/open/indestructible/hotelwood, -/area/centcom/holding) "PS" = ( /obj/machinery/computer/shuttle/syndicate/recall, /obj/effect/turf_decal/tile/bar, @@ -17268,6 +17508,9 @@ /turf/open/indestructible/hotelwood, /area/centcom/holding) "PY" = ( +/obj/structure/closet/secure_closet/hydroponics{ + locked = 0 + }, /obj/effect/turf_decal/tile/green{ dir = 1 }, @@ -17278,6 +17521,10 @@ /obj/effect/turf_decal/tile/green{ dir = 8 }, +/obj/item/seeds/ambrosia/gaia, +/obj/item/seeds/ambrosia/gaia, +/obj/item/seeds/pumpkin/blumpkin, +/obj/item/seeds/pumpkin/blumpkin, /turf/open/indestructible/hotelwood, /area/centcom/holding) "PZ" = ( @@ -17294,18 +17541,20 @@ }, /turf/open/floor/mineral/titanium, /area/centcom/evac) -"Qc" = ( -/obj/effect/landmark/mafia_game_area, -/turf/open/space/basic, -/area/space) +"Qd" = ( +/obj/structure/table/optable, +/turf/open/floor/plasteel/white, +/area/centcom/holding) "Qe" = ( /turf/open/ai_visible, /area/ai_multicam_room) -"Qi" = ( -/obj/item/paicard, -/obj/structure/table/wood, -/turf/open/floor/engine/cult, -/area/wizard_station) +"Qh" = ( +/obj/machinery/door/airlock/wood{ + id_tag = "Ninja1"; + name = "Dorm 1" + }, +/turf/open/floor/wood, +/area/centcom/holding) "Qk" = ( /obj/structure/flora/ausbushes/fullgrass, /obj/structure/flora/ausbushes/ppflowers, @@ -17313,31 +17562,27 @@ /obj/structure/window/reinforced/fulltile, /turf/open/indestructible/hotelwood, /area/centcom/holding) -"Ql" = ( -/obj/machinery/light, -/obj/effect/landmark/holding_facility, -/turf/open/indestructible/hotelwood, -/area/centcom/holding) "Qm" = ( /obj/singularity/wizard/mapped, /turf/open/indestructible/binary, /area/fabric_of_reality) "Qn" = ( -/obj/machinery/vr_sleeper/hugbox{ - dir = 8 - }, +/obj/machinery/door/airlock/wood, /turf/open/indestructible/hotelwood, /area/centcom/holding) "Qo" = ( /turf/open/floor/mineral/plastitanium/red, /area/centcom/evac) -"Qp" = ( -/obj/structure/bedsheetbin, -/turf/open/indestructible/hotelwood, -/area/centcom/holding) "Qq" = ( /turf/open/floor/plasteel/freezer, /area/syndicate_mothership) +"Qs" = ( +/obj/structure/table/wood/bar, +/obj/structure/safe/floor, +/obj/item/seeds/cherry/bomb, +/obj/item/key/janitor, +/turf/open/indestructible/hotelwood, +/area/centcom/holding) "Qt" = ( /obj/structure/table/wood, /obj/item/reagent_containers/food/snacks/pizzaslice/mushroom, @@ -17347,20 +17592,33 @@ }, /turf/open/floor/plasteel, /area/syndicate_mothership) -"Qu" = ( -/obj/machinery/door/airlock/wood/glass{ - name = "Dorms" - }, -/turf/open/floor/wood, -/area/centcom/holding) "Qw" = ( -/turf/open/floor/plasteel/freezer, -/area/centcom/holding) +/obj/structure/table, +/obj/item/clothing/gloves/boxing, +/obj/item/clothing/gloves/boxing/blue, +/obj/item/clothing/gloves/boxing/green, +/obj/item/clothing/gloves/boxing/yellow, +/turf/open/floor/holofloor/wood, +/area/holodeck/rec_center/wrestlingarena) "Qy" = ( -/obj/structure/closet/crate/bin, -/turf/open/floor/plasteel/white, +/obj/structure/table/wood/fancy/royalblue, +/turf/open/indestructible/hotelwood, /area/centcom/holding) -"Qz" = ( +"QA" = ( +/obj/machinery/deepfryer, +/turf/open/floor/plasteel/cafeteria, +/area/centcom/holding) +"QB" = ( +/obj/machinery/computer/telecrystals/uplinker, +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/syndicate_mothership) +"QE" = ( +/turf/open/floor/plasteel, +/area/centcom/supplypod) +"QF" = ( /obj/item/coin/silver, /obj/item/coin/silver, /obj/item/coin/silver, @@ -17379,42 +17637,6 @@ }, /turf/open/indestructible/hotelwood, /area/centcom/holding) -"QA" = ( -/obj/machinery/deepfryer, -/turf/open/floor/plasteel/cafeteria, -/area/centcom/holding) -"QB" = ( -/obj/machinery/computer/telecrystals/uplinker, -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/turf/open/floor/mineral/plastitanium/red, -/area/syndicate_mothership) -"QC" = ( -/obj/machinery/door/airlock/wood{ - name = "Bathroom" - }, -/turf/open/floor/mineral/titanium/blue, -/area/centcom/holding) -"QE" = ( -/turf/open/floor/plasteel, -/area/centcom/supplypod) -"QF" = ( -/obj/machinery/button/door{ - id = "Ninja3"; - name = "Dorm Bolt Control"; - normaldoorcontrol = 1; - pixel_y = -25; - specialfunctions = 4 - }, -/turf/open/indestructible/hotelwood, -/area/centcom/holding) -"QJ" = ( -/obj/structure/sign/barsign{ - pixel_y = 32 - }, -/turf/open/indestructible/hotelwood, -/area/centcom/holding) "QK" = ( /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, @@ -17426,11 +17648,18 @@ /obj/structure/window/reinforced/fulltile, /turf/open/indestructible/hotelwood, /area/centcom/holding) -"QN" = ( -/obj/machinery/light{ - dir = 4 +"QM" = ( +/obj/effect/mob_spawn/human/ghostcafe{ + dir = 8 }, -/turf/open/floor/mineral/titanium/blue, +/turf/open/indestructible/hotelwood, +/area/centcom/holding) +"QN" = ( +/obj/structure/closet/secure_closet/personal/cabinet, +/obj/item/reagent_containers/rag/towel, +/obj/item/reagent_containers/rag/towel, +/obj/item/reagent_containers/rag/towel, +/turf/open/floor/carpet/red, /area/centcom/holding) "QP" = ( /obj/machinery/computer/mech_bay_power_console{ @@ -17450,6 +17679,15 @@ /obj/item/storage/box/donkpockets, /turf/open/floor/plasteel/cafeteria, /area/syndicate_mothership) +"QS" = ( +/obj/structure/chair/wood/normal{ + dir = 1 + }, +/obj/machinery/light{ + dir = 8 + }, +/turf/open/indestructible/hotelwood, +/area/centcom/holding) "QT" = ( /obj/machinery/chem_dispenser/drinks, /turf/closed/indestructible{ @@ -17501,26 +17739,6 @@ }, /turf/open/floor/grass, /area/centcom/holding) -"Ri" = ( -/obj/structure/chair/wood/normal{ - dir = 1 - }, -/turf/open/indestructible/hotelwood, -/area/centcom/holding) -"Rj" = ( -/obj/machinery/vending/hydroseeds, -/obj/effect/turf_decal/tile/green{ - dir = 1 - }, -/obj/effect/turf_decal/tile/green, -/obj/effect/turf_decal/tile/green{ - dir = 4 - }, -/obj/effect/turf_decal/tile/green{ - dir = 8 - }, -/turf/open/indestructible/hotelwood, -/area/centcom/holding) "Rl" = ( /obj/structure/mirror{ pixel_x = -28 @@ -17535,39 +17753,14 @@ }, /turf/open/indestructible/hotelwood, /area/centcom/holding) -"Ro" = ( -/obj/structure/closet{ - anchored = 1; - desc = "A storage unit for plasmaman internals, courtesy of the Spider Clan."; - icon_state = "emergency"; - name = "Plasmaman emergency closet" - }, -/obj/item/clothing/mask/breath, -/obj/item/clothing/mask/breath, -/obj/item/clothing/mask/breath, -/obj/item/clothing/mask/breath, -/obj/item/clothing/mask/breath, -/obj/item/tank/internals/plasmaman/belt/full, -/obj/item/tank/internals/plasmaman/belt/full, -/obj/item/tank/internals/plasmaman/belt/full, -/obj/item/tank/internals/plasmaman/belt/full, -/obj/item/tank/internals/plasmaman/belt/full, -/turf/open/indestructible/hotelwood, -/area/centcom/holding) "Rq" = ( -/obj/machinery/light{ - dir = 1; - light_color = "#cee5d2" - }, -/turf/open/indestructible/hotelwood, +/obj/machinery/washing_machine, +/turf/open/floor/mineral/titanium/blue, /area/centcom/holding) "Ru" = ( -/obj/structure/fireplace, -/turf/open/floor/carpet/red, -/area/centcom/holding) -"Rv" = ( -/obj/structure/dresser, -/turf/open/floor/carpet/royalblue, +/obj/structure/table, +/obj/item/storage/backpack/duffelbag/med/surgery, +/turf/open/floor/plasteel/white, /area/centcom/holding) "Rz" = ( /obj/effect/turf_decal/loading_area, @@ -17583,48 +17776,12 @@ }, /turf/open/floor/holofloor, /area/holodeck/rec_center/basketball) -"RK" = ( -/obj/structure/closet/crate/freezer/blood, -/turf/open/floor/plasteel/white, -/area/centcom/holding) -"RL" = ( -/obj/machinery/vending/cola, +"RM" = ( +/obj/structure/chair/comfy/brown{ + color = "#596479" + }, /turf/open/indestructible/hotelwood, /area/centcom/holding) -"RN" = ( -/obj/structure/table, -/obj/machinery/reagentgrinder, -/obj/item/reagent_containers/glass/beaker/large, -/obj/effect/turf_decal/tile/green{ - dir = 1 - }, -/obj/effect/turf_decal/tile/green, -/obj/effect/turf_decal/tile/green{ - dir = 4 - }, -/obj/effect/turf_decal/tile/green{ - dir = 8 - }, -/obj/machinery/light, -/turf/open/indestructible/hotelwood, -/area/centcom/holding) -"RO" = ( -/obj/machinery/shower{ - dir = 1 - }, -/obj/structure/window{ - dir = 8 - }, -/obj/structure/curtain, -/turf/open/floor/mineral/titanium/blue, -/area/centcom/holding) -"RP" = ( -/obj/machinery/door/airlock/wood{ - id_tag = "Ninja4"; - name = "Dorm 4" - }, -/turf/open/floor/wood, -/area/centcom/holding) "RQ" = ( /obj/item/kirbyplants{ icon_state = "plant-21"; @@ -17647,12 +17804,6 @@ }, /turf/open/indestructible/hotelwood, /area/centcom/holding) -"RX" = ( -/obj/structure/chair/comfy/brown{ - color = "#596479" - }, -/turf/open/indestructible/hotelwood, -/area/centcom/holding) "RZ" = ( /obj/effect/turf_decal/tile/bar, /obj/effect/turf_decal/tile/bar{ @@ -17671,6 +17822,9 @@ /turf/open/floor/plasteel/dark, /area/syndicate_mothership) "Sd" = ( +/obj/structure/sign/painting{ + pixel_x = 32 + }, /turf/open/indestructible/hotelwood, /area/centcom/holding) "Sf" = ( @@ -17698,13 +17852,6 @@ /obj/item/toy/nuke, /turf/open/floor/wood, /area/syndicate_mothership) -"Sj" = ( -/obj/machinery/vending/autodrobe{ - extended_inventory = 1 - }, -/obj/machinery/light, -/turf/open/floor/wood, -/area/centcom/holding) "So" = ( /obj/structure/chair/wood/wings{ dir = 4 @@ -17714,21 +17861,15 @@ }, /turf/open/indestructible/hotelwood, /area/centcom/holding) -"Sw" = ( -/obj/machinery/hydroponics/constructable, -/obj/machinery/light{ - dir = 8 - }, -/obj/effect/turf_decal/tile/green{ - dir = 1 - }, -/obj/effect/turf_decal/tile/green, -/obj/effect/turf_decal/tile/green{ +"St" = ( +/obj/machinery/shower{ dir = 4 }, -/obj/effect/turf_decal/tile/green{ - dir = 8 - }, +/turf/open/floor/plasteel/freezer, +/area/centcom/holding) +"Sv" = ( +/obj/structure/closet/secure_closet, +/obj/item/coin/silver, /turf/open/indestructible/hotelwood, /area/centcom/holding) "Sy" = ( @@ -17755,6 +17896,13 @@ /obj/item/mop, /turf/open/floor/plasteel/freezer, /area/syndicate_mothership) +"SE" = ( +/obj/structure/chair/wood/normal, +/obj/machinery/light{ + dir = 8 + }, +/turf/open/indestructible/hotelwood, +/area/centcom/holding) "SF" = ( /obj/effect/turf_decal/tile/brown{ dir = 1 @@ -17764,14 +17912,6 @@ }, /turf/open/floor/plasteel, /area/centcom/supplypod) -"SG" = ( -/obj/structure/table, -/obj/machinery/microwave{ - pixel_x = -3; - pixel_y = 6 - }, -/turf/open/floor/plasteel/cafeteria, -/area/centcom/holding) "SH" = ( /obj/effect/turf_decal/tile/green{ dir = 8 @@ -17789,6 +17929,13 @@ }, /turf/open/floor/plasteel, /area/centcom/supplypod/loading/two) +"SM" = ( +/obj/machinery/vending/autodrobe{ + extended_inventory = 1 + }, +/obj/machinery/light, +/turf/open/floor/wood, +/area/centcom/holding) "SN" = ( /obj/structure/mopbucket, /obj/item/mop, @@ -17798,16 +17945,12 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/space/basic, /area/centcom/supplypod) -"SR" = ( -/obj/machinery/door/airlock/wood{ - id_tag = "Ninja7"; - name = "Dorm 7" +"SU" = ( +/obj/machinery/light{ + dir = 4 }, /turf/open/indestructible/hotelwood, /area/centcom/holding) -"ST" = ( -/turf/open/floor/mineral/titanium/blue, -/area/centcom/holding) "SV" = ( /obj/effect/turf_decal/tile/bar, /obj/effect/turf_decal/tile/bar{ @@ -17817,7 +17960,14 @@ /turf/open/floor/plasteel, /area/syndicate_mothership) "SW" = ( -/obj/machinery/seed_extractor, +/obj/structure/closet/crate/hydroponics, +/obj/item/shovel/spade, +/obj/item/wirecutters, +/obj/item/wrench, +/obj/item/watertank, +/obj/item/cultivator, +/obj/item/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/bucket, /obj/effect/turf_decal/tile/green{ dir = 1 }, @@ -17834,28 +17984,18 @@ /obj/structure/table/wood, /turf/open/indestructible/hotelwood, /area/centcom/holding) -"SZ" = ( -/obj/machinery/door/airlock/wood{ - id_tag = "Ninja3"; - name = "Dorm 3" - }, -/turf/open/floor/wood, -/area/centcom/holding) -"Tc" = ( -/obj/machinery/button/door{ - id = "Ninja2"; - name = "Dorm Bolt Control"; - normaldoorcontrol = 1; - pixel_y = -25; - specialfunctions = 4 - }, -/turf/open/indestructible/hotelwood, +"Td" = ( +/obj/structure/fireplace, +/turf/open/floor/carpet/red, /area/centcom/holding) "Tf" = ( -/obj/machinery/shower{ - dir = 8 - }, -/turf/open/floor/plasteel/freezer, +/obj/machinery/light, +/obj/effect/landmark/holding_facility, +/turf/open/indestructible/hotelwood, +/area/centcom/holding) +"Tg" = ( +/obj/structure/closet/crate/bin, +/turf/open/floor/plasteel/white, /area/centcom/holding) "Tj" = ( /obj/effect/turf_decal/tile/bar, @@ -17875,26 +18015,14 @@ "To" = ( /turf/open/indestructible/airblock, /area/fabric_of_reality) -"Tq" = ( -/obj/structure/table/wood/bar, -/obj/item/stack/sheet/glass/fifty, -/obj/item/stack/sheet/metal/fifty, -/obj/item/storage/toolbox/mechanical, -/obj/item/stack/sheet/plastic/fifty, -/obj/item/multitool, -/turf/open/indestructible/hotelwood, -/area/centcom/holding) "Tr" = ( /obj/structure/closet/chefcloset, /turf/open/floor/plasteel/cafeteria, /area/centcom/holding) -"Tt" = ( -/obj/structure/toilet{ +"Ts" = ( +/obj/machinery/light{ dir = 4 }, -/obj/structure/window/reinforced/tinted{ - dir = 1 - }, /turf/open/floor/plasteel/white, /area/centcom/holding) "Tu" = ( @@ -17905,38 +18033,6 @@ /obj/structure/window/reinforced/fulltile, /turf/open/indestructible/hotelwood, /area/centcom/holding) -"Tw" = ( -/obj/structure/closet{ - anchored = 1; - name = "Plasmaman suits" - }, -/obj/item/clothing/under/plasmaman, -/obj/item/clothing/under/plasmaman, -/obj/item/clothing/under/plasmaman, -/obj/item/clothing/under/plasmaman, -/obj/item/clothing/under/plasmaman, -/obj/item/clothing/head/helmet/space/plasmaman, -/obj/item/clothing/head/helmet/space/plasmaman, -/obj/item/clothing/head/helmet/space/plasmaman, -/obj/item/clothing/head/helmet/space/plasmaman, -/obj/item/clothing/head/helmet/space/plasmaman, -/turf/open/indestructible/hotelwood, -/area/centcom/holding) -"Tx" = ( -/obj/machinery/plantgenes/seedvault, -/obj/effect/turf_decal/tile/green{ - dir = 1 - }, -/obj/effect/turf_decal/tile/green, -/obj/effect/turf_decal/tile/green{ - dir = 4 - }, -/obj/effect/turf_decal/tile/green{ - dir = 8 - }, -/obj/structure/table, -/turf/open/indestructible/hotelwood, -/area/centcom/holding) "Tz" = ( /obj/effect/light_emitter, /turf/open/floor/plating/asteroid/snow/airless, @@ -17951,17 +18047,9 @@ /obj/structure/reagent_dispensers/cooking_oil, /turf/open/floor/plasteel/cafeteria, /area/centcom/holding) -"TC" = ( -/obj/machinery/light, -/turf/open/floor/plasteel/freezer, -/area/centcom/holding) "TD" = ( -/obj/machinery/light{ - dir = 4 - }, -/obj/structure/sign/painting{ - pixel_x = 32 - }, +/obj/structure/table/wood, +/obj/machinery/computer/libraryconsole/bookmanagement, /turf/open/indestructible/hotelwood, /area/centcom/holding) "TF" = ( @@ -17973,15 +18061,12 @@ }, /turf/open/floor/holofloor, /area/holodeck/rec_center/basketball) -"TG" = ( -/obj/machinery/light{ - dir = 8 +"TJ" = ( +/obj/machinery/door/airlock/wood{ + id_tag = "Ninja5"; + name = "Dorm 5" }, -/obj/structure/window/reinforced/tinted{ - dir = 1 - }, -/obj/machinery/washing_machine, -/turf/open/floor/plasteel/white, +/turf/open/floor/wood, /area/centcom/holding) "TM" = ( /mob/living/simple_animal/bot/medbot{ @@ -18008,24 +18093,46 @@ }, /turf/open/floor/plasteel/freezer, /area/syndicate_mothership) -"TY" = ( -/obj/machinery/light{ - dir = 1 +"TS" = ( +/obj/structure/closet{ + anchored = 1; + name = "Plasmaman suits" }, -/obj/item/soap, -/obj/item/soap, -/obj/item/soap, -/obj/item/janiupgrade, -/obj/vehicle/ridden/janicart, +/obj/item/clothing/under/plasmaman, +/obj/item/clothing/under/plasmaman, +/obj/item/clothing/under/plasmaman, +/obj/item/clothing/under/plasmaman, +/obj/item/clothing/under/plasmaman, +/obj/item/clothing/head/helmet/space/plasmaman, +/obj/item/clothing/head/helmet/space/plasmaman, +/obj/item/clothing/head/helmet/space/plasmaman, +/obj/item/clothing/head/helmet/space/plasmaman, +/obj/item/clothing/head/helmet/space/plasmaman, /turf/open/indestructible/hotelwood, /area/centcom/holding) +"TV" = ( +/obj/structure/table, +/obj/item/stack/packageWrap, +/obj/item/reagent_containers/glass/beaker, +/turf/open/floor/plasteel/cafeteria, +/area/centcom/holding) +"TY" = ( +/obj/structure/bedsheetbin/color, +/turf/open/indestructible/hotelwood, +/area/centcom/holding) +"TZ" = ( +/obj/machinery/sleeper{ + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/centcom/holding) "Uc" = ( -/obj/machinery/vending/sustenance, +/obj/structure/bodycontainer/crematorium{ + dir = 4; + id = "crematoriumGhostDojo" + }, /turf/open/indestructible/hotelwood, /area/centcom/holding) -"Ud" = ( -/turf/closed/indestructible/wood, -/area/centcom/holding) "Ug" = ( /obj/machinery/door/poddoor/shuttledock{ checkdir = 1; @@ -18045,11 +18152,6 @@ }, /turf/open/indestructible/hotelwood, /area/centcom/holding) -"Ui" = ( -/obj/structure/table, -/obj/item/clothing/mask/luchador/tecnicos, -/turf/open/floor/holofloor/wood, -/area/holodeck/rec_center/wrestlingarena) "Uj" = ( /obj/machinery/door/airlock/centcom{ name = "Restroom"; @@ -18058,23 +18160,7 @@ /turf/open/floor/plasteel, /area/syndicate_mothership) "Uk" = ( -/obj/structure/closet/crate, -/obj/item/vending_refill/autodrobe, -/obj/item/vending_refill/autodrobe, -/obj/item/vending_refill/boozeomat, -/obj/item/vending_refill/boozeomat, -/obj/item/vending_refill/cigarette, -/obj/item/vending_refill/cigarette, -/obj/item/vending_refill/clothing, -/obj/item/vending_refill/coffee, -/obj/item/vending_refill/coffee, -/obj/item/vending_refill/cola, -/obj/item/vending_refill/cola, -/obj/item/vending_refill/wallmed, -/obj/item/vending_refill/wallmed, -/obj/item/vending_refill/snack, -/obj/item/vending_refill/snack, -/turf/open/indestructible/hotelwood, +/turf/open/floor/mineral/titanium/blue, /area/centcom/holding) "Ul" = ( /obj/structure/table, @@ -18083,15 +18169,27 @@ }, /turf/open/floor/plasteel/cafeteria, /area/syndicate_mothership) -"Um" = ( -/obj/structure/closet/crate/hydroponics, -/obj/item/shovel/spade, -/obj/item/wirecutters, -/obj/item/wrench, -/obj/item/watertank, -/obj/item/cultivator, -/obj/item/reagent_containers/glass/bucket, -/obj/item/reagent_containers/glass/bucket, +"Un" = ( +/obj/machinery/door/airlock/centcom{ + name = "Thunderdome"; + req_access_txt = "101" + }, +/obj/effect/turf_decal/stripes/line, +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/turf/open/floor/plasteel, +/area/tdome/tdomeobserve) +"Uq" = ( +/obj/machinery/button/door{ + id = "Ninja2"; + name = "Dorm Bolt Control"; + normaldoorcontrol = 1; + pixel_y = -25; + specialfunctions = 4 + }, +/turf/open/indestructible/hotelwood, +/area/centcom/holding) +"Ur" = ( +/obj/machinery/hydroponics/constructable, /obj/effect/turf_decal/tile/green{ dir = 1 }, @@ -18104,29 +18202,6 @@ }, /turf/open/indestructible/hotelwood, /area/centcom/holding) -"Un" = ( -/obj/machinery/door/airlock/centcom{ - name = "Thunderdome"; - req_access_txt = "101" - }, -/obj/effect/turf_decal/stripes/line, -/obj/effect/mapping_helpers/airlock/cyclelink_helper, -/turf/open/floor/plasteel, -/area/tdome/tdomeobserve) -"Uq" = ( -/obj/structure/table/wood, -/obj/item/soap, -/obj/item/soap, -/obj/item/soap, -/obj/item/lightreplacer, -/obj/item/lightreplacer, -/obj/item/storage/bag/trash, -/obj/item/storage/bag/trash, -/turf/open/indestructible/hotelwood, -/area/centcom/holding) -"Ur" = ( -/turf/open/floor/carpet/royalblue, -/area/centcom/holding) "Uu" = ( /obj/machinery/light{ dir = 8 @@ -18143,30 +18218,19 @@ }, /turf/open/floor/mineral/plastitanium/red, /area/centcom/evac) +"Ux" = ( +/obj/structure/table, +/turf/open/floor/plasteel/white, +/area/centcom/holding) "Uy" = ( /obj/structure/flora/bush, /obj/effect/light_emitter, /turf/open/floor/plating/asteroid/snow/airless, /area/syndicate_mothership) -"Uz" = ( -/obj/structure/table, -/obj/machinery/dish_drive, -/turf/open/floor/plasteel/cafeteria, -/area/centcom/holding) "UC" = ( /obj/machinery/vending/cola, /turf/open/floor/plasteel, /area/centcom/supplypod) -"UD" = ( -/obj/structure/closet/secure_closet/personal/cabinet{ - desc = "Swipe your ID on the closet to claim it. First come first serve, this one is wooden and fancy. Store your stuff here."; - name = "Personal ID-Locked Closet" - }, -/obj/item/coin/silver, -/obj/item/coin/silver, -/obj/item/coin/silver, -/turf/open/indestructible/hotelwood, -/area/centcom/holding) "UE" = ( /obj/structure/chair/stool/bar, /turf/open/indestructible/hotelwood, @@ -18177,6 +18241,13 @@ /obj/effect/light_emitter, /turf/open/floor/plating/asteroid/snow/airless, /area/syndicate_mothership) +"UI" = ( +/obj/machinery/door/airlock/wood{ + id_tag = "Ninja4"; + name = "Dorm 4" + }, +/turf/open/floor/wood, +/area/centcom/holding) "UL" = ( /obj/effect/turf_decal/tile/brown, /obj/effect/turf_decal/tile/brown{ @@ -18187,17 +18258,6 @@ }, /turf/open/floor/plasteel, /area/centcom/supplypod) -"UN" = ( -/obj/structure/mirror{ - pixel_y = 28 - }, -/obj/structure/sink{ - dir = 1; - pixel_y = 25 - }, -/mob/living/simple_animal/bot/cleanbot, -/turf/open/floor/mineral/titanium/blue, -/area/centcom/holding) "UO" = ( /obj/machinery/door/airlock/centcom{ name = "CentCom Security"; @@ -18211,6 +18271,10 @@ }, /turf/open/floor/plasteel, /area/centcom/control) +"UP" = ( +/obj/structure/chair/comfy/brown, +/turf/open/indestructible/hotelwood, +/area/centcom/holding) "UQ" = ( /obj/effect/turf_decal/tile/brown, /obj/effect/turf_decal/tile/brown{ @@ -18221,16 +18285,21 @@ }, /turf/open/floor/plasteel, /area/centcom/supplypod/loading/one) -"US" = ( -/obj/machinery/gibber, -/turf/open/floor/plasteel/cafeteria, -/area/centcom/holding) "UT" = ( /obj/structure/chair/wood/wings{ dir = 1 }, /turf/open/indestructible/hotelwood, /area/centcom/holding) +"UU" = ( +/obj/structure/table/wood/bar, +/obj/item/stack/sheet/glass/fifty, +/obj/item/stack/sheet/metal/fifty, +/obj/item/storage/toolbox/mechanical, +/obj/item/stack/sheet/plastic/fifty, +/obj/item/multitool, +/turf/open/indestructible/hotelwood, +/area/centcom/holding) "UV" = ( /obj/machinery/computer/arcade, /turf/open/indestructible/hotelwood, @@ -18292,11 +18361,11 @@ /obj/structure/window/reinforced/tinted, /turf/open/floor/plasteel/freezer, /area/syndicate_mothership) -"Vk" = ( -/obj/structure/table, -/obj/item/storage/belt/champion/wrestling/holodeck, -/turf/open/floor/holofloor/wood, -/area/holodeck/rec_center/wrestlingarena) +"Vn" = ( +/obj/item/storage/box/bodybags, +/obj/item/storage/box/bodybags, +/turf/open/indestructible/hotelwood, +/area/centcom/holding) "Vt" = ( /obj/item/paper/fluff/stations/centcom/disk_memo, /obj/structure/noticeboard{ @@ -18359,6 +18428,16 @@ }, /turf/open/floor/plasteel, /area/centcom/supplypod/loading/one) +"VC" = ( +/obj/machinery/button/door{ + id = "Ninja6"; + name = "Dorm Bolt Control"; + normaldoorcontrol = 1; + pixel_y = 25; + specialfunctions = 4 + }, +/turf/open/indestructible/hotelwood, +/area/centcom/holding) "VF" = ( /obj/structure/rack, /obj/item/nullrod/scythe/vibro{ @@ -18367,11 +18446,16 @@ }, /turf/open/indestructible/hotelwood, /area/centcom/holding) -"VL" = ( -/obj/machinery/button/crematorium{ - id = "crematoriumGhostDojo"; - pixel_x = -25 - }, +"VH" = ( +/obj/machinery/vending/sustenance, +/turf/open/indestructible/hotelwood, +/area/centcom/holding) +"VI" = ( +/obj/machinery/autolathe, +/turf/open/indestructible/hotelwood, +/area/centcom/holding) +"VK" = ( +/obj/machinery/vending/clothing, /turf/open/indestructible/hotelwood, /area/centcom/holding) "VO" = ( @@ -18406,6 +18490,10 @@ /obj/effect/landmark/shuttle_import, /turf/open/space/basic, /area/space) +"VY" = ( +/obj/machinery/vending/cola, +/turf/open/indestructible/hotelwood, +/area/centcom/holding) "Wb" = ( /obj/machinery/door/window/westleft, /turf/open/indestructible/boss/air, @@ -18423,6 +18511,10 @@ }, /turf/open/floor/plasteel, /area/centcom/evac) +"We" = ( +/obj/machinery/vending/coffee, +/turf/open/indestructible/hotelwood, +/area/centcom/holding) "Wi" = ( /obj/effect/turf_decal/tile/brown, /obj/effect/turf_decal/tile/brown{ @@ -18440,58 +18532,38 @@ }, /turf/open/floor/plating, /area/syndicate_mothership) -"Wl" = ( -/obj/machinery/door/airlock/wood, -/turf/open/indestructible/hotelwood, +"Wp" = ( +/obj/machinery/processor, +/obj/machinery/light{ + dir = 1 + }, +/turf/open/floor/plasteel/cafeteria, +/area/centcom/holding) +"Wq" = ( +/obj/machinery/gibber, +/turf/open/floor/plasteel/cafeteria, /area/centcom/holding) "Wr" = ( /turf/open/floor/plasteel/dark, /area/centcom/supplypod) -"Ws" = ( -/obj/machinery/door/airlock/wood{ - id_tag = "Ninja6"; - name = "Dorm 6" +"Wu" = ( +/obj/effect/turf_decal/tile/green{ + dir = 1 }, -/turf/open/floor/wood, -/area/centcom/holding) -"Ww" = ( -/obj/structure/bodycontainer/crematorium{ - dir = 4; - id = "crematoriumGhostDojo" +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/effect/turf_decal/tile/green{ + dir = 8 }, /turf/open/indestructible/hotelwood, /area/centcom/holding) -"Wx" = ( -/obj/structure/table, -/obj/item/clothing/mask/luchador, -/turf/open/floor/holofloor/wood, -/area/holodeck/rec_center/wrestlingarena) -"Wz" = ( -/obj/structure/table, -/obj/item/storage/backpack/duffelbag/med/surgery, -/turf/open/floor/plasteel/white, -/area/centcom/holding) "WC" = ( /obj/structure/table/reinforced, /obj/item/pen, /turf/open/floor/mineral/plastitanium/red, /area/centcom/evac) -"WD" = ( -/obj/structure/mopbucket, -/obj/item/mop, -/obj/structure/sink/kitchen{ - desc = "A sink used for washing one's hands and face. It looks rusty and home-made"; - name = "sink"; - pixel_y = 28 - }, -/turf/open/indestructible/hotelwood, -/area/centcom/holding) -"WE" = ( -/obj/machinery/vending/kink{ - extended_inventory = 1 - }, -/turf/open/floor/wood, -/area/centcom/holding) "WH" = ( /obj/structure/table/reinforced, /obj/item/reagent_containers/food/drinks/bottle/whiskey{ @@ -18523,16 +18595,6 @@ }, /turf/open/indestructible/hotelwood, /area/centcom/holding) -"WN" = ( -/obj/machinery/button/door{ - id = "Ninja6"; - name = "Dorm Bolt Control"; - normaldoorcontrol = 1; - pixel_y = 25; - specialfunctions = 4 - }, -/turf/open/indestructible/hotelwood, -/area/centcom/holding) "WO" = ( /obj/effect/turf_decal/tile/brown, /obj/effect/turf_decal/tile/brown{ @@ -18554,27 +18616,44 @@ }, /turf/open/floor/plasteel, /area/centcom/ferry) +"WR" = ( +/obj/structure/bed, +/obj/item/bedsheet/syndie, +/obj/effect/landmark/holding_facility, +/turf/open/indestructible/hotelwood, +/area/centcom/holding) "WS" = ( /obj/structure/closet/syndicate/personal, /turf/open/floor/wood, /area/syndicate_mothership) "WV" = ( -/obj/structure/bed, -/obj/item/bedsheet/hos{ - desc = "A fancy red bedsheet."; - name = "red bedsheet" +/obj/machinery/vending/cigarette, +/obj/machinery/light{ + dir = 4 }, -/turf/open/floor/carpet/red, +/turf/open/indestructible/hotelwood, /area/centcom/holding) "WW" = ( /obj/machinery/processor, /turf/open/floor/plasteel/cafeteria, /area/syndicate_mothership) -"WY" = ( -/obj/machinery/vending/cigarette, -/obj/machinery/light{ - dir = 4 - }, +"Xb" = ( +/obj/structure/closet/crate, +/obj/item/vending_refill/autodrobe, +/obj/item/vending_refill/autodrobe, +/obj/item/vending_refill/boozeomat, +/obj/item/vending_refill/boozeomat, +/obj/item/vending_refill/cigarette, +/obj/item/vending_refill/cigarette, +/obj/item/vending_refill/clothing, +/obj/item/vending_refill/coffee, +/obj/item/vending_refill/coffee, +/obj/item/vending_refill/cola, +/obj/item/vending_refill/cola, +/obj/item/vending_refill/wallmed, +/obj/item/vending_refill/wallmed, +/obj/item/vending_refill/snack, +/obj/item/vending_refill/snack, /turf/open/indestructible/hotelwood, /area/centcom/holding) "Xd" = ( @@ -18584,23 +18663,6 @@ /obj/structure/window/reinforced/fulltile, /turf/open/indestructible/hotelwood, /area/centcom/holding) -"Xe" = ( -/obj/machinery/vending/autodrobe, -/turf/open/indestructible/hotelwood, -/area/centcom/holding) -"Xf" = ( -/obj/structure/table/wood/bar, -/obj/structure/mirror{ - pixel_y = 28 - }, -/obj/item/lightreplacer, -/obj/item/lightreplacer, -/obj/item/lightreplacer, -/obj/item/storage/bag/trash, -/obj/item/storage/bag/trash, -/obj/item/storage/bag/trash, -/turf/open/indestructible/hotelwood, -/area/centcom/holding) "Xg" = ( /obj/effect/turf_decal/tile/red{ dir = 4 @@ -18613,6 +18675,15 @@ }, /turf/open/floor/holofloor, /area/holodeck/rec_center/basketball) +"Xk" = ( +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/machinery/light{ + dir = 4 + }, +/turf/open/floor/grass, +/area/centcom/holding) "Xl" = ( /obj/structure/closet/syndicate/personal, /obj/effect/turf_decal/stripes/line{ @@ -18620,9 +18691,14 @@ }, /turf/open/floor/mineral/plastitanium/red, /area/syndicate_mothership) -"Xn" = ( -/obj/structure/bed, -/obj/item/bedsheet/random, +"Xm" = ( +/obj/machinery/button/door{ + id = "Ninja4"; + name = "Dorm Bolt Control"; + normaldoorcontrol = 1; + pixel_y = 25; + specialfunctions = 4 + }, /turf/open/indestructible/hotelwood, /area/centcom/holding) "Xo" = ( @@ -18646,10 +18722,6 @@ }, /turf/open/floor/plasteel, /area/centcom/supplypod/loading/four) -"Xs" = ( -/obj/structure/chair/comfy/brown, -/turf/open/indestructible/hotelwood, -/area/centcom/holding) "Xt" = ( /obj/machinery/door/airlock/centcom{ name = "CentCom Security"; @@ -18669,10 +18741,6 @@ /obj/effect/turf_decal/tile/green, /turf/open/floor/holofloor, /area/holodeck/rec_center/firingrange) -"Xw" = ( -/obj/structure/table/wood/fancy/royalblue, -/turf/open/indestructible/hotelwood, -/area/centcom/holding) "Xy" = ( /obj/machinery/door/airlock/external{ name = "Ferry Airlock" @@ -18685,16 +18753,6 @@ }, /turf/open/floor/plasteel, /area/centcom/ferry) -"XD" = ( -/obj/machinery/button/door{ - id = "Ninja4"; - name = "Dorm Bolt Control"; - normaldoorcontrol = 1; - pixel_y = 25; - specialfunctions = 4 - }, -/turf/open/indestructible/hotelwood, -/area/centcom/holding) "XE" = ( /obj/machinery/door/airlock/centcom{ name = "Kitchen"; @@ -18712,25 +18770,8 @@ }, /turf/open/indestructible/hotelwood, /area/centcom/holding) -"XS" = ( -/obj/structure/closet/secure_closet/hydroponics{ - locked = 0 - }, -/obj/effect/turf_decal/tile/green{ - dir = 1 - }, -/obj/effect/turf_decal/tile/green, -/obj/effect/turf_decal/tile/green{ - dir = 4 - }, -/obj/effect/turf_decal/tile/green{ - dir = 8 - }, -/obj/item/seeds/ambrosia/gaia, -/obj/item/seeds/ambrosia/gaia, -/obj/item/seeds/pumpkin/blumpkin, -/obj/item/seeds/pumpkin/blumpkin, -/turf/open/indestructible/hotelwood, +"XN" = ( +/turf/open/floor/carpet/red, /area/centcom/holding) "XT" = ( /obj/structure/table/wood, @@ -18743,6 +18784,12 @@ }, /turf/open/floor/mineral/plastitanium/red, /area/centcom/evac) +"XW" = ( +/obj/structure/extinguisher_cabinet{ + pixel_x = -27 + }, +/turf/open/indestructible/hotelwood, +/area/centcom/holding) "XX" = ( /obj/structure/table/wood, /obj/item/reagent_containers/food/drinks/bottle/sake, @@ -18755,14 +18802,8 @@ }, /turf/open/floor/plating, /area/syndicate_mothership) -"Ya" = ( -/obj/machinery/button/door{ - id = "Ninja1"; - name = "Dorm Bolt Control"; - normaldoorcontrol = 1; - pixel_y = -25; - specialfunctions = 4 - }, +"XZ" = ( +/obj/effect/landmark/holding_facility, /turf/open/indestructible/hotelwood, /area/centcom/holding) "Yc" = ( @@ -18794,30 +18835,14 @@ }, /turf/open/floor/plating, /area/syndicate_mothership) -"Yh" = ( -/obj/structure/extinguisher_cabinet{ - pixel_x = -27 - }, -/turf/open/indestructible/hotelwood, -/area/centcom/holding) "Yi" = ( /obj/structure/dresser, /turf/open/floor/plasteel/dark, /area/syndicate_mothership) -"Yj" = ( -/obj/structure/table/optable, -/turf/open/floor/plasteel/white, -/area/centcom/holding) "Ym" = ( /obj/machinery/computer/arcade/orion_trail, /turf/open/indestructible/hotelwood, /area/centcom/holding) -"Yo" = ( -/obj/machinery/light{ - dir = 8 - }, -/turf/open/indestructible/hotelwood, -/area/centcom/holding) "Ys" = ( /obj/structure/table/reinforced, /turf/open/floor/mineral/plastitanium/red, @@ -18839,11 +18864,6 @@ }, /turf/open/floor/plasteel/cafeteria, /area/centcom/holding) -"Yv" = ( -/obj/structure/table, -/obj/item/clothing/mask/luchador/rudos, -/turf/open/floor/holofloor/wood, -/area/holodeck/rec_center/wrestlingarena) "Yw" = ( /turf/closed/indestructible/fakedoor{ name = "External Access" @@ -18853,9 +18873,23 @@ /obj/machinery/door/airlock/titanium, /turf/open/floor/mineral/titanium, /area/centcom/evac) -"YC" = ( -/turf/open/floor/holofloor/wood, -/area/holodeck/rec_center/wrestlingarena) +"Yz" = ( +/obj/structure/chair/comfy/brown{ + color = "#596479"; + dir = 1 + }, +/turf/open/indestructible/hotelwood, +/area/centcom/holding) +"YF" = ( +/obj/machinery/vending/clothing{ + extended_inventory = 1 + }, +/turf/open/floor/wood, +/area/centcom/holding) +"YH" = ( +/obj/item/hilbertshotel/ghostdojo, +/turf/open/indestructible/hotelwood, +/area/centcom/holding) "YJ" = ( /obj/item/reagent_containers/food/condiment/enzyme, /obj/item/reagent_containers/food/drinks/shaker, @@ -18864,10 +18898,6 @@ /obj/structure/closet/crate, /turf/open/floor/plasteel/cafeteria, /area/centcom/holding) -"YL" = ( -/obj/machinery/vending/clothing, -/turf/open/indestructible/hotelwood, -/area/centcom/holding) "YN" = ( /obj/structure/window/reinforced{ dir = 8 @@ -18875,10 +18905,24 @@ /mob/living/simple_animal/chicken, /turf/open/floor/grass, /area/centcom/holding) -"YO" = ( -/obj/structure/chair/comfy/brown{ +"YP" = ( +/obj/structure/sink/kitchen{ + desc = "A sink used for washing one's hands and face. It looks rusty and home-made"; + name = "sink"; + pixel_y = 28 + }, +/obj/effect/turf_decal/tile/green{ dir = 1 }, +/obj/effect/turf_decal/tile/green, +/obj/effect/turf_decal/tile/green{ + dir = 4 + }, +/obj/effect/turf_decal/tile/green{ + dir = 8 + }, +/obj/item/paper/guides/jobs/hydroponics, +/obj/item/book/manual/hydroponics_pod_people, /turf/open/indestructible/hotelwood, /area/centcom/holding) "YU" = ( @@ -18929,17 +18973,24 @@ /turf/open/floor/plasteel, /area/centcom/supplypod) "Zl" = ( -/obj/structure/table, -/obj/item/clothing/gloves/boxing, -/obj/item/clothing/gloves/boxing/blue, -/obj/item/clothing/gloves/boxing/green, -/obj/item/clothing/gloves/boxing/yellow, -/turf/open/floor/holofloor/wood, -/area/holodeck/rec_center/wrestlingarena) +/obj/structure/bed/dogbed, +/turf/open/indestructible/hotelwood, +/area/centcom/holding) "Zr" = ( /obj/machinery/light, /turf/open/floor/plasteel/dark, /area/syndicate_mothership) +"Zv" = ( +/obj/structure/closet, +/obj/item/storage/backpack/duffelbag/med/surgery, +/obj/machinery/iv_drip, +/obj/item/roller, +/obj/item/storage/firstaid/regular, +/obj/item/reagent_containers/medspray/synthflesh, +/obj/item/reagent_containers/medspray/synthflesh, +/obj/item/reagent_containers/medspray/synthflesh, +/turf/open/floor/plasteel/white, +/area/centcom/holding) "Zw" = ( /obj/structure/bed, /obj/item/bedsheet/syndie, @@ -18958,20 +19009,6 @@ /obj/effect/landmark/start/nukeop_leader, /turf/open/floor/wood, /area/syndicate_mothership) -"ZB" = ( -/obj/effect/landmark/holding_facility, -/turf/open/indestructible/hotelwood, -/area/centcom/holding) -"ZE" = ( -/obj/structure/sink{ - dir = 4; - pixel_x = 11 - }, -/obj/structure/mirror{ - pixel_x = 28 - }, -/turf/open/floor/mineral/titanium/blue, -/area/centcom/holding) "ZF" = ( /obj/effect/turf_decal/tile/brown, /obj/effect/turf_decal/tile/brown{ @@ -19008,26 +19045,6 @@ /turf/open/floor/mineral/plastitanium/red, /area/syndicate_mothership) "ZL" = ( -/obj/structure/closet, -/obj/item/stack/sheet/mineral/wood/fifty, -/obj/item/stack/tile/wood{ - amount = 24 - }, -/obj/item/stack/tile/carpet/black/fifty, -/obj/item/stack/tile/carpet/blackred/fifty, -/obj/item/stack/tile/carpet/blue/fifty, -/obj/item/stack/tile/carpet/cyan/fifty, -/obj/item/stack/tile/carpet/fifty, -/obj/item/stack/tile/carpet/green/fifty, -/obj/item/stack/tile/carpet/monochrome/fifty, -/obj/item/stack/tile/carpet/orange/fifty, -/obj/item/stack/tile/carpet/purple/fifty, -/obj/item/stack/tile/carpet/red/fifty, -/obj/item/stack/tile/carpet/royalblack/fifty, -/obj/item/stack/tile/carpet/royalblue/fifty, -/turf/open/indestructible/hotelwood, -/area/centcom/holding) -"ZN" = ( /obj/machinery/vending/snack, /turf/open/indestructible/hotelwood, /area/centcom/holding) @@ -19044,8 +19061,13 @@ /turf/open/floor/plasteel, /area/centcom/supplypod/loading/two) "ZR" = ( -/obj/structure/bed/dogbed, -/turf/open/indestructible/hotelwood, +/obj/structure/toilet{ + dir = 4 + }, +/obj/structure/window/reinforced/tinted{ + dir = 1 + }, +/turf/open/floor/plasteel/white, /area/centcom/holding) "ZT" = ( /mob/living/simple_animal/cow, @@ -19082,27 +19104,6 @@ }, /turf/open/floor/plasteel, /area/centcom/supply) -"ZZ" = ( -/obj/machinery/light{ - dir = 1 - }, -/obj/effect/turf_decal/tile/green{ - dir = 1 - }, -/obj/effect/turf_decal/tile/green, -/obj/effect/turf_decal/tile/green{ - dir = 4 - }, -/obj/effect/turf_decal/tile/green{ - dir = 8 - }, -/obj/machinery/chem_master/condimaster{ - desc = "Used to separate out liquids - useful for purifying botanical extracts. Also dispenses condiments."; - name = "BrewMaster 2199"; - pixel_x = -4 - }, -/turf/open/indestructible/hotelwood, -/area/centcom/holding) (1,1,1) = {" aa @@ -26210,7 +26211,7 @@ lI lI lI Ax -Qi +Na qZ qZ Ax @@ -43442,50 +43443,50 @@ aa aa aa Nd -SW -PO -PO -Sw -PO -PO -PO +Mq +Ur +Ur PO +Ur +Ur +Ur +Ur Nd -Tt -Tt -TG +ZR +ZR +qF Op Nd Rm Tn UT yd -Sd -Sd +NS +NS XM NT UV -CV -Sd +Fb +NS Nd -OW -Ln +CT +oV Nd -Lm -Lm -Lm +St +St +St Nd -PQ -Sd -ZR +Sv +NS +Zl Nd -RL -Yo -Uq +VY +PL +oW Nd -VL -Ww -NN +NP +Uc +Vn Nd aa aa @@ -43699,49 +43700,49 @@ aa aa aa Nd -Pc -PY -PY -PY -PY -PY -PY -PY +YP +Wu +Wu +Wu +Wu +Wu +Wu +Wu Nd ZW ZW ZW ZW Za -Sd -Sd -Sd +NS +NS +NS Tu -Sd -Sd +NS +NS Tn NT RQ -Sd -Sd +NS +NS Nd -UN -ST +yW +Uk Nd -zS -Qw -TC +Oi +Pz +kv Nd -MJ -Sd -Sd +Ly +NS +NS Nd -AE -Sd -Ph +We +NS +Fj Nd Gs -Sd +NS HH Nd aa @@ -43947,59 +43948,59 @@ aa aa aa aa -Ud -Ud -Ud -Ud -Ud +Fe +Fe +Fe +Fe +Fe aa aa aa Nd -ZZ -PY -PY -PY -PY -PY -PY -RN +pB +Wu +Wu +Wu +Wu +Wu +Wu +PI Nd SB ZW ZW ZW Nd -Sd -Sd -Sd -Sd -Sd -Sd +NS +NS +NS +NS +NS +NS GY NT UV -CV -Sd +Fb +NS Nd -Ot -ST +Rq +Uk Nd -Tf -Qw -Tf +Px +Pz +Px Nd -ma -Sd -Sd -Nd -ZN -Sd -Sd +Mw +NS +NS Nd ZL -Sd -Lr +NS +yl +Nd +CU +NS +Ns Nd aa aa @@ -44204,58 +44205,58 @@ aa aa aa aa -Ud -Uc -ZB -ZB -Ud +Fe +VH +XZ +XZ +Fe aa aa aa Nd -PI -PY -PY -PY -PY -PY -PY -Rj +pG +Wu +Wu +Wu +Wu +Wu +Wu +PE Nd SB -NE -Fl +Ts +OI Nw Nd -Sd -Sd -Sd -Ph -Sd +NS +NS +NS +Fj +NS Tu Vu Nd -hH -Sd -Sd +Gt +NS +NS Nd Nd -Wl +Qn Nd Nd -Wl +Qn Nd Nd Nd -yS +Np Nd Nd -WD -Sd +MW +NS HH Nd Nd -Ox +Ff Nd Nd aa @@ -44461,59 +44462,59 @@ aa aa aa aa -Ud -ZB -CQ -Ql -Ud +Fe +XZ +sf +Tf +Fe aa aa aa Nd -Tx +zE +Wu +Wu +Wu +SW PY -PY -PY -Um -XS -PY -vs +Wu +Nn Nd Nd Nd Nd Nd Nd -Sd -Sd +NS +NS XM QL -Sd -Sd +NS +NS XM NT PX -CV -Sd +Fb +NS NT -Sd -Sd -Sd -Sd -Sd -Sd +NS +NS +NS +NS +NS +NS Nd -Sd -Sd -Sd -Sd -Sd -Sd -Sd -Sd -Sd -Sd -WE +NS +NS +NS +NS +NS +NS +NS +NS +NS +NS +Ow Nd aa aa @@ -44718,11 +44719,11 @@ aa aa aa aa -Ud -wZ -ZB -Qn -Ud +Fe +WR +XZ +Mn +Fe aa aa aa @@ -44736,41 +44737,41 @@ Nd py Nd Nd -Yh -Sd -Yo -Sd -Wl -Sd -Sd +XW +NS +PL +NS +Qn +NS +NS Tn Tu -Sd -Sd +NS +NS Tn NT Zh -Sd -Sd -Dl -Sd -Sd -Sd -Sd -Sd -Sd -Qu -Sd -Sd -Sd -Sd -Sd -Sd -Sd -Sd -Sd -Sd -Sj +NS +NS +zy +NS +NS +NS +NS +NS +NS +tc +NS +NS +NS +NS +NS +NS +NS +NS +NS +NS +SM Nd aa aa @@ -44975,59 +44976,59 @@ aa aa aa aa -Ud -Ud -Ud -Ud -Ud +Fe +Fe +Fe +Fe +Fe aa aa aa Nd -Lr -Sd -Yo -Sd -Sd -Sd -Sd -Sd -Sd -Sd +Ns +NS +PL +NS +NS +NS +NS +NS +NS +NS Nd Nd Nd Nd Gs -Sd +NS GY Tu -Sd -Sd +NS +NS GY NT Ym -CV -Sd +Fb +NS NT -Sd -MR -Sd -Sd -MR -Sd +NS +SU +NS +NS +SU +NS Nd -Sd -Sd -Sd -Sd -Sd -Sd -Sd -Sd -Sd -Sd -PM +NS +NS +NS +NS +NS +NS +NS +NS +NS +NS +YF Nd aa aa @@ -45241,31 +45242,31 @@ aa aa aa Nd -Tq -Sd +UU +NS MG YN Nd -US +Wq Fh Fh zV Nd Nd -Hj +zY Fa KT -Sd -Sd -Sd -Sd -Sd -Sd +NS +NS +NS +NS +NS +NS HH Nd -Sd -Sd -Sd +NS +NS +NS Nd Nd Nd @@ -45278,8 +45279,8 @@ Nd Nd Nd Nd -Rq -Sd +Mz +NS HH Nd Nd @@ -45498,31 +45499,31 @@ aa aa aa Nd -ZL -Sd +CU +NS Rh Mm Nd -Nx +Wp Fh Fh Yu Nd -AE -CV -Sd -Ll -CV -Sd -Sd -Sd -Sd -Sd -Sd +We +Fb +NS +wY +Fb +NS +NS +NS +NS +NS +NS Re -Sd -Sd -Sd +NS +NS +NS NT vt YV @@ -45531,17 +45532,17 @@ OU RS VF Nd -UD -tZ +Oq +SE SY Nd -Sd -Sd -Sd +NS +NS +NS Nd SY -Os -UD +QS +Oq Nd aa aa @@ -45755,9 +45756,9 @@ aa aa aa Nd -ZN -Sd -yW +ZL +NS +Xk ZT Nd Pr @@ -45765,40 +45766,40 @@ Fh Fh QW Nd -QJ -Sd -Sd -NA -Sd -Sd -Sd -Sd -Sd -Sd -Sd +vx +NS +NS +Ng +NS +NS +NS +NS +NS +NS +NS Nd Gs Zx -Sd +NS OL -Sd -Sd -Sd -Sd -Sd -Sd +NS +NS +NS +NS +NS +NS Nd -Sd -Sd -Sd -lS -Sd -Sd -Sd -RP -Sd -Sd -Sd +NS +NS +NS +Qh +NS +NS +NS +UI +NS +NS +NS Nd aa aa @@ -46022,40 +46023,40 @@ Fh Fh Vv Nd -Sd -Sd -Sd +NS +NS +NS FW -Sd -Sd -Sd -Sd -Sd -Sd -Sd +NS +NS +NS +NS +NS +NS +NS Re -Sd -Sd -Sd +NS +NS +NS NT So XM -Sd +NS XM XM -Sd +NS Nd -Xn -Sd -Ya +wj +NS +Oo Nd -Sd -Sd -Sd +NS +NS +NS Nd -XD -Sd -Xn +Xm +NS +wj Nd aa aa @@ -46269,46 +46270,46 @@ aa aa aa Nd -NZ -Sd -Yo +Qs +NS PL +VI Nd -SG +Pp Fh Fh Fh -Wl +Qn +NS +Bm Sd -TD -On FX -Sd -Sd -Sd -Sd -Sd -Sd +NS +NS +NS +NS +NS +NS HH Nd WM -Sd -Sd +NS +NS NT Nj Po Wb Po ZU -Sd +NS Nd Nd Nd Nd Nd -Sd -Sd -Sd +NS +NS +NS Nd Nd Nd @@ -46526,50 +46527,50 @@ aa aa aa Nd -OG -Sd -Sd -Tq +HE +NS +NS +UU Nd zX Fh Fh -JV +TV Nd -Dl +zy Nd Nd Nd Gs -Sd +NS XM Tu -Sd -Sd +NS +NS XM NT -Sd -Sd -Sd +NS +NS +NS NT YU -zT -zT -zT +Ok +Ok +Ok MM -Sd +NS Nd -UD -tZ +Oq +SE SY Nd -Sd -Sd -Sd +NS +NS +NS Nd SY -Os -UD +QS +Oq Nd aa aa @@ -46783,50 +46784,50 @@ aa aa aa Nd -Xf -Sd -Sd -Nf +xL +NS +NS +ue Nd QA Fh Fh -Uz -ED -Sd -Yo +ug +Nv +NS +PL Yf UE -Sd -Sd +NS +NS Tn Xd -Sd -Sd +NS +NS Tn NT -Sd -Sd -Sd +NS +NS +NS NT YU -zT -zT -zT +Ok +Ok +Ok MM TM Nd -Sd -Sd -Sd -uh -Sd -Sd -Sd -zW -Sd -Sd -Sd +NS +NS +NS +Dm +NS +NS +NS +TJ +NS +NS +NS Nd aa aa @@ -47040,50 +47041,50 @@ aa aa aa Nd -YL -Sd -Sd -Uk +VK +NS +NS +Xb Nd Xo Fh Fh Fh py -Sd -Sd +NS +NS SY UE -Sd -Sd +NS +NS GY Tu -Sd -Sd +NS +NS GY NT -Sd -Sd -Sd +NS +NS +NS NT YU -zT -zT -zT +Ok +Ok +Ok MM -Sd +NS Nd -Xn -Sd -Tc +wj +NS +Uq Nd -Sd -Sd -Sd +NS +NS +NS Nd -AC -Sd -Xn +MQ +NS +wj Nd aa aa @@ -47297,45 +47298,45 @@ aa aa aa Nd -Xe -Sd -Sd -ZL +ll +NS +NS +CU Nd TB Fh Fh Fh BV -Sd -Sd +NS +NS XT UE -Sd -Sd -Sd -Ph -Sd +NS +NS +NS +Fj +NS Qk Vu Nd Gs -Sd -Sd +NS +NS NT Mt PA Ra PA Pl -Sd +NS Nd Nd Nd Nd Nd -Rq -Sd +Mz +NS HH Nd Nd @@ -47554,50 +47555,50 @@ aa aa aa Nd -TY -Sd -Sd -Sd +lS +NS +NS +NS Nd Vz Fh Fh YJ QT -Sd -Sd +NS +NS SY UE -Sd -Sd -Sd -Sd -Sd -Sd +NS +NS +NS +NS +NS +NS XM NT -Sd -Sd -Sd +NS +NS +NS NT Ye GY -Sd +NS GY GY -Sd +NS Nd -Xs -Ol -YO +UP +ML +NX Nd -Sd -Sd -Sd +NS +NS +NS Nd -RX -Xw -qP +RM +Qy +Yz Nd aa aa @@ -47811,49 +47812,49 @@ aa aa aa Nd -Bs -Ri -Sd -Sd +TD +CS +NS +NS XL Fh Fh Fh Fh XL -Sd -Sd +NS +NS XX UE -Sd -Sd -Sd +NS +NS +NS Tu -Sd -Sd +NS +NS Tn NT -Sd -Sd -Sd +NS +NS +NS OL -Sd -Sd -Sd -Sd -Sd -Sd +NS +NS +NS +NS +NS +NS Nd Gs -Sd -Sd -SZ -Sd -Sd -Sd -Ws -Sd -Sd +NS +NS +Hy +NS +NS +NS +Lq +NS +NS HH Nd aa @@ -48068,50 +48069,50 @@ aa aa aa Nd -Hk -Sd -MR -Mz +rh +NS +SU +uH Nd SN pV pV Tr Nd -WY -Ph +WV +Fj Nd Nd Rm Tn UT Hm -Sd -Sd +NS +NS GY NT -Tw -Ms -Ro +TS +QM +ta NT vt Mx -Sd -Sd +NS +NS Uh tW Nd -Ru -Of -QF +Td +XN +xB Nd -Sd -Sd -Sd +NS +NS +NS Nd -WN -Ur -Ki +VC +Nl +ma Nd aa aa @@ -48353,22 +48354,22 @@ Nd Nd Nd Nd -Sd -Sd +NS +NS Nd Nd Nd -Kf -WV -Sd +QN +vp +NS Nd -sa -Sd -Sd +YH +NS +NS Nd -Sd -zY -Rv +NS +Mj +uh Nd aa aa @@ -48608,22 +48609,22 @@ aa aa aa Nd -vv +Zv VA ZW ZW -px -Lk +Nf +MX Nd Nd Nd -QC +sk Nd Nd -SR +wU Nd Nd -QC +sk Nd Nd Nd @@ -48865,24 +48866,24 @@ aa aa aa Nd -sf +Dn ZW ZW ZW ZW -OT +Ux Nd -Ln -ST -ST +oV +Uk +Uk Nd -Qp -Sd -Nt +Hj +NS +TY Nd -ST -ST -Ln +Uk +Uk +oV Nd aa aa @@ -49122,24 +49123,24 @@ aa aa aa Nd -Bq -RK -Qy -Yj +TZ +yf +Tg +Qd ZW -Wz +Ru Nd -xO -QN -ZE +yX +Lj +OO Nd -Qp -Qz -Nt +Hj +QF +TY Nd -ZE -QN -RO +OO +Lj +Oy Nd aa aa @@ -58969,7 +58970,7 @@ aa aa aa aa -Qc +wi aa aa aa @@ -72327,16 +72328,16 @@ aa aa aa bj -YC -YC -YC -YC -YC -YC -YC -YC -YC -YC +tv +tv +tv +tv +tv +tv +tv +tv +tv +tv fx aa aa @@ -72584,16 +72585,16 @@ aa aa aa bj -Vk -YC -YC -YC -YC -YC -YC -YC -YC -Vk +NB +tv +tv +tv +tv +tv +tv +tv +tv +NB fx aa aa @@ -72841,16 +72842,16 @@ aa aa aa bj -Vk -YC -YC -YC -YC -YC -YC -YC -YC -Vk +NB +tv +tv +tv +tv +tv +tv +tv +tv +NB fx aa aa @@ -73098,16 +73099,16 @@ aa aa aa bj -Vk -YC -YC -YC -YC -YC -YC -YC -YC -Vk +NB +tv +tv +tv +tv +tv +tv +tv +tv +NB fx aa aa @@ -73355,16 +73356,16 @@ aa aa aa bj -YC -YC -Wx -YC -Yv -Ui -YC -Zl -YC -YC +tv +tv +rg +tv +Ld +Lm +tv +Qw +tv +tv fx aa aa diff --git a/_maps/multiz_debug.dm b/_maps/multiz_debug.dm index 0521fef59d..ca286934b9 100644 --- a/_maps/multiz_debug.dm +++ b/_maps/multiz_debug.dm @@ -1 +1 @@ -#define FORCE_MAP "_maps/multiz_debug.json" \ No newline at end of file +#define FORCE_MAP "_maps/multiz_debug.json" diff --git a/_maps/shuttles/emergency_nature.dmm b/_maps/shuttles/emergency_nature.dmm index 9639e37852..51a14594fb 100644 --- a/_maps/shuttles/emergency_nature.dmm +++ b/_maps/shuttles/emergency_nature.dmm @@ -33,8 +33,8 @@ "bg" = ( /obj/structure/table/reinforced, /obj/item/storage/toolbox/mechanical{ - pixel_y = 8; - pixel_x = -2 + pixel_x = -2; + pixel_y = 8 }, /obj/item/storage/toolbox/electrical, /obj/effect/turf_decal/stripes/line, @@ -43,8 +43,8 @@ "bS" = ( /obj/structure/table/reinforced, /obj/item/storage/box/lights/mixed{ - pixel_y = 9; - pixel_x = -5 + pixel_x = -5; + pixel_y = 9 }, /obj/item/storage/box/matches{ pixel_y = 5 @@ -413,8 +413,8 @@ pixel_y = 4 }, /obj/item/reagent_containers/food/drinks/soda_cans/monkey_energy{ - pixel_y = 5; - pixel_x = 6 + pixel_x = 6; + pixel_y = 5 }, /turf/open/floor/plasteel/white, /area/shuttle/escape) @@ -494,8 +494,8 @@ /area/shuttle/escape) "rg" = ( /obj/item/clothing/glasses/welding{ - pixel_y = 8; - pixel_x = 3 + pixel_x = 3; + pixel_y = 8 }, /obj/item/weldingtool/largetank{ pixel_x = -3 @@ -882,8 +882,8 @@ }, /obj/structure/table/glass, /obj/item/storage/box/monkeycubes{ - pixel_y = 10; - pixel_x = 5 + pixel_x = 5; + pixel_y = 10 }, /obj/item/reagent_containers/food/snacks/cube/monkey{ pixel_x = 5 @@ -1156,8 +1156,8 @@ }, /obj/structure/table/glass, /obj/item/clothing/suit/monkeysuit{ - pixel_y = 4; - pixel_x = -2 + pixel_x = -2; + pixel_y = 4 }, /obj/item/clothing/mask/gas/monkeymask{ pixel_x = 5; @@ -1169,6 +1169,7 @@ /obj/machinery/door/airlock/titanium{ name = "Emergency Shuttle Airlock" }, +/obj/structure/fans/tiny, /turf/open/floor/plasteel/white, /area/shuttle/escape) "ST" = ( @@ -1319,6 +1320,7 @@ name = "Emergency Shuttle Airlock" }, /obj/docking_port/mobile/emergency, +/obj/structure/fans/tiny, /turf/open/floor/plasteel/white, /area/shuttle/escape) "Yu" = ( diff --git a/_maps/shuttles/mining_common_kilo.dmm b/_maps/shuttles/mining_common_kilo.dmm new file mode 100644 index 0000000000..111944d08c --- /dev/null +++ b/_maps/shuttles/mining_common_kilo.dmm @@ -0,0 +1,180 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/turf/closed/wall/mineral/titanium, +/area/shuttle/mining) +"b" = ( +/obj/effect/spawner/structure/window/shuttle, +/turf/open/floor/plating, +/area/shuttle/mining) +"c" = ( +/obj/structure/table, +/obj/item/storage/toolbox/emergency, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/mining) +"d" = ( +/obj/machinery/computer/shuttle/mining/common, +/obj/effect/turf_decal/bot, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/mining) +"e" = ( +/obj/structure/table, +/obj/item/radio, +/obj/item/radio/intercom{ + pixel_y = 22 + }, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/mining) +"f" = ( +/obj/effect/turf_decal/stripes/end{ + dir = 8 + }, +/turf/open/floor/mineral/titanium/yellow, +/area/shuttle/mining) +"g" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/turf/open/floor/mineral/titanium/yellow, +/area/shuttle/mining) +"h" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/turf/open/floor/mineral/titanium/yellow, +/area/shuttle/mining) +"i" = ( +/obj/structure/sign/nanotrasen, +/turf/closed/wall/mineral/titanium, +/area/shuttle/mining) +"j" = ( +/obj/machinery/light{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/mining) +"k" = ( +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/turf/open/floor/mineral/titanium/yellow, +/area/shuttle/mining) +"l" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/obj/machinery/atmospherics/components/binary/valve{ + dir = 8 + }, +/turf/open/floor/mineral/titanium/yellow, +/area/shuttle/mining) +"m" = ( +/obj/machinery/door/airlock/titanium{ + name = "Lavaland Shuttle Airlock" + }, +/obj/docking_port/mobile{ + dir = 8; + dwidth = 3; + height = 5; + id = "mining_shuttle_common"; + name = "lavaland shuttle"; + port_direction = 4; + width = 7 + }, +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 4 + }, +/turf/open/floor/plating, +/area/shuttle/mining) +"n" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 1 + }, +/obj/effect/turf_decal/bot, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/mining) +"o" = ( +/obj/structure/closet/crate, +/obj/effect/turf_decal/delivery, +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -22 + }, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/mining) +"p" = ( +/obj/effect/spawner/structure/window/shuttle, +/obj/structure/shuttle/engine/heater, +/turf/open/floor/plating, +/area/shuttle/mining) +"q" = ( +/obj/structure/ore_box, +/obj/effect/turf_decal/delivery, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/mining) +"r" = ( +/obj/structure/sign/warning/fire, +/turf/closed/wall/mineral/titanium, +/area/shuttle/mining) +"s" = ( +/obj/structure/shuttle/engine/propulsion/burst, +/turf/open/floor/plating/airless, +/area/shuttle/mining) + +(1,1,1) = {" +a +a +b +i +b +a +a +"} +(2,1,1) = {" +a +c +f +j +n +o +r +"} +(3,1,1) = {" +b +d +g +k +n +p +s +"} +(4,1,1) = {" +a +e +h +l +n +q +r +"} +(5,1,1) = {" +a +a +b +m +b +a +a +"} diff --git a/_maps/shuttles/mining_common_meta.dmm b/_maps/shuttles/mining_common_meta.dmm new file mode 100644 index 0000000000..c47d3b806f --- /dev/null +++ b/_maps/shuttles/mining_common_meta.dmm @@ -0,0 +1,124 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/turf/closed/wall/mineral/titanium, +/area/shuttle/mining) +"b" = ( +/obj/effect/spawner/structure/window/shuttle, +/turf/open/floor/plating, +/area/shuttle/mining) +"c" = ( +/obj/structure/table, +/turf/open/floor/mineral/titanium/blue, +/area/shuttle/mining) +"d" = ( +/obj/machinery/computer/shuttle/mining/common, +/turf/open/floor/mineral/titanium/blue, +/area/shuttle/mining) +"e" = ( +/turf/open/floor/mineral/titanium, +/area/shuttle/mining) +"f" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 1 + }, +/turf/open/floor/mineral/titanium/blue, +/area/shuttle/mining) +"g" = ( +/obj/machinery/light{ + dir = 8 + }, +/turf/open/floor/mineral/titanium, +/area/shuttle/mining) +"h" = ( +/obj/machinery/door/airlock/titanium{ + name = "Lavaland Shuttle Airlock" + }, +/obj/docking_port/mobile{ + dir = 8; + dwidth = 3; + height = 5; + id = "mining_shuttle_common"; + name = "lavaland shuttle"; + port_direction = 4; + width = 7 + }, +/turf/open/floor/plating, +/area/shuttle/mining) +"i" = ( +/obj/structure/closet/crate, +/turf/open/floor/mineral/titanium/blue, +/area/shuttle/mining) +"j" = ( +/obj/structure/shuttle/engine/heater, +/obj/structure/window/reinforced{ + dir = 1; + layer = 2.9 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/window/reinforced{ + dir = 4 + }, +/turf/open/floor/plating, +/area/shuttle/mining) +"k" = ( +/obj/structure/ore_box, +/turf/open/floor/mineral/titanium/blue, +/area/shuttle/mining) +"l" = ( +/obj/structure/shuttle/engine/propulsion/burst, +/turf/open/floor/plating/airless, +/area/shuttle/mining) +"Q" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 1 + }, +/turf/open/floor/mineral/titanium, +/area/shuttle/mining) + +(1,1,1) = {" +a +a +b +a +b +a +a +"} +(2,1,1) = {" +a +c +e +g +f +i +a +"} +(3,1,1) = {" +b +d +Q +e +f +j +l +"} +(4,1,1) = {" +a +c +e +e +f +k +a +"} +(5,1,1) = {" +a +a +b +h +b +a +a +"} diff --git a/_maps/shuttles/whiteship_box.dmm b/_maps/shuttles/whiteship_box.dmm index 3ac1d18ac4..c892bab447 100644 --- a/_maps/shuttles/whiteship_box.dmm +++ b/_maps/shuttles/whiteship_box.dmm @@ -1560,6 +1560,7 @@ /area/shuttle/abandoned/bridge) "cc" = ( /obj/machinery/door/airlock/external, +/obj/structure/fans/tiny, /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 1 }, diff --git a/_maps/templates/hilbertshotel.dmm b/_maps/templates/hilbertshotel.dmm index da5d13d93e..5654e0428f 100644 --- a/_maps/templates/hilbertshotel.dmm +++ b/_maps/templates/hilbertshotel.dmm @@ -72,7 +72,7 @@ /turf/open/indestructible/hotelwood, /area/hilbertshotel) "n" = ( -/obj/effect/landmark/xmastree, +/obj/effect/landmark/xmastree/hilbert, /turf/open/indestructible/hotelwood, /area/hilbertshotel) "o" = ( diff --git a/code/__DEFINES/DNA.dm b/code/__DEFINES/DNA.dm index 62438ac7c1..a5f2c5d0f6 100644 --- a/code/__DEFINES/DNA.dm +++ b/code/__DEFINES/DNA.dm @@ -171,6 +171,7 @@ #define ORGAN_SLOT_HEART_AID "heartdrive" #define ORGAN_SLOT_BRAIN_ANTIDROP "brain_antidrop" #define ORGAN_SLOT_BRAIN_ANTISTUN "brain_antistun" +#define ORGAN_SLOT_BRAIN_ROBOT_RADSHIELDING "brain_robot_radshielding" #define ORGAN_SLOT_TAIL "tail" #define ORGAN_SLOT_PENIS "penis" #define ORGAN_SLOT_WOMB "womb" diff --git a/code/__DEFINES/_flags/_flags.dm b/code/__DEFINES/_flags/_flags.dm index a1d8006dbd..6e018b1eeb 100644 --- a/code/__DEFINES/_flags/_flags.dm +++ b/code/__DEFINES/_flags/_flags.dm @@ -162,3 +162,6 @@ GLOBAL_LIST_INIT(bitflags, list(1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 204 REMOVE_TRAIT(x, TRAIT_KEEP_TOGETHER, KEEP_TOGETHER_ORIGINAL);\ else if(!HAS_TRAIT(x, TRAIT_KEEP_TOGETHER))\ x.appearance_flags &= ~KEEP_TOGETHER + +/// 33554431 (2^24 - 1) is the maximum value our bitflags can reach. +#define MAX_BITFLAG_DIGITS 8 diff --git a/code/__DEFINES/_protect.dm b/code/__DEFINES/_protect.dm index fd27d2fbe9..5dbbd2d513 100644 --- a/code/__DEFINES/_protect.dm +++ b/code/__DEFINES/_protect.dm @@ -7,4 +7,4 @@ }\ ##Path/CanProcCall(procname){\ return FALSE;\ -} \ No newline at end of file +} diff --git a/code/__DEFINES/_readme.dm b/code/__DEFINES/_readme.dm index 42ad52286f..8bf6ada647 100644 --- a/code/__DEFINES/_readme.dm +++ b/code/__DEFINES/_readme.dm @@ -11,4 +11,4 @@ and most importantly, how to undo your changes if you screw it up. - Sayu -*/ \ No newline at end of file +*/ diff --git a/code/__DEFINES/admin.dm b/code/__DEFINES/admin.dm index 97f07acc05..143063b4e9 100644 --- a/code/__DEFINES/admin.dm +++ b/code/__DEFINES/admin.dm @@ -35,8 +35,9 @@ #define R_SPAWN (1<<12) #define R_AUTOLOGIN (1<<13) #define R_DBRANKS (1<<14) +#define R_SENSITIVE (1<<15) -#define R_DEFAULT R_AUTOLOGIN +#define R_DEFAULT R_AUTOLOGIN | R_SENSITIVE #define R_EVERYTHING ALL //the sum of all other rank permissions, used for +EVERYTHING diff --git a/code/__DEFINES/antagonists.dm b/code/__DEFINES/antagonists.dm index 1d47549685..68515426c3 100644 --- a/code/__DEFINES/antagonists.dm +++ b/code/__DEFINES/antagonists.dm @@ -70,6 +70,7 @@ ///Heretics -- #define IS_HERETIC(mob) (mob.mind?.has_antag_datum(/datum/antagonist/heretic)) +#define IS_HERETIC_MONSTER(mob) (mob.mind?.has_antag_datum(/datum/antagonist/heretic_monster)) #define PATH_SIDE "Side" diff --git a/code/__DEFINES/atmospherics.dm b/code/__DEFINES/atmospherics.dm index dad2a38afd..7bb124fe0f 100644 --- a/code/__DEFINES/atmospherics.dm +++ b/code/__DEFINES/atmospherics.dm @@ -115,7 +115,7 @@ #define MAX_HIGH_PRESSURE_DAMAGE 16 // CITADEL CHANGES Max to 16, low to 8. #define LOW_PRESSURE_DAMAGE 8 //The amount of damage someone takes when in a low pressure area (The pressure threshold is so low that it doesn't make sense to do any calculations, so it just applies this flat value). -#define COLD_SLOWDOWN_FACTOR 20 //Humans are slowed by the difference between bodytemp and BODYTEMP_COLD_DAMAGE_LIMIT divided by this +#define COLD_SLOWDOWN_FACTOR 35 //Humans are slowed by the difference between bodytemp and BODYTEMP_COLD_DAMAGE_LIMIT divided by this //PIPES //Atmos pipe limits diff --git a/code/__DEFINES/cinematics.dm b/code/__DEFINES/cinematics.dm index aa19ffb4cf..6d85c45f1b 100644 --- a/code/__DEFINES/cinematics.dm +++ b/code/__DEFINES/cinematics.dm @@ -10,4 +10,4 @@ #define CINEMATIC_NUKE_NO_CORE 10 #define CINEMATIC_NUKE_FAR 11 #define CINEMATIC_NUKE_CLOWNOP 12 -#define CINEMATIC_CULT_NUKE 13 \ No newline at end of file +#define CINEMATIC_CULT_NUKE 13 diff --git a/code/__DEFINES/citadel_defines.dm b/code/__DEFINES/citadel_defines.dm index 923355b340..541b50e9bd 100644 --- a/code/__DEFINES/citadel_defines.dm +++ b/code/__DEFINES/citadel_defines.dm @@ -114,3 +114,17 @@ //special species definitions #define MINIMUM_MUTANT_COLOR "#202020" //this is how dark players mutant parts and skin can be + +//defines for different matrix sections +#define MATRIX_RED "red" +#define MATRIX_GREEN "green" +#define MATRIX_BLUE "blue" +#define MATRIX_RED_GREEN "red_green" +#define MATRIX_RED_BLUE "red_blue" +#define MATRIX_GREEN_BLUE "green_blue" +#define MATRIX_ALL "red_green_blue" +#define MATRIX_NONE "none" + +//defines for the two colour schemes, advanced and old +#define OLD_CHARACTER_COLORING "old_color_system" +#define ADVANCED_CHARACTER_COLORING "advanced_color_system" diff --git a/code/__DEFINES/clockcult.dm b/code/__DEFINES/clockcult.dm index 5f4317060d..dbca36aab4 100644 --- a/code/__DEFINES/clockcult.dm +++ b/code/__DEFINES/clockcult.dm @@ -96,4 +96,4 @@ GLOBAL_LIST_EMPTY(all_clockwork_rites) //a list containing all clockwork rites. #define ARK_SCREAM_COOLDOWN 300 //This much time has to pass between instances of the Ark taking damage before it will "scream" again -#define PRISM_DELAY_DURATION 1200 //how long prolonging prisms delay the shuttle for; defaults to 2 minutes \ No newline at end of file +#define PRISM_DELAY_DURATION 1200 //how long prolonging prisms delay the shuttle for; defaults to 2 minutes diff --git a/code/__DEFINES/combat.dm b/code/__DEFINES/combat.dm index 5f5a76b58d..d12fe77448 100644 --- a/code/__DEFINES/combat.dm +++ b/code/__DEFINES/combat.dm @@ -11,6 +11,12 @@ #define STAMINA "stamina" #define BRAIN "brain" +//Toxins damage 'typeflag' - is this normal toxins damage or does it have to do with systems corruption (ROBOTIC_ORGANISM species trait) + +#define TOX_DEFAULT 1 //For normal toxins damage / healing (toxins, etc), adjustToxLoss() defaults to this +#define TOX_SYSCORRUPT 2 //For toxins damage causing adverse effects to robotic organisms, up to and including fatal corruption, or healing that damage +#define TOX_OMNI 3 //For tox damage / healing that affects both organics and robotic organisms. Used by very few things, e.g. aheals / by default setToxLoss() + //bitflag damage defines used for suicide_act #define BRUTELOSS (1<<0) #define FIRELOSS (1<<1) @@ -75,6 +81,8 @@ //stamina stuff /// crit for stamina damage. forces a rest, and stops movement until stamina goes back to stamina softcrit #define STAMINA_CRIT 140 +/// Threshold for leaving stamina critical +#define STAMINA_CRIT_REMOVAL_THRESHOLD 100 /// Threshold under for which you are unable to draw from stamina health to replace stamina buffer #define STAMINA_NO_OVERDRAW_THRESHOLD 100 diff --git a/code/__DEFINES/combat/stamina_combat.dm b/code/__DEFINES/combat/stamina_combat.dm index 1f781ca3e0..351009f27f 100644 --- a/code/__DEFINES/combat/stamina_combat.dm +++ b/code/__DEFINES/combat/stamina_combat.dm @@ -10,7 +10,7 @@ /// Usage for eyestabbing with a screwdriver #define STAMINA_COST_ITEM_EYESTAB 7.5 /// Usage for shoving yourself off the ground instantly -#define STAMINA_COST_SHOVE_UP 10 +#define STAMINA_COST_SHOVE_UP 15 //items total mass, used to calculate their attacks' stamina costs. If not defined, the cost will be (w_class * 1.25) #define TOTAL_MASS_TINY_ITEM 1.25 diff --git a/code/__DEFINES/contracts.dm b/code/__DEFINES/contracts.dm index b600a5fdc0..c6e23394ba 100644 --- a/code/__DEFINES/contracts.dm +++ b/code/__DEFINES/contracts.dm @@ -41,4 +41,4 @@ #define BANISH_FUNERAL_GARB "funeral" #define LORE 1 -#define LAW 2 \ No newline at end of file +#define LAW 2 diff --git a/code/__DEFINES/cult.dm b/code/__DEFINES/cult.dm index 198291f0ae..9940391673 100644 --- a/code/__DEFINES/cult.dm +++ b/code/__DEFINES/cult.dm @@ -20,4 +20,4 @@ #define DEFAULT_TOOLTIP "6:-29,5:-2" //misc #define SOULS_TO_REVIVE 3 -#define BLOODCULT_EYE "f00" \ No newline at end of file +#define BLOODCULT_EYE "f00" diff --git a/code/__DEFINES/dcs/flags.dm b/code/__DEFINES/dcs/flags.dm index 2dbd4874d9..719a795824 100644 --- a/code/__DEFINES/dcs/flags.dm +++ b/code/__DEFINES/dcs/flags.dm @@ -82,4 +82,4 @@ /// combat mode is active. #define COMBAT_MODE_ACTIVE (1<<1) /// combat mode is not active -#define COMBAT_MODE_INACTIVE (1<<2) \ No newline at end of file +#define COMBAT_MODE_INACTIVE (1<<2) diff --git a/code/__DEFINES/dcs/helpers.dm b/code/__DEFINES/dcs/helpers.dm index b13530cdf7..182035db9b 100644 --- a/code/__DEFINES/dcs/helpers.dm +++ b/code/__DEFINES/dcs/helpers.dm @@ -13,4 +13,4 @@ #define RemoveElement(arguments...) _RemoveElement(list(##arguments)) /// A wrapper for _AddComponent that allows us to pretend we're using normal named arguments -#define AddComponent(arguments...) _AddComponent(list(##arguments)) \ No newline at end of file +#define AddComponent(arguments...) _AddComponent(list(##arguments)) diff --git a/code/__DEFINES/dcs/signals.dm b/code/__DEFINES/dcs/signals.dm index 7b214df421..a084f2ae34 100644 --- a/code/__DEFINES/dcs/signals.dm +++ b/code/__DEFINES/dcs/signals.dm @@ -136,11 +136,15 @@ #define COMSIG_ATOM_ATTACK_HAND "atom_attack_hand" //from base of atom/attack_hand(): (mob/user) #define COMSIG_ATOM_ATTACK_PAW "atom_attack_paw" //from base of atom/attack_paw(): (mob/user) #define COMPONENT_NO_ATTACK_HAND 1 //works on all 3. +///////////////// + //This signal return value bitflags can be found in __DEFINES/misc.dm #define COMSIG_ATOM_INTERCEPT_Z_FALL "movable_intercept_z_impact" //called for each movable in a turf contents on /turf/zImpact(): (atom/movable/A, levels) - -///////////////// +/// Called from orbit component: (atom/movable/orbiter, radius, clockwise, rotation_speed, rotation_segments, pre_rotation) +#define COMSIG_ATOM_ORBIT_BEGIN "atom_orbit_begin" +/// Called from orbit component: (atom/movable/orbiter, refreshing) +#define COMSIG_ATOM_ORBIT_END "atom_orbit_end" #define COMSIG_ENTER_AREA "enter_area" //from base of area/Entered(): (/area) #define COMSIG_EXIT_AREA "exit_area" //from base of area/Exited(): (/area) @@ -490,6 +494,17 @@ #define COMPONENT_PROGRAM_INSTALLED 1 //Installation successful #define COMPONENT_PROGRAM_NOT_INSTALLED 2 //Installation failed, but there are still nanites #define COMSIG_NANITE_SYNC "nanite_sync" //(datum/component/nanites, full_overwrite, copy_activation) Called to sync the target's nanites to a given nanite component +/// Checks if a nanite component is able to be controlled by console +#define COMSIG_NANITE_CHECK_CONSOLE_LOCK "is_console_locked" +/// Checks if a nanite component is able to be interfaced with by a host with innate nanite control +#define COMSIG_NANITE_CHECK_HOST_LOCK "is_host_locked" +/// Checks if a nanite component is able to be overwritten by viral replica +#define COMSIG_NANITE_CHECK_VIRAL_PREVENTION "is_virus_locked" + #define NANITE_CHANGES_LOCKED 1 +// Internal signals that programs register to and respond with to not require for loops +#define COMSIG_NANITE_INTERNAL_CONSOLE_LOCK_CHECK "naniteiconsolelocked" +#define COMSIG_NANITE_INTERNAL_HOST_LOCK_CHECK "naniteihostlocked" +#define COMSIG_NANITE_INTERNAL_VIRAL_PREVENTION_CHECK "naniteiviruslocked" // /datum/component/storage signals #define COMSIG_CONTAINS_STORAGE "is_storage" //() - returns bool. @@ -525,3 +540,7 @@ #define COMSIG_XENO_TURF_CLICK_SHIFT "xeno_turf_click_shift" //from turf ShiftClickOn(): (/mob) #define COMSIG_XENO_TURF_CLICK_CTRL "xeno_turf_click_alt" //from turf AltClickOn(): (/mob) #define COMSIG_XENO_MONKEY_CLICK_CTRL "xeno_monkey_click_ctrl" //from monkey CtrlClickOn(): (/mob) + +// twitch plays +/// Returns direction: (wipe_votes) +#define COMSIG_TWITCH_PLAYS_MOVEMENT_DATA "twitch_plays_movement_data" diff --git a/code/__DEFINES/exports.dm b/code/__DEFINES/exports.dm index 9e0caf417f..6c8b00de52 100644 --- a/code/__DEFINES/exports.dm +++ b/code/__DEFINES/exports.dm @@ -1,4 +1,4 @@ #define EXPORT_CARGO 1 #define EXPORT_EMAG 2 #define EXPORT_CONTRABAND 4 -#define EXPORT_PIRATE 8 \ No newline at end of file +#define EXPORT_PIRATE 8 diff --git a/code/__DEFINES/fantasy_affixes.dm b/code/__DEFINES/fantasy_affixes.dm index 709d414d11..20db49bebe 100644 --- a/code/__DEFINES/fantasy_affixes.dm +++ b/code/__DEFINES/fantasy_affixes.dm @@ -2,4 +2,4 @@ #define AFFIX_SUFFIX (1 << 1) #define AFFIX_GOOD (1 << 0) -#define AFFIX_EVIL (1 << 1) \ No newline at end of file +#define AFFIX_EVIL (1 << 1) diff --git a/code/__DEFINES/is_helpers.dm b/code/__DEFINES/is_helpers.dm index ffcb5ac231..ff68f18408 100644 --- a/code/__DEFINES/is_helpers.dm +++ b/code/__DEFINES/is_helpers.dm @@ -188,6 +188,8 @@ GLOBAL_LIST_INIT(turfs_without_ground, typecacheof(list( #define islandmine(A) (istype(A, /obj/effect/mine)) +#define issupplypod(A) (istype(A, /obj/structure/closet/supplypod)) + #define isammocasing(A) (istype(A, /obj/item/ammo_casing)) #define isidcard(I) (istype(I, /obj/item/card/id)) diff --git a/code/__DEFINES/loadout.dm b/code/__DEFINES/loadout.dm index 767894050d..ecd043a66a 100644 --- a/code/__DEFINES/loadout.dm +++ b/code/__DEFINES/loadout.dm @@ -55,6 +55,9 @@ //donator items #define LOADOUT_CATEGORY_DONATOR "Donator" +//unlockable items +#define LOADOUT_CATEGORY_UNLOCKABLE "Unlockable" + //how many prosthetics can we have #define MAXIMUM_LOADOUT_PROSTHETICS 2 @@ -66,4 +69,14 @@ #define LOADOUT_LIMB_PROSTHETIC "Prosthetic" #define LOADOUT_LIMB_AMPUTATED "Amputated" -#define LOADOUT_LIMBS list(LOADOUT_LIMB_NORMAL,LOADOUT_LIMB_PROSTHETIC,LOADOUT_LIMB_AMPUTATED) //you can amputate your legs/arms though \ No newline at end of file +#define LOADOUT_LIMBS list(LOADOUT_LIMB_NORMAL,LOADOUT_LIMB_PROSTHETIC,LOADOUT_LIMB_AMPUTATED) //you can amputate your legs/arms though + +//loadout saving/loading specific defines +#define MAXIMUM_LOADOUT_SAVES 5 +#define LOADOUT_ITEM "loadout_item" +#define LOADOUT_COLOR "loadout_color" + +//loadout item flags +#define LOADOUT_CAN_NAME (1<<0) //renaming items +#define LOADOUT_CAN_DESCRIPTION (1<<1) //adding a custom description to items +#define LOADOUT_CAN_COLOR_POLYCHROMIC (1<<2) diff --git a/code/__DEFINES/machines.dm b/code/__DEFINES/machines.dm index df5b7d9f11..762df42472 100644 --- a/code/__DEFINES/machines.dm +++ b/code/__DEFINES/machines.dm @@ -120,4 +120,4 @@ #define CLONEPOD_GET_MIND 1 #define CLONEPOD_POLL_MIND 2 -#define CLONEPOD_NO_MIND 3 \ No newline at end of file +#define CLONEPOD_NO_MIND 3 diff --git a/code/__DEFINES/materials.dm b/code/__DEFINES/materials.dm index 72e827a7c8..a28bd6ebf8 100644 --- a/code/__DEFINES/materials.dm +++ b/code/__DEFINES/materials.dm @@ -12,4 +12,4 @@ #define MATERIAL_ADD_PREFIX (1<<1) #define MATERIAL_AFFECT_STATISTICS (1<<2) -#define MATERIAL_SOURCE(mat) "[mat.name]_material" \ No newline at end of file +#define MATERIAL_SOURCE(mat) "[mat.name]_material" diff --git a/code/__DEFINES/medal.dm b/code/__DEFINES/medal.dm index 89fc098e3d..e723c7504e 100644 --- a/code/__DEFINES/medal.dm +++ b/code/__DEFINES/medal.dm @@ -26,4 +26,4 @@ //Misc medals #define MEDAL_METEOR "Your Life Before Your Eyes" #define MEDAL_PULSE "Jackpot" -#define MEDAL_TIMEWASTE "Overextended The Joke" \ No newline at end of file +#define MEDAL_TIMEWASTE "Overextended The Joke" diff --git a/code/__DEFINES/melee.dm b/code/__DEFINES/melee.dm index b166b9d21a..71913cac5b 100644 --- a/code/__DEFINES/melee.dm +++ b/code/__DEFINES/melee.dm @@ -8,4 +8,4 @@ #define MARTIALART_KRAVMAGA "krav maga" #define MARTIALART_CQC "CQC" #define MARTIALART_PLASMAFIST "plasma fist" -#define MARTIALART_RISINGBASS "rising bass" \ No newline at end of file +#define MARTIALART_RISINGBASS "rising bass" diff --git a/code/__DEFINES/menu.dm b/code/__DEFINES/menu.dm index 2730adf87c..60a7a2379c 100644 --- a/code/__DEFINES/menu.dm +++ b/code/__DEFINES/menu.dm @@ -1,3 +1,3 @@ #define CHECKBOX_NONE 0 #define CHECKBOX_GROUP 1 -#define CHECKBOX_TOGGLE 2 \ No newline at end of file +#define CHECKBOX_TOGGLE 2 diff --git a/code/__DEFINES/misc.dm b/code/__DEFINES/misc.dm index 0704947dda..30162594d6 100644 --- a/code/__DEFINES/misc.dm +++ b/code/__DEFINES/misc.dm @@ -159,6 +159,7 @@ GLOBAL_LIST_EMPTY(bloody_footprints_cache) #define BLOOD_COLOR_LIZARD "#db004D" #define BLOOD_COLOR_UNIVERSAL "#db3300" #define BLOOD_COLOR_BUG "#a37c0f" +#define BLOOD_COLOR_PLANT "#3d610e" //suit sensors: sensor_mode defines diff --git a/code/__DEFINES/mobs.dm b/code/__DEFINES/mobs.dm index e8849d04c8..8e7cf8763b 100644 --- a/code/__DEFINES/mobs.dm +++ b/code/__DEFINES/mobs.dm @@ -48,6 +48,8 @@ #define MOB_EPIC (1 << 7) // Megafauna #define MOB_REPTILE (1 << 8) #define MOB_SPIRIT (1 << 9) +/// Mobs that otherwise support nanites +#define MOB_NANITES (1 << 10) // Organ defines for carbon mobs #define ORGAN_ORGANIC 1 @@ -56,9 +58,10 @@ #define BODYPART_ORGANIC 1 #define BODYPART_ROBOTIC 2 #define BODYPART_HYBRID 3 +#define BODYPART_NANITES 4 #define HYBRID_BODYPART_DAMAGE_THRESHHOLD 25 //How much damage has to be suffered until the damage threshhold counts as passed -#define HYBRID_BODYPART_THESHHOLD_MINDAMAGE 15 //Which damage value this limb cannot be healed out of via easy nonsurgical means if the threshhold has been passed, state resets if damage value goes below mindamage. +#define HYBRID_BODYPART_THESHHOLD_MINDAMAGE 10 //Which damage value this limb cannot be healed out of via easy nonsurgical means if the threshhold has been passed, state resets if damage value goes below mindamage. #define BODYPART_NOT_DISABLED 0 #define BODYPART_DISABLED_DAMAGE 1 diff --git a/code/__DEFINES/mobs/innate_abilities.dm b/code/__DEFINES/mobs/innate_abilities.dm new file mode 100644 index 0000000000..d2d3dbbc67 --- /dev/null +++ b/code/__DEFINES/mobs/innate_abilities.dm @@ -0,0 +1,29 @@ +// helpers + +// sources +/// Species +#define ABILITY_SOURCE_SPECIES "species" +/// Changeling +#define ABILITY_SOURCE_CHANGELING "changeling" + +// abilities +/// Full customization and transformation of mutantparts/hair/sprite accessories/etc - excludes name by default +#define INNATE_ABILITY_HUMANOID_CUSTOMIZATION "humanoid_customization" +/// Slime blobform +#define INNATE_ABILITY_SLIME_BLOBFORM "slime_blobform" +/// limb regrowth +#define INNATE_ABILITY_LIMB_REGROWTH "limb_regrowth" + +/// ability properties +// customization/body change +/// is this silent? +#define PROPERTY_CUSTOMIZATION_SILENT "silent" +// blobform +/// Blobform color +#define PROPERTY_BLOBFORM_COLOR "color" +// limb regrwoth +/// limb regrowth usage type +#define PROPERTY_LIMB_REGROWTH_USAGE_TYPE "cost" + /// blood + #define REGROWTH_USES_BLOOD "blood" + diff --git a/code/__DEFINES/radiation.dm b/code/__DEFINES/radiation.dm index ece997a7fc..01612f2c05 100644 --- a/code/__DEFINES/radiation.dm +++ b/code/__DEFINES/radiation.dm @@ -18,6 +18,8 @@ Ask ninjanomnom if they're around #define RAD_BURN_THRESHOLD 1000 // Applied radiation must be over this to burn #define RAD_MOB_SAFE 500 // How much stored radiation in a mob with no ill effects +#define RAD_DEFAULT_ROBOT_SAFE 250 // Like above, except for robotic carbons. Far more susceptible to corruption from radiation. +#define RAD_UPGRADED_ROBOT_SAFE 750 // If the robot has been upgraded via an implant, their radiation threshold is raised to be somewhat above that of organics. #define RAD_MOB_HAIRLOSS 800 // How much stored radiation to check for hair loss diff --git a/code/__DEFINES/rockpaperscissors.dm b/code/__DEFINES/rockpaperscissors.dm index 77ba81938d..fa185063b4 100644 --- a/code/__DEFINES/rockpaperscissors.dm +++ b/code/__DEFINES/rockpaperscissors.dm @@ -4,4 +4,4 @@ #define ROCKPAPERSCISSORS_LOSE "lose" #define ROCKPAPERSCISSORS_WIN "win" #define ROCKPAPERSCISSORS_TIE "tie" -#define ROCKPAPERSCISSORS_NOT_DECIDED "not_decided" \ No newline at end of file +#define ROCKPAPERSCISSORS_NOT_DECIDED "not_decided" diff --git a/code/__DEFINES/role_preferences.dm b/code/__DEFINES/role_preferences.dm index d7487eb54b..605b3f6485 100644 --- a/code/__DEFINES/role_preferences.dm +++ b/code/__DEFINES/role_preferences.dm @@ -40,6 +40,7 @@ //#define ROLE_MONSTERHUNTER "monster hunter" Disabled for now #define ROLE_GHOSTCAFE "ghostcafe" #define ROLE_MINOR_ANTAG "minorantag" +#define ROLE_RESPAWN "respawnsystem" //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 diff --git a/code/__DEFINES/species.dm b/code/__DEFINES/species.dm index efd715b85a..74ca459fa1 100644 --- a/code/__DEFINES/species.dm +++ b/code/__DEFINES/species.dm @@ -5,6 +5,7 @@ #define SPECIES_ANDROID "android" #define SPECIES_ANGEL "angel" #define SPECIES_MAMMAL "mammal" + #define SPECIES_MAMMAL_SYNTHETIC "mammal_synthetic" #define SPECIES_ARACHNID "arachnid" #define SPECIES_INSECT "insect" #define SPECIES_DULLAHAN "dullahan" diff --git a/code/__DEFINES/status_effects.dm b/code/__DEFINES/status_effects.dm index d6db35e68d..e2ace84156 100644 --- a/code/__DEFINES/status_effects.dm +++ b/code/__DEFINES/status_effects.dm @@ -40,6 +40,9 @@ #define STATUS_EFFECT_DETERMINED /datum/status_effect/determined //currently in a combat high from being seriously wounded +#define STATUS_EFFECT_MANTRA /datum/status_effect/mantra // a toggled self buff that makes you stronger and more resilient, but drains stamina over time +#define STATUS_EFFECT_ASURA /datum/status_effect/asura // like a weaker version of mantra, drains HP instead of stamina and has no armor + ///////////// // DEBUFFS // ///////////// @@ -102,10 +105,6 @@ #define STATUS_EFFECT_FAKE_VIRUS /datum/status_effect/fake_virus //gives you fluff messages for cough, sneeze, headache, etc but without an actual virus -#define STATUS_EFFECT_BREASTS_ENLARGEMENT /datum/status_effect/chem/breast_enlarger //Applied slowdown due to the ominous bulk. - -#define STATUS_EFFECT_PENIS_ENLARGEMENT /datum/status_effect/chem/penis_enlarger //More applied slowdown, just like the above. - #define STATUS_EFFECT_NO_COMBAT_MODE /datum/status_effect/no_combat_mode //Wont allow combat mode and will disable it #define STATUS_EFFECT_MESMERIZE /datum/status_effect/mesmerize //Just reskinned no_combat_mode diff --git a/code/__DEFINES/tgs.dm b/code/__DEFINES/tgs.dm index a0a5df4290..3225f14d8c 100644 --- a/code/__DEFINES/tgs.dm +++ b/code/__DEFINES/tgs.dm @@ -1,6 +1,6 @@ // tgstation-server DMAPI -#define TGS_DMAPI_VERSION "5.2.7" +#define TGS_DMAPI_VERSION "5.2.10" // All functions and datums outside this document are subject to change with any version and should not be relied on. @@ -67,7 +67,7 @@ #define TGS_EVENT_REPO_CHECKOUT 1 /// When the repository performs a fetch operation. No parameters #define TGS_EVENT_REPO_FETCH 2 -/// When the repository merges a pull request. Parameters: PR Number, PR Sha, (Nullable) Comment made by TGS user +/// When the repository test merges. Parameters: PR Number, PR Sha, (Nullable) Comment made by TGS user #define TGS_EVENT_REPO_MERGE_PULL_REQUEST 3 /// Before the repository makes a sychronize operation. Parameters: Absolute repostiory path #define TGS_EVENT_REPO_PRE_SYNCHRONIZE 4 @@ -117,22 +117,22 @@ //REQUIRED HOOKS /** - * Call this somewhere in [/world/proc/New] that is always run. This function may sleep! - * - * * event_handler - Optional user defined [/datum/tgs_event_handler]. - * * minimum_required_security_level: The minimum required security level to run the game in which the DMAPI is integrated. Can be one of [TGS_SECURITY_ULTRASAFE], [TGS_SECURITY_SAFE], or [TGS_SECURITY_TRUSTED]. - */ + * Call this somewhere in [/world/proc/New] that is always run. This function may sleep! + * + * * event_handler - Optional user defined [/datum/tgs_event_handler]. + * * minimum_required_security_level: The minimum required security level to run the game in which the DMAPI is integrated. Can be one of [TGS_SECURITY_ULTRASAFE], [TGS_SECURITY_SAFE], or [TGS_SECURITY_TRUSTED]. + */ /world/proc/TgsNew(datum/tgs_event_handler/event_handler, minimum_required_security_level = TGS_SECURITY_ULTRASAFE) return /** - * Call this when your initializations are complete and your game is ready to play before any player interactions happen. - * - * This may use [/world/var/sleep_offline] to make this happen so ensure no changes are made to it while this call is running. - * Afterwards, consider explicitly setting it to what you want to avoid this BYOND bug: http://www.byond.com/forum/post/2575184 - * Before this point, note that any static files or directories may be in use by another server. Your code should account for this. - * This function should not be called before ..() in [/world/proc/New]. - */ + * Call this when your initializations are complete and your game is ready to play before any player interactions happen. + * + * This may use [/world/var/sleep_offline] to make this happen so ensure no changes are made to it while this call is running. + * Afterwards, consider explicitly setting it to what you want to avoid this BYOND bug: http://www.byond.com/forum/post/2575184 + * Before this point, note that any static files or directories may be in use by another server. Your code should account for this. + * This function should not be called before ..() in [/world/proc/New]. + */ /world/proc/TgsInitializationComplete() return @@ -140,8 +140,8 @@ #define TGS_TOPIC var/tgs_topic_return = TgsTopic(args[1]); if(tgs_topic_return) return tgs_topic_return /** - * Call this at the beginning of [world/proc/Reboot]. - */ + * Call this at the beginning of [world/proc/Reboot]. + */ /world/proc/TgsReboot() return @@ -175,36 +175,36 @@ var/deprefixed_parameter /** - * Returns [TRUE]/[FALSE] based on if the [/datum/tgs_version] contains wildcards. - */ + * Returns [TRUE]/[FALSE] based on if the [/datum/tgs_version] contains wildcards. + */ /datum/tgs_version/proc/Wildcard() return /** - * Returns [TRUE]/[FALSE] based on if the [/datum/tgs_version] equals some other version. - * - * other_version - The [/datum/tgs_version] to compare against. - */ + * Returns [TRUE]/[FALSE] based on if the [/datum/tgs_version] equals some other version. + * + * other_version - The [/datum/tgs_version] to compare against. + */ /datum/tgs_version/proc/Equals(datum/tgs_version/other_version) return /// Represents a merge of a GitHub pull request. /datum/tgs_revision_information/test_merge - /// The pull request number. + /// The test merge number. var/number - /// The pull request title when it was merged. + /// The test merge source's title when it was merged. var/title - /// The pull request body when it was merged. + /// The test merge source's body when it was merged. var/body - /// The GitHub username of the pull request's author. + /// The Username of the test merge source's author. var/author - /// An http URL to the pull request. + /// An http URL to the test merge source. var/url - /// The SHA of the pull request when that was merged. + /// The SHA of the test merge when that was merged. var/pull_request_commit - /// ISO 8601 timestamp of when the pull request was merged. + /// ISO 8601 timestamp of when the test merge was created on TGS. var/time_merged - /// (Nullable) Comment left by the TGS user who initiated the merge.. + /// Optional comment left by the TGS user who initiated the merge. var/comment /// Represents a connected chat channel. @@ -234,10 +234,10 @@ var/datum/tgs_chat_channel/channel /** - * User definable callback for handling TGS events. - * - * event_code - One of the TGS_EVENT_ defines. Extra parameters will be documented in each - */ + * User definable callback for handling TGS events. + * + * event_code - One of the TGS_EVENT_ defines. Extra parameters will be documented in each + */ /datum/tgs_event_handler/proc/HandleEvent(event_code, ...) set waitfor = FALSE return @@ -252,11 +252,11 @@ var/admin_only = FALSE /** - * Process command activation. Should return a string to respond to the issuer with. - * - * sender - The [/datum/tgs_chat_user] who issued the command. - * params - The trimmed string following the command `/datum/tgs_chat_command/var/name]. - */ + * Process command activation. Should return a string to respond to the issuer with. + * + * sender - The [/datum/tgs_chat_user] who issued the command. + * params - The trimmed string following the command `/datum/tgs_chat_command/var/name]. + */ /datum/tgs_chat_command/proc/Run(datum/tgs_chat_user/sender, params) CRASH("[type] has no implementation for Run()") @@ -271,48 +271,48 @@ return /** - * Returns [TRUE] if DreamDaemon was launched under TGS, the API matches, and was properly initialized. [FALSE] will be returned otherwise. - */ + * Returns [TRUE] if DreamDaemon was launched under TGS, the API matches, and was properly initialized. [FALSE] will be returned otherwise. + */ /world/proc/TgsAvailable() return // No function below this succeeds if it TgsAvailable() returns FALSE or if TgsNew() has yet to be called. /** - * Forces a hard reboot of DreamDaemon by ending the process. - * - * Unlike del(world) clients will try to reconnect. - * If TGS has not requested a [TGS_REBOOT_MODE_SHUTDOWN] DreamDaemon will be launched again - */ + * Forces a hard reboot of DreamDaemon by ending the process. + * + * Unlike del(world) clients will try to reconnect. + * If TGS has not requested a [TGS_REBOOT_MODE_SHUTDOWN] DreamDaemon will be launched again + */ /world/proc/TgsEndProcess() return /** - * Send a message to connected chats. - * - * message - The string to send. - * admin_only: If [TRUE], message will be sent to admin connected chats. Vice-versa applies. - */ + * Send a message to connected chats. + * + * message - The string to send. + * admin_only: If [TRUE], message will be sent to admin connected chats. Vice-versa applies. + */ /world/proc/TgsTargetedChatBroadcast(message, admin_only = FALSE) return /** - * Send a private message to a specific user. - * - * message - The string to send. - * user: The [/datum/tgs_chat_user] to PM. - */ + * Send a private message to a specific user. + * + * message - The string to send. + * user: The [/datum/tgs_chat_user] to PM. + */ /world/proc/TgsChatPrivateMessage(message, datum/tgs_chat_user/user) return // The following functions will sleep if a call to TgsNew() is sleeping /** - * Send a message to connected chats that are flagged as game-related in TGS. - * - * message - The string to send. - * channels - Optional list of [/datum/tgs_chat_channel]s to restrict the message to. - */ + * Send a message to connected chats that are flagged as game-related in TGS. + * + * message - The string to send. + * channels - Optional list of [/datum/tgs_chat_channel]s to restrict the message to. + */ /world/proc/TgsChatBroadcast(message, list/channels = null) return diff --git a/code/__DEFINES/tgui.dm b/code/__DEFINES/tgui.dm index 467058f27a..f594b735b6 100644 --- a/code/__DEFINES/tgui.dm +++ b/code/__DEFINES/tgui.dm @@ -32,4 +32,4 @@ url_encode(json_encode(list( \ "type" = type, \ "payload" = payload, \ - )))) \ No newline at end of file + )))) diff --git a/code/__DEFINES/traits.dm b/code/__DEFINES/traits.dm index 8e14c7a58e..2275c4b90b 100644 --- a/code/__DEFINES/traits.dm +++ b/code/__DEFINES/traits.dm @@ -118,6 +118,8 @@ #define TRAIT_NOLIMBDISABLE "no_limb_disable" #define TRAIT_EASYLIMBDISABLE "easy_limb_disable" #define TRAIT_TOXINLOVER "toxinlover" +#define TRAIT_ROBOTIC_ORGANISM "robotic_organism" +#define TRAIT_ROBOT_RADSHIELDING "robot_radshielding" #define TRAIT_NOBREATH "no_breath" #define TRAIT_ANTIMAGIC "anti_magic" #define TRAIT_HOLY "holy" @@ -203,7 +205,7 @@ #define TRAIT_THERMAL_VISION "thermal_vision" #define TRAIT_NO_TELEPORT "no-teleport" //you just can't #define TRAIT_NO_INTERNALS "no-internals" -#define TRAIT_NO_ALCOHOL "alcohol_intolerance" +#define TRAIT_TOXIC_ALCOHOL "alcohol_intolerance" #define TRAIT_MUTATION_STASIS "mutation_stasis" //Prevents processed genetics mutations from processing. #define TRAIT_FAST_PUMP "fast_pump" #define TRAIT_NO_PROCESS_FOOD "no-process-food" // You don't get benefits from nutriment, nor nutrition from reagent consumables @@ -211,6 +213,10 @@ #define TRAIT_NO_STAMINA_BUFFER_REGENERATION "block_stamina_buffer_regen" /// Prevents stamina buffer regeneration #define TRAIT_NO_STAMINA_REGENERATION "block_stamina_regen" /// Prevents stamina regeneration #define TRAIT_ARMOR_BROKEN "armor_broken" //acts as if you are wearing no clothing when taking damage, does not affect non-clothing sources of protection +/// forces update_density to make us not dense +#define TRAIT_LIVING_NO_DENSITY "living_no_density" +/// forces us to not render our overlays +#define TRAIT_HUMAN_NO_RENDER "human_no_render" // mobility flag traits // IN THE FUTURE, IT WOULD BE NICE TO DO SOMETHING SIMILAR TO https://github.com/tgstation/tgstation/pull/48923/files (ofcourse not nearly the same because I have my.. thoughts on it) @@ -307,6 +313,7 @@ #define LOCKED_HELMET_TRAIT "locked-helmet" #define NINJA_SUIT_TRAIT "ninja-suit" #define ANTI_DROP_IMPLANT_TRAIT "anti-drop-implant" +#define ROBOT_RADSHIELDING_IMPLANT_TRAIT "robot-radshielding-implant" #define MARTIAL_ARTIST_TRAIT "martial_artist" #define SLEEPING_CARP_TRAIT "sleeping_carp" #define RISING_BASS_TRAIT "rising_bass" @@ -318,6 +325,7 @@ #define MEGAFAUNA_TRAIT "megafauna" #define DEATHSQUAD_TRAIT "deathsquad" #define SLIMEPUDDLE_TRAIT "slimepuddle" +#define CORRUPTED_SYSTEM "corrupted-system" /// This trait is added by the active directional block system. #define ACTIVE_BLOCK_TRAIT "active_block" /// This trait is added by the parry system. diff --git a/code/__DEFINES/turf_flags.dm b/code/__DEFINES/turf_flags.dm index 8604a92c01..881a535a40 100644 --- a/code/__DEFINES/turf_flags.dm +++ b/code/__DEFINES/turf_flags.dm @@ -3,4 +3,4 @@ #define CHANGETURF_FORCEOP 4 #define CHANGETURF_SKIP 8 // A flag for PlaceOnTop to just instance the new turf instead of calling ChangeTurf. Used for uninitialized turfs NOTHING ELSE #define CHANGETURF_INHERIT_AIR 16 // Inherit air from previous turf. Implies CHANGETURF_IGNORE_AIR -#define CHANGETURF_RECALC_ADJACENT 32 //Immediately recalc adjacent atmos turfs instead of queuing. \ No newline at end of file +#define CHANGETURF_RECALC_ADJACENT 32 //Immediately recalc adjacent atmos turfs instead of queuing. diff --git a/code/__DEFINES/vehicles.dm b/code/__DEFINES/vehicles.dm index 0bcc14d0d7..48383546b9 100644 --- a/code/__DEFINES/vehicles.dm +++ b/code/__DEFINES/vehicles.dm @@ -6,4 +6,4 @@ //Car trait flags -#define CAN_KIDNAP 1 \ No newline at end of file +#define CAN_KIDNAP 1 diff --git a/code/__HELPERS/_logging.dm b/code/__HELPERS/_logging.dm index 583427cab7..76ca97cd3a 100644 --- a/code/__HELPERS/_logging.dm +++ b/code/__HELPERS/_logging.dm @@ -86,10 +86,6 @@ if (CONFIG_GET(flag/log_attack)) WRITE_LOG(GLOB.world_attack_log, "ATTACK: [text]") -/proc/log_wounded(text) - if (CONFIG_GET(flag/log_attack)) - WRITE_LOG(GLOB.world_attack_log, "WOUND: [text]") - /proc/log_manifest(ckey, datum/mind/mind,mob/body, latejoin = FALSE) if (CONFIG_GET(flag/log_manifest)) WRITE_LOG(GLOB.world_manifest_log, "[ckey] \\ [body.real_name] \\ [mind.assigned_role] \\ [mind.special_role ? mind.special_role : "NONE"] \\ [latejoin ? "LATEJOIN":"ROUNDSTART"]") diff --git a/code/__HELPERS/custom_holoforms.dm b/code/__HELPERS/custom_holoforms.dm index 0e97314f1f..2733a97e14 100644 --- a/code/__HELPERS/custom_holoforms.dm +++ b/code/__HELPERS/custom_holoforms.dm @@ -46,6 +46,33 @@ I = getPAIHologramIcon(I) return I +//Prompts this client for custom holoform parameters. +/proc/user_interface_custom_holoform(client/C) + var/datum/preferences/target_prefs = C.prefs + if(target_prefs.path) + var/list/characters = list() + var/savefile/S = new /savefile(target_prefs.path) + if(S) + var/name + var/max_save_slots = C.prefs.max_save_slots + for(var/i=1, i<=max_save_slots, i++) + S.cd = "/character[i]" + S["real_name"] >> name + if(name) + characters[name] = i + var/chosen_name = input(C, "Which character do you wish to use as your appearance.") as anything in characters + if(chosen_name) + if(C.prefs.last_custom_holoform > world.time - CUSTOM_HOLOFORM_DELAY) + to_chat(C.mob, "You are attempting to set your custom holoform too fast!") + return + target_prefs = new(C) + if(!target_prefs.load_character(characters[chosen_name], TRUE)) + target_prefs = C.prefs + + ASSERT(target_prefs) + //In the future, maybe add custom path allowances a la admin create outfit but for now.. + return generate_custom_holoform_from_prefs(target_prefs, null, null, TRUE, TRUE) + //Errors go to user. /proc/generate_custom_holoform_from_prefs_safe(datum/preferences/prefs, mob/user) if(user) @@ -53,10 +80,3 @@ to_chat(user, "You are attempting to set your custom holoform too fast!") return return generate_custom_holoform_from_prefs(prefs, null, null, TRUE, TRUE) - -//Prompts this client for custom holoform parameters. -/proc/user_interface_custom_holoform(client/C) - var/datum/preferences/target_prefs = C.prefs - ASSERT(target_prefs) - //In the future, maybe add custom path allowances a la admin create outfit but for now.. - return generate_custom_holoform_from_prefs_safe(target_prefs, C.mob) diff --git a/code/__HELPERS/icons.dm b/code/__HELPERS/icons.dm index 90864cf359..1d37f639bf 100644 --- a/code/__HELPERS/icons.dm +++ b/code/__HELPERS/icons.dm @@ -1235,3 +1235,18 @@ GLOBAL_DATUM_INIT(dummySave, /savefile, new("tmp/dummySave.sav")) //Cache of ico var/icon/I = getFlatIcon(thing) return icon2html(I, target, sourceonly = sourceonly) +/* Gives the result RGB of a RGB string after a matrix transformation. No alpha. + * Input: rr, rg, rb, gr, gg, gb, br, bg, bb, cr, cg, cb + * Output: RGB string + */ +/proc/RGBMatrixTransform(list/color, list/cm) + ASSERT(cm.len >= 9) + if(cm.len < 12) // fill in the rest + for(var/i in 1 to (12 - cm.len)) + cm += 0 + if(!islist(color)) + color = ReadRGB(color) + color[1] = color[1] * cm[1] + color[2] * cm[2] + color[3] * cm[3] + cm[10] * 255 + color[2] = color[1] * cm[4] + color[2] * cm[5] + color[3] * cm[6] + cm[11] * 255 + color[3] = color[1] * cm[7] + color[2] * cm[8] + color[3] * cm[9] + cm[12] * 255 + return rgb(color[1], color[2], color[3]) diff --git a/code/__HELPERS/matrices.dm b/code/__HELPERS/matrices.dm index d96ec76a7c..59fbb4ffc0 100644 --- a/code/__HELPERS/matrices.dm +++ b/code/__HELPERS/matrices.dm @@ -176,4 +176,10 @@ round(cos_inv_third+sqrt3_sin, 0.001), round(cos_inv_third-sqrt3_sin, 0.001), ro offset = (y-1)*4 for(x in 1 to 4) output[offset+x] = round(A[offset+1]*B[x] + A[offset+2]*B[x+4] + A[offset+3]*B[x+8] + A[offset+4]*B[x+12]+(y==5?B[x+16]:0), 0.001) - return output \ No newline at end of file + return output + +/** + * Assembles a color matrix, defaulting to identity + */ +/proc/rgb_construct_color_matrix(rr = 1, rg, rb, gr, gg = 1, gb, br, bg, bb = 1, cr, cg, cb) + return list(rr, rg, rb, gr, gg, gb, br, bg, bb, cr, cg, cb) diff --git a/code/__HELPERS/reagents.dm b/code/__HELPERS/reagents.dm index 50c866b30b..de225b3b53 100644 --- a/code/__HELPERS/reagents.dm +++ b/code/__HELPERS/reagents.dm @@ -94,4 +94,4 @@ chosen_id = input(user, "Choose a reagent to add.", "Choose a reagent.") as null|anything in subtypesof(/datum/reagent) if("I'm feeling lucky") chosen_id = pick(subtypesof(/datum/reagent)) - return chosen_id \ No newline at end of file + return chosen_id diff --git a/code/__HELPERS/roundend.dm b/code/__HELPERS/roundend.dm index e4a2e6521a..a860a8cd3f 100644 --- a/code/__HELPERS/roundend.dm +++ b/code/__HELPERS/roundend.dm @@ -238,8 +238,11 @@ CHECK_TICK SSdbcore.SetRoundEnd() //Collects persistence features - if(mode.allow_persistence_save) - SSpersistence.CollectData() + if(mode.station_was_nuked) + SSpersistence.station_was_destroyed = TRUE + if(!mode.allow_persistence_save) + SSpersistence.station_persistence_save_disabled = TRUE + SSpersistence.CollectData() //stop collecting feedback during grifftime SSblackbox.Seal() diff --git a/code/__HELPERS/shell.dm b/code/__HELPERS/shell.dm index 3438f38b85..303036b341 100644 --- a/code/__HELPERS/shell.dm +++ b/code/__HELPERS/shell.dm @@ -13,6 +13,7 @@ var/err_file = "" var/static/list/interpreters = list("[MS_WINDOWS]" = "cmd /c", "[UNIX]" = "sh -c") var/interpreter = interpreters["[world.system_type]"] + log_subsystem("SHELL", "Executing command [command]") if(interpreter) for(var/seo_id in shelleo_ids) if(!shelleo_ids[seo_id]) @@ -36,6 +37,7 @@ else CRASH("Operating System: [world.system_type] not supported") // If you encounter this error, you are encouraged to update this proc with support for the new operating system . = list(errorcode, stdout, stderr) + log_subsystem("SHELL", "Finished execution: [errorcode], [stdout], [stderr]") #undef SHELLEO_NAME #undef SHELLEO_ERR #undef SHELLEO_OUT diff --git a/code/__HELPERS/sorts/InsertSort.dm b/code/__HELPERS/sorts/InsertSort.dm index 962709527e..4c8c207abe 100644 --- a/code/__HELPERS/sorts/InsertSort.dm +++ b/code/__HELPERS/sorts/InsertSort.dm @@ -16,4 +16,4 @@ SI.associative = associative SI.binarySort(fromIndex, toIndex, fromIndex) - return L \ No newline at end of file + return L diff --git a/code/__HELPERS/sorts/MergeSort.dm b/code/__HELPERS/sorts/MergeSort.dm index 39d3799725..9c85f37f7c 100644 --- a/code/__HELPERS/sorts/MergeSort.dm +++ b/code/__HELPERS/sorts/MergeSort.dm @@ -16,4 +16,4 @@ SI.associative = associative SI.mergeSort(fromIndex, toIndex) - return L \ No newline at end of file + return L diff --git a/code/__HELPERS/sorts/TimSort.dm b/code/__HELPERS/sorts/TimSort.dm index d709044dc0..7191d1ee55 100644 --- a/code/__HELPERS/sorts/TimSort.dm +++ b/code/__HELPERS/sorts/TimSort.dm @@ -17,4 +17,4 @@ SI.associative = associative SI.timSort(fromIndex, toIndex) - return L \ No newline at end of file + return L diff --git a/code/__HELPERS/text_vr.dm b/code/__HELPERS/text_vr.dm index 3c1e1eff12..cde9b1931f 100644 --- a/code/__HELPERS/text_vr.dm +++ b/code/__HELPERS/text_vr.dm @@ -29,4 +29,4 @@ GLOBAL_LIST_EMPTY(whitelisted_species_list) /proc/log_looc(text) if (CONFIG_GET(flag/log_ooc)) - WRITE_FILE(GLOB.world_game_log, "\[[TIME_STAMP("hh:mm:ss", FALSE)]]LOOC: [text]") \ No newline at end of file + WRITE_FILE(GLOB.world_game_log, "\[[TIME_STAMP("hh:mm:ss", FALSE)]]LOOC: [text]") diff --git a/code/__HELPERS/type2type.dm b/code/__HELPERS/type2type.dm index bbbf99c9de..0987e95dc9 100644 --- a/code/__HELPERS/type2type.dm +++ b/code/__HELPERS/type2type.dm @@ -225,6 +225,8 @@ . += "[seperator]AUTOLOGIN" if(rights & R_DBRANKS) . += "[seperator]DBRANKS" + if(rights & R_SENSITIVE) + . += "[seperator]SENSITIVE" if(!.) . = "NONE" return . diff --git a/code/__HELPERS/typelists.dm b/code/__HELPERS/typelists.dm index f271b9204d..3519eb60f3 100644 --- a/code/__HELPERS/typelists.dm +++ b/code/__HELPERS/typelists.dm @@ -40,4 +40,4 @@ GLOBAL_LIST_EMPTY(typelistkeys) for (var/saving in savings) to_chat(world, "Savings for [saving]: [savings[saving]] lists, [saveditems[saving]] items") -#endif \ No newline at end of file +#endif diff --git a/code/__HELPERS/vector.dm b/code/__HELPERS/vector.dm index 80295bde0e..9033868e6f 100644 --- a/code/__HELPERS/vector.dm +++ b/code/__HELPERS/vector.dm @@ -54,4 +54,4 @@ return locate(T.x + V.x, T.y + V.y, z) /proc/atoms2vector(var/atom/A, var/atom/B) - return new /datum/vector((B.x - A.x), (B.y - A.y)) // Vector from A -> B \ No newline at end of file + return new /datum/vector((B.x - A.x), (B.y - A.y)) // Vector from A -> B diff --git a/code/_globalvars/bitfields.dm b/code/_globalvars/bitfields.dm index b558b28cf2..3fc275d436 100644 --- a/code/_globalvars/bitfields.dm +++ b/code/_globalvars/bitfields.dm @@ -67,7 +67,8 @@ GLOBAL_LIST_INIT(bitfields, list( "SOUNDS" = R_SOUNDS, "SPAWN" = R_SPAWN, "AUTOLOGIN" = R_AUTOLOGIN, - "DBRANKS" = R_DBRANKS + "DBRANKS" = R_DBRANKS, + "SENSITIVE" = R_SENSITIVE ), "interaction_flags_atom" = list( "INTERACT_ATOM_REQUIRES_ANCHORED" = INTERACT_ATOM_REQUIRES_ANCHORED, diff --git a/code/_globalvars/lists/flavor_misc.dm b/code/_globalvars/lists/flavor_misc.dm index 0444e42e91..7fad1690e6 100644 --- a/code/_globalvars/lists/flavor_misc.dm +++ b/code/_globalvars/lists/flavor_misc.dm @@ -275,7 +275,7 @@ GLOBAL_LIST_INIT(wisdoms, world.file2list("strings/wisdoms.txt")) //LANGUAGE CHARACTER CUSTOMIZATION GLOBAL_LIST_INIT(speech_verbs, list("default","says","gibbers", "states", "chitters", "chimpers", "declares", "bellows", "buzzes" ,"beeps", "chirps", "clicks", "hisses" ,"poofs" , "puffs", "rattles", "mewls" ,"barks", "blorbles", "squeaks", "squawks", "flutters", "warbles")) -GLOBAL_LIST_INIT(roundstart_tongues, list("default","human tongue" = /obj/item/organ/tongue, "lizard tongue" = /obj/item/organ/tongue/lizard, "skeleton tongue" = /obj/item/organ/tongue/bone, "fly tongue" = /obj/item/organ/tongue/fly, "ipc tongue" = /obj/item/organ/tongue/robot/ipc)) +GLOBAL_LIST_INIT(roundstart_tongues, list("default","human tongue" = /obj/item/organ/tongue, "lizard tongue" = /obj/item/organ/tongue/lizard, "skeleton tongue" = /obj/item/organ/tongue/bone, "fly tongue" = /obj/item/organ/tongue/fly, "ipc tongue" = /obj/item/organ/tongue/robot/ipc, "xeno tongue" = /obj/item/organ/tongue/alien)) //SPECIES BODYPART LISTS //locked parts are those that your picked species requires to have diff --git a/code/_globalvars/lists/loadout_categories.dm b/code/_globalvars/lists/loadout_categories.dm index 0f0ac52214..4a61a94dc7 100644 --- a/code/_globalvars/lists/loadout_categories.dm +++ b/code/_globalvars/lists/loadout_categories.dm @@ -9,5 +9,6 @@ GLOBAL_LIST_INIT(loadout_categories, list( LOADOUT_CATEGORY_SHOES = LOADOUT_SUBCATEGORIES_NONE, LOADOUT_CATEGORY_GLOVES = LOADOUT_SUBCATEGORIES_NONE, LOADOUT_CATEGORY_GLASSES = LOADOUT_SUBCATEGORIES_NONE, - LOADOUT_CATEGORY_DONATOR = LOADOUT_SUBCATEGORIES_NONE + LOADOUT_CATEGORY_DONATOR = LOADOUT_SUBCATEGORIES_NONE, + LOADOUT_CATEGORY_UNLOCKABLE = LOADOUT_SUBCATEGORIES_NONE )) diff --git a/code/_globalvars/lists/maintenance_loot.dm b/code/_globalvars/lists/maintenance_loot.dm index 14a1924e76..694e913d53 100644 --- a/code/_globalvars/lists/maintenance_loot.dm +++ b/code/_globalvars/lists/maintenance_loot.dm @@ -131,4 +131,4 @@ GLOBAL_LIST_INIT(ratking_coins, list(//Coins: Used by the regal rat mob when spa /obj/item/coin/iron, /obj/item/coin/silver, /obj/item/coin/plastic, - /obj/item/coin/titanium)) \ No newline at end of file + /obj/item/coin/titanium)) diff --git a/code/_globalvars/lists/medals.dm b/code/_globalvars/lists/medals.dm index 0d7903ef7e..91521694ef 100755 --- a/code/_globalvars/lists/medals.dm +++ b/code/_globalvars/lists/medals.dm @@ -1 +1 @@ -GLOBAL_LIST_EMPTY(commendations) \ No newline at end of file +GLOBAL_LIST_EMPTY(commendations) diff --git a/code/_globalvars/traits.dm b/code/_globalvars/traits.dm index e30f0e260d..4e593ba904 100644 --- a/code/_globalvars/traits.dm +++ b/code/_globalvars/traits.dm @@ -52,6 +52,8 @@ GLOBAL_LIST_INIT(traits_by_type, list( "TRAIT_NOLIMBDISABLE" = TRAIT_NOLIMBDISABLE, "TRAIT_EASYLIMBDISABLE" = TRAIT_EASYLIMBDISABLE, "TRAIT_TOXINLOVER" = TRAIT_TOXINLOVER, + "TRAIT_ROBOTIC_ORGANISM" = TRAIT_ROBOTIC_ORGANISM, + "TRAIT_ROBOT_RADSHIELDING" = TRAIT_ROBOT_RADSHIELDING, "TRAIT_NOBREATH" = TRAIT_NOBREATH, "TRAIT_ANTIMAGIC" = TRAIT_ANTIMAGIC, "TRAIT_HOLY" = TRAIT_HOLY, @@ -102,7 +104,7 @@ GLOBAL_LIST_INIT(traits_by_type, list( "TRAIT_AUTO_CATCH_ITEM" = TRAIT_AUTO_CATCH_ITEM, "TRAIT_FREESPRINT" = TRAIT_FREESPRINT, "TRAIT_NO_INTERNALS" = TRAIT_NO_INTERNALS, - "TRAIT_NO_ALCOHOL" = TRAIT_NO_ALCOHOL, + "TRAIT_TOXIC_ALCOHOL" = TRAIT_TOXIC_ALCOHOL, "TRAIT_MUTATION_STASIS" = TRAIT_MUTATION_STASIS, "TRAIT_HEAVY_SLEEPER" = TRAIT_HEAVY_SLEEPER, "TRAIT_LIGHT_STEP" = TRAIT_LIGHT_STEP, diff --git a/code/_js/menus.dm b/code/_js/menus.dm index da56850b07..fc7c3a4266 100644 --- a/code/_js/menus.dm +++ b/code/_js/menus.dm @@ -34,4 +34,4 @@ function dropdowns() { } } } -"} \ No newline at end of file +"} diff --git a/code/_onclick/click.dm b/code/_onclick/click.dm index 2e52fa5bd7..935fbce301 100644 --- a/code/_onclick/click.dm +++ b/code/_onclick/click.dm @@ -24,7 +24,7 @@ * Common mob click code */ /mob/proc/CommonClickOn(atom/A, params) - SHOULD_NOT_SLEEP(TRUE) + //SHOULD_NOT_SLEEP(TRUE) if(mob_transforming) return if(SEND_SIGNAL(src, COMSIG_MOB_CLICKON, A, params) & COMSIG_MOB_CANCEL_CLICKON) @@ -34,7 +34,7 @@ FlushCurrentAction() else DiscardCurrentAction() - + /* Standard mob ClickOn() Handles exceptions: Buildmode, middle click, modified clicks, mech actions @@ -49,7 +49,6 @@ * mob/RangedAttack(atom,params) - used only ranged, only used for tk and laser eyes but could be changed */ /mob/proc/ClickOn(atom/A, params) - SHOULD_NOT_SLEEP(TRUE) if(check_click_intercept(params,A)) return diff --git a/code/_onclick/hud/movable_screen_objects.dm b/code/_onclick/hud/movable_screen_objects.dm index f71ced7a9d..ae11613885 100644 --- a/code/_onclick/hud/movable_screen_objects.dm +++ b/code/_onclick/hud/movable_screen_objects.dm @@ -87,4 +87,4 @@ S.screen_loc = screen_l - screen += S \ No newline at end of file + screen += S diff --git a/code/_onclick/other_mobs.dm b/code/_onclick/other_mobs.dm index 975c6e62d4..073f50d8c5 100644 --- a/code/_onclick/other_mobs.dm +++ b/code/_onclick/other_mobs.dm @@ -36,7 +36,7 @@ return . | A.attack_hand(src, intent, .) /atom/proc/attack_hand(mob/user, act_intent = user.a_intent, attackchain_flags) - SHOULD_NOT_SLEEP(TRUE) + //SHOULD_NOT_SLEEP(TRUE) if(!(interaction_flags_atom & INTERACT_ATOM_NO_FINGERPRINT_ATTACK_HAND)) add_fingerprint(user) if(SEND_SIGNAL(src, COMSIG_ATOM_ATTACK_HAND, user) & COMPONENT_NO_ATTACK_HAND) diff --git a/code/controllers/configuration/configuration.dm b/code/controllers/configuration/configuration.dm index 3ea4d0a870..9d5110daf5 100644 --- a/code/controllers/configuration/configuration.dm +++ b/code/controllers/configuration/configuration.dm @@ -388,15 +388,26 @@ Example config: var/list/probabilities = Get(/datum/config_entry/keyed_list/storyteller_weight) var/list/repeated_mode_adjust = Get(/datum/config_entry/number_list/repeated_mode_adjust) var/list/min_player_counts = Get(/datum/config_entry/keyed_list/storyteller_min_players) + var/list/storyteller_min_chaos = Get(/datum/config_entry/keyed_list/storyteller_min_chaos) + var/list/storyteller_max_chaos = Get(/datum/config_entry/keyed_list/storyteller_max_chaos) for(var/T in storyteller_cache) var/datum/dynamic_storyteller/S = T var/config_tag = initial(S.config_tag) + if(!config_tag) + continue var/probability = (config_tag in probabilities) ? probabilities[config_tag] : initial(S.weight) var/min_players = (config_tag in min_player_counts) ? min_player_counts[config_tag] : initial(S.min_players) if(probability <= 0) continue if(length(GLOB.player_list) < min_players) continue + if(!Get(/datum/config_entry/flag/no_storyteller_threat_removal)) + var/min_chaos = (probabilities in storyteller_min_chaos) ? storyteller_min_chaos[config_tag] : initial(S.min_chaos) + var/max_chaos = (probabilities in storyteller_max_chaos) ? storyteller_max_chaos[config_tag] : initial(S.max_chaos) + if(SSpersistence.average_dynamic_threat < min_chaos) + continue + if(SSpersistence.average_dynamic_threat > max_chaos) + continue if(SSpersistence.saved_storytellers.len == repeated_mode_adjust.len) var/name = initial(S.name) var/recent_round = min(SSpersistence.saved_storytellers.Find(name),3) diff --git a/code/controllers/configuration/entries/dynamic.dm b/code/controllers/configuration/entries/dynamic.dm index 44d9a041a6..935164352e 100644 --- a/code/controllers/configuration/entries/dynamic.dm +++ b/code/controllers/configuration/entries/dynamic.dm @@ -1,5 +1,7 @@ /datum/config_entry/flag/dynamic_voting +/datum/config_entry/flag/no_storyteller_threat_removal + /datum/config_entry/number/dynamic_high_pop_limit config_entry_value = 55 min_val = 1 @@ -67,6 +69,9 @@ /datum/config_entry/number/dynamic_third_rule_high_pop_requirement config_entry_value = 70 +/datum/config_entry/number/dynamic_threat_baseline + config_entry_value = 50 + /datum/config_entry/number_list/dynamic_hijack_requirements /datum/config_entry/number/dynamic_hijack_high_population_requirement @@ -74,7 +79,7 @@ /datum/config_entry/number/dynamic_hijack_cost config_entry_value = 5 - + /datum/config_entry/number/dynamic_glorious_death_cost config_entry_value = 5 @@ -96,3 +101,11 @@ /datum/config_entry/keyed_list/storyteller_min_players key_mode = KEY_MODE_TEXT value_mode = VALUE_MODE_NUM + +/datum/config_entry/keyed_list/storyteller_min_chaos + key_mode = KEY_MODE_TEXT + value_mode = VALUE_MODE_NUM + +/datum/config_entry/keyed_list/storyteller_max_chaos + key_mode = KEY_MODE_TEXT + value_mode = VALUE_MODE_NUM diff --git a/code/controllers/configuration/entries/game_options.dm b/code/controllers/configuration/entries/game_options.dm index 67e4a97894..dc8e9e1859 100644 --- a/code/controllers/configuration/entries/game_options.dm +++ b/code/controllers/configuration/entries/game_options.dm @@ -566,3 +566,20 @@ config_entry_value = 0.333 min_val = 0 integer = FALSE + +/// Amount of dirtyness tiles need to spawn dirt. +/datum/config_entry/number/turf_dirt_threshold + config_entry_value = 100 + min_val = 1 + integer = TRUE + +/// Alpha dirt starts at +/datum/config_entry/number/dirt_alpha_starting + config_entry_value = 127 + max_val = 255 + min_val = 0 + integer = TRUE + +/// Dirtyness multiplier for making turfs dirty +/datum/config_entry/number/turf_dirty_multiplier + config_entry_value = 1 diff --git a/code/controllers/configuration/entries/general.dm b/code/controllers/configuration/entries/general.dm index 90ec3bc289..3c93952b65 100644 --- a/code/controllers/configuration/entries/general.dm +++ b/code/controllers/configuration/entries/general.dm @@ -172,8 +172,6 @@ /datum/config_entry/string/hostedby -/datum/config_entry/flag/norespawn - /datum/config_entry/flag/guest_jobban /datum/config_entry/flag/usewhitelist diff --git a/code/controllers/configuration/entries/persistence.dm b/code/controllers/configuration/entries/persistence.dm new file mode 100644 index 0000000000..2444034b86 --- /dev/null +++ b/code/controllers/configuration/entries/persistence.dm @@ -0,0 +1,20 @@ +/// Whether or not to use the persistence system for cleanable objects +/datum/config_entry/flag/persistent_debris + config_entry_value = FALSE + +/// Whether or not to nuke all roundstart debris that isn't due to persistence if the above is true +/datum/config_entry/flag/persistent_debris_only + config_entry_value = TRUE + +/// Max amount of objects to store, total +/datum/config_entry/number/persistent_debris_global_max + config_entry_value = 10000 + integer = TRUE + +/// Max amount of objects to store per type +/datum/config_entry/number/persistent_debris_type_max + config_entry_value = 2000 + integer = TRUE + +/// Wipe dirty stuff on nuke +/datum/config_entry/flag/persistent_debris_wipe_on_nuke diff --git a/code/controllers/configuration/entries/respawns.dm b/code/controllers/configuration/entries/respawns.dm new file mode 100644 index 0000000000..40c7d248a4 --- /dev/null +++ b/code/controllers/configuration/entries/respawns.dm @@ -0,0 +1,47 @@ +/// Allows usage of respawn system +/datum/config_entry/flag/respawns_enabled + config_entry_value = FALSE + +/// Minutes before allowing respawns. +/datum/config_entry/number/respawn_delay + config_entry_value = 15.0 + integer = FALSE + +/// Minutes before allowing respawn, if user cryo'd. +/datum/config_entry/number/respawn_delay_cryo + config_entry_value = 5.0 + integer = FALSE + +/// Allows respawning as non-assistant. Overrides all others of this type. +/datum/config_entry/flag/allow_non_assistant_respawn + config_entry_value = FALSE + +/// Allows respawning as a combat role, defined as security/head. +/datum/config_entry/flag/allow_combat_role_respawn + config_entry_value = FALSE + +/// Allows respawning as the same character as a previous life +/datum/config_entry/flag/allow_same_character_respawn + config_entry_value = FALSE + +/// Observing penalizes for respawns, not just joining. +/datum/config_entry/flag/respawn_penalty_includes_observe + config_entry_value = FALSE + +/// Minutes from roundstart before someone can respawn +/datum/config_entry/number/respawn_minimum_delay_roundstart + config_entry_value = 30.0 + integer = FALSE + +/// Gamemode config tags that are banned from respawning +/datum/config_entry/keyed_list/respawn_chaos_gamemodes + key_mode = KEY_MODE_TEXT + value_mode = VALUE_MODE_FLAG + +/datum/config_entry/keyed_list/respawn_chaos_gamemodes/ValidateListEntry(key_name, key_value) + . = ..() + return . && (key_name in config.modes) + +/datum/config_entry/keyed_list/respawn_chaos_gamemodes/preprocess_key(key) + . = ..() + return lowertext(key) diff --git a/code/controllers/configuration_citadel.dm b/code/controllers/configuration_citadel.dm index a1e70c9e7e..1c4efebb42 100644 --- a/code/controllers/configuration_citadel.dm +++ b/code/controllers/configuration_citadel.dm @@ -5,4 +5,4 @@ var/discord_url = "hfdksjhfa.com" var/discord_password var/announce_watchlist = 0 - var/announce_adminhelps = 0 \ No newline at end of file + var/announce_adminhelps = 0 diff --git a/code/controllers/failsafe.dm b/code/controllers/failsafe.dm index 22f047a297..fdce9a1287 100644 --- a/code/controllers/failsafe.dm +++ b/code/controllers/failsafe.dm @@ -97,4 +97,4 @@ GLOBAL_REAL(Failsafe, /datum/controller/failsafe) /datum/controller/failsafe/stat_entry(msg) msg = "Defcon: [defcon_pretty()] (Interval: [Failsafe.processing_interval] | Iteration: [Failsafe.master_iteration])" - return msg \ No newline at end of file + return msg diff --git a/code/controllers/subsystem/adjacent_air.dm b/code/controllers/subsystem/adjacent_air.dm index ccbf8ffc65..e93db07775 100644 --- a/code/controllers/subsystem/adjacent_air.dm +++ b/code/controllers/subsystem/adjacent_air.dm @@ -33,4 +33,4 @@ SUBSYSTEM_DEF(adjacent_air) if(MC_TICK_CHECK) break else - CHECK_TICK \ No newline at end of file + CHECK_TICK diff --git a/code/controllers/subsystem/autotransfer.dm b/code/controllers/subsystem/autotransfer.dm index ece203abba..0afa07939e 100644 --- a/code/controllers/subsystem/autotransfer.dm +++ b/code/controllers/subsystem/autotransfer.dm @@ -37,4 +37,4 @@ SUBSYSTEM_DEF(autotransfer) else SSshuttle.autoEnd() -#undef NO_MAXVOTES_CAP \ No newline at end of file +#undef NO_MAXVOTES_CAP diff --git a/code/controllers/subsystem/garbage.dm b/code/controllers/subsystem/garbage.dm index 51d56545b6..da3bb24a2f 100644 --- a/code/controllers/subsystem/garbage.dm +++ b/code/controllers/subsystem/garbage.dm @@ -115,18 +115,22 @@ SUBSYSTEM_DEF(garbage) lastlevel = level - for (var/refID in queue) - if (!refID) + //We do this rather then for(var/refID in queue) because that sort of for loop copies the whole list. + //Normally this isn't expensive, but the gc queue can grow to 40k items, and that gets costly/causes overrun. + for (var/i in 1 to length(queue)) + var/list/L = queue[i] + if (length(L) < 2) count++ if (MC_TICK_CHECK) return continue - var/GCd_at_time = queue[refID] + var/GCd_at_time = L[1] if(GCd_at_time > cut_off_time) break // Everything else is newer, skip them count++ + var/refID = L[2] var/datum/D D = locate(refID) @@ -202,10 +206,7 @@ SUBSYSTEM_DEF(garbage) D.gc_destroyed = gctime var/list/queue = queues[level] - if (queue[refid]) - queue -= refid // Removing any previous references that were GC'd so that the current object will be at the end of the list. - - queue[refid] = gctime + queue[++queue.len] = list(gctime, refid) // not += for byond reasons #ifdef LEGACY_REFERENCE_TRACKING /datum/controller/subsystem/garbage/proc/add_type_to_findref(type) diff --git a/code/controllers/subsystem/input.dm b/code/controllers/subsystem/input.dm index bc3f6cf51b..28505c70f8 100644 --- a/code/controllers/subsystem/input.dm +++ b/code/controllers/subsystem/input.dm @@ -6,6 +6,12 @@ SUBSYSTEM_DEF(input) priority = FIRE_PRIORITY_INPUT runlevels = RUNLEVELS_DEFAULT | RUNLEVEL_LOBBY + /// KEEP THIS UP TO DATE! + var/static/list/all_macrosets = list( + SKIN_MACROSET_HOTKEYS, + SKIN_MACROSET_CLASSIC_HOTKEYS, + SKIN_MACROSET_CLASSIC_INPUT + ) /// Classic mode input focused macro set. Manually set because we can't define ANY or ANY+UP for classic. var/static/list/macroset_classic_input /// Classic mode map focused macro set. Manually set because it needs to be clientside and go to macroset_classic_input. @@ -51,11 +57,6 @@ SUBSYSTEM_DEF(input) // let's play the ascii game of A to Z (UPPERCASE) for(var/i in 65 to 90) classic_ctrl_override_keys += ascii2text(i) - // let's play the game of clientside bind overrides! - classic_ctrl_override_keys -= list("T", "O", "M", "L") - macroset_classic_input["Ctrl+T"] = "say" - macroset_classic_input["Ctrl+O"] = "ooc" - macroset_classic_input["Ctrl+L"] = "looc" // let's play the list iteration game x2 for(var/key in classic_ctrl_override_keys) // make sure to double double quote to ensure things are treated as a key combo instead of addition/semicolon logic. @@ -67,20 +68,6 @@ SUBSYSTEM_DEF(input) // FINALLY, WE CAN DO SOMETHING MORE NORMAL FOR THE SNOWFLAKE-BUT-LESS KEYSET. - // HAHA - SIKE. Because of BYOND weirdness (tl;dr not specifically binding this way results in potentially duplicate chatboxes when - // conflicts occur with something like say indicator vs say), we're going to snowflake this anyways - var/list/hard_binds = list( - "O" = "ooc", - "T" = "say", - "L" = "looc", - "M" = "me" - ) - var/list/hard_bind_anti_collision = list() - var/list/anti_collision_modifiers = list("Ctrl", "Alt", "Shift", "Ctrl+Alt", "Ctrl+Shift", "Alt+Shift", "Ctrl+Alt+Shift") - for(var/key in hard_binds) - for(var/modifier in anti_collision_modifiers) - hard_bind_anti_collision["[modifier]+[key]"] = ".NONSENSICAL_VERB_THAT_DOES_NOTHING" - macroset_classic_hotkey = list( "Any" = "\"KeyDown \[\[*\]\]\"", "Any+UP" = "\"KeyUp \[\[*\]\]\"", @@ -89,9 +76,6 @@ SUBSYSTEM_DEF(input) "Back" = "\".winset \\\"input.text=\\\"\\\"\\\"\"", ) - macroset_classic_hotkey |= hard_binds - macroset_classic_hotkey |= hard_bind_anti_collision - // And finally, the modern set. macroset_hotkey = list( "Any" = "\"KeyDown \[\[*\]\]\"", @@ -101,24 +85,22 @@ SUBSYSTEM_DEF(input) "Back" = "\".winset \\\"input.text=\\\"\\\"\\\"\"", ) - macroset_hotkey |= hard_binds - macroset_hotkey |= hard_bind_anti_collision - // Badmins just wanna have fun ♪ /datum/controller/subsystem/input/proc/refresh_client_macro_sets() var/list/clients = GLOB.clients for(var/i in 1 to clients.len) var/client/user = clients[i] - user.set_macros() - user.update_movement_keys() + user.full_macro_assert() /datum/controller/subsystem/input/fire() + set waitfor = FALSE var/list/clients = GLOB.clients // Let's sing the list cache song for(var/i in 1 to clients.len) var/client/C = clients[i] C.keyLoop() +#define NONSENSICAL_VERB "NONSENSICAL_VERB_THAT_DOES_NOTHING" /// *sigh /client/verb/NONSENSICAL_VERB_THAT_DOES_NOTHING() - set name = ".NONSENSICAL_VERB_THAT_DOES_NOTHING" + set name = "NONSENSICAL_VERB_THAT_DOES_NOTHING" set hidden = TRUE diff --git a/code/controllers/subsystem/job.dm b/code/controllers/subsystem/job.dm index 0f936bdeff..779ee2fbac 100644 --- a/code/controllers/subsystem/job.dm +++ b/code/controllers/subsystem/job.dm @@ -670,11 +670,12 @@ SUBSYSTEM_DEF(job) var/mob/the_mob = N if(!the_mob) the_mob = M // cause this doesn't get assigned if player is a latejoiner - if(the_mob.client && the_mob.client.prefs && (the_mob.client.prefs.chosen_gear && the_mob.client.prefs.chosen_gear.len)) + var/list/chosen_gear = the_mob.client.prefs.loadout_data["SAVE_[the_mob.client.prefs.loadout_slot]"] + if(the_mob.client && the_mob.client.prefs && (chosen_gear && chosen_gear.len)) if(!ishuman(M))//no silicons allowed return - for(var/i in the_mob.client.prefs.chosen_gear) - var/datum/gear/G = i + for(var/i in chosen_gear) + var/datum/gear/G = istext(i[LOADOUT_ITEM]) ? text2path(i[LOADOUT_ITEM]) : i[LOADOUT_ITEM] G = GLOB.loadout_items[initial(G.category)][initial(G.subcategory)][initial(G.name)] if(!G) continue @@ -690,6 +691,21 @@ SUBSYSTEM_DEF(job) if(!permitted) continue var/obj/item/I = new G.path + if(I && length(i[LOADOUT_COLOR])) //handle loadout colors + //handle polychromic items + if((G.loadout_flags & LOADOUT_CAN_COLOR_POLYCHROMIC) && length(G.loadout_initial_colors)) + var/datum/element/polychromic/polychromic = I.comp_lookup["item_worn_overlays"] //stupid way to do it but GetElement does not work for this + if(polychromic && istype(polychromic)) + var/list/polychromic_entry = polychromic.colors_by_atom[I] + if(polychromic_entry) + if(polychromic.suits_with_helmet_typecache[I.type]) //is this one of those toggleable hood/helmet things? + polychromic.connect_helmet(I,i[LOADOUT_COLOR]) + polychromic.colors_by_atom[I] = i[LOADOUT_COLOR] + I.update_icon() + else + //handle non-polychromic items (they only have one color) + I.add_atom_colour(i[LOADOUT_COLOR][1], FIXED_COLOUR_PRIORITY) + I.update_icon() if(!M.equip_to_slot_if_possible(I, G.slot, disable_warning = TRUE, bypass_equip_delay_self = TRUE)) // If the job's dresscode compliant, try to put it in its slot, first if(iscarbon(M)) var/mob/living/carbon/C = M diff --git a/code/controllers/subsystem/mapping.dm b/code/controllers/subsystem/mapping.dm index 2ea3b29c91..90908bbde0 100644 --- a/code/controllers/subsystem/mapping.dm +++ b/code/controllers/subsystem/mapping.dm @@ -41,6 +41,8 @@ SUBSYSTEM_DEF(mapping) var/datum/space_level/transit var/datum/space_level/empty_space var/num_of_res_levels = 1 + /// Lookup for zlevel to station z. text = num. + var/list/z_to_station_z_index var/stat_map_name = "Loading..." @@ -259,6 +261,16 @@ SUBSYSTEM_DEF(mapping) INIT_ANNOUNCE("Loaded [name] in [(REALTIMEOFDAY - start_time)/10]s!") return parsed_maps +/datum/controller/subsystem/mapping/proc/setup_station_z_index() + z_to_station_z_index = list() + var/sz = 1 + var/cz = station_start + if(islist(config.map_file)) + for(var/map in config.map_file) + z_to_station_z_index["[cz++]"] = sz++ + else + z_to_station_z_index["[station_start]"] = 1 + /datum/controller/subsystem/mapping/proc/loadWorld() //if any of these fail, something has gone horribly, HORRIBLY, wrong var/list/FailedZs = list() @@ -271,6 +283,8 @@ SUBSYSTEM_DEF(mapping) INIT_ANNOUNCE("Loading [config.map_name]...") LoadGroup(FailedZs, "Station", config.map_path, config.map_file, config.traits, ZTRAITS_STATION, FALSE, config.orientation) + setup_station_z_index() + if(SSdbcore.Connect()) var/datum/DBQuery/query_round_map_name = SSdbcore.NewQuery("UPDATE [format_table_name("round")] SET map_name = '[config.map_name]' WHERE id = [GLOB.round_id]") query_round_map_name.Execute() diff --git a/code/controllers/subsystem/minor_mapping.dm b/code/controllers/subsystem/minor_mapping.dm index 2160cae6e3..bd950e453e 100644 --- a/code/controllers/subsystem/minor_mapping.dm +++ b/code/controllers/subsystem/minor_mapping.dm @@ -35,4 +35,4 @@ SUBSYSTEM_DEF(minor_mapping) if(locate(/obj/structure/cable) in T) exposed_wires += T - return shuffle(exposed_wires) \ No newline at end of file + return shuffle(exposed_wires) diff --git a/code/controllers/subsystem/persistence.dm b/code/controllers/subsystem/persistence/_persistence.dm similarity index 51% rename from code/controllers/subsystem/persistence.dm rename to code/controllers/subsystem/persistence/_persistence.dm index e1b6e6f6e2..741d1dd72a 100644 --- a/code/controllers/subsystem/persistence.dm +++ b/code/controllers/subsystem/persistence/_persistence.dm @@ -5,18 +5,14 @@ SUBSYSTEM_DEF(persistence) name = "Persistence" init_order = INIT_ORDER_PERSISTENCE flags = SS_NO_FIRE - var/list/satchel_blacklist = list() //this is a typecache - var/list/new_secret_satchels = list() //these are objects - var/list/old_secret_satchels = list() + + /// Marks if the station got horribly destroyed + var/station_was_destroyed = FALSE + /// Marks if persistence save should be disabled + var/station_persistence_save_disabled = FALSE var/list/obj/structure/chisel_message/chisel_messages = list() var/list/saved_messages = list() - var/list/saved_modes = list(1,2,3) - var/list/saved_dynamic_rules = list(list(),list(),list()) - var/list/saved_storytellers = list("foo","bar","baz") - var/list/average_dynamic_threat = 50 - var/list/saved_maps - var/list/saved_trophies = list() var/list/spawned_objects = list() var/list/antag_rep = list() var/list/antag_rep_change = list() @@ -28,62 +24,81 @@ SUBSYSTEM_DEF(persistence) var/list/paintings = list() /datum/controller/subsystem/persistence/Initialize() - LoadSatchels() - LoadPoly() - LoadChiselMessages() - LoadTrophies() - LoadRecentModes() - LoadRecentStorytellers() - LoadRecentRulesets() - LoadRecentMaps() - LoadPhotoPersistence() + LoadServerPersistence() + LoadGamePersistence() + var/map_persistence_path = get_map_persistence_path() + if(map_persistence_path) + LoadMapPersistence() + return ..() + +/** + * Gets the persistence path of the current map. + */ +/datum/controller/subsystem/persistence/proc/get_map_persistence_path() + ASSERT(SSmapping.config) + if(!SSmapping.config.persistence_key || (SSmapping.config.persistence_key == "NO_PERSIST")) + return null + return "data/persistence/[ckey(SSmapping.config.persistence_key)]" + +/datum/controller/subsystem/persistence/proc/CollectData() + SaveServerPersistence() + if(station_persistence_save_disabled) + return + SaveGamePersistence() + var/map_persistence_path = get_map_persistence_path() + if(map_persistence_path) + SaveMapPersistence() + +/** + * Loads persistent data relevant to the server: Configurations, past gamemodes, votes, antag rep, etc + */ +/datum/controller/subsystem/persistence/proc/LoadServerPersistence() for(var/client/C in GLOB.clients) LoadSavedVote(C.ckey) if(CONFIG_GET(flag/use_antag_rep)) LoadAntagReputation() LoadRandomizedRecipes() - LoadPanicBunker() - return ..() -/datum/controller/subsystem/persistence/proc/LoadSatchels() - var/placed_satchel = 0 - var/path +/** + * Saves persistent data relevant to the server: Configurations, past gamemodes, votes, antag rep, etc + */ +/datum/controller/subsystem/persistence/proc/SaveServerPersistence() + if(CONFIG_GET(flag/use_antag_rep)) + CollectAntagReputation() + SaveRandomizedRecipes() - var/json_file = file("data/npc_saves/SecretSatchels[SSmapping.config.map_name].json") - var/list/json = list() - if(fexists(json_file)) - json = json_decode(file2text(json_file)) +/** + * Loads persistent data relevant to the game in general: Photos, etc + * + * Legacy map persistence systems also use this. + */ +/datum/controller/subsystem/persistence/proc/LoadGamePersistence() + LoadChiselMessages() + LoadPhotoPersistence() + LoadPaintings() - old_secret_satchels = json["data"] - var/obj/item/storage/backpack/satchel/flat/F - if(old_secret_satchels && old_secret_satchels.len >= 10) //guards against low drop pools assuring that one player cannot reliably find his own gear. - var/pos = rand(1, old_secret_satchels.len) - F = new() - old_secret_satchels.Cut(pos, pos+1 % old_secret_satchels.len) - F.x = old_secret_satchels[pos]["x"] - F.y = old_secret_satchels[pos]["y"] - F.z = SSmapping.station_start - path = text2path(old_secret_satchels[pos]["saved_obj"]) +/** + * Saves persistent data relevant to the game in general: Photos, etc + * + * Legacy map persistence systems also use this. + */ +/datum/controller/subsystem/persistence/proc/SaveGamePersistence() + CollectChiselMessages() + SavePhotoPersistence() //THIS IS PERSISTENCE, NOT THE LOGGING PORTION. + SavePaintings() + SaveScars() - if(F) - if(isfloorturf(F.loc) && !isplatingturf(F.loc)) - F.hide(1) - if(ispath(path)) - var/spawned_item = new path(F) - spawned_objects[spawned_item] = TRUE - placed_satchel++ - var/free_satchels = 0 - for(var/turf/T in shuffle(block(locate(TRANSITIONEDGE,TRANSITIONEDGE,SSmapping.station_start), locate(world.maxx-TRANSITIONEDGE,world.maxy-TRANSITIONEDGE,SSmapping.station_start)))) //Nontrivially expensive but it's roundstart only - if(isfloorturf(T) && !isplatingturf(T)) - new /obj/item/storage/backpack/satchel/flat/secret(T) - free_satchels++ - if((free_satchels + placed_satchel) == 10) //ten tiles, more than enough to kill anything that moves - break +/** + * Loads persistent data relevant to the current map: Objects, etc. + */ +/datum/controller/subsystem/persistence/proc/LoadMapPersistence() + return -/datum/controller/subsystem/persistence/proc/LoadPoly() - for(var/mob/living/simple_animal/parrot/Poly/P in GLOB.alive_mob_list) - twitterize(P.speech_buffer, "polytalk") - break //Who's been duping the bird?! +/** + * Saves persistent data relevant to the current map: Objects, etc. + */ +/datum/controller/subsystem/persistence/proc/SaveMapPersistence() + return /datum/controller/subsystem/persistence/proc/LoadChiselMessages() var/list/saved_messages = list() @@ -130,63 +145,6 @@ SUBSYSTEM_DEF(persistence) log_world("Loaded [saved_messages.len] engraved messages on map [SSmapping.config.map_name]") -/datum/controller/subsystem/persistence/proc/LoadTrophies() - if(fexists("data/npc_saves/TrophyItems.sav")) //legacy compatability to convert old format to new - var/savefile/S = new /savefile("data/npc_saves/TrophyItems.sav") - var/saved_json - S >> saved_json - if(!saved_json) - return - saved_trophies = json_decode(saved_json) - fdel("data/npc_saves/TrophyItems.sav") - else - var/json_file = file("data/npc_saves/TrophyItems.json") - if(!fexists(json_file)) - return - var/list/json = json_decode(file2text(json_file)) - if(!json) - return - saved_trophies = json["data"] - SetUpTrophies(saved_trophies.Copy()) - -/datum/controller/subsystem/persistence/proc/LoadRecentModes() - var/json_file = file("data/RecentModes.json") - if(!fexists(json_file)) - return - var/list/json = json_decode(file2text(json_file)) - if(!json) - return - saved_modes = json["data"] - -/datum/controller/subsystem/persistence/proc/LoadRecentRulesets() - var/json_file = file("data/RecentRulesets.json") - if(!fexists(json_file)) - return - var/list/json = json_decode(file2text(json_file)) - if(!json) - return - saved_dynamic_rules = json["data"] - -/datum/controller/subsystem/persistence/proc/LoadRecentStorytellers() - var/json_file = file("data/RecentStorytellers.json") - if(!fexists(json_file)) - return - var/list/json = json_decode(file2text(json_file)) - if(!json) - return - saved_storytellers = json["data"] - if(saved_storytellers.len > 3) - average_dynamic_threat = saved_storytellers[4] - saved_storytellers.len = 3 - -/datum/controller/subsystem/persistence/proc/LoadRecentMaps() - var/json_file = file("data/RecentMaps.json") - if(!fexists(json_file)) - return - var/list/json = json_decode(file2text(json_file)) - if(!json) - return - saved_maps = json["maps"] /datum/controller/subsystem/persistence/proc/LoadAntagReputation() var/json = file2text(FILE_ANTAG_REP) @@ -207,59 +165,6 @@ SUBSYSTEM_DEF(persistence) return saved_votes[ckey] = json["data"] -/datum/controller/subsystem/persistence/proc/SetUpTrophies(list/trophy_items) - for(var/A in GLOB.trophy_cases) - var/obj/structure/displaycase/trophy/T = A - if (T.showpiece) - continue - T.added_roundstart = TRUE - - var/trophy_data = pick_n_take(trophy_items) - - if(!islist(trophy_data)) - continue - - var/list/chosen_trophy = trophy_data - - if(!chosen_trophy || isemptylist(chosen_trophy)) //Malformed - continue - - var/path = text2path(chosen_trophy["path"]) //If the item no longer exist, this returns null - if(!path) - continue - - T.showpiece = new /obj/item/showpiece_dummy(T, path) - T.trophy_message = chosen_trophy["message"] - T.placer_key = chosen_trophy["placer_key"] - T.update_icon() - -/datum/controller/subsystem/persistence/proc/CollectData() - CollectChiselMessages() - CollectSecretSatchels() - CollectTrophies() - CollectRoundtype() - if(istype(SSticker.mode, /datum/game_mode/dynamic)) - var/datum/game_mode/dynamic/mode = SSticker.mode - CollectStoryteller(mode) - CollectRulesets(mode) - RecordMaps() - SavePhotoPersistence() //THIS IS PERSISTENCE, NOT THE LOGGING PORTION. - if(CONFIG_GET(flag/use_antag_rep)) - CollectAntagReputation() - SaveRandomizedRecipes() - SavePanicBunker() - SavePaintings() - SaveScars() - -/datum/controller/subsystem/persistence/proc/LoadPanicBunker() - var/bunker_path = file("data/bunker_passthrough.json") - if(fexists(bunker_path)) - var/list/json = json_decode(file2text(bunker_path)) - GLOB.bunker_passthrough = json["data"] - for(var/ckey in GLOB.bunker_passthrough) - if(daysSince(GLOB.bunker_passthrough[ckey]) >= CONFIG_GET(number/max_bunker_days)) - GLOB.bunker_passthrough -= ckey - /datum/controller/subsystem/persistence/proc/GetPhotoAlbums() var/album_path = file("data/photo_albums.json") if(fexists(album_path)) @@ -329,35 +234,6 @@ SUBSYSTEM_DEF(persistence) WRITE_FILE(frame_path, frame_json) -/datum/controller/subsystem/persistence/proc/CollectSecretSatchels() - satchel_blacklist = typecacheof(list(/obj/item/stack/tile/plasteel, /obj/item/crowbar)) - var/list/satchels_to_add = list() - for(var/A in new_secret_satchels) - var/obj/item/storage/backpack/satchel/flat/F = A - if(QDELETED(F) || F.z != SSmapping.station_start || F.invisibility != INVISIBILITY_MAXIMUM) - continue - var/list/savable_obj = list() - for(var/obj/O in F) - if(is_type_in_typecache(O, satchel_blacklist) || (O.flags_1 & ADMIN_SPAWNED_1)) - continue - if(O.persistence_replacement) - savable_obj += O.persistence_replacement - else - savable_obj += O.type - if(isemptylist(savable_obj)) - continue - var/list/data = list() - data["x"] = F.x - data["y"] = F.y - data["saved_obj"] = pick(savable_obj) - satchels_to_add += list(data) - - var/json_file = file("data/npc_saves/SecretSatchels[SSmapping.config.map_name].json") - var/list/file_data = list() - fdel(json_file) - file_data["data"] = old_secret_satchels + satchels_to_add - WRITE_FILE(json_file, json_encode(file_data)) - /datum/controller/subsystem/persistence/proc/CollectChiselMessages() var/json_file = file("data/npc_saves/ChiselMessages[SSmapping.config.map_name].json") @@ -373,84 +249,6 @@ SUBSYSTEM_DEF(persistence) /datum/controller/subsystem/persistence/proc/SaveChiselMessage(obj/structure/chisel_message/M) saved_messages += list(M.pack()) // dm eats one list - -/datum/controller/subsystem/persistence/proc/CollectTrophies() - var/json_file = file("data/npc_saves/TrophyItems.json") - var/list/file_data = list() - file_data["data"] = remove_duplicate_trophies(saved_trophies) - fdel(json_file) - WRITE_FILE(json_file, json_encode(file_data)) - -/datum/controller/subsystem/persistence/proc/SavePanicBunker() - var/json_file = file("data/bunker_passthrough.json") - var/list/file_data = list() - file_data["data"] = GLOB.bunker_passthrough - fdel(json_file) - WRITE_FILE(json_file,json_encode(file_data)) - -/datum/controller/subsystem/persistence/proc/remove_duplicate_trophies(list/trophies) - var/list/ukeys = list() - . = list() - for(var/trophy in trophies) - var/tkey = "[trophy["path"]]-[trophy["message"]]" - if(ukeys[tkey]) - continue - else - . += list(trophy) - ukeys[tkey] = TRUE - -/datum/controller/subsystem/persistence/proc/SaveTrophy(obj/structure/displaycase/trophy/T) - if(!T.added_roundstart && T.showpiece) - var/list/data = list() - data["path"] = T.showpiece.type - data["message"] = T.trophy_message - data["placer_key"] = T.placer_key - saved_trophies += list(data) - -/datum/controller/subsystem/persistence/proc/CollectRoundtype() - saved_modes[3] = saved_modes[2] - saved_modes[2] = saved_modes[1] - saved_modes[1] = SSticker.mode.config_tag - var/json_file = file("data/RecentModes.json") - var/list/file_data = list() - file_data["data"] = saved_modes - fdel(json_file) - WRITE_FILE(json_file, json_encode(file_data)) - -/datum/controller/subsystem/persistence/proc/CollectStoryteller(var/datum/game_mode/dynamic/mode) - saved_storytellers.len = 3 - saved_storytellers[3] = saved_storytellers[2] - saved_storytellers[2] = saved_storytellers[1] - saved_storytellers[1] = mode.storyteller.name - average_dynamic_threat = (mode.threat_average + average_dynamic_threat) / 2 - var/json_file = file("data/RecentStorytellers.json") - var/list/file_data = list() - file_data["data"] = saved_storytellers + average_dynamic_threat - fdel(json_file) - WRITE_FILE(json_file, json_encode(file_data)) - -/datum/controller/subsystem/persistence/proc/CollectRulesets(var/datum/game_mode/dynamic/mode) - saved_dynamic_rules[3] = saved_dynamic_rules[2] - saved_dynamic_rules[2] = saved_dynamic_rules[1] - saved_dynamic_rules[1] = list() - for(var/r in mode.executed_rules) - var/datum/dynamic_ruleset/rule = r - saved_dynamic_rules[1] += rule.config_tag - var/json_file = file("data/RecentRulesets.json") - var/list/file_data = list() - file_data["data"] = saved_dynamic_rules - fdel(json_file) - WRITE_FILE(json_file, json_encode(file_data)) - -/datum/controller/subsystem/persistence/proc/RecordMaps() - saved_maps = saved_maps?.len ? list("[SSmapping.config.map_name]") | saved_maps : list("[SSmapping.config.map_name]") - var/json_file = file("data/RecentMaps.json") - var/list/file_data = list() - file_data["maps"] = saved_maps - fdel(json_file) - WRITE_FILE(json_file, json_encode(file_data)) - - /datum/controller/subsystem/persistence/proc/CollectAntagReputation() var/ANTAG_REP_MAXIMUM = CONFIG_GET(number/antag_rep_maximum) diff --git a/code/controllers/subsystem/persistence/cleanable_debris.dm b/code/controllers/subsystem/persistence/cleanable_debris.dm new file mode 100644 index 0000000000..a0817c460b --- /dev/null +++ b/code/controllers/subsystem/persistence/cleanable_debris.dm @@ -0,0 +1,177 @@ +/** + * Persistence for cleanable debris. + */ +/datum/controller/subsystem/persistence + /// tracks if we already loaded debris. Unlike everything else, this can actually be a major problem if some badmin procs it twice. + var/loaded_debris = FALSE + +/datum/controller/subsystem/persistence/LoadMapPersistence() + . = ..() + if(CONFIG_GET(flag/persistent_debris)) + LoadMapDebris() + +/datum/controller/subsystem/persistence/SaveMapPersistence() + . = ..() + if(CONFIG_GET(flag/persistent_debris)) + SaveMapDebris() + +/datum/controller/subsystem/persistence/proc/LoadMapDebris() + if(CONFIG_GET(flag/persistent_debris_only)) + wipe_existing_debris() + if(!fexists("[get_map_persistence_path()]/debris.json")) + return + if(loaded_debris) + return + loaded_debris = TRUE + var/list/allowed_turf_typecache = typecacheof(/turf/open) - typecacheof(/turf/open/space) + var/list/allowed_z_cache = list() + for(var/z in SSmapping.levels_by_trait(ZTRAIT_STATION)) + allowed_z_cache[num2text(z)] = TRUE + var/list/data = json_decode(file2text("[get_map_persistence_path()]/debris.json")) + var/list/z_lookup = list() + var/loaded = 0 + var/list/loaded_by_type = list() + var/nopath = 0 + var/badloc = 0 + var/noturf = 0 + /// reverse it + for(var/z in SSmapping.z_to_station_z_index) + var/sz = SSmapping.z_to_station_z_index[z] + z_lookup[num2text(sz)] = text2num(z) + for(var/z in data) + var/actual_z = z_lookup[z] + var/list/L1 = data[z] + for(var/x in L1) + var/list/L2 = data[z][x] + for(var/y in L2) + var/turf/tile = locate(text2num(x), text2num(y), actual_z) + if(!tile) + noturf++ + continue + var/list/objects = data[z][x][y] + for(var/_L in objects) + var/list/objdata + var/path + if(islist(_L)) + objdata = _L + path = text2path(objdata["__PATH__"]) + else + path = text2path(_L) + objdata = objects[_L] + if(!path) + nopath++ + continue + if(!IsValidDebrisLocation(tile, allowed_turf_typecache, allowed_z_cache, path, TRUE)) + badloc++ + continue + var/obj/effect/decal/cleanable/instantiated = new path(tile) + loaded_by_type[path] += 1 + loaded++ + if(objdata) + instantiated.PersistenceLoad(objdata) + var/list/bytype = list() + for(var/path in loaded_by_type) + bytype += "[path] - [loaded_by_type[path]]" + subsystem_log( + {"Debris loading completed: + Errors: + No path: [nopath] + Invalid location: [badloc] + No turf on map: [noturf] + Total loaded: [loaded] + By type: + [bytype.Join("\n")]"} + ) + +/datum/controller/subsystem/persistence/proc/SaveMapDebris() + if(fexists("[get_map_persistence_path()]/debris.json")) + fdel("[get_map_persistence_path()]/debris.json") + if(CONFIG_GET(flag/persistent_debris_wipe_on_nuke) && station_was_destroyed) + return // local janitor cheers on nukeop team to save some work + var/list/data = list() + var/list/z_lookup = SSmapping.z_to_station_z_index + var/list/debris = RelevantPersistentDebris() + var/obj/effect/decal/cleanable/saving + var/global_max = CONFIG_GET(number/persistent_debris_global_max) + var/type_max = CONFIG_GET(number/persistent_debris_type_max) + var/stored = 0 + var/list/stored_by_type = list() + for(var/i in debris) + saving = i + var/list/serializing = list() + var/path = saving.PersistenceSave(serializing) + if(!path) + continue + if(stored_by_type[path] > type_max) + continue + var/text_z = num2text(z_lookup[num2text(saving.z)]) + var/text_y = num2text(saving.y) + var/text_x = num2text(saving.x) + LAZYINITLIST(data[text_z]) + LAZYINITLIST(data[text_z][text_x]) + LAZYINITLIST(data[text_z][text_x][text_y]) + if(saving.persistence_allow_stacking) + serializing["__PATH__"] = path + data[text_z][text_x][text_y] += list(serializing) + else + data[text_z][text_x][text_y][path] = serializing + stored++ + if(stored > global_max) + var/w = "Persistent debris saving globally aborted due to global max >= [global_max]. Either janitors never do their jobs or something is wrong." + message_admins(w) + subsystem_log(w) + return + stored_by_type[path] = stored_by_type[path]? stored_by_type[path] + 1 : 1 + if(stored_by_type[path] > type_max) + var/w = "Persistent debris saving aborted for type [path] due to type max >= [global_max]. Either janitors never do their jobs or something is wrong." + message_admins(w) + subsystem_log(w) + + var/list/bytype = list() + for(var/path in stored_by_type) + bytype += "[path] - [stored_by_type[path]]" + subsystem_log( + {"Debris saving completed: + Total: [stored] + By type: + [bytype.Join("\n")]"} + ) + WRITE_FILE(file("[get_map_persistence_path()]/debris.json"), json_encode(data)) + +/datum/controller/subsystem/persistence/proc/IsValidDebrisLocation(turf/tile, list/allowed_typecache, list/allowed_zcache, obj/effect/decal/cleanable/type, loading = FALSE) + if(!allowed_typecache[tile.type]) + return FALSE + var/area/A = tile.loc + if(!A.persistent_debris_allowed) + return FALSE + if(!allowed_zcache[num2text(tile.z)]) + return FALSE + if(loading) + if(!initial(type.persistence_allow_stacking)) + var/obj/effect/decal/cleanable/C = locate(type) in tile + if(!QDELETED(C)) + return FALSE + // Saving verifies allow stacking in the save proc. + for(var/obj/structure/window/W in tile) + if(W.fulltile) + return FALSE + return TRUE + +/datum/controller/subsystem/persistence/proc/wipe_existing_debris() + var/list/existing = RelevantPersistentDebris() + QDEL_LIST(existing) + +/datum/controller/subsystem/persistence/proc/RelevantPersistentDebris() + var/list/allowed_turf_typecache = typecacheof(/turf/open) - typecacheof(/turf/open/space) + var/list/allowed_z_cache = list() + for(var/z in SSmapping.levels_by_trait(ZTRAIT_STATION)) + allowed_z_cache[num2text(z)] = TRUE + . = list() + for(var/obj/effect/decal/cleanable/C in world) + if(!C.loc || QDELETED(C)) + continue + if(!C.persistent) + continue + if(!IsValidDebrisLocation(C.loc, allowed_turf_typecache, allowed_z_cache, C.type, FALSE)) + continue + . += C diff --git a/code/controllers/subsystem/persistence/panic_bunker.dm b/code/controllers/subsystem/persistence/panic_bunker.dm new file mode 100644 index 0000000000..93ada2835c --- /dev/null +++ b/code/controllers/subsystem/persistence/panic_bunker.dm @@ -0,0 +1,26 @@ +/** + * Persists panic bunker whitelisting for a configured period of time + */ +/datum/controller/subsystem/persistence/LoadServerPersistence() + . = ..() + LoadPanicBunker() + +/datum/controller/subsystem/persistence/SaveServerPersistence() + . = ..() + SavePanicBunker() + +/datum/controller/subsystem/persistence/proc/LoadPanicBunker() + var/bunker_path = file("data/bunker_passthrough.json") + if(fexists(bunker_path)) + var/list/json = json_decode(file2text(bunker_path)) + GLOB.bunker_passthrough = json["data"] + for(var/ckey in GLOB.bunker_passthrough) + if(daysSince(GLOB.bunker_passthrough[ckey]) >= CONFIG_GET(number/max_bunker_days)) + GLOB.bunker_passthrough -= ckey + +/datum/controller/subsystem/persistence/proc/SavePanicBunker() + var/json_file = file("data/bunker_passthrough.json") + var/list/file_data = list() + file_data["data"] = GLOB.bunker_passthrough + fdel(json_file) + WRITE_FILE(json_file,json_encode(file_data)) diff --git a/code/controllers/subsystem/persistence/poly_parrot.dm b/code/controllers/subsystem/persistence/poly_parrot.dm new file mode 100644 index 0000000000..64743e9623 --- /dev/null +++ b/code/controllers/subsystem/persistence/poly_parrot.dm @@ -0,0 +1,11 @@ +/** + * Persists poly messages across rounds + */ +/datum/controller/subsystem/persistence/LoadGamePersistence() + . = ..() + LoadPoly() + +/datum/controller/subsystem/persistence/proc/LoadPoly() + for(var/mob/living/simple_animal/parrot/Poly/P in GLOB.alive_mob_list) + twitterize(P.speech_buffer, "polytalk") + break //Who's been duping the bird?! diff --git a/code/controllers/subsystem/persistence/recent_votes_etc.dm b/code/controllers/subsystem/persistence/recent_votes_etc.dm new file mode 100644 index 0000000000..f1b902d6ab --- /dev/null +++ b/code/controllers/subsystem/persistence/recent_votes_etc.dm @@ -0,0 +1,107 @@ +/** + * Stores recently played gamemodes, maps, etc. + */ +/datum/controller/subsystem/persistence + var/list/saved_modes = list(1,2,3) + var/list/saved_dynamic_rules = list(list(),list(),list()) + var/list/saved_storytellers = list("foo","bar","baz") + var/list/average_dynamic_threat = 50 + var/list/saved_maps + +/datum/controller/subsystem/persistence/SaveServerPersistence() + . = ..() + CollectRoundtype() + if(istype(SSticker.mode, /datum/game_mode/dynamic)) + var/datum/game_mode/dynamic/mode = SSticker.mode + CollectStoryteller(mode) + CollectRulesets(mode) + RecordMaps() + +/datum/controller/subsystem/persistence/LoadServerPersistence() + . = ..() + LoadRecentModes() + LoadRecentStorytellers() + LoadRecentRulesets() + LoadRecentMaps() + +/datum/controller/subsystem/persistence/proc/CollectRoundtype() + saved_modes[3] = saved_modes[2] + saved_modes[2] = saved_modes[1] + saved_modes[1] = SSticker.mode.config_tag + var/json_file = file("data/RecentModes.json") + var/list/file_data = list() + file_data["data"] = saved_modes + fdel(json_file) + WRITE_FILE(json_file, json_encode(file_data)) + +/datum/controller/subsystem/persistence/proc/CollectStoryteller(var/datum/game_mode/dynamic/mode) + saved_storytellers.len = 3 + saved_storytellers[3] = saved_storytellers[2] + saved_storytellers[2] = saved_storytellers[1] + saved_storytellers[1] = mode.storyteller.name + average_dynamic_threat = (mode.max_threat + average_dynamic_threat) / 2 + var/json_file = file("data/RecentStorytellers.json") + var/list/file_data = list() + file_data["data"] = saved_storytellers + average_dynamic_threat + fdel(json_file) + WRITE_FILE(json_file, json_encode(file_data)) + +/datum/controller/subsystem/persistence/proc/CollectRulesets(var/datum/game_mode/dynamic/mode) + saved_dynamic_rules[3] = saved_dynamic_rules[2] + saved_dynamic_rules[2] = saved_dynamic_rules[1] + saved_dynamic_rules[1] = list() + for(var/r in mode.executed_rules) + var/datum/dynamic_ruleset/rule = r + saved_dynamic_rules[1] += rule.config_tag + var/json_file = file("data/RecentRulesets.json") + var/list/file_data = list() + file_data["data"] = saved_dynamic_rules + fdel(json_file) + WRITE_FILE(json_file, json_encode(file_data)) + +/datum/controller/subsystem/persistence/proc/RecordMaps() + saved_maps = saved_maps?.len ? list("[SSmapping.config.map_name]") | saved_maps : list("[SSmapping.config.map_name]") + var/json_file = file("data/RecentMaps.json") + var/list/file_data = list() + file_data["maps"] = saved_maps + fdel(json_file) + WRITE_FILE(json_file, json_encode(file_data)) + +/datum/controller/subsystem/persistence/proc/LoadRecentModes() + var/json_file = file("data/RecentModes.json") + if(!fexists(json_file)) + return + var/list/json = json_decode(file2text(json_file)) + if(!json) + return + saved_modes = json["data"] + +/datum/controller/subsystem/persistence/proc/LoadRecentRulesets() + var/json_file = file("data/RecentRulesets.json") + if(!fexists(json_file)) + return + var/list/json = json_decode(file2text(json_file)) + if(!json) + return + saved_dynamic_rules = json["data"] + +/datum/controller/subsystem/persistence/proc/LoadRecentStorytellers() + var/json_file = file("data/RecentStorytellers.json") + if(!fexists(json_file)) + return + var/list/json = json_decode(file2text(json_file)) + if(!json) + return + saved_storytellers = json["data"] + if(saved_storytellers.len > 3) + average_dynamic_threat = saved_storytellers[4] + saved_storytellers.len = 3 + +/datum/controller/subsystem/persistence/proc/LoadRecentMaps() + var/json_file = file("data/RecentMaps.json") + if(!fexists(json_file)) + return + var/list/json = json_decode(file2text(json_file)) + if(!json) + return + saved_maps = json["maps"] diff --git a/code/controllers/subsystem/persistence/secret_satchels.dm b/code/controllers/subsystem/persistence/secret_satchels.dm new file mode 100644 index 0000000000..fa2a445317 --- /dev/null +++ b/code/controllers/subsystem/persistence/secret_satchels.dm @@ -0,0 +1,79 @@ +/** + * Secret satchel persistence - allows storing of items in underfloor satchels that's loaded later. + */ +/datum/controller/subsystem/persistence + var/list/satchel_blacklist = list() //this is a typecache + var/list/new_secret_satchels = list() //these are objects + var/list/old_secret_satchels = list() + +/datum/controller/subsystem/persistence/LoadGamePersistence() + . = ..() + LoadSatchels() + +/datum/controller/subsystem/persistence/SaveGamePersistence() + . = ..() + CollectSecretSatchels() + +/datum/controller/subsystem/persistence/proc/LoadSatchels() + var/placed_satchel = 0 + var/path + + var/json_file = file("data/npc_saves/SecretSatchels[SSmapping.config.map_name].json") + var/list/json = list() + if(fexists(json_file)) + json = json_decode(file2text(json_file)) + + old_secret_satchels = json["data"] + var/obj/item/storage/backpack/satchel/flat/F + if(old_secret_satchels && old_secret_satchels.len >= 10) //guards against low drop pools assuring that one player cannot reliably find his own gear. + var/pos = rand(1, old_secret_satchels.len) + F = new() + old_secret_satchels.Cut(pos, pos+1 % old_secret_satchels.len) + F.x = old_secret_satchels[pos]["x"] + F.y = old_secret_satchels[pos]["y"] + F.z = SSmapping.station_start + path = text2path(old_secret_satchels[pos]["saved_obj"]) + + if(F) + if(isfloorturf(F.loc) && !isplatingturf(F.loc)) + F.hide(1) + if(ispath(path)) + var/spawned_item = new path(F) + spawned_objects[spawned_item] = TRUE + placed_satchel++ + var/free_satchels = 0 + for(var/turf/T in shuffle(block(locate(TRANSITIONEDGE,TRANSITIONEDGE,SSmapping.station_start), locate(world.maxx-TRANSITIONEDGE,world.maxy-TRANSITIONEDGE,SSmapping.station_start)))) //Nontrivially expensive but it's roundstart only + if(isfloorturf(T) && !isplatingturf(T)) + new /obj/item/storage/backpack/satchel/flat/secret(T) + free_satchels++ + if((free_satchels + placed_satchel) == 10) //ten tiles, more than enough to kill anything that moves + break + +/datum/controller/subsystem/persistence/proc/CollectSecretSatchels() + satchel_blacklist = typecacheof(list(/obj/item/stack/tile/plasteel, /obj/item/crowbar)) + var/list/satchels_to_add = list() + for(var/A in new_secret_satchels) + var/obj/item/storage/backpack/satchel/flat/F = A + if(QDELETED(F) || F.z != SSmapping.station_start || F.invisibility != INVISIBILITY_MAXIMUM) + continue + var/list/savable_obj = list() + for(var/obj/O in F) + if(is_type_in_typecache(O, satchel_blacklist) || (O.flags_1 & ADMIN_SPAWNED_1)) + continue + if(O.persistence_replacement) + savable_obj += O.persistence_replacement + else + savable_obj += O.type + if(isemptylist(savable_obj)) + continue + var/list/data = list() + data["x"] = F.x + data["y"] = F.y + data["saved_obj"] = pick(savable_obj) + satchels_to_add += list(data) + + var/json_file = file("data/npc_saves/SecretSatchels[SSmapping.config.map_name].json") + var/list/file_data = list() + fdel(json_file) + file_data["data"] = old_secret_satchels + satchels_to_add + WRITE_FILE(json_file, json_encode(file_data)) diff --git a/code/controllers/subsystem/persistence/trophies.dm b/code/controllers/subsystem/persistence/trophies.dm new file mode 100644 index 0000000000..770ca99125 --- /dev/null +++ b/code/controllers/subsystem/persistence/trophies.dm @@ -0,0 +1,84 @@ +/** + * Stores trophies in curator display cases + */ +/datum/controller/subsystem/persistence + var/list/saved_trophies = list() + +/datum/controller/subsystem/persistence/LoadGamePersistence() + . = ..() + LoadTrophies() + +/datum/controller/subsystem/persistence/SaveGamePersistence() + . = ..() + CollectTrophies() + +/datum/controller/subsystem/persistence/proc/LoadTrophies() + if(fexists("data/npc_saves/TrophyItems.sav")) //legacy compatability to convert old format to new + var/savefile/S = new /savefile("data/npc_saves/TrophyItems.sav") + var/saved_json + S >> saved_json + if(!saved_json) + return + saved_trophies = json_decode(saved_json) + fdel("data/npc_saves/TrophyItems.sav") + else + var/json_file = file("data/npc_saves/TrophyItems.json") + if(!fexists(json_file)) + return + var/list/json = json_decode(file2text(json_file)) + if(!json) + return + saved_trophies = json["data"] + SetUpTrophies(saved_trophies.Copy()) + +/datum/controller/subsystem/persistence/proc/SetUpTrophies(list/trophy_items) + for(var/A in GLOB.trophy_cases) + var/obj/structure/displaycase/trophy/T = A + if (T.showpiece) + continue + T.added_roundstart = TRUE + + var/trophy_data = pick_n_take(trophy_items) + + if(!islist(trophy_data)) + continue + + var/list/chosen_trophy = trophy_data + + if(!chosen_trophy || isemptylist(chosen_trophy)) //Malformed + continue + + var/path = text2path(chosen_trophy["path"]) //If the item no longer exist, this returns null + if(!path) + continue + + T.showpiece = new /obj/item/showpiece_dummy(T, path) + T.trophy_message = chosen_trophy["message"] + T.placer_key = chosen_trophy["placer_key"] + T.update_icon() + +/datum/controller/subsystem/persistence/proc/CollectTrophies() + var/json_file = file("data/npc_saves/TrophyItems.json") + var/list/file_data = list() + file_data["data"] = remove_duplicate_trophies(saved_trophies) + fdel(json_file) + WRITE_FILE(json_file, json_encode(file_data)) + +/datum/controller/subsystem/persistence/proc/remove_duplicate_trophies(list/trophies) + var/list/ukeys = list() + . = list() + for(var/trophy in trophies) + var/tkey = "[trophy["path"]]-[trophy["message"]]" + if(ukeys[tkey]) + continue + else + . += list(trophy) + ukeys[tkey] = TRUE + +/datum/controller/subsystem/persistence/proc/SaveTrophy(obj/structure/displaycase/trophy/T) + if(!T.added_roundstart && T.showpiece) + var/list/data = list() + data["path"] = T.showpiece.type + data["message"] = T.trophy_message + data["placer_key"] = T.placer_key + saved_trophies += list(data) diff --git a/code/controllers/subsystem/processing/nanites.dm b/code/controllers/subsystem/processing/nanites.dm index 5b53f9f884..c34e7f7806 100644 --- a/code/controllers/subsystem/processing/nanites.dm +++ b/code/controllers/subsystem/processing/nanites.dm @@ -19,4 +19,4 @@ PROCESSING_SUBSYSTEM_DEF(nanites) if(!force && !check_hardware(backup)) return if(backup.cloud_id == cloud_id) - return backup \ No newline at end of file + return backup diff --git a/code/controllers/subsystem/radiation.dm b/code/controllers/subsystem/radiation.dm index a6cd658bf6..f29fe72e80 100644 --- a/code/controllers/subsystem/radiation.dm +++ b/code/controllers/subsystem/radiation.dm @@ -14,4 +14,4 @@ PROCESSING_SUBSYSTEM_DEF(radiation) var/atom/master = contamination.parent SSblackbox.record_feedback("tally", "contaminated", 1, master.type) var/msg = "has become contamintaed with enough radiation to contaminate other objects. || Source: [contamination.source] || Strength: [contamination.strength]" - master.investigate_log(msg, INVESTIGATE_RADIATION) \ No newline at end of file + master.investigate_log(msg, INVESTIGATE_RADIATION) diff --git a/code/controllers/subsystem/ticker.dm b/code/controllers/subsystem/ticker.dm index 95d8928368..198c380f41 100755 --- a/code/controllers/subsystem/ticker.dm +++ b/code/controllers/subsystem/ticker.dm @@ -371,6 +371,11 @@ SUBSYSTEM_DEF(ticker) if(player.ready == PLAYER_READY_TO_PLAY && player.mind) GLOB.joined_player_list += player.ckey player.create_character(FALSE) + if(player.new_character && player.client && player.client.prefs) // we cannot afford a runtime, ever + LAZYOR(player.client.prefs.slots_joined_as, player.client.prefs.default_slot) + LAZYOR(player.client.prefs.characters_joined_as, player.new_character.real_name) + else + stack_trace("WARNING: Either a player did not have a new_character, did not have a client, or did not have preferences. This is VERY bad.") else player.new_player_panel() CHECK_TICK diff --git a/code/controllers/subsystem/vote.dm b/code/controllers/subsystem/vote.dm index 06b76718c1..880802fd5c 100644 --- a/code/controllers/subsystem/vote.dm +++ b/code/controllers/subsystem/vote.dm @@ -492,7 +492,7 @@ SUBSYSTEM_DEF(vote) if("dynamic") GLOB.master_mode = "dynamic" var/list/probabilities = CONFIG_GET(keyed_list/storyteller_weight) - for(var/T in config.storyteller_cache) + for(var/T in config.get_runnable_storytellers()) var/datum/dynamic_storyteller/S = T var/probability = ((initial(S.config_tag) in probabilities) ? probabilities[initial(S.config_tag)] : initial(S.weight)) if(probability > 0) diff --git a/code/datums/action.dm b/code/datums/action.dm index 284df6adda..9e25d0e3f3 100644 --- a/code/datums/action.dm +++ b/code/datums/action.dm @@ -2,6 +2,7 @@ #define AB_CHECK_STUN 2 #define AB_CHECK_LYING 4 #define AB_CHECK_CONSCIOUS 8 +#define AB_CHECK_ALIVE 16 /datum/action var/name = "Generic Action" @@ -115,6 +116,9 @@ if(check_flags & AB_CHECK_CONSCIOUS) if(owner.stat) return FALSE + if(check_flags & AB_CHECK_ALIVE) + if(owner.stat == DEAD) + return FALSE return TRUE /datum/action/proc/UpdateButtonIcon(status_only = FALSE, force = FALSE) diff --git a/code/datums/brain_damage/mild.dm b/code/datums/brain_damage/mild.dm index 6d3eedee1d..92c4e55699 100644 --- a/code/datums/brain_damage/mild.dm +++ b/code/datums/brain_damage/mild.dm @@ -263,4 +263,4 @@ popleft(speak_dejavu) //Remove the oldest speak_dejavu += speech_args[SPEECH_MESSAGE] else - speak_dejavu += speech_args[SPEECH_MESSAGE] \ No newline at end of file + speak_dejavu += speech_args[SPEECH_MESSAGE] diff --git a/code/datums/components/README.md b/code/datums/components/README.md index 509630bb0a..dd27c05469 100644 --- a/code/datums/components/README.md +++ b/code/datums/components/README.md @@ -1,9 +1,9 @@ -# Datum Component System (DCS) - -## Concept - -Loosely adapted from /vg/. This is an entity component system for adding behaviours to datums when inheritance doesn't quite cut it. By using signals and events instead of direct inheritance, you can inject behaviours without hacky overloads. It requires a different method of thinking, but is not hard to use correctly. If a behaviour can have application across more than one thing. Make it generic, make it a component. Atom/mob/obj event? Give it a signal, and forward it's arguments with a `SendSignal()` call. Now every component that want's to can also know about this happening. - -See [this thread](https://tgstation13.org/phpBB/viewtopic.php?f=5&t=22674) for an introduction to the system as a whole. - -### See/Define signals and their arguments in [__DEFINES\components.dm](..\..\__DEFINES\components.dm) +# Datum Component System (DCS) + +## Concept + +Loosely adapted from /vg/. This is an entity component system for adding behaviours to datums when inheritance doesn't quite cut it. By using signals and events instead of direct inheritance, you can inject behaviours without hacky overloads. It requires a different method of thinking, but is not hard to use correctly. If a behaviour can have application across more than one thing. Make it generic, make it a component. Atom/mob/obj event? Give it a signal, and forward it's arguments with a `SendSignal()` call. Now every component that want's to can also know about this happening. + +See [this thread](https://tgstation13.org/phpBB/viewtopic.php?f=5&t=22674) for an introduction to the system as a whole. + +### See/Define signals and their arguments in [__DEFINES\components.dm](..\..\__DEFINES\components.dm) diff --git a/code/datums/components/crafting/glassware/glassware.dm b/code/datums/components/crafting/glassware/glassware.dm index 6e1a3d47a0..88f52d6b01 100644 --- a/code/datums/components/crafting/glassware/glassware.dm +++ b/code/datums/components/crafting/glassware/glassware.dm @@ -451,4 +451,4 @@ if(istype(I, /obj/item/stack/sheet/glass)) if(do_after(user,10, target = src)) new next_step(user.loc, 1) - qdel(src) \ No newline at end of file + qdel(src) diff --git a/code/datums/components/crafting/glassware/lens_crafting.dm b/code/datums/components/crafting/glassware/lens_crafting.dm index 98fa242058..8907522946 100644 --- a/code/datums/components/crafting/glassware/lens_crafting.dm +++ b/code/datums/components/crafting/glassware/lens_crafting.dm @@ -95,4 +95,4 @@ name = "Handmade Glasses" desc = "Handmade glasses that have not been polished at all making them useless. Selling them could still be worth a few credits." icon = 'icons/obj/glass_ware.dmi' - icon_state = "frames_2" \ No newline at end of file + icon_state = "frames_2" diff --git a/code/datums/components/crafting/recipes/recipes_misc.dm b/code/datums/components/crafting/recipes/recipes_misc.dm index 14987bac44..1f4a47c474 100644 --- a/code/datums/components/crafting/recipes/recipes_misc.dm +++ b/code/datums/components/crafting/recipes/recipes_misc.dm @@ -172,11 +172,11 @@ /////////////////// /datum/crafting_recipe/upgraded_gauze - name = "Improved Gauze" + name = "Sterilized Gauze" result = /obj/item/stack/medical/gauze/adv/one time = 1 reqs = list(/obj/item/stack/medical/gauze = 1, - /datum/reagent/space_cleaner/sterilizine = 10) + /datum/reagent/space_cleaner/sterilizine = 5) category = CAT_MISC subcategory = CAT_TOOL @@ -184,7 +184,7 @@ name = "Suture Pack" result = /obj/item/stack/medical/suture/five time = 1 - reqs = list(/obj/item/stack/medical/gauze = 1, + reqs = list(/obj/item/stack/medical/gauze/adv = 1, /datum/reagent/medicine/styptic_powder = 10) category = CAT_MISC subcategory = CAT_TOOL @@ -193,7 +193,7 @@ name = "Regenerative Mesh" result = /obj/item/stack/medical/mesh/five time = 1 - reqs = list(/obj/item/stack/medical/gauze = 1, + reqs = list(/obj/item/stack/medical/gauze/adv = 1, /datum/reagent/medicine/silver_sulfadiazine = 10) category = CAT_MISC subcategory = CAT_TOOL diff --git a/code/datums/components/crafting/recipes/recipes_robot.dm b/code/datums/components/crafting/recipes/recipes_robot.dm index 2b8ee0fe3a..53606e64df 100644 --- a/code/datums/components/crafting/recipes/recipes_robot.dm +++ b/code/datums/components/crafting/recipes/recipes_robot.dm @@ -40,7 +40,7 @@ /datum/crafting_recipe/floorbot name = "Floorbot" result = /mob/living/simple_animal/bot/floorbot - reqs = list(/obj/item/storage/toolbox/mechanical = 1, + reqs = list(/obj/item/storage/toolbox = 1, /obj/item/stack/tile/plasteel = 1, /obj/item/assembly/prox_sensor = 1, /obj/item/bodypart/r_arm/robot = 1) @@ -95,4 +95,4 @@ reqs = list(/obj/item/aicard = 1, /obj/item/reagent_containers/food/snacks/grown/pumpkin = 1, /obj/item/stack/cable_coil = 5) - category = CAT_ROBOT \ No newline at end of file + category = CAT_ROBOT diff --git a/code/datums/components/crafting/recipes/recipes_weapon_and_ammo.dm b/code/datums/components/crafting/recipes/recipes_weapon_and_ammo.dm index 753adf7ff4..6786f0c0f7 100644 --- a/code/datums/components/crafting/recipes/recipes_weapon_and_ammo.dm +++ b/code/datums/components/crafting/recipes/recipes_weapon_and_ammo.dm @@ -72,6 +72,52 @@ category = CAT_WEAPONRY subcategory = CAT_MELEE +/datum/crafting_recipe/bokken + name = "Training Bokken" + result = /obj/item/melee/bokken + tools = list(TOOL_SCREWDRIVER) + reqs = list(/obj/item/bokken_blade = 1, + /obj/item/bokken_hilt = 1, + /obj/item/stack/sheet/cloth = 2, + /obj/item/stack/sheet/leather = 1) + time = 60 + category = CAT_WEAPONRY + subcategory = CAT_MELEE + +/datum/crafting_recipe/bokken_steelwood + name = "Training Steelwood Bokken" + result = /obj/item/melee/bokken/steelwood + tools = list(TOOL_SCREWDRIVER) + reqs = list(/obj/item/bokken_steelblade = 1, + /obj/item/bokken_hilt = 1, + /obj/item/stack/sheet/cloth = 2, + /obj/item/stack/sheet/leather = 1) + time = 60 + category = CAT_WEAPONRY + subcategory = CAT_MELEE + +/datum/crafting_recipe/wakibokken + name = "Training Wakizashi Bokken" + result = /obj/item/melee/bokken/waki + tools = list(TOOL_SCREWDRIVER) + reqs = list(/obj/item/wakibokken_blade = 1, + /obj/item/bokken_hilt = 1, + /obj/item/stack/sheet/cloth = 1) + time = 40 + category = CAT_WEAPONRY + subcategory = CAT_MELEE + +/datum/crafting_recipe/wakibokken_steelwood + name = "Training Wakizashi Steelwood Bokken" + result = /obj/item/melee/bokken/waki/steelwood + tools = list(TOOL_SCREWDRIVER) + reqs = list(/obj/item/wakibokken_steelblade = 1, + /obj/item/bokken_hilt = 1, + /obj/item/stack/sheet/cloth = 1) + time = 40 + category = CAT_WEAPONRY + subcategory = CAT_MELEE + /datum/crafting_recipe/bola name = "Bola" result = /obj/item/restraints/legcuffs/bola @@ -248,7 +294,7 @@ category = CAT_WEAPONRY subcategory = CAT_WEAPON -/datum/crafting_recipe/ishotgun +/datum/crafting_recipe/ishotgun name = "Improvised Shotgun" result = /obj/item/gun/ballistic/revolver/doublebarrel/improvised reqs = list(/obj/item/pipe = 2, // putting a large amount of meaningless timegates by forcing people to turn base resources into upgraded resources kinda sucks @@ -434,3 +480,51 @@ time = 20 category = CAT_WEAPONRY subcategory = CAT_PARTS + +// BOKKEN CRAFTING + +/datum/crafting_recipe/bokken_blade + name = "Training Bokken Blade" + result = /obj/item/bokken_blade + tools = list(/obj/item/hatchet) + reqs = list(/obj/item/stack/sheet/mineral/wood = 5) + time = 20 + category = CAT_WEAPONRY + subcategory = CAT_PARTS + +/datum/crafting_recipe/wakibokken_blade + name = "Training Wakizashi Bokken Blade" + result = /obj/item/wakibokken_blade + tools = list(/obj/item/hatchet) + reqs = list(/obj/item/stack/sheet/mineral/wood = 2) + time = 20 + category = CAT_WEAPONRY + subcategory = CAT_PARTS + +/datum/crafting_recipe/bokken_steelblade + name = "Training Ironwood Bokken Blade" + result = /obj/item/bokken_steelblade + tools = list(/obj/item/hatchet, TOOL_WELDER) + reqs = list(/obj/item/grown/log/steel = 2) + time = 20 + category = CAT_WEAPONRY + subcategory = CAT_PARTS + +/datum/crafting_recipe/wakibokken_steelblade + name = "Training Wakizashi Ironwood Bokken Blade" + result = /obj/item/wakibokken_steelblade + tools = list(/obj/item/hatchet, TOOL_WELDER) + reqs = list(/obj/item/grown/log/steel = 1) + time = 20 + category = CAT_WEAPONRY + subcategory = CAT_PARTS + +/datum/crafting_recipe/bokken_hilt + name = "Training Bokken hilt" + result = /obj/item/bokken_hilt + tools = list(/obj/item/hatchet) + reqs = list(/obj/item/stack/sheet/mineral/wood = 5, + /obj/item/stack/sheet/cloth = 2) + time = 20 + category = CAT_WEAPONRY + subcategory = CAT_PARTS diff --git a/code/datums/components/fantasy/prefixes.dm b/code/datums/components/fantasy/prefixes.dm index 0ada00a2e8..3dd965b185 100644 --- a/code/datums/components/fantasy/prefixes.dm +++ b/code/datums/components/fantasy/prefixes.dm @@ -67,4 +67,4 @@ /datum/fantasy_affix/vampiric/apply(datum/component/fantasy/comp, newName) var/obj/item/master = comp.parent comp.appliedComponents += master.AddComponent(/datum/component/lifesteal, comp.quality) - return "vampiric [newName]" \ No newline at end of file + return "vampiric [newName]" diff --git a/code/datums/components/igniter.dm b/code/datums/components/igniter.dm index 13944b1200..2f311db166 100644 --- a/code/datums/components/igniter.dm +++ b/code/datums/components/igniter.dm @@ -36,4 +36,4 @@ if(isliving(target)) var/mob/living/L = target L.adjust_fire_stacks(fire_stacks) - L.IgniteMob() \ No newline at end of file + L.IgniteMob() diff --git a/code/datums/components/knockoff.dm b/code/datums/components/knockoff.dm index a36169e6df..7d399c7d26 100644 --- a/code/datums/components/knockoff.dm +++ b/code/datums/components/knockoff.dm @@ -41,4 +41,4 @@ RegisterSignal(H, COMSIG_HUMAN_DISARM_HIT, .proc/Knockoff, TRUE) /datum/component/knockoff/proc/OnDropped(datum/source, mob/living/M) - UnregisterSignal(M, COMSIG_HUMAN_DISARM_HIT) \ No newline at end of file + UnregisterSignal(M, COMSIG_HUMAN_DISARM_HIT) diff --git a/code/datums/components/magnetic_catch.dm b/code/datums/components/magnetic_catch.dm index 181b24260b..20cd8e1d78 100644 --- a/code/datums/components/magnetic_catch.dm +++ b/code/datums/components/magnetic_catch.dm @@ -31,4 +31,4 @@ UnregisterSignal(thing, COMSIG_MOVABLE_PRE_THROW) /datum/component/magnetic_catch/proc/throw_react(datum/source, list/arguments) - return COMPONENT_CANCEL_THROW \ No newline at end of file + return COMPONENT_CANCEL_THROW diff --git a/code/datums/components/nanites.dm b/code/datums/components/nanites.dm index 29add286be..4e0ce3fc16 100644 --- a/code/datums/components/nanites.dm +++ b/code/datums/components/nanites.dm @@ -17,6 +17,44 @@ var/stealth = FALSE //if TRUE, does not appear on HUDs and health scans var/diagnostics = TRUE //if TRUE, displays program list when scanned by nanite scanners + /// Delete ourselves when we're depleted. + var/qdel_self_on_depletion = TRUE + /// Allow deletion + var/can_be_deleted = TRUE + /// Whether or not we can survive no cloud syncing without errors + var/requires_cloud_sync = TRUE + /// Permanent programs - can never be deleted. does not count towards max_programs. + var/list/datum/nanite_program/permanent_programs = list() + + // Vulnerabilities + /// EMP flat deletion upper + var/emp_flat_deletion_upper = 35 + /// EMP flat deletion lower + var/emp_flat_deletion_lower = 20 + /// EMP percent deletion upper + var/emp_percent_deletion_upper = 0.35 + /// EMP percent deletion lower + var/emp_percent_deletion_lower = 0.30 + /// EMP severity multiplier, capping to 0 to 100 + var/emp_severity_mod = 1 + /// EMP severity div for cloudsync reset chance + var/emp_desync_mod = 0.25 + + /// Shock flat deletion upper + var/shock_flat_deletion_upper = 45 + /// Shock flat deletion lower + var/shock_flat_deletion_lower = 25 + /// Shock percent deletion upper + var/shock_percent_deletion_upper = 0.25 + /// Shock percent deletion lower + var/shock_percent_deletion_lower = 0.20 + + + /// minor shock deletion lower + var/minor_shock_deletion_lower = 5 + /// minor shock deletion upper + var/minor_shock_deletion_upper = 15 + /datum/component/nanites/Initialize(amount = 100, cloud = 0) if(!isliving(parent) && !istype(parent, /datum/nanite_cloud_backup)) return COMPONENT_INCOMPATIBLE @@ -55,6 +93,9 @@ RegisterSignal(parent, COMSIG_NANITE_ADD_PROGRAM, .proc/add_program) RegisterSignal(parent, COMSIG_NANITE_SCAN, .proc/nanite_scan) RegisterSignal(parent, COMSIG_NANITE_SYNC, .proc/sync) + RegisterSignal(parent, COMSIG_NANITE_CHECK_CONSOLE_LOCK, .proc/check_console_locking) + RegisterSignal(parent, COMSIG_NANITE_CHECK_HOST_LOCK, .proc/check_host_lockout) + RegisterSignal(parent, COMSIG_NANITE_CHECK_VIRAL_PREVENTION, .proc/check_viral_prevention) if(isliving(parent)) RegisterSignal(parent, COMSIG_ATOM_EMP_ACT, .proc/on_emp) @@ -118,13 +159,63 @@ next_sync = world.time + NANITE_SYNC_DELAY set_nanite_bar() +/** + * Called when nanites are depleted. + * Deletes ourselves by default. + */ +/datum/component/nanites/proc/nanites_depleted() + if(qdel_self_on_depletion) + delete_nanites() +/** + * Used to rid ourselves + */ /datum/component/nanites/proc/delete_nanites() - qdel(src) + if(can_be_deleted) + qdel(src) + +/** + * Adds permanent programs + * + * WARNING: Has no sanity checks. Make sure you know what you are doing! (make sure programs do not conflict) + */ +/datum/component/nanites/proc/add_permanent_program(list/program, immutable = FALSE) + if(!islist(program)) + program = list(program) + for(var/i in program) + if(i in permanent_programs) + continue + var/datum/nanite_program/P = i + permanent_programs += P + if(immutable) + P.immutable = TRUE + for(var/e in programs) + var/datum/nanite_program/E = e + if(E.unique && (E.type == P.type)) + qdel(e) + programs += P + +/** + * Checks if we can block out console modification + */ +/datum/component/nanites/proc/check_console_locking() + return SEND_SIGNAL(src, COMSIG_NANITE_INTERNAL_CONSOLE_LOCK_CHECK) + +/** + * Checks if we can lock out host internal conscious modification + */ +/datum/component/nanites/proc/check_host_lockout() + return SEND_SIGNAL(src, COMSIG_NANITE_INTERNAL_HOST_LOCK_CHECK) + +/** + * Checks if we can block out viral replica + */ +/datum/component/nanites/proc/check_viral_prevention() + return SEND_SIGNAL(src, COMSIG_NANITE_INTERNAL_VIRAL_PREVENTION_CHECK) //Syncs the nanite component to another, making it so programs are the same with the same programming (except activation status) /datum/component/nanites/proc/sync(datum/signal_source, datum/component/nanites/source, full_overwrite = TRUE, copy_activation = FALSE) - var/list/programs_to_remove = programs.Copy() + var/list/programs_to_remove = programs.Copy() - permanent_programs var/list/programs_to_add = source.programs.Copy() for(var/X in programs) var/datum/nanite_program/NP = X @@ -151,7 +242,7 @@ sync(null, cloud_copy) return //Without cloud syncing nanites can accumulate errors and/or defects - if(prob(8) && programs.len) + if(prob(8) && programs.len && requires_cloud_sync) var/datum/nanite_program/NP = pick(programs) NP.software_error() @@ -159,8 +250,11 @@ for(var/X in programs) var/datum/nanite_program/NP = X if(NP.unique && NP.type == new_program.type) - qdel(NP) - if(programs.len >= max_programs) + if(NP in permanent_programs) + return COMPONENT_PROGRAM_NOT_INSTALLED + else + qdel(NP) + if((programs.len - length(permanent_programs)) >= max_programs) return COMPONENT_PROGRAM_NOT_INSTALLED if(source_program) source_program.copy_programming(new_program) @@ -177,7 +271,7 @@ /datum/component/nanites/proc/adjust_nanites(datum/source, amount) nanite_volume = clamp(nanite_volume + amount, 0, max_nanites) if(nanite_volume <= 0) //oops we ran out - qdel(src) + nanites_depleted() /datum/component/nanites/proc/set_nanite_bar(remove = FALSE) var/image/holder = host_mob.hud_list[DIAG_NANITE_FULL_HUD] @@ -191,28 +285,28 @@ holder.icon_state = "nanites[nanite_percent]" /datum/component/nanites/proc/on_emp(datum/source, severity) - nanite_volume *= (rand(60, 90) * 0.01) //Lose 10-40% of nanites - adjust_nanites(null, -(rand(5, 50))) //Lose 5-50 flat nanite volume - if(prob(40/severity)) + severity *= emp_severity_mod + var/loss = (severity / 100) * (rand(emp_percent_deletion_lower, emp_percent_deletion_upper) * nanite_volume) + rand(emp_flat_deletion_lower, emp_flat_deletion_upper) + adjust_nanites(null, -loss) + if(prob(severity * emp_desync_mod)) cloud_id = 0 for(var/X in programs) var/datum/nanite_program/NP = X NP.on_emp(severity) - /datum/component/nanites/proc/on_shock(datum/source, shock_damage, siemens_coeff = 1, flags = NONE) if(shock_damage < 1) return if(!HAS_TRAIT_NOT_FROM(host_mob, TRAIT_SHOCKIMMUNE, "nanites"))//Another shock protection must protect nanites too, but nanites protect only host - nanite_volume *= (rand(45, 80) * 0.01) //Lose 20-55% of nanites - adjust_nanites(null, -(rand(5, 50))) //Lose 5-50 flat nanite volume + var/loss = (rand(shock_percent_deletion_lower, shock_percent_deletion_upper) * nanite_volume) + rand(shock_flat_deletion_lower, shock_flat_deletion_upper) + adjust_nanites(null, -loss) for(var/X in programs) var/datum/nanite_program/NP = X NP.on_shock(shock_damage) /datum/component/nanites/proc/on_minor_shock(datum/source) - adjust_nanites(null, -(rand(5, 15))) //Lose 5-15 flat nanite volume + adjust_nanites(null, -(rand(minor_shock_deletion_lower, minor_shock_deletion_upper))) //Lose 5-15 flat nanite volume for(var/X in programs) var/datum/nanite_program/NP = X NP.on_minor_shock() @@ -237,7 +331,7 @@ NP.receive_comm_signal(comm_code, comm_message, comm_source) /datum/component/nanites/proc/check_viable_biotype() - if(!(host_mob.mob_biotypes & (MOB_ORGANIC|MOB_UNDEAD))) + if(!(host_mob.mob_biotypes & (MOB_ORGANIC|MOB_UNDEAD|MOB_NANITES))) qdel(src) //bodytype no longer sustains nanites /datum/component/nanites/proc/check_access(datum/source, obj/O) @@ -378,3 +472,10 @@ id++ mob_programs += list(mob_program) data["mob_programs"] = mob_programs + +/** + * Subtype that doesn't erase itself from running out + */ +/datum/component/nanites/permanent + qdel_self_on_depletion = FALSE + can_be_deleted = FALSE diff --git a/code/datums/components/orbiter.dm b/code/datums/components/orbiter.dm index 53373de6d7..49b19f767c 100644 --- a/code/datums/components/orbiter.dm +++ b/code/datums/components/orbiter.dm @@ -54,6 +54,7 @@ move_react() /datum/component/orbiter/proc/begin_orbit(atom/movable/orbiter, radius, clockwise, rotation_speed, rotation_segments, pre_rotation) + SEND_SIGNAL(parent, COMSIG_ATOM_ORBIT_BEGIN, orbiter, radius, clockwise, rotation_speed, rotation_segments, pre_rotation) if(orbiter.orbiting) if(orbiter.orbiting == src) orbiter.orbiting.end_orbit(orbiter, TRUE) @@ -87,6 +88,7 @@ /datum/component/orbiter/proc/end_orbit(atom/movable/orbiter, refreshing=FALSE) if(!orbiters[orbiter]) return + SEND_SIGNAL(parent, COMSIG_ATOM_ORBIT_END, orbiter, refreshing) UnregisterSignal(orbiter, COMSIG_MOVABLE_MOVED) orbiter.SpinAnimation(0, 0) if(istype(orbiters[orbiter],/matrix)) //This is ugly. diff --git a/code/datums/components/pellet_cloud.dm b/code/datums/components/pellet_cloud.dm index 6a1028cc65..6404be94c4 100644 --- a/code/datums/components/pellet_cloud.dm +++ b/code/datums/components/pellet_cloud.dm @@ -55,7 +55,7 @@ var/mob/living/shooter /datum/component/pellet_cloud/Initialize(projectile_type=/obj/item/shrapnel, magnitude=5) - if(!isammocasing(parent) && !isgrenade(parent) && !islandmine(parent)) + if(!isammocasing(parent) && !isgrenade(parent) && !islandmine(parent) && !issupplypod(parent)) return COMPONENT_INCOMPATIBLE if(magnitude < 1) @@ -66,7 +66,7 @@ if(isammocasing(parent)) num_pellets = magnitude - else if(isgrenade(parent) || islandmine(parent)) + else if(isgrenade(parent) || islandmine(parent) || issupplypod(parent)) radius = magnitude /datum/component/pellet_cloud/Destroy(force, silent) @@ -86,9 +86,11 @@ RegisterSignal(parent, COMSIG_GRENADE_PRIME, .proc/create_blast_pellets) else if(islandmine(parent)) RegisterSignal(parent, COMSIG_MINE_TRIGGERED, .proc/create_blast_pellets) + else if(issupplypod(parent)) + RegisterSignal(parent, COMSIG_SUPPLYPOD_LANDED, .proc/create_blast_pellets) /datum/component/pellet_cloud/UnregisterFromParent() - UnregisterSignal(parent, list(COMSIG_PARENT_PREQDELETED, COMSIG_PELLET_CLOUD_INIT, COMSIG_GRENADE_PRIME, COMSIG_GRENADE_ARMED, COMSIG_MOVABLE_MOVED, COMSIG_MOVABLE_UNCROSSED, COMSIG_MINE_TRIGGERED, COMSIG_ITEM_DROPPED)) + UnregisterSignal(parent, list(COMSIG_PARENT_PREQDELETED, COMSIG_PELLET_CLOUD_INIT, COMSIG_GRENADE_PRIME, COMSIG_GRENADE_ARMED, COMSIG_MOVABLE_MOVED, COMSIG_MOVABLE_UNCROSSED, COMSIG_MINE_TRIGGERED, COMSIG_ITEM_DROPPED, COMSIG_SUPPLYPOD_LANDED)) /** * create_casing_pellets() is for directed pellet clouds for ammo casings that have multiple pellets (buckshot and scatter lasers for instance) diff --git a/code/datums/components/riding.dm b/code/datums/components/riding.dm index 973ca7463e..03f3820a9b 100644 --- a/code/datums/components/riding.dm +++ b/code/datums/components/riding.dm @@ -133,7 +133,7 @@ //KEYS /datum/component/riding/proc/keycheck(mob/user) - return !keytype || user.is_holding_item_of_type(keytype) + return !keytype || user?.is_holding_item_of_type(keytype) //BUCKLE HOOKS /datum/component/riding/proc/restore_position(mob/living/buckled_mob) @@ -153,7 +153,7 @@ /datum/component/riding/proc/handle_ride(mob/user, direction) var/atom/movable/AM = parent - if(user.incapacitated()) + if(user && user.incapacitated()) Unbuckle(user) return if(world.time < last_vehicle_move + ((last_move_diagonal? 2 : 1) * vehicle_move_delay)) diff --git a/code/datums/components/shrink.dm b/code/datums/components/shrink.dm index 96807fe313..15f5c8f2b5 100644 --- a/code/datums/components/shrink.dm +++ b/code/datums/components/shrink.dm @@ -39,4 +39,4 @@ if(ishuman(L)) var/mob/living/carbon/human/H = L H.physiology.damage_resistance += 100 - ..() \ No newline at end of file + ..() diff --git a/code/datums/components/sizzle.dm b/code/datums/components/sizzle.dm index 5e56dd15cb..df0298b2aa 100644 --- a/code/datums/components/sizzle.dm +++ b/code/datums/components/sizzle.dm @@ -22,4 +22,4 @@ grill_marks.Blend(icon('icons/obj/kitchen.dmi', "grillmarks"), ICON_MULTIPLY) //adds grill marks and the remaining white areas become transparent sizzling = new(grill_marks) sizzling.alpha = sizzlealpha - food.add_overlay(sizzling) \ No newline at end of file + food.add_overlay(sizzling) diff --git a/code/datums/components/spawner.dm b/code/datums/components/spawner.dm index 27bf4a5986..44fbf313cf 100644 --- a/code/datums/components/spawner.dm +++ b/code/datums/components/spawner.dm @@ -53,4 +53,4 @@ spawned_mobs += L L.nest = src L.faction = src.faction - P.visible_message("[L] [spawn_text] [P].") \ No newline at end of file + P.visible_message("[L] [spawn_text] [P].") diff --git a/code/datums/components/storage/concrete/rped.dm b/code/datums/components/storage/concrete/rped.dm index d919828e8e..8014cf17c2 100644 --- a/code/datums/components/storage/concrete/rped.dm +++ b/code/datums/components/storage/concrete/rped.dm @@ -16,6 +16,32 @@ to_chat(M, "[parent] only accepts machine parts!") return FALSE +/datum/component/storage/concrete/rped/quick_empty(mob/M) + var/atom/A = parent + if(!M.canUseStorage() || !A.Adjacent(M) || M.incapacitated()) + return + if(check_locked(null, M, TRUE)) + return FALSE + A.add_fingerprint(M) + var/list/things = contents() + var/lowest_rating = INFINITY + for(var/obj/item/B in things) + if(B.get_part_rating() < lowest_rating) + lowest_rating = B.get_part_rating() + for(var/obj/item/B in things) + if(B.get_part_rating() > lowest_rating) + things.Remove(B) + if(lowest_rating == INFINITY) + to_chat(M, "There's no parts to dump out from [parent].") + return + to_chat(M, "You start dumping out tier/cell rating [lowest_rating] parts from [parent].") + var/turf/T = get_turf(A) + var/datum/progressbar/progress = new(M, length(things), T) + while (do_after(M, 10, TRUE, T, FALSE, CALLBACK(src, .proc/mass_remove_from_storage, T, things, progress))) + stoplag(1) + qdel(progress) + A.do_squish(0.8, 1.2) + /datum/component/storage/concrete/bluespace/rped collection_mode = COLLECT_EVERYTHING allow_quick_gather = TRUE @@ -33,5 +59,29 @@ to_chat(M, "[parent] only accepts machine parts!") return FALSE -/datum/component/storage/concrete/cyborg/rped - max_items = 150 + +/datum/component/storage/concrete/bluespace/rped/quick_empty(mob/M) + var/atom/A = parent + if(!M.canUseStorage() || !A.Adjacent(M) || M.incapacitated()) + return + if(check_locked(null, M, TRUE)) + return FALSE + A.add_fingerprint(M) + var/list/things = contents() + var/lowest_rating = INFINITY + for(var/obj/item/B in things) + if(B.get_part_rating() < lowest_rating) + lowest_rating = B.get_part_rating() + for(var/obj/item/B in things) + if(B.get_part_rating() > lowest_rating) + things.Remove(B) + if(lowest_rating == INFINITY) + to_chat(M, "There's no parts to dump out from [parent].") + return + to_chat(M, "You start dumping out tier/cell rating [lowest_rating] parts from [parent].") + var/turf/T = get_turf(A) + var/datum/progressbar/progress = new(M, length(things), T) + while (do_after(M, 10, TRUE, T, FALSE, CALLBACK(src, .proc/mass_remove_from_storage, T, things, progress))) + stoplag(1) + qdel(progress) + A.do_squish(0.8, 1.2) diff --git a/code/datums/components/summoning.dm b/code/datums/components/summoning.dm index 1d66cf9307..ffb4309c1c 100644 --- a/code/datums/components/summoning.dm +++ b/code/datums/components/summoning.dm @@ -68,4 +68,4 @@ spawn_location.visible_message("[L] [spawn_text].") /datum/component/summoning/proc/on_spawned_death(mob/killed, gibbed) - spawned_mobs -= killed \ No newline at end of file + spawned_mobs -= killed diff --git a/code/datums/components/swarming.dm b/code/datums/components/swarming.dm index e840788766..76179a82e8 100644 --- a/code/datums/components/swarming.dm +++ b/code/datums/components/swarming.dm @@ -52,4 +52,4 @@ var/atom/movable/owner = parent if(is_swarming) animate(owner, pixel_x = owner.pixel_x - offset_x, pixel_y = owner.pixel_y - offset_y, time = 2) - is_swarming = FALSE \ No newline at end of file + is_swarming = FALSE diff --git a/code/datums/components/tackle.dm b/code/datums/components/tackle.dm index a5f9271f4b..c69df4f5e3 100644 --- a/code/datums/components/tackle.dm +++ b/code/datums/components/tackle.dm @@ -89,6 +89,11 @@ to_chat(user, "You can't tackle while tased!") return + var/left_paralysis = HAS_TRAIT(user, TRAIT_PARALYSIS_L_ARM) + var/right_paralysis = HAS_TRAIT(user, TRAIT_PARALYSIS_R_ARM) + if(left_paralysis && right_paralysis) + to_chat(user, "You can't tackle without the use of your arms!") + user.face_atom(A) var/list/modifiers = params2list(params) @@ -280,6 +285,10 @@ attack_mod -= 2 if(HAS_TRAIT(sacker, TRAIT_GIANT)) attack_mod += 2 + var/left_paralysis = HAS_TRAIT(sacker, TRAIT_PARALYSIS_L_ARM) + var/right_paralysis = HAS_TRAIT(sacker, TRAIT_PARALYSIS_R_ARM) + if(left_paralysis || right_paralysis) + attack_mod -= 2 if(ishuman(target)) var/mob/living/carbon/human/S = sacker diff --git a/code/datums/components/thermite.dm b/code/datums/components/thermite.dm index 53323f1e3f..251272ac2e 100644 --- a/code/datums/components/thermite.dm +++ b/code/datums/components/thermite.dm @@ -78,4 +78,4 @@ /datum/component/thermite/proc/attackby_react(datum/source, obj/item/thing, mob/user, params) if(thing.get_temperature()) - thermite_melt(user) \ No newline at end of file + thermite_melt(user) diff --git a/code/datums/components/twitch_plays.dm b/code/datums/components/twitch_plays.dm new file mode 100644 index 0000000000..aadbd58b4b --- /dev/null +++ b/code/datums/components/twitch_plays.dm @@ -0,0 +1,104 @@ +/** + * Observers voting on things through orbiting + */ +/datum/component/twitch_plays + /// Observers + var/list/mob/players = list() + +/datum/component/twitch_plays/Initialize(...) + . = ..() + if(!isatom(parent)) + return COMPONENT_INCOMPATIBLE + RegisterSignal(parent, COMSIG_ATOM_ORBIT_BEGIN, .proc/on_start_orbit) + RegisterSignal(parent, COMSIG_ATOM_ORBIT_END, .proc/on_end_orbit) + +/datum/component/twitch_plays/Destroy(force, silent) + for(var/i in players) + DetachPlayer(i) + return ..() + +/datum/component/twitch_plays/proc/on_start_orbit(datum/source, atom/movable/orbiter) + if(!isobserver(orbiter)) + return + AttachPlayer(orbiter) + +/datum/component/twitch_plays/proc/on_end_orbit(datum/source, atom/movable/orbiter) + if(!(orbiter in players)) + return + DetachPlayer(orbiter) + +/datum/component/twitch_plays/proc/AttachPlayer(mob/dead/observer) + players |= observer + RegisterSignal(observer, COMSIG_PARENT_QDELETING, .proc/on_end_orbit) + +/datum/component/twitch_plays/proc/DetachPlayer(mob/dead/observer) + players -= observer + UnregisterSignal(observer, COMSIG_PARENT_QDELETING) + +/// Simple movement one +/datum/component/twitch_plays/simple_movement + /// Movement votes by observer + var/list/votes = list() + /// Allow diagonals + var/allow_diagonal = FALSE + +/datum/component/twitch_plays/simple_movement/Initialize(...) + . = ..() + if(. & COMPONENT_INCOMPATIBLE) + return + RegisterSignal(parent, COMSIG_TWITCH_PLAYS_MOVEMENT_DATA, .proc/fetch_data) + +/datum/component/twitch_plays/simple_movement/AttachPlayer(mob/dead/observer) + . = ..() + RegisterSignal(observer, COMSIG_MOVABLE_PRE_MOVE, .proc/pre_move) + +/datum/component/twitch_plays/simple_movement/DetachPlayer(mob/dead/observer) + . = ..() + UnregisterSignal(observer, COMSIG_MOVABLE_PRE_MOVE) + +/datum/component/twitch_plays/simple_movement/proc/pre_move(datum/source, turf/newLoc) + if(get_dist(newLoc, parent) > 1) // they're trying to escape orbit + return + . = COMPONENT_MOVABLE_BLOCK_PRE_MOVE + var/dir = get_dir(parent, newLoc) + if(!dir) + return + if(allow_diagonal || !((dir - 1) & dir)) + votes[source] = dir + else // pick one or the other + votes[source] = prob(50)? (dir & ~(dir - 1)) : (dir & (dir - 1)) + +/datum/component/twitch_plays/simple_movement/proc/fetch_data(datum/source, wipe_votes) + if(!votes.len) + return + var/list/total = list(TEXT_NORTH, TEXT_SOUTH, TEXT_EAST, TEXT_WEST) + for(var/i in votes) + total[num2text(votes[i])] += 1 + . = text2num(pickweight(total, 0)) + if(wipe_votes) + votes.len = 0 + +/datum/component/twitch_plays/simple_movement/auto + var/move_delay = 2 + var/last_move = 0 + +/datum/component/twitch_plays/simple_movement/auto/Initialize(...) + if(!ismovable(parent)) + return COMPONENT_INCOMPATIBLE + . = ..() + if(. & COMPONENT_INCOMPATIBLE) + return + START_PROCESSING(SSfastprocess, src) + +/datum/component/twitch_plays/simple_movement/auto/Destroy(force, silent) + STOP_PROCESSING(SSfastprocess, src) + return ..() + +/datum/component/twitch_plays/simple_movement/auto/process() + var/dir = fetch_data(null, TRUE) + if(!dir) + return + if(world.time < (last_move + move_delay)) + return + last_move = world.time + step(parent, dir) diff --git a/code/datums/dash_weapon.dm b/code/datums/dash_weapon.dm index 80570d0c3b..db5fa677f2 100644 --- a/code/datums/dash_weapon.dm +++ b/code/datums/dash_weapon.dm @@ -46,4 +46,4 @@ holder.update_action_buttons_icon() if(recharge_sound) playsound(dashing_item, recharge_sound, 50, 1) - to_chat(holder, "[src] now has [current_charges]/[max_charges] charges.") \ No newline at end of file + to_chat(holder, "[src] now has [current_charges]/[max_charges] charges.") diff --git a/code/datums/diseases/_MobProcs.dm b/code/datums/diseases/_MobProcs.dm index 216d82b4c8..b4e53a7425 100644 --- a/code/datums/diseases/_MobProcs.dm +++ b/code/datums/diseases/_MobProcs.dm @@ -151,4 +151,4 @@ flags_1 |= SHOCKED_1 /mob/living/proc/reset_shocked() - flags_1 &= ~ SHOCKED_1 \ No newline at end of file + flags_1 &= ~ SHOCKED_1 diff --git a/code/datums/diseases/advance/presets.dm b/code/datums/diseases/advance/presets.dm index b12b657101..32e4b3807c 100644 --- a/code/datums/diseases/advance/presets.dm +++ b/code/datums/diseases/advance/presets.dm @@ -39,4 +39,4 @@ symptoms += S name = "Sample #[rand(1,10000)]" - ..() \ No newline at end of file + ..() diff --git a/code/datums/diseases/advance/symptoms/disfiguration.dm b/code/datums/diseases/advance/symptoms/disfiguration.dm index 4a4b704dc0..cdfc6370be 100644 --- a/code/datums/diseases/advance/symptoms/disfiguration.dm +++ b/code/datums/diseases/advance/symptoms/disfiguration.dm @@ -47,4 +47,4 @@ BONUS if(!.) return if(A.affected_mob) - REMOVE_TRAIT(A.affected_mob, TRAIT_DISFIGURED, DISEASE_TRAIT) \ No newline at end of file + REMOVE_TRAIT(A.affected_mob, TRAIT_DISFIGURED, DISEASE_TRAIT) diff --git a/code/datums/diseases/advance/symptoms/dizzy.dm b/code/datums/diseases/advance/symptoms/dizzy.dm index be444e3916..d4fbbe9aca 100644 --- a/code/datums/diseases/advance/symptoms/dizzy.dm +++ b/code/datums/diseases/advance/symptoms/dizzy.dm @@ -52,4 +52,4 @@ Bonus to_chat(M, "A wave of dizziness washes over you!") M.Dizzy(5) if(power >= 2) - M.set_drugginess(5) \ No newline at end of file + M.set_drugginess(5) diff --git a/code/datums/diseases/advance/symptoms/flesh_eating.dm b/code/datums/diseases/advance/symptoms/flesh_eating.dm index 0fad819e8e..b5b55c1e14 100644 --- a/code/datums/diseases/advance/symptoms/flesh_eating.dm +++ b/code/datums/diseases/advance/symptoms/flesh_eating.dm @@ -31,9 +31,8 @@ Bonus var/bleed = FALSE var/pain = FALSE threshold_desc = list( - "Resistance 9" = "Doubles the intensity of the immolation effect, but reduces the frequency of all of this symptom's effects.", - "Stage Speed 8" = "Increases explosion radius and explosion damage to the host when the host is wet.", - "Transmission 8" = "Additionally synthesizes chlorine trifluoride and napalm inside the host. More chemicals are synthesized if the resistance 9 threshold has been met." + "Resistance 7" = "Erodes the host's skin, causing them to bleed profusely.", + "Transmission 8" = "Eat's away at the host's musclemass, causing increased fatigue." ) /datum/symptom/flesh_eating/Start(datum/disease/advance/A) @@ -134,4 +133,4 @@ Bonus M.reagents.add_reagent_list(list(/datum/reagent/toxin/heparin = 2, /datum/reagent/toxin/lipolicide = 2)) if(zombie) M.reagents.add_reagent(/datum/reagent/romerol, 1) - return 1 \ No newline at end of file + return 1 diff --git a/code/datums/diseases/advance/symptoms/headache.dm b/code/datums/diseases/advance/symptoms/headache.dm index 944333d9cf..88ea57296d 100644 --- a/code/datums/diseases/advance/symptoms/headache.dm +++ b/code/datums/diseases/advance/symptoms/headache.dm @@ -59,4 +59,4 @@ BONUS M.adjustStaminaLoss(25) if(power >= 3 && A.stage >= 5) to_chat(M, "[pick("Your head hurts!", "You feel a burning knife inside your brain!", "A wave of pain fills your head!")]") - M.Stun(35) \ No newline at end of file + M.Stun(35) diff --git a/code/datums/diseases/advance/symptoms/heal.dm b/code/datums/diseases/advance/symptoms/heal.dm index 2fc853500d..c19f23ed2a 100644 --- a/code/datums/diseases/advance/symptoms/heal.dm +++ b/code/datums/diseases/advance/symptoms/heal.dm @@ -263,18 +263,18 @@ /datum/symptom/heal/coma/CanHeal(datum/disease/advance/A) var/mob/living/M = A.affected_mob + if(M.getBruteLoss() + M.getFireLoss() >= 70 && !active_coma) + to_chat(M, "You feel yourself slip into a regenerative coma...") + active_coma = TRUE + addtimer(CALLBACK(src, .proc/coma, M), 60) if(HAS_TRAIT(M, TRAIT_DEATHCOMA)) return power - else if(M.IsUnconscious() || M.stat == UNCONSCIOUS) - return power * 0.9 else if(M.stat == SOFT_CRIT) return power * 0.5 else if(M.IsSleeping()) return power * 0.25 - else if(M.getBruteLoss() + M.getFireLoss() >= 70 && !active_coma) - to_chat(M, "You feel yourself slip into a regenerative coma...") - active_coma = TRUE - addtimer(CALLBACK(src, .proc/coma, M), 60) + else if(M.IsUnconscious() || M.stat == UNCONSCIOUS) + return power * 0.9 /datum/symptom/heal/coma/proc/coma(mob/living/M) if(deathgasp) diff --git a/code/datums/diseases/advance/symptoms/itching.dm b/code/datums/diseases/advance/symptoms/itching.dm index 6835cb13d4..a68513685d 100644 --- a/code/datums/diseases/advance/symptoms/itching.dm +++ b/code/datums/diseases/advance/symptoms/itching.dm @@ -53,4 +53,4 @@ BONUS var/can_scratch = scratch && !M.incapacitated() && get_location_accessible(M, picked_bodypart) M.visible_message("[can_scratch ? "[M] scratches [M.p_their()] [bodypart.name]." : ""]", "Your [bodypart.name] itches. [can_scratch ? " You scratch it." : ""]") if(can_scratch) - bodypart.receive_damage(0.5) \ No newline at end of file + bodypart.receive_damage(0.5) diff --git a/code/datums/diseases/advance/symptoms/oxygen.dm b/code/datums/diseases/advance/symptoms/oxygen.dm index 3821c0585e..24e01dbbaf 100644 --- a/code/datums/diseases/advance/symptoms/oxygen.dm +++ b/code/datums/diseases/advance/symptoms/oxygen.dm @@ -67,4 +67,4 @@ Bonus if(!..()) return if(A.stage >= 4) - REMOVE_TRAIT(A.affected_mob, TRAIT_NOBREATH, DISEASE_TRAIT) \ No newline at end of file + REMOVE_TRAIT(A.affected_mob, TRAIT_NOBREATH, DISEASE_TRAIT) diff --git a/code/datums/diseases/advance/symptoms/skin.dm b/code/datums/diseases/advance/symptoms/skin.dm index e35fe741fd..d7a457aec1 100644 --- a/code/datums/diseases/advance/symptoms/skin.dm +++ b/code/datums/diseases/advance/symptoms/skin.dm @@ -38,4 +38,4 @@ BONUS M.reagents.add_reagent(color, 5) else if (prob(50)) // spam - M.visible_message("[M] looks rather vibrant...", "The colors, man, the colors...") \ No newline at end of file + M.visible_message("[M] looks rather vibrant...", "The colors, man, the colors...") diff --git a/code/datums/diseases/advance/symptoms/sneeze.dm b/code/datums/diseases/advance/symptoms/sneeze.dm index 439f391fe4..765abaaec5 100644 --- a/code/datums/diseases/advance/symptoms/sneeze.dm +++ b/code/datums/diseases/advance/symptoms/sneeze.dm @@ -51,4 +51,4 @@ Bonus else M.emote("sneeze") if(M.CanSpreadAirborneDisease()) //don't spread germs if they covered their mouth - A.spread(4 + power) \ No newline at end of file + A.spread(4 + power) diff --git a/code/datums/diseases/advance/symptoms/symptoms.dm b/code/datums/diseases/advance/symptoms/symptoms.dm index a6ea7de5a0..b3f2de8b11 100644 --- a/code/datums/diseases/advance/symptoms/symptoms.dm +++ b/code/datums/diseases/advance/symptoms/symptoms.dm @@ -79,4 +79,4 @@ return /datum/symptom/proc/OnRemove(datum/disease/advance/A) //But dont forget to remove them too. - return \ No newline at end of file + return diff --git a/code/datums/diseases/advance/symptoms/weight.dm b/code/datums/diseases/advance/symptoms/weight.dm index bb0d9bdcf9..06e1107316 100644 --- a/code/datums/diseases/advance/symptoms/weight.dm +++ b/code/datums/diseases/advance/symptoms/weight.dm @@ -50,4 +50,4 @@ Bonus else to_chat(M, "[pick("So hungry...", "You'd kill someone for a bite of food...", "Hunger cramps seize you...")]") M.overeatduration = max(M.overeatduration - 100, 0) - M.adjust_nutrition(-100) \ No newline at end of file + M.adjust_nutrition(-100) diff --git a/code/datums/diseases/advance/symptoms/youth.dm b/code/datums/diseases/advance/symptoms/youth.dm index d2712a0146..a9f5261905 100644 --- a/code/datums/diseases/advance/symptoms/youth.dm +++ b/code/datums/diseases/advance/symptoms/youth.dm @@ -55,4 +55,4 @@ BONUS if(5) if(H.age > 21) H.age = 21 - to_chat(H, "You feel like you can take on the world!") \ No newline at end of file + to_chat(H, "You feel like you can take on the world!") diff --git a/code/datums/diseases/anxiety.dm b/code/datums/diseases/anxiety.dm index 20ecceb224..cf810b9fdb 100644 --- a/code/datums/diseases/anxiety.dm +++ b/code/datums/diseases/anxiety.dm @@ -38,4 +38,4 @@ "You cough up butterflies!") new /mob/living/simple_animal/butterfly(affected_mob.loc) new /mob/living/simple_animal/butterfly(affected_mob.loc) - return \ No newline at end of file + return diff --git a/code/datums/diseases/beesease.dm b/code/datums/diseases/beesease.dm index ccae692b4b..53230711d9 100644 --- a/code/datums/diseases/beesease.dm +++ b/code/datums/diseases/beesease.dm @@ -36,4 +36,4 @@ affected_mob.visible_message("[affected_mob] coughs up a swarm of bees!", \ "You cough up a swarm of bees!") new /mob/living/simple_animal/hostile/poison/bees(affected_mob.loc) - return \ No newline at end of file + return diff --git a/code/datums/diseases/cold.dm b/code/datums/diseases/cold.dm index 660793ed83..649ecc537c 100644 --- a/code/datums/diseases/cold.dm +++ b/code/datums/diseases/cold.dm @@ -50,4 +50,4 @@ if(!affected_mob.disease_resistances.Find(/datum/disease/flu)) var/datum/disease/Flu = new /datum/disease/flu() affected_mob.ForceContractDisease(Flu, FALSE, TRUE) - cure() \ No newline at end of file + cure() diff --git a/code/datums/diseases/cold9.dm b/code/datums/diseases/cold9.dm index 47f391ecf7..58ed52e8b6 100644 --- a/code/datums/diseases/cold9.dm +++ b/code/datums/diseases/cold9.dm @@ -36,4 +36,4 @@ if(prob(1)) to_chat(affected_mob, "Your throat feels sore.") if(prob(10)) - to_chat(affected_mob, "You feel stiff.") \ No newline at end of file + to_chat(affected_mob, "You feel stiff.") diff --git a/code/datums/diseases/heart_failure.dm b/code/datums/diseases/heart_failure.dm index 5eda0e928f..aabb9ed144 100644 --- a/code/datums/diseases/heart_failure.dm +++ b/code/datums/diseases/heart_failure.dm @@ -62,4 +62,4 @@ cure() else - cure() \ No newline at end of file + cure() diff --git a/code/datums/diseases/magnitis.dm b/code/datums/diseases/magnitis.dm index 0bfb918ba0..a355a4bc01 100644 --- a/code/datums/diseases/magnitis.dm +++ b/code/datums/diseases/magnitis.dm @@ -65,4 +65,4 @@ var/iter = rand(1,3) for(i=0,i 0) return - var/instability = -dna.stability + var/instability = - dna.stability dna.remove_all_mutations() dna.stability = 100 - if(prob(max(70-instability,0))) + if(prob(max(70 - instability,0))) switch(rand(0,3)) //not complete and utter death if(0) monkeyize() if(1) gain_trauma(/datum/brain_trauma/severe/paralysis) if(2) + unequip_everything() + drop_all_held_items() corgize() if(3) to_chat(src, "Oh, we actually feel quite alright!") else switch(rand(0,3)) if(0) + unequip_everything() + drop_all_held_items() gib() if(1) + unequip_everything() + drop_all_held_items() dust() - if(2) + unequip_everything() + drop_all_held_items() death() petrify(INFINITY) if(3) @@ -689,6 +696,8 @@ if(BP) BP.dismember() else + unequip_everything() + drop_all_held_items() gib() else set_species(/datum/species/dullahan) diff --git a/code/datums/elements/bed_tucking.dm b/code/datums/elements/bed_tucking.dm new file mode 100644 index 0000000000..602c93fab3 --- /dev/null +++ b/code/datums/elements/bed_tucking.dm @@ -0,0 +1,60 @@ +/// Tucking element, for things that can be tucked into bed. +/datum/element/bed_tuckable + element_flags = ELEMENT_BESPOKE|ELEMENT_DETACH + id_arg_index = 2 + /// our pixel_x offset - how much the item moves x when in bed (+x is closer to the pillow) + var/x_offset = 0 + /// our pixel_y offset - how much the item move y when in bed (-y is closer to the middle) + var/y_offset = 0 + /// our rotation degree - how much the item turns when in bed (+degrees turns it more parallel) + var/rotation_degree = 0 + +/datum/element/bed_tuckable/Attach(obj/target, x = 0, y = 0, rotation = 0) + . = ..() + if(!isitem(target)) + return ELEMENT_INCOMPATIBLE + + x_offset = x + y_offset = y + rotation_degree = rotation + RegisterSignal(target, COMSIG_ITEM_ATTACK_OBJ, .proc/tuck_into_bed) + +/datum/element/bed_tuckable/Detach(obj/target) + . = ..() + UnregisterSignal(target, list(COMSIG_ITEM_ATTACK_OBJ, COMSIG_ITEM_PICKUP)) + +/** + * Tuck our object into bed. + * + * tucked - the object being tucked + * target_bed - the bed we're tucking them into + * tucker - the guy doing the tucking + */ +/datum/element/bed_tuckable/proc/tuck_into_bed(obj/item/tucked, obj/structure/bed/target_bed, mob/living/tucker) + + + if(!istype(target_bed)) + return + + if(!tucker.transferItemToLoc(tucked, target_bed.drop_location())) + return + + to_chat(tucker, "You lay [tucked] out on [target_bed].") + tucked.pixel_x = x_offset + tucked.pixel_y = y_offset + if(rotation_degree) + tucked.transform = turn(tucked.transform, rotation_degree) + RegisterSignal(tucked, COMSIG_ITEM_PICKUP, .proc/untuck) + + return COMPONENT_NO_AFTERATTACK + +/** + * If we rotate our object, then we need to un-rotate it when it's picked up + * + * tucked - the object that is tucked + */ +/datum/element/bed_tuckable/proc/untuck(obj/item/tucked) + + + tucked.transform = turn(tucked.transform, -rotation_degree) + UnregisterSignal(tucked, COMSIG_ITEM_PICKUP) \ No newline at end of file diff --git a/code/datums/elements/flavor_text.dm b/code/datums/elements/flavor_text.dm index ae139104f0..6217665157 100644 --- a/code/datums/elements/flavor_text.dm +++ b/code/datums/elements/flavor_text.dm @@ -13,6 +13,8 @@ GLOBAL_LIST_EMPTY(mobs_with_editable_flavor_text) //et tu, hacky code var/save_key /// Do not attempt to render a preview on examine. If this is on, it will display as \[flavor_name\] var/examine_no_preview = FALSE + /// Examine FULLY views. Overrides examine_no_preview + var/examine_full_view = FALSE /datum/element/flavor_text/Attach(datum/target, text = "", _name = "Flavor Text", _addendum, _max_len = MAX_FLAVOR_LEN, _always_show = FALSE, _edit = TRUE, _save_key, _examine_no_preview = FALSE) . = ..() @@ -37,7 +39,7 @@ GLOBAL_LIST_EMPTY(mobs_with_editable_flavor_text) //et tu, hacky code if(can_edit && ismob(target)) //but only mobs receive the proc/verb for the time being var/mob/M = target LAZYOR(GLOB.mobs_with_editable_flavor_text[M], src) - M.verbs |= /mob/proc/manage_flavor_tests + add_verb(M, /mob/proc/manage_flavor_tests) if(save_key && ishuman(target)) RegisterSignal(target, COMSIG_HUMAN_PREFS_COPIED_TO, .proc/update_prefs_flavor_text) @@ -71,6 +73,9 @@ GLOBAL_LIST_EMPTY(mobs_with_editable_flavor_text) //et tu, hacky code examine_list += "\[[flavor_name]\]" return var/msg = replacetext(text, "\n", " ") + if(examine_full_view) + examine_list += "[msg]" + return if(length_char(msg) <= 40) examine_list += "[msg]" else @@ -113,6 +118,21 @@ GLOBAL_LIST_EMPTY(mobs_with_editable_flavor_text) //et tu, hacky code var/datum/element/flavor_text/F = choices[chosen] F.set_flavor(src) +/mob/proc/set_pose() + set name = "Set Pose" + set desc = "Sets your temporary flavor text" + set category = "IC" + + var/list/L = GLOB.mobs_with_editable_flavor_text[src] + var/datum/element/flavor_text/carbon/temporary/T + for(var/i in L) + if(istype(i, /datum/element/flavor_text/carbon/temporary)) + T = i + if(!T) + to_chat(src, "Your mob type does not support temporary flavor text.") + return + T.set_flavor(src) + /datum/element/flavor_text/proc/set_flavor(mob/user) if(!(user in texts_by_atom)) return FALSE @@ -135,7 +155,7 @@ GLOBAL_LIST_EMPTY(mobs_with_editable_flavor_text) //et tu, hacky code var/static/list/i_dont_even_know_who_you_are = typecacheof(list(/datum/antagonist/abductor, /datum/antagonist/ert, /datum/antagonist/nukeop, /datum/antagonist/wizard)) -/datum/element/flavor_text/carbon/Attach(datum/target, text = "", _name = "Flavor Text", _addendum, _max_len = MAX_FLAVOR_LEN, _always_show = FALSE, _edit = TRUE, _save_key = "flavor_text", _examine_no_preview = FALSE) +/datum/element/flavor_text/carbon/Attach(datum/target, text = "", _name = "Flavor Text", _addendum, _max_len = MAX_FLAVOR_LEN, _always_show = FALSE, _edit = TRUE, _save_key, _examine_no_preview = FALSE) if(!iscarbon(target)) return ELEMENT_INCOMPATIBLE . = ..() @@ -167,3 +187,19 @@ GLOBAL_LIST_EMPTY(mobs_with_editable_flavor_text) //et tu, hacky code texts_by_atom[user] = "" if(user.dna) user.dna.features[save_key] = "" + +/datum/element/flavor_text/carbon/temporary + examine_full_view = TRUE + max_len = 1024 + +/datum/element/flavor_text/carbon/temporary/Attach(datum/target, text, _name, _addendum, _max_len, _always_show, _edit, _save_key, _examine_no_preview) + . = ..() + if(. & ELEMENT_INCOMPATIBLE) + return + if(ismob(target)) + add_verb(target, /mob/proc/set_pose) + +/datum/element/flavor_Text/carbon/temporary/Detach(datum/source, force) + . = ..() + if(ismob(source)) + remove_verb(source, /mob/proc/set_pose) diff --git a/code/datums/elements/polychromic.dm b/code/datums/elements/polychromic.dm index 7ae0d04b05..5e888e0609 100644 --- a/code/datums/elements/polychromic.dm +++ b/code/datums/elements/polychromic.dm @@ -165,12 +165,21 @@ /datum/element/polychromic/proc/on_examine(atom/source, mob/user, list/examine_list) examine_list += "Alt-click to recolor it." +/datum/element/polychromic/proc/connect_helmet(atom/I, var/applycolor) + if(isitem(I)) + if(istype(I,/obj/item/clothing/suit/hooded)) + var/obj/item/clothing/suit/hooded/Isuit = I + colors_by_atom[Isuit.hood] = applycolor + else if(istype(I,/obj/item/clothing/suit/space/hardsuit)) + var/obj/item/clothing/suit/space/hardsuit/Isuit = I + colors_by_atom[Isuit.helmet] = applycolor + /datum/element/polychromic/proc/register_helmet(atom/source, obj/item/clothing/head/H) if(!isitem(H)) //backup in case if it messes up somehow if(istype(source,/obj/item/clothing/suit/hooded)) //so how come it be like this, where toggleable headslots are named separately (helmet/hood) anyways? var/obj/item/clothing/suit/hooded/sourcesuit = source H = sourcesuit.hood - else if(istype(source,/obj/item/clothing/suit/space/hardsuit)) + else if(istype(source,/obj/item/clothing/suit/space/hardsuit)) var/obj/item/clothing/suit/space/hardsuit/sourcesuit = source H = sourcesuit.helmet else diff --git a/code/datums/elements/update_icon_blocker.dm b/code/datums/elements/update_icon_blocker.dm index c30dc9efad..f52a712ebb 100644 --- a/code/datums/elements/update_icon_blocker.dm +++ b/code/datums/elements/update_icon_blocker.dm @@ -7,4 +7,4 @@ RegisterSignal(target, COMSIG_ATOM_UPDATE_ICON, .proc/block_update_icon) /datum/element/update_icon_blocker/proc/block_update_icon() - return COMSIG_ATOM_NO_UPDATE_ICON_STATE | COMSIG_ATOM_NO_UPDATE_OVERLAYS \ No newline at end of file + return COMSIG_ATOM_NO_UPDATE_ICON_STATE | COMSIG_ATOM_NO_UPDATE_OVERLAYS diff --git a/code/datums/emotes.dm b/code/datums/emotes.dm index 14f3eae689..5683367c55 100644 --- a/code/datums/emotes.dm +++ b/code/datums/emotes.dm @@ -55,7 +55,7 @@ return user.log_message(msg, LOG_EMOTE) - msg = "[user] " + msg + msg = "[user] [msg]" for(var/mob/M in GLOB.dead_mob_list) if(!M.client || isnewplayer(M)) @@ -144,7 +144,7 @@ var/sound //Sound to play when emote is called var/vary = FALSE //used for the honk borg emote var/volume = 50 - mob_type_allowed_typecache = list(/mob/living/brain, /mob/living/silicon) + mob_type_allowed_typecache = list(/mob/living/brain, /mob/living/silicon, /mob/camera/aiEye) /datum/emote/sound/run_emote(mob/user, params) . = ..() diff --git a/code/datums/helper_datums/teleport.dm b/code/datums/helper_datums/teleport.dm index 5e9371f754..79c12c7fea 100644 --- a/code/datums/helper_datums/teleport.dm +++ b/code/datums/helper_datums/teleport.dm @@ -85,6 +85,15 @@ var/mob/M = teleatom M.cancel_camera() + var/static/list/bread_cache = typecacheof(/obj/item/reagent_containers/food/snacks/store/bread) + var/list/breadlist = typecache_filter_list(teleatom.GetAllContents(), bread_cache) + if(breadlist.len && (channel == TELEPORT_CHANNEL_BLUESPACE || channel == TELEPORT_CHANNEL_QUANTUM)) + for(var/obj/item/reagent_containers/food/snacks/store/bread/bread in breadlist) + bread.bread_teleport() + else if(istype(teleatom, /obj/item/reagent_containers/food/snacks/store/bread)) + var/obj/item/reagent_containers/food/snacks/store/bread/bread = teleatom + bread.bread_teleport() + return TRUE /proc/tele_play_specials(atom/movable/teleatom, atom/location, datum/effect_system/effect, sound) diff --git a/code/datums/looping_sounds/machinery_sounds.dm b/code/datums/looping_sounds/machinery_sounds.dm index f9a9e07aed..4f6996bfdd 100644 --- a/code/datums/looping_sounds/machinery_sounds.dm +++ b/code/datums/looping_sounds/machinery_sounds.dm @@ -51,4 +51,4 @@ mid_sounds = list('sound/machines/fryer/deep_fryer_1.ogg' = 1, 'sound/machines/fryer/deep_fryer_2.ogg' = 1) volume = 10 -/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// \ No newline at end of file +/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// diff --git a/code/datums/martial/psychotic_brawl.dm b/code/datums/martial/psychotic_brawl.dm index 06d07260ed..28ca852a43 100644 --- a/code/datums/martial/psychotic_brawl.dm +++ b/code/datums/martial/psychotic_brawl.dm @@ -66,4 +66,4 @@ if(atk_verb) log_combat(A, D, "[atk_verb] (Psychotic Brawling)") - return TRUE \ No newline at end of file + return TRUE diff --git a/code/datums/martial/sleeping_carp.dm b/code/datums/martial/sleeping_carp.dm index 81b7ea0628..5881c76827 100644 --- a/code/datums/martial/sleeping_carp.dm +++ b/code/datums/martial/sleeping_carp.dm @@ -7,6 +7,7 @@ id = MARTIALART_SLEEPINGCARP allow_temp_override = FALSE help_verb = /mob/living/carbon/human/proc/sleeping_carp_help + block_parry_data = /datum/block_parry_data/sleeping_carp pugilist = TRUE /datum/martial_art/the_sleeping_carp/proc/check_streak(mob/living/carbon/human/A, mob/living/carbon/human/D) @@ -134,6 +135,28 @@ return BULLET_ACT_FORCE_PIERCE return BULLET_ACT_HIT +/datum/block_parry_data/sleeping_carp + parry_time_windup = 0 + parry_time_active = 25 + parry_time_spindown = 0 + // we want to signal to players the most dangerous phase, the time when automatic counterattack is a thing. + parry_time_windup_visual_override = 1 + parry_time_active_visual_override = 3 + parry_time_spindown_visual_override = 12 + parry_flags = PARRY_DEFAULT_HANDLE_FEEDBACK //can attack while + parry_time_perfect = 2.5 // first ds isn't perfect + parry_time_perfect_leeway = 1.5 + parry_imperfect_falloff_percent = 5 + parry_efficiency_to_counterattack = 100 + parry_efficiency_considered_successful = 65 // VERY generous + parry_efficiency_perfect = 100 + parry_failed_stagger_duration = 4 SECONDS + parry_cooldown = 0.5 SECONDS + +/mob/living/carbon/human/UseStaminaBuffer(amount, warn = FALSE, considered_action = TRUE) + amount *= physiology? physiology.stamina_buffer_mod : 1 + return ..() + /datum/martial_art/the_sleeping_carp/teach(mob/living/carbon/human/H, make_temporary = FALSE) . = ..() if(!.) @@ -144,12 +167,12 @@ ADD_TRAIT(H, TRAIT_TASED_RESISTANCE, SLEEPING_CARP_TRAIT) H.physiology.brute_mod *= 0.4 //brute is really not gonna cut it H.physiology.burn_mod *= 0.7 //burn is distinctly more useful against them than brute but they're still resistant - H.physiology.stamina_mod *= 0.5 //You take less stamina damage overall, but you do not reduce the damage from stun batons + H.physiology.stamina_mod *= 0.4 //You take less stamina damage overall, but you do not reduce the damage from stun batons as much H.physiology.stun_mod *= 0.3 //for those rare stuns H.physiology.pressure_mod *= 0.3 //go hang out with carp H.physiology.cold_mod *= 0.3 //cold mods are different to burn mods, they do stack however H.physiology.heat_mod *= 2 //this is mostly so sleeping carp has a viable weakness. Cooking them alive. Setting them on fire and heating them will be their biggest weakness. The reason for this is....filet jokes. - + H.physiology.stamina_buffer_mod *= 0.75 //to help with some stamina H.faction |= "carp" //:D /datum/martial_art/the_sleeping_carp/on_remove(mob/living/carbon/human/H) @@ -165,7 +188,7 @@ H.physiology.pressure_mod = initial(H.physiology.pressure_mod) //no more carpies H.physiology.cold_mod = initial(H.physiology.cold_mod) H.physiology.heat_mod = initial(H.physiology.heat_mod) - + H.physiology.stamina_buffer_mod = initial(H.physiology.stamina_buffer_mod) H.faction -= "carp" //:( /mob/living/carbon/human/proc/sleeping_carp_help() diff --git a/code/datums/mood_events/generic_negative_events.dm b/code/datums/mood_events/generic_negative_events.dm index 1abe077980..90982a00ec 100644 --- a/code/datums/mood_events/generic_negative_events.dm +++ b/code/datums/mood_events/generic_negative_events.dm @@ -163,7 +163,7 @@ timeout = 3 MINUTES /datum/mood_event/gates_of_mansus - description = "LIVING IN A PERFORMANCE IS WORSE THAN DEATH\n" + description = "I HAD A GLIMPSE OF THE HORROR BEYOND THIS WORLD. REALITY UNCOILED BEFORE MY EYES!\n" mood_change = -25 timeout = 4 MINUTES diff --git a/code/datums/mutations/radioactive.dm b/code/datums/mutations/radioactive.dm index df30aaa9d2..2e6aa50d46 100644 --- a/code/datums/mutations/radioactive.dm +++ b/code/datums/mutations/radioactive.dm @@ -16,4 +16,4 @@ visual_indicators[type] = list(mutable_appearance('icons/effects/genetics.dmi', "radiation", -MUTATIONS_LAYER)) /datum/mutation/human/radioactive/get_visual_indicator() - return visual_indicators[type][1] \ No newline at end of file + return visual_indicators[type][1] diff --git a/code/datums/progressbar.dm b/code/datums/progressbar.dm index fbc194cc6f..c2e0d3c9d2 100644 --- a/code/datums/progressbar.dm +++ b/code/datums/progressbar.dm @@ -64,4 +64,4 @@ qdel(bar) . = ..() -#undef PROGRESSBAR_HEIGHT \ No newline at end of file +#undef PROGRESSBAR_HEIGHT diff --git a/code/datums/status_effects/buffs.dm b/code/datums/status_effects/buffs.dm index ef3979d822..fb6b5c9a65 100644 --- a/code/datums/status_effects/buffs.dm +++ b/code/datums/status_effects/buffs.dm @@ -438,12 +438,19 @@ return else linked_alert.icon_state = "fleshmend" - owner.adjustBruteLoss(-10, FALSE) - owner.adjustFireLoss(-5, FALSE) owner.adjustOxyLoss(-10) if(!iscarbon(owner)) + owner.adjustBruteLoss(-10, FALSE) + owner.adjustFireLoss(-5, FALSE) return var/mob/living/carbon/C = owner + var/list/damaged_parts = C.get_damaged_bodyparts(TRUE,TRUE, status = list(BODYPART_ORGANIC, BODYPART_HYBRID, BODYPART_NANITES)) + if(damaged_parts.len) + for(var/obj/item/bodypart/part in damaged_parts) + part.heal_damage(10/damaged_parts.len, 5/damaged_parts.len, only_organic = FALSE, updating_health = FALSE) + C.updatehealth() + C.update_damage_overlays() + QDEL_LIST(C.all_scars) /obj/screen/alert/status_effect/fleshmend @@ -566,13 +573,17 @@ duration = 1 MINUTES status_type = STATUS_EFFECT_REPLACE alert_type = /obj/screen/alert/status_effect/regenerative_core + var/heal_amount = 25 /datum/status_effect/regenerative_core/on_apply() . = ..() ADD_TRAIT(owner, TRAIT_IGNOREDAMAGESLOWDOWN, "regenerative_core") - owner.adjustBruteLoss(-25) + + if(HAS_TRAIT(owner, TRAIT_ROBOTIC_ORGANISM)) //Robots can heal from cores, but only get 1/5th of the healing. They can use this to get past the damage threshhold however, and then regularely heal from there. + heal_amount *= 0.2 + owner.adjustBruteLoss(-heal_amount, only_organic = FALSE) if(!AmBloodsucker(owner)) //use your coffin you lazy bastard - owner.adjustFireLoss(-25) + owner.adjustFireLoss(-heal_amount, only_organic = FALSE) owner.remove_CC() owner.bodytemperature = BODYTEMP_NORMAL return TRUE @@ -599,7 +610,7 @@ //Heal brain damage and toxyloss, alongside trauma owner.adjustOrganLoss(ORGAN_SLOT_BRAIN, -8) - owner.adjustToxLoss(-6, forced = TRUE) + owner.adjustToxLoss(-6, forced = TRUE, toxins_type = TOX_OMNI) M.cure_trauma_type(resilience = TRAUMA_RESILIENCE_BASIC) //Purges 50 rads per tick if(owner.radiation > 0) @@ -640,3 +651,120 @@ if(D.severity == DISEASE_SEVERITY_POSITIVE) continue D.cure() + +/datum/status_effect/mantra // available to wizards and admins alone, currently + id = "Mantra" + examine_text = "Their aura is filled with yellow energy!" + alert_type = null + var/damageboost = 10 + var/woundboost = 5 + var/prev_hair_color + var/powerup + var/powerdown + +/datum/status_effect/mantra/on_apply() + . = ..() + if(iscarbon(owner)) + var/mob/living/carbon/human/H = owner + playsound(H, 'sound/magic/powerup.ogg', 50, 1) + H.add_filter("mantra_glow", 2, list("type" = "outline", "color" = "#edfa347a", "size" = 2)) + prev_hair_color = H.hair_color + H.hair_color = "ffe11e" + H.update_hair() + ADD_TRAIT(H, TRAIT_PUGILIST, "Mantra") + ADD_TRAIT(H, TRAIT_NOSOFTCRIT, "Mantra") + ADD_TRAIT(H, TRAIT_STUNIMMUNE, "Mantra") + ADD_TRAIT(H, TRAIT_PUSHIMMUNE, "Mantra") + ADD_TRAIT(H, TRAIT_NOGUNS, "Mantra") + H.dna.species.punchdamagehigh += damageboost + H.dna.species.punchdamagelow += damageboost + H.dna.species.punchwoundbonus += woundboost + H.physiology.brute_mod *= 0.9 // slightly resilient against lethal damage, but... + H.physiology.burn_mod *= 0.9 + H.physiology.stamina_mod *= 0.5 // very resistant to non-lethal damage, because they're already draining stamina every second + to_chat(H, "Your inner mantra coalesces around you, granting you incredible strength and durability - but at what cost?") + +/datum/status_effect/mantra/tick() + . = ..() + if(owner.health < HEALTH_THRESHOLD_FULLCRIT) + owner.remove_status_effect(STATUS_EFFECT_MANTRA) + return + if(owner.combat_flags & COMBAT_FLAG_HARD_STAMCRIT) + owner.remove_status_effect(STATUS_EFFECT_MANTRA) + return + if(iscarbon(owner)) + var/mob/living/carbon/human/C = owner + C.adjustBruteLoss(-1) // slightly resilient against lethal damage + C.adjustFireLoss(-1) + C.adjustStaminaLoss(3) // in testing i personally found that 2/sec was too minimal and 4/sec was too much + /*if(SEND_SIGNAL(owner, COMSIG_COMBAT_MODE_CHECK, COMBAT_MODE_ACTIVE)) // turning on combat mode flares up your aura + + else*/ + +/datum/status_effect/mantra/on_remove() + . = ..() + if(iscarbon(owner)) + var/mob/living/carbon/human/M = owner + playsound(M, 'sound/magic/powerdown.ogg', 50, 1) + M.remove_filter("mantra_glow") + M.hair_color = prev_hair_color + M.update_hair() + REMOVE_TRAIT(M, TRAIT_PUGILIST, "Mantra") + REMOVE_TRAIT(M, TRAIT_NOSOFTCRIT, "Mantra") + REMOVE_TRAIT(M, TRAIT_STUNIMMUNE, "Mantra") + REMOVE_TRAIT(M, TRAIT_PUSHIMMUNE, "Mantra") + REMOVE_TRAIT(M, TRAIT_NOGUNS, "Mantra") + M.dna.species.punchdamagehigh -= damageboost + M.dna.species.punchdamagelow -= damageboost + M.dna.species.punchwoundbonus -= woundboost + M.physiology.brute_mod /= 0.9 + M.physiology.burn_mod /= 0.9 + M.physiology.stamina_mod /= 0.5 + to_chat(M, "Your inner mantra collapses, for now.") + +/datum/status_effect/asura // mfw miner gear + id = "Asura" + examine_text = "Their aura is filled with red-hot rage!" + alert_type = null + var/damageboost = 10 + var/woundboost = 5 + +/datum/status_effect/asura/on_apply() + . = ..() + if(iscarbon(owner)) + var/mob/living/carbon/human/H = owner + playsound(H, 'sound/magic/powerup.ogg', 50, 1) + H.add_filter("asura_glow", 2, list("type" = "outline", "color" = "#fc21217a", "size" = 2)) + ADD_TRAIT(H, TRAIT_PUGILIST, "Asura") + H.dna.species.punchdamagehigh += damageboost + H.dna.species.punchdamagelow += damageboost + H.dna.species.punchwoundbonus += woundboost + to_chat(H, "Your anger unleashes in a crimson blaze around you and corrosive power fills your muscles.") + +/datum/status_effect/asura/tick() + . = ..() + if(owner.health < HEALTH_THRESHOLD_CRIT) + owner.remove_status_effect(STATUS_EFFECT_ASURA) + return + if(owner.combat_flags & COMBAT_FLAG_HARD_STAMCRIT) + owner.remove_status_effect(STATUS_EFFECT_ASURA) + return + if(iscarbon(owner)) + var/mob/living/carbon/human/C = owner + C.adjustBruteLoss(1) // drains 1 hp per second. You're gonna need some Senzu Cores. + C.adjustStaminaLoss(-2) // angry man punch a lot + /*if(SEND_SIGNAL(owner, COMSIG_COMBAT_MODE_CHECK, COMBAT_MODE_ACTIVE)) // turning on combat mode flares up your aura + + else*/ + +/datum/status_effect/asura/on_remove() + . = ..() + if(iscarbon(owner)) + var/mob/living/carbon/human/M = owner + playsound(M, 'sound/magic/powerdown.ogg', 50, 1) + M.remove_filter("asura_glow") + REMOVE_TRAIT(M, TRAIT_PUGILIST, "Asura") + M.dna.species.punchdamagehigh -= damageboost + M.dna.species.punchdamagelow -= damageboost + M.dna.species.punchwoundbonus -= woundboost + to_chat(M, "You calm yourself, and your unnatural strength dissipates.") diff --git a/code/datums/status_effects/debuffs.dm b/code/datums/status_effects/debuffs.dm index cabdd7cfb8..19b12410bc 100644 --- a/code/datums/status_effects/debuffs.dm +++ b/code/datums/status_effects/debuffs.dm @@ -586,7 +586,7 @@ var/list/mob/living/targets = list() for(var/mob/living/potential_target in oview(owner, 1)) - if(IS_HERETIC(potential_target) || potential_target.mind?.has_antag_datum(/datum/antagonist/heretic_monster)) + if(IS_HERETIC(potential_target) || IS_HERETIC_MONSTER(potential_target)) continue targets += potential_target if(LAZYLEN(targets)) diff --git a/code/datums/status_effects/status_effect.dm b/code/datums/status_effects/status_effect.dm index 7f1009d035..9dbbc1c469 100644 --- a/code/datums/status_effects/status_effect.dm +++ b/code/datums/status_effects/status_effect.dm @@ -74,13 +74,19 @@ /datum/status_effect/proc/on_remove() //Called whenever the buff expires or is removed; do note that at the point this is called, it is out of the owner's status_effects but owner is not yet null SHOULD_CALL_PARENT(TRUE) - REMOVE_TRAIT(owner, TRAIT_COMBAT_MODE_LOCKED, src) - REMOVE_TRAIT(owner, TRAIT_SPRINT_LOCKED, src) + if(blocks_combatmode) + REMOVE_TRAIT(owner, TRAIT_COMBAT_MODE_LOCKED, src) + if(blocks_sprint) + REMOVE_TRAIT(owner, TRAIT_SPRINT_LOCKED, src) return TRUE /datum/status_effect/proc/be_replaced() //Called instead of on_remove when a status effect is replaced by itself or when a status effect with on_remove_on_mob_delete = FALSE has its mob deleted owner.clear_alert(id) LAZYREMOVE(owner.status_effects, src) + if(blocks_combatmode) + REMOVE_TRAIT(owner, TRAIT_COMBAT_MODE_LOCKED, src) + if(blocks_sprint) + REMOVE_TRAIT(owner, TRAIT_SPRINT_LOCKED, src) owner = null qdel(src) diff --git a/code/datums/traits/negative.dm b/code/datums/traits/negative.dm index fe27cc2baf..3cbf4b3cd2 100644 --- a/code/datums/traits/negative.dm +++ b/code/datums/traits/negative.dm @@ -137,12 +137,18 @@ GLOBAL_LIST_EMPTY(family_heirlooms) var/lums = T.get_lumcount() if(lums <= 0.2) if(quirk_holder.m_intent == MOVE_INTENT_RUN) - to_chat(quirk_holder, "Easy, easy, take it slow... you're in the dark...") - quirk_holder.toggle_move_intent() + addtimer(CALLBACK(src, .proc/recheck),2) //0.2 seconds of being in the dark SEND_SIGNAL(quirk_holder, COMSIG_ADD_MOOD_EVENT, "nyctophobia", /datum/mood_event/nyctophobia) else SEND_SIGNAL(quirk_holder, COMSIG_CLEAR_MOOD_EVENT, "nyctophobia") +/datum/quirk/nyctophobia/proc/recheck() + var/turf/T = get_turf(quirk_holder) + var/lums = T.get_lumcount() + if(lums <= 0.2) //check again, did they remain in the dark for 0.2 seconds? + to_chat(quirk_holder, "Easy, easy, take it slow... you're in the dark...") + quirk_holder.toggle_move_intent() + /datum/quirk/lightless name = "Light Sensitivity" desc = "Bright lights irritate you. Your eyes start to water, your skin feels itchy against the photon radiation, and your hair gets dry and frizzy. Maybe it's a medical condition. If only Nanotrasen was more considerate of your needs..." diff --git a/code/datums/traits/neutral.dm b/code/datums/traits/neutral.dm index e92564a3b4..73813fd253 100644 --- a/code/datums/traits/neutral.dm +++ b/code/datums/traits/neutral.dm @@ -109,7 +109,7 @@ name = "Alcohol Intolerance" desc = "You take toxin damage from alcohol rather than getting drunk." value = 0 - mob_trait = TRAIT_NO_ALCOHOL + mob_trait = TRAIT_TOXIC_ALCOHOL medical_record_text = "Patient's body does not react properly to ethyl alcohol." /datum/quirk/alcohol_intolerance/add() diff --git a/code/datums/wires/airalarm.dm b/code/datums/wires/airalarm.dm index dae92d3c42..376512a375 100644 --- a/code/datums/wires/airalarm.dm +++ b/code/datums/wires/airalarm.dm @@ -72,4 +72,4 @@ var/area/AA = get_base_area(A) if(AA.atmosalert(2, holder)) A.post_alert(2) - A.update_icon() \ No newline at end of file + A.update_icon() diff --git a/code/datums/wires/apc.dm b/code/datums/wires/apc.dm index 19b2b8dda8..d167a11fd3 100644 --- a/code/datums/wires/apc.dm +++ b/code/datums/wires/apc.dm @@ -55,4 +55,4 @@ if(mend) A.aidisabled = FALSE else - A.aidisabled = TRUE \ No newline at end of file + A.aidisabled = TRUE diff --git a/code/datums/wires/explosive.dm b/code/datums/wires/explosive.dm index 25493f2e30..6e3c5318bf 100644 --- a/code/datums/wires/explosive.dm +++ b/code/datums/wires/explosive.dm @@ -79,4 +79,4 @@ /datum/wires/explosive/gibtonite/explode() var/obj/item/gibtonite/P = holder - P.GibtoniteReaction(null, 2) \ No newline at end of file + P.GibtoniteReaction(null, 2) diff --git a/code/datums/wires/mulebot.dm b/code/datums/wires/mulebot.dm index 988487727b..90f229fc2c 100644 --- a/code/datums/wires/mulebot.dm +++ b/code/datums/wires/mulebot.dm @@ -29,4 +29,4 @@ if(WIRE_MOTOR1, WIRE_MOTOR2) holder.visible_message("[icon2html(M, viewers(holder))] The drive motor whines briefly.") else - holder.visible_message("[icon2html(M, viewers(holder))] You hear a radio crackle.") \ No newline at end of file + holder.visible_message("[icon2html(M, viewers(holder))] You hear a radio crackle.") diff --git a/code/datums/wires/particle_accelerator.dm b/code/datums/wires/particle_accelerator.dm index b782e589dd..97f518e434 100644 --- a/code/datums/wires/particle_accelerator.dm +++ b/code/datums/wires/particle_accelerator.dm @@ -47,4 +47,4 @@ C.remove_strength() /datum/wires/particle_accelerator/control_box/emp_pulse() // to prevent singulo from pulsing wires - return \ No newline at end of file + return diff --git a/code/datums/wires/vending.dm b/code/datums/wires/vending.dm index 6c7e59c24c..e8fb883ecd 100644 --- a/code/datums/wires/vending.dm +++ b/code/datums/wires/vending.dm @@ -57,4 +57,4 @@ if(WIRE_IDSCAN) V.scan_id = mend if(WIRE_SPEAKER) - V.shut_up = mend \ No newline at end of file + V.shut_up = mend diff --git a/code/datums/world_topic.dm b/code/datums/world_topic.dm index 261e423640..7a1f0f6980 100644 --- a/code/datums/world_topic.dm +++ b/code/datums/world_topic.dm @@ -164,7 +164,7 @@ . = list() .["version"] = GLOB.game_version .["mode"] = "hidden" //CIT CHANGE - hides the gamemode in topic() calls to prevent meta'ing the gamemode - .["respawn"] = config ? !CONFIG_GET(flag/norespawn) : FALSE + .["respawn"] = config ? CONFIG_GET(flag/respawns_enabled) : FALSE .["enter"] = GLOB.enter_allowed .["vote"] = CONFIG_GET(flag/allow_vote_mode) .["ai"] = CONFIG_GET(flag/allow_ai) diff --git a/code/datums/wounds/_scars.dm b/code/datums/wounds/_scars.dm index 8cd0d8a047..3365fc359d 100644 --- a/code/datums/wounds/_scars.dm +++ b/code/datums/wounds/_scars.dm @@ -149,4 +149,4 @@ /// Used to format a scar to safe in preferences for persistent scars /datum/scar/proc/format_amputated(body_zone) description = pick(list("is several skintone shades paler than the rest of the body", "is a gruesome patchwork of artificial flesh", "has a large series of attachment scars at the articulation points")) - return "[SCAR_CURRENT_VERSION]|[body_zone]|[description]|amputated|[WOUND_SEVERITY_LOSS]" \ No newline at end of file + return "[SCAR_CURRENT_VERSION]|[body_zone]|[description]|amputated|[WOUND_SEVERITY_LOSS]" diff --git a/code/datums/wounds/_wounds.dm b/code/datums/wounds/_wounds.dm index 29c87b32d4..02421b1e52 100644 --- a/code/datums/wounds/_wounds.dm +++ b/code/datums/wounds/_wounds.dm @@ -91,8 +91,6 @@ var/wound_flags = (FLESH_WOUND | BONE_WOUND | ACCEPTS_GAUZE) /datum/wound/Destroy() - if(attached_surgery) - QDEL_NULL(attached_surgery) if(limb?.wounds && (src in limb.wounds)) // destroy can call remove_wound() and remove_wound() calls qdel, so we check to make sure there's anything to remove first remove_wound() limb = null diff --git a/code/game/area/Space_Station_13_areas.dm b/code/game/area/Space_Station_13_areas.dm index 5310b24202..2c2cc46344 100644 --- a/code/game/area/Space_Station_13_areas.dm +++ b/code/game/area/Space_Station_13_areas.dm @@ -41,6 +41,7 @@ NOTE: there are two lists of areas in the end of this file: centcom and station power_environ = FALSE valid_territory = FALSE outdoors = TRUE + persistent_debris_allowed = FALSE ambientsounds = SPACE blob_allowed = FALSE //Eating up space doesn't count for victory as a blob. considered_hull_exterior = TRUE @@ -325,10 +326,6 @@ NOTE: there are two lists of areas in the end of this file: centcom and station name = "Service Hallway" icon_state = "hall_service" -/area/hallway/secondary/civilian - name = "Civilian Wing" - icon_state = "hallFS" - //Command @@ -469,6 +466,11 @@ NOTE: there are two lists of areas in the end of this file: centcom and station icon_state = "yellow" nightshift_public_area = NIGHTSHIFT_AREA_RECREATION +/area/crew_quarters/arcade + name = "Arcade" + icon_state = "abandoned_g_den" + nightshift_public_area = NIGHTSHIFT_AREA_RECREATION + /area/crew_quarters/fitness name = "Fitness Room" icon_state = "fitness" @@ -479,6 +481,10 @@ NOTE: there are two lists of areas in the end of this file: centcom and station icon_state = "fitness" nightshift_public_area = NIGHTSHIFT_AREA_RECREATION +/area/crew_quarters/fitness/pool + name = "Pool Area" + icon_state = "pool" + /area/crew_quarters/cafeteria name = "Cafeteria" icon_state = "cafeteria" @@ -765,6 +771,11 @@ NOTE: there are two lists of areas in the end of this file: centcom and station icon_state = "medbay3" ambientsounds = MEDICAL +/area/medical/clinic + name = "Clinic" + icon_state = "medbay3" + ambientsounds = MEDICAL + /area/medical/abandoned name = "Abandoned Medbay" icon_state = "medbay3" @@ -1036,10 +1047,19 @@ NOTE: there are two lists of areas in the end of this file: centcom and station icon_state = "janitor" flags_1 = NONE +/area/janitor/aux + name = "Auxiliary Custodial Closet" + icon_state = "janitor" + flags_1 = NONE + /area/hydroponics name = "Hydroponics" icon_state = "hydro" +/area/hydroponics/lobby + name = "Hydroponics Lobby" + icon_state = "hydro" + /area/hydroponics/garden name = "Garden" icon_state = "garden" @@ -1058,6 +1078,10 @@ NOTE: there are two lists of areas in the end of this file: centcom and station name = "Science Division" icon_state = "toxlab" +/area/science/observatory + name = "Research Observatory" + icon_state = "toxmisc" + /area/science/lab name = "Research and Development" icon_state = "toxlab" @@ -1100,6 +1124,10 @@ NOTE: there are two lists of areas in the end of this file: centcom and station name = "Research Division Server Room" icon_state = "server" +/area/science/server/compcore + name = "Computer Core" + icon_state = "server" + /area/science/explab name = "Experimentation Lab" icon_state = "toxmisc" @@ -1186,6 +1214,10 @@ NOTE: there are two lists of areas in the end of this file: centcom and station icon_state = "storage" clockwork_warp_allowed = FALSE +/area/storage/emergency + name = "Emergency Storage" + icon_state = "emergencystorage" + /area/storage/emergency/starboard name = "Starboard Emergency Storage" icon_state = "emergencystorage" @@ -1395,100 +1427,6 @@ NOTE: there are two lists of areas in the end of this file: centcom and station name = "Telecommunications Satellite Lounge" icon_state = "tcomsatlounge" -/area/crew_quarters/fitness/pool - name = "Pool Area" - icon_state = "pool" - -/area/crew_quarters/dorms/blue - name = "Blue Dorms" - icon_state = "Sleep" - nightshift_public_area = NIGHTSHIFT_AREA_NONE - -/area/crew_quarters/dorms/purple - name = "Purple Dorms" - icon_state = "Sleep" - nightshift_public_area = NIGHTSHIFT_AREA_NONE - -/area/crew_quarters/lounge/jazz - name = "Jazz Lounge" - icon_state = "yellow" - ambientsounds = list('sound/ambience/ambidet1.ogg','sound/ambience/ambidet2.ogg') - nightshift_public_area = NIGHTSHIFT_AREA_RECREATION - - -/area/crew_quarters/fitness/recreation - name = "Recreation Area" - icon_state = "fitness" - nightshift_public_area = NIGHTSHIFT_AREA_RECREATION - -/area/crew_quarters/fitness/cogpool - name = "Pool" - icon_state = "fitness" - clockwork_warp_fail = "Pool's closed." - nightshift_public_area = NIGHTSHIFT_AREA_RECREATION - -/area/crew_quarters/barbershop - name = "Barbershop" - icon_state = "blue" - nightshift_public_area = NIGHTSHIFT_AREA_RECREATION - -/area/crew_quarters/observatory - name = "Observatory" - icon_state = "Sleep" - -//Engineering - -/area/engine/teg_hot - name = "Hot Loop" - icon_state = "red" - -/area/engine/teg_cold - name = "Cold Loop" - icon_state = "blue" - -/area/engine/workshop - name = "Engineering Workshop" - icon_state = "engine" - -/area/security/courtroom/jury - name = "Jury Room" - icon_state = "courtroom" - -/area/quartermaster/miningdock/airless - name = "Mining Dock" - icon_state = "mining" - has_gravity = STANDARD_GRAVITY - valid_territory = FALSE - outdoors = TRUE - ambientsounds = SPACE - blob_allowed = FALSE //While part of the station, what good will it do you? - -/area/quartermaster/miningdock/airless/no_grav - name = "Mining Dock" - icon_state = "mining" - dynamic_lighting = DYNAMIC_LIGHTING_IFSTARLIGHT - power_light = FALSE - power_equip = FALSE - power_environ = FALSE - valid_territory = FALSE - outdoors = TRUE - ambientsounds = SPACE - blob_allowed = FALSE //While part of the station, what good will it do you? - -/area/janitor/aux - name = "Auxiliary Custodial Closet" - icon_state = "janitor" - flags_1 = NONE - -/area/hydroponics/lobby - name = "Hydroponics Lobby" - icon_state = "hydro" - -//Storage - -/area/storage/emergency/generic - name = "Emergency Storage" - icon_state = "emergencystorage" //Construction @@ -1545,10 +1483,99 @@ NOTE: there are two lists of areas in the end of this file: centcom and station name = "Storage Wing" icon_state = "storage_wing" -//Routers +//Areas that predominantly only apply to CogStation + +/area/crew_quarters/dorms/blue + name = "Blue Dorms" + icon_state = "Sleep" + nightshift_public_area = NIGHTSHIFT_AREA_NONE + +/area/crew_quarters/dorms/purple + name = "Purple Dorms" + icon_state = "Sleep" + nightshift_public_area = NIGHTSHIFT_AREA_NONE + +/area/crew_quarters/lounge/jazz + name = "Jazz Lounge" + icon_state = "yellow" + ambientsounds = list('sound/ambience/ambidet1.ogg','sound/ambience/ambidet2.ogg') + nightshift_public_area = NIGHTSHIFT_AREA_RECREATION + +/area/crew_quarters/fitness/cogpool + name = "Pool" + icon_state = "fitness" + clockwork_warp_fail = "Pool's closed." + nightshift_public_area = NIGHTSHIFT_AREA_RECREATION + +/area/crew_quarters/barbershop + name = "Barbershop" + icon_state = "blue" + nightshift_public_area = NIGHTSHIFT_AREA_RECREATION + +/area/crew_quarters/observatory + name = "Observatory" + icon_state = "Sleep" + +/area/hallway/secondary/civilian + name = "Civilian Wing" + icon_state = "hallFS" + +/area/engine/atmos/aftair + name = "Aft Air Hookup" + icon_state = "atmos" + flags_1 = NONE + +/area/engine/teg + name = "Thermo-Electric Generator" + icon_state = "engine" + +/area/engine/teg/hotloop + name = "Hot Loop" + icon_state = "red" + +/area/engine/teg/coldloop + name = "Cold Loop" + icon_state = "blue" + +/area/engine/workshop + name = "Engineering Workshop" + icon_state = "engine" + +/area/engine/substation + name = "Electrical Substation" + icon_state = "engine" + +/area/security/courtroom/jury + name = "Jury Room" + icon_state = "courtroom" + +/area/quartermaster/miningdock/airless + name = "Mining Dock" + icon_state = "mining" + has_gravity = STANDARD_GRAVITY + valid_territory = FALSE + outdoors = TRUE + ambientsounds = SPACE + blob_allowed = FALSE //While part of the station, what good will it do you? + +/area/quartermaster/miningdock/airless/no_grav + name = "Mining Dock" + icon_state = "mining" + dynamic_lighting = DYNAMIC_LIGHTING_IFSTARLIGHT + power_light = FALSE + power_equip = FALSE + power_environ = FALSE + valid_territory = FALSE + outdoors = TRUE + ambientsounds = SPACE + blob_allowed = FALSE //While part of the station, what good will it do you? + + + +//Routers (currently exclusive to CogStation) /area/router - name = "Router" + name = "Routing Depot" icon_state = "yellow" ambientsounds = ENGINEERING diff --git a/code/game/area/ai_monitored.dm b/code/game/area/ai_monitored.dm index 87b44291f5..558a4b1026 100644 --- a/code/game/area/ai_monitored.dm +++ b/code/game/area/ai_monitored.dm @@ -28,4 +28,4 @@ for(var/X in motioncameras) var/obj/machinery/camera/cam = X cam.lostTargetRef(WEAKREF(O)) - return \ No newline at end of file + return diff --git a/code/game/area/areas.dm b/code/game/area/areas.dm index b9415f3cf8..ff177898cb 100644 --- a/code/game/area/areas.dm +++ b/code/game/area/areas.dm @@ -24,6 +24,10 @@ var/clockwork_warp_allowed = TRUE /// Message to display when the clockwork warp fails var/clockwork_warp_fail = "The structure there is too dense for warping to pierce. (This is normal in high-security areas.)" + /// Persistent debris alowed + var/persistent_debris_allowed = TRUE + /// Dirty flooring allowed + var/dirt_buildup_allowed = TRUE /// If mining tunnel generation is allowed in this area var/tunnel_allowed = FALSE diff --git a/code/game/area/areas/away_content.dm b/code/game/area/areas/away_content.dm index b724c92607..27a73ae5f1 100644 --- a/code/game/area/areas/away_content.dm +++ b/code/game/area/areas/away_content.dm @@ -25,4 +25,4 @@ Unused icons for new areas are "awaycontent1" ~ "awaycontent30" /area/awaymission/vr name = "Virtual Reality" - icon_state = "awaycontent1" \ No newline at end of file + icon_state = "awaycontent1" diff --git a/code/game/area/areas/ruins/lavaland.dm b/code/game/area/areas/ruins/lavaland.dm index 19a1fd503d..66c4f8542b 100644 --- a/code/game/area/areas/ruins/lavaland.dm +++ b/code/game/area/areas/ruins/lavaland.dm @@ -94,4 +94,4 @@ //ash walker nest /area/ruin/unpowered/ash_walkers - icon_state = "red" \ No newline at end of file + icon_state = "red" diff --git a/code/game/area/areas/shuttles.dm b/code/game/area/areas/shuttles.dm index 43ea487894..e7f8c63d4a 100644 --- a/code/game/area/areas/shuttles.dm +++ b/code/game/area/areas/shuttles.dm @@ -150,7 +150,6 @@ /area/shuttle/escape/luxury name = "Luxurious Emergency Shuttle" - noteleport = TRUE /area/shuttle/escape/arena name = "The Arena" diff --git a/code/game/atoms.dm b/code/game/atoms.dm index 9607dc4dce..7fbfe48f4e 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -1143,21 +1143,3 @@ */ /atom/proc/setClosed() return - -///Passes Stat Browser Panel clicks to the game and calls client click on an atom -/atom/Topic(href, list/href_list) - . = ..() - if(!usr?.client) - return - var/client/usr_client = usr.client - var/list/paramslist = list() - if(href_list["statpanel_item_shiftclick"]) - paramslist["shift"] = "1" - if(href_list["statpanel_item_ctrlclick"]) - paramslist["ctrl"] = "1" - if(href_list["statpanel_item_altclick"]) - paramslist["alt"] = "1" - if(href_list["statpanel_item_click"]) - // first of all make sure we valid - var/mouseparams = list2params(paramslist) - usr_client.Click(src, loc, null, mouseparams) diff --git a/code/game/gamemodes/clock_cult/clock_cult.dm b/code/game/gamemodes/clock_cult/clock_cult.dm index be8dee5bf8..29455afe56 100644 --- a/code/game/gamemodes/clock_cult/clock_cult.dm +++ b/code/game/gamemodes/clock_cult/clock_cult.dm @@ -150,14 +150,14 @@ Credit where due: var/datum/team/clockcult/main_clockcult /datum/game_mode/clockwork_cult/pre_setup() //Gamemode and job code is pain. Have fun codediving all of that stuff, whoever works on this next - Delta - var/list/errorList = list() + /*var/list/errorList = list() var/list/reebes = SSmapping.LoadGroup(errorList, "Reebe", "map_files/generic", "City_of_Cogs.dmm", default_traits = ZTRAITS_REEBE, silent = TRUE) if(errorList.len) // reebe failed to load message_admins("Reebe failed to load!") log_game("Reebe failed to load!") return FALSE - for(var/datum/parsed_map/PM in reebes) - PM.initTemplateBounds() + for(var/datum/parsed_map/PM in reebes) //Temporarily commented because of z-level loading reliably segfaulting the server. + PM.initTemplateBounds()*/ if(CONFIG_GET(flag/protect_roles_from_antagonist)) restricted_jobs += protected_jobs if(CONFIG_GET(flag/protect_assistant_from_antagonist)) diff --git a/code/game/gamemodes/dynamic/dynamic.dm b/code/game/gamemodes/dynamic/dynamic.dm index 836b00250f..6a16b62643 100644 --- a/code/game/gamemodes/dynamic/dynamic.dm +++ b/code/game/gamemodes/dynamic/dynamic.dm @@ -64,6 +64,8 @@ GLOBAL_VAR_INIT(dynamic_forced_storyteller, null) var/threat_average_weight = 0 /// Last time a threat average sample was taken. Used for weighting the rolling average. var/last_threat_sample_time = 0 + /// Maximum threat recorded so far, for cross-round chaos adjustment. + var/max_threat = 0 /// Things that cause a rolling threat adjustment to be displayed at roundend. var/list/threat_tallies = list() /// Running information about the threat. Can store text or datum entries. @@ -145,6 +147,7 @@ GLOBAL_VAR_INIT(dynamic_forced_storyteller, null) third_rule_req = list(101, 101, 101, 101, 101, 100, 90, 80, 70, 60) high_pop_second_rule_req = CONFIG_GET(number/dynamic_second_rule_high_pop_requirement) high_pop_third_rule_req = CONFIG_GET(number/dynamic_third_rule_high_pop_requirement) + added_threat = CONFIG_GET(number/dynamic_threat_baseline) GLOB.dynamic_high_pop_limit = CONFIG_GET(number/dynamic_high_pop_limit) GLOB.dynamic_latejoin_delay_min = CONFIG_GET(number/dynamic_latejoin_delay_min)*600 GLOB.dynamic_latejoin_delay_max = CONFIG_GET(number/dynamic_latejoin_delay_max)*600 @@ -415,7 +418,7 @@ GLOBAL_VAR_INIT(dynamic_forced_storyteller, null) /datum/game_mode/dynamic/post_setup(report) update_playercounts() if(minor_ruleset_start) - addtimer(CALLBACK(src, /datum/game_mode/dynamic/.proc/minor_roundstart),rand(1 MINUTES,5 MINUTES)) + addtimer(CALLBACK(src, /datum/game_mode/dynamic/.proc/minor_roundstart),rand(1 MINUTES,3 MINUTES)) else for(var/datum/dynamic_ruleset/roundstart/rule in executed_rules) addtimer(CALLBACK(src, /datum/game_mode/dynamic/.proc/execute_roundstart_rule, rule), rule.delay) @@ -439,7 +442,7 @@ GLOBAL_VAR_INIT(dynamic_forced_storyteller, null) potential_minor_rulesets -= rule update_playercounts() iterations++ - message_admins("Minor antag roundstart rolls completed, with [num_rulesets_executed] antags or antag teams made.") + message_admins("Minor antag roundstart rolls completed, with [iterations] rolls done and [num_rulesets_executed] antags or antag teams made.") log_game("DYNAMIC: Minor antag roundstart made [num_rulesets_executed] antags or antag teams.") @@ -612,6 +615,7 @@ GLOBAL_VAR_INIT(dynamic_forced_storyteller, null) latejoin_rules = remove_from_list(latejoin_rules, rule.type) else if(rule.ruletype == "Midround") midround_rules = remove_from_list(midround_rules, rule.type) + message_admins("DYNAMIC: Picked [rule]; executing soon...") addtimer(CALLBACK(src, /datum/game_mode/dynamic/.proc/execute_midround_latejoin_rule, rule), rule.delay) return TRUE @@ -663,6 +667,7 @@ GLOBAL_VAR_INIT(dynamic_forced_storyteller, null) /datum/game_mode/dynamic/proc/execute_midround_latejoin_rule(sent_rule) var/datum/dynamic_ruleset/rule = sent_rule if (rule.execute()) + message_admins("DYNAMIC: Injected a [rule.ruletype == "latejoin" ? "latejoin" : "midround"] ruleset [rule.name].") log_game("DYNAMIC: Injected a [rule.ruletype == "latejoin" ? "latejoin" : "midround"] ruleset [rule.name].") log_threat("[rule.ruletype] [rule.name] added [rule.cost]", verbose = TRUE) if(rule.flags & HIGHLANDER_RULESET) @@ -741,6 +746,7 @@ GLOBAL_VAR_INIT(dynamic_forced_storyteller, null) if(!M.voluntary_ghosted) current_players[CURRENT_DEAD_PLAYERS].Add(M) // Players who actually died (and admins who ghosted, would be nice to avoid counting them somehow) threat = storyteller.calculate_threat() + added_threat + max_threat = max(max_threat,threat) if(threat_average_weight) var/cur_sample_weight = world.time - last_threat_sample_time threat_average = ((threat_average * threat_average_weight) + (threat * cur_sample_weight)) / (threat_average_weight + cur_sample_weight) diff --git a/code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm b/code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm index 416721702b..7ce6e74cc1 100644 --- a/code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm +++ b/code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm @@ -48,6 +48,9 @@ if (!M.client) // Are they connected? trimmed_list.Remove(M) continue + if(M.client.prefs && M.client.prefs.toggles & MIDROUND_ANTAG) + trimmed_list.Remove(M) + continue if(!mode.check_age(M.client, minimum_required_age)) trimmed_list.Remove(M) continue diff --git a/code/game/gamemodes/dynamic/dynamic_rulesets_minor.dm b/code/game/gamemodes/dynamic/dynamic_rulesets_minor.dm index 618befbaa7..74a61bd3ff 100644 --- a/code/game/gamemodes/dynamic/dynamic_rulesets_minor.dm +++ b/code/game/gamemodes/dynamic/dynamic_rulesets_minor.dm @@ -1,3 +1,46 @@ +/datum/dynamic_ruleset/minor/proc/trim_list(list/L = list()) + var/list/trimmed_list = L.Copy() + for(var/mob/M in trimmed_list) + if (!ishuman(M)) + trimmed_list.Remove(M) + continue + if (HAS_TRAIT(M, TRAIT_NO_MIDROUND_ANTAG)) + trimmed_list.Remove(M) + continue + if (!M.client) // Are they connected? + trimmed_list.Remove(M) + continue + if(!mode.check_age(M.client, minimum_required_age)) + trimmed_list.Remove(M) + continue + if(antag_flag_override) + if(!(antag_flag_override in M.client.prefs.be_special) || jobban_isbanned(M.ckey, antag_flag_override)) + trimmed_list.Remove(M) + continue + else + if(!(antag_flag in M.client.prefs.be_special) || jobban_isbanned(M.ckey, antag_flag)) + trimmed_list.Remove(M) + continue + if (M.mind) + if ((M.mind.assigned_role in GLOB.exp_specialmap[EXP_TYPE_SPECIAL])) // Are they playing a ghost role? + trimmed_list.Remove(M) + continue + if (M.mind.assigned_role in restricted_roles) // Does their job allow it? + trimmed_list.Remove(M) + continue + if ((exclusive_roles.len > 0) && !(M.mind.assigned_role in exclusive_roles)) // Is the rule exclusive to their job? + trimmed_list.Remove(M) + continue + return trimmed_list + +/datum/dynamic_ruleset/minor/trim_candidates() + // + // All you need to know is that here, the candidates list contains 4 lists itself, indexed with the following defines: + // Candidates = list(CURRENT_LIVING_PLAYERS, CURRENT_LIVING_ANTAGS, CURRENT_DEAD_PLAYERS, CURRENT_OBSERVERS) + // So for example you can get the list of all current dead players with var/list/dead_players = candidates[CURRENT_DEAD_PLAYERS] + // Make sure to properly typecheck the mobs in those lists, as the dead_players list could contain ghosts, or dead players still in their bodies. + // We're still gonna trim the obvious (mobs without clients, jobbanned players, etc) + candidates = trim_list(mode.current_players[CURRENT_LIVING_PLAYERS]) ////////////////////////////////////////////// // // diff --git a/code/game/gamemodes/dynamic/dynamic_rulesets_roundstart.dm b/code/game/gamemodes/dynamic/dynamic_rulesets_roundstart.dm index c5e0857461..1be5cb3c57 100644 --- a/code/game/gamemodes/dynamic/dynamic_rulesets_roundstart.dm +++ b/code/game/gamemodes/dynamic/dynamic_rulesets_roundstart.dm @@ -8,7 +8,6 @@ /datum/dynamic_ruleset/roundstart/traitor name = "Traitors" config_tag = "traitor" - persistent = TRUE antag_flag = ROLE_TRAITOR antag_datum = /datum/antagonist/traitor/ minimum_required_age = 0 @@ -34,15 +33,6 @@ M.mind.restricted_roles = restricted_roles return TRUE -/datum/dynamic_ruleset/roundstart/traitor/rule_process() - if (autotraitor_cooldown > 0) - autotraitor_cooldown-- - else - autotraitor_cooldown = 450 // 15 minutes - message_admins("Checking if we can turn someone into a traitor.") - log_game("DYNAMIC: Checking if we can turn someone into a traitor.") - mode.picking_specific_rule(/datum/dynamic_ruleset/midround/autotraitor) - ////////////////////////////////////////// // // // BLOOD BROTHERS // diff --git a/code/game/gamemodes/dynamic/dynamic_storytellers.dm b/code/game/gamemodes/dynamic/dynamic_storytellers.dm index d5766b287e..03aa9d174a 100644 --- a/code/game/gamemodes/dynamic/dynamic_storytellers.dm +++ b/code/game/gamemodes/dynamic/dynamic_storytellers.dm @@ -15,10 +15,13 @@ */ var/flags = 0 var/dead_player_weight = 1 // How much dead players matter for threat calculation - var/weight = 3 // Weights for randomly picking storyteller. Multiplied by score after voting. + var/weight = 0 // Weights for randomly picking storyteller. Multiplied by score after voting. + var/min_chaos = -1000 // Won't show up if recent rounds have been below this chaotic on average + var/max_chaos = 1000 // Won't show up if recent rounds have been above this chaotic on average var/event_frequency_lower = 6 MINUTES // How rare events will be, at least. var/event_frequency_upper = 20 MINUTES // How rare events will be, at most. var/min_players = -1 // How many players are required for this one to start. + var/soft_antag_ratio_cap = 4 // how many players-per-antag there should be var/datum/game_mode/dynamic/mode = null // Cached as soon as it's made, by dynamic. /** @@ -101,8 +104,10 @@ Property weights are added to the config weight of the ruleset. They are: /datum/dynamic_storyteller/proc/should_inject_antag(dry_run = FALSE) if(mode.forced_injection) - mode.forced_injection = !dry_run + mode.forced_injection = dry_run return TRUE + if(mode.current_players[CURRENT_LIVING_PLAYERS].len < (mode.current_players[CURRENT_LIVING_ANTAGS].len * soft_antag_ratio_cap)) + return FALSE return mode.threat < mode.threat_level /datum/dynamic_storyteller/proc/roundstart_draft() @@ -126,11 +131,10 @@ Property weights are added to the config weight of the ruleset. They are: /datum/dynamic_storyteller/proc/minor_rule_draft() var/list/drafted_rules = list() - for (var/datum/dynamic_ruleset/minor/rule in mode.minor_rules) + for (var/datum/dynamic_ruleset/rule in mode.minor_rules) if (rule.acceptable(mode.current_players[CURRENT_LIVING_PLAYERS].len, mode.threat_level)) - rule.candidates = mode.candidates.Copy() rule.trim_candidates() - if (rule.ready() && rule.candidates.len > 0) + if (rule.ready()) var/property_weight = 0 for(var/property in property_weights) if(property in rule.property_weights) // just treat it as 0 if it's not in there @@ -213,6 +217,8 @@ Property weights are added to the config weight of the ruleset. They are: weight = 1 event_frequency_lower = 2 MINUTES event_frequency_upper = 10 MINUTES + max_chaos = 50 + soft_antag_ratio_cap = 1 flags = WAROPS_ALWAYS_ALLOWED | FORCE_IF_WON min_players = 30 var/refund_cooldown = 0 @@ -235,12 +241,13 @@ Property weights are added to the config weight of the ruleset. They are: desc = "Modes where the crew must band together. Nukies, xenos, blob. Only one antag threat at once." curve_centre = 2 curve_width = 1.5 - weight = 2 + weight = 4 + max_chaos = 75 min_players = 20 flags = WAROPS_ALWAYS_ALLOWED | USE_PREV_ROUND_WEIGHTS property_weights = list("valid" = 3, "trust" = 5) -/datum/dynamic_storyteller/chaotic/minor_start_chance() +/datum/dynamic_storyteller/team/minor_start_chance() return 0 /datum/dynamic_storyteller/team/should_inject_antag(dry_run = FALSE) @@ -256,13 +263,15 @@ Property weights are added to the config weight of the ruleset. They are: flags = WAROPS_ALWAYS_ALLOWED property_weights = list("valid" = 1, "conversion" = 20) -/datum/dynamic_storyteller/chaotic/minor_start_chance() +/datum/dynamic_storyteller/conversion/minor_start_chance() return 0 /datum/dynamic_storyteller/random name = "Random" config_tag = "random" weight = 1 + max_chaos = 60 + soft_antag_ratio_cap = 1 desc = "No weighting at all; every ruleset has the same chance of happening. Cooldowns vary wildly. As random as it gets." /datum/dynamic_storyteller/random/on_start() @@ -275,7 +284,7 @@ Property weights are added to the config weight of the ruleset. They are: /datum/dynamic_storyteller/random/should_inject_antag() return prob(50) -/datum/dynamic_storyteller/chaotic/minor_start_chance() +/datum/dynamic_storyteller/random/minor_start_chance() return 20 /datum/dynamic_storyteller/random/roundstart_draft() @@ -331,7 +340,7 @@ Property weights are added to the config weight of the ruleset. They are: name = "Story" config_tag = "story" desc = "Antags with options for loadouts and gimmicks. Traitor, wizard, nukies." - weight = 2 + weight = 4 curve_width = 2 flags = USE_PREV_ROUND_WEIGHTS property_weights = list("story_potential" = 2) @@ -339,6 +348,7 @@ Property weights are added to the config weight of the ruleset. They are: /datum/dynamic_storyteller/classic name = "Classic" config_tag = "classic" + weight = 8 desc = "No special antagonist weights. Good variety, but not like random. Uses your chaos preference to weight." flags = USE_PREF_WEIGHTS | USE_PREV_ROUND_WEIGHTS @@ -346,7 +356,7 @@ Property weights are added to the config weight of the ruleset. They are: name = "Intrigue" config_tag = "intrigue" desc = "Antags that instill distrust in the crew. Traitors, bloodsuckers." - weight = 2 + weight = 4 curve_width = 2 dead_player_weight = 2 flags = USE_PREV_ROUND_WEIGHTS @@ -358,8 +368,8 @@ Property weights are added to the config weight of the ruleset. They are: /datum/dynamic_storyteller/grabbag name = "Grab Bag" config_tag = "grabbag" - desc = "Crew antags (e.g. traitor, changeling, bloodsucker, heretic) only, all mixed together." - weight = 2 + desc = "Crew antags (e.g. traitor, changeling, bloodsucker, heretic) only at round start, all mixed together." + weight = 4 flags = USE_PREF_WEIGHTS | USE_PREV_ROUND_WEIGHTS /datum/dynamic_storyteller/grabbag/minor_start_chance() @@ -372,12 +382,14 @@ Property weights are added to the config weight of the ruleset. They are: curve_centre = -3 curve_width = 0.5 flags = NO_ASSASSIN - weight = 1 + min_chaos = 30 + weight = 3 dead_player_weight = 5 + soft_antag_ratio_cap = 8 property_weights = list("extended" = 2, "chaos" = -1, "valid" = -1, "conversion" = -10) /datum/dynamic_storyteller/liteextended/minor_start_chance() - return 100 + return 90 /datum/dynamic_storyteller/no_antag name = "Extended" @@ -385,6 +397,7 @@ Property weights are added to the config weight of the ruleset. They are: desc = "No standard antags." curve_centre = -5 curve_width = 0.5 + min_chaos = 40 flags = NO_ASSASSIN | FORCE_IF_WON weight = 1 property_weights = list("extended" = 2) diff --git a/code/game/gamemodes/eldritch_cult/eldritch_cult.dm b/code/game/gamemodes/eldritch_cult/eldritch_cult.dm index 20a129a5a3..a3e3c54dce 100644 --- a/code/game/gamemodes/eldritch_cult/eldritch_cult.dm +++ b/code/game/gamemodes/eldritch_cult/eldritch_cult.dm @@ -41,7 +41,6 @@ break var/datum/mind/cultie = antag_pick(antag_candidates) antag_candidates -= cultie - cultie.special_role = ROLE_HERETIC cultie.restricted_roles = restricted_jobs culties += cultie diff --git a/code/game/gamemodes/gangs/dominator_countdown.dm b/code/game/gamemodes/gangs/dominator_countdown.dm index c6ae610e37..3b61a07829 100644 --- a/code/game/gamemodes/gangs/dominator_countdown.dm +++ b/code/game/gamemodes/gangs/dominator_countdown.dm @@ -10,4 +10,4 @@ else if(D.gang && D.gang.domination_time != NOT_DOMINATING) return D.gang.domination_time_remaining() else - return "OFFLINE" \ No newline at end of file + return "OFFLINE" diff --git a/code/game/gamemodes/gangs/gang_decals.dm b/code/game/gamemodes/gangs/gang_decals.dm index a37b4cb63b..75d8d459ef 100644 --- a/code/game/gamemodes/gangs/gang_decals.dm +++ b/code/game/gamemodes/gangs/gang_decals.dm @@ -35,4 +35,4 @@ return ..() /obj/effect/decal/cleanable/crayon/NeverShouldHaveComeHere(turf/T) - return isspaceturf(T) || islava(T) || istype(T, /turf/open/water) || ischasm(T) \ No newline at end of file + return isspaceturf(T) || islava(T) || istype(T, /turf/open/water) || ischasm(T) diff --git a/code/game/gamemodes/gangs/gang_hud.dm b/code/game/gamemodes/gangs/gang_hud.dm index 3fde6d4123..825d361ab0 100644 --- a/code/game/gamemodes/gangs/gang_hud.dm +++ b/code/game/gamemodes/gangs/gang_hud.dm @@ -31,4 +31,4 @@ var/image/holder = M.hud_list[ANTAG_HUD] if(holder) holder.color = null - ..() \ No newline at end of file + ..() diff --git a/code/game/gamemodes/gangs/gang_pen.dm b/code/game/gamemodes/gangs/gang_pen.dm index b7bd6cca5e..09cea5cecb 100644 --- a/code/game/gamemodes/gangs/gang_pen.dm +++ b/code/game/gamemodes/gangs/gang_pen.dm @@ -56,4 +56,4 @@ H.silent = max(H.silent, 5) H.DefaultCombatKnockdown(100) gangster_mind.add_antag_datum(/datum/antagonist/gang, gang) - return TRUE \ No newline at end of file + return TRUE diff --git a/code/game/gamemodes/gangs/gangtool.dm b/code/game/gamemodes/gangs/gangtool.dm index e99455bcd5..32272ae51a 100644 --- a/code/game/gamemodes/gangs/gangtool.dm +++ b/code/game/gamemodes/gangs/gangtool.dm @@ -256,4 +256,4 @@ outfits = TRUE /obj/item/device/gangtool/spare/lt - promotable = TRUE \ No newline at end of file + promotable = TRUE diff --git a/code/game/gamemodes/gangs/implant_gang.dm b/code/game/gamemodes/gangs/implant_gang.dm index ee91928845..cad54d4fc1 100644 --- a/code/game/gamemodes/gangs/implant_gang.dm +++ b/code/game/gamemodes/gangs/implant_gang.dm @@ -58,4 +58,4 @@ qdel(src) return imp = new /obj/item/implant/gang(src,gang) - .=..() \ No newline at end of file + .=..() diff --git a/code/game/gamemodes/meteor/meteors.dm b/code/game/gamemodes/meteor/meteors.dm index 795508320b..5cfec2376a 100644 --- a/code/game/gamemodes/meteor/meteors.dm +++ b/code/game/gamemodes/meteor/meteors.dm @@ -46,17 +46,17 @@ GLOBAL_LIST_INIT(meteorsC, list(/obj/effect/meteor/dust)) //for space dust event var/startx switch(startSide) if(NORTH) - starty = world.maxy-(TRANSITIONEDGE+1) - startx = rand((TRANSITIONEDGE+1), world.maxx-(TRANSITIONEDGE+1)) + starty = world.maxy-(TRANSITIONEDGE+2) + startx = rand((TRANSITIONEDGE+2), world.maxx-(TRANSITIONEDGE+2)) if(EAST) - starty = rand((TRANSITIONEDGE+1),world.maxy-(TRANSITIONEDGE+1)) - startx = world.maxx-(TRANSITIONEDGE+1) + starty = rand((TRANSITIONEDGE+2),world.maxy-(TRANSITIONEDGE+2)) + startx = world.maxx-(TRANSITIONEDGE+2) if(SOUTH) - starty = (TRANSITIONEDGE+1) - startx = rand((TRANSITIONEDGE+1), world.maxx-(TRANSITIONEDGE+1)) + starty = (TRANSITIONEDGE+2) + startx = rand((TRANSITIONEDGE+2), world.maxx-(TRANSITIONEDGE+2)) if(WEST) - starty = rand((TRANSITIONEDGE+1), world.maxy-(TRANSITIONEDGE+1)) - startx = (TRANSITIONEDGE+1) + starty = rand((TRANSITIONEDGE+2), world.maxy-(TRANSITIONEDGE+2)) + startx = (TRANSITIONEDGE+2) . = locate(startx, starty, Z) /proc/spaceDebrisFinishLoc(startSide, Z) diff --git a/code/game/machinery/Sleeper.dm b/code/game/machinery/Sleeper.dm index bced9db61f..06e1635656 100644 --- a/code/game/machinery/Sleeper.dm +++ b/code/game/machinery/Sleeper.dm @@ -145,8 +145,8 @@ /obj/machinery/sleeper/ui_state(mob/user) if(controls_inside) - return GLOB.contained_state - return GLOB.default_state + return GLOB.default_state + return GLOB.notcontained_state /obj/machinery/sleeper/ui_interact(mob/user, datum/tgui/ui) ui = SStgui.try_update_ui(user, src, ui) @@ -209,6 +209,7 @@ data["occupant"]["fireLoss"] = mob_occupant.getFireLoss() data["occupant"]["cloneLoss"] = mob_occupant.getCloneLoss() data["occupant"]["brainLoss"] = mob_occupant.getOrganLoss(ORGAN_SLOT_BRAIN) + data["occupant"]["is_robotic_organism"] = HAS_TRAIT(mob_occupant, TRAIT_ROBOTIC_ORGANISM) data["occupant"]["reagents"] = list() if(mob_occupant.reagents && mob_occupant.reagents.reagent_list.len) for(var/datum/reagent/R in mob_occupant.reagents.reagent_list) diff --git a/code/game/machinery/camera/motion.dm b/code/game/machinery/camera/motion.dm index d103e2a856..e515f56196 100644 --- a/code/game/machinery/camera/motion.dm +++ b/code/game/machinery/camera/motion.dm @@ -75,3 +75,38 @@ if (!area_motion) if(isliving(AM)) newTarget(AM) + +/obj/machinery/camera/motion/thunderdome + name = "entertainment camera" + network = list("thunder") + c_tag = "Arena" + resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ACID_PROOF | FREEZE_PROOF + +/obj/machinery/camera/motion/thunderdome/Initialize() + . = ..() + proximity_monitor.SetRange(7) + +/obj/machinery/camera/motion/thunderdome/HasProximity(atom/movable/AM as mob|obj) + if (!isliving(AM) || get_area(AM) != get_area(src)) + return + localMotionTargets |= WEAKREF(AM) + if (!detectTime) + for(var/obj/machinery/computer/security/telescreen/entertainment/TV in GLOB.machines) + TV.notify(TRUE) + detectTime = world.time + 30 SECONDS + +/obj/machinery/camera/motion/thunderdome/process() + if (!detectTime) + return + + for (var/datum/weakref/targetref in localMotionTargets) + var/mob/target = targetref.resolve() + if(QDELETED(target) || target.stat == DEAD || get_dist(src, target) > 7 || get_area(src) != get_area(target)) + localMotionTargets -= targetref + + if (localMotionTargets.len) + detectTime = world.time + 30 SECONDS + else if (world.time > detectTime) + detectTime = 0 + for(var/obj/machinery/computer/security/telescreen/entertainment/TV in GLOB.machines) + TV.notify(FALSE) \ No newline at end of file diff --git a/code/game/machinery/colormate.dm b/code/game/machinery/colormate.dm new file mode 100644 index 0000000000..b4306d49a4 --- /dev/null +++ b/code/game/machinery/colormate.dm @@ -0,0 +1,223 @@ +/obj/machinery/gear_painter + name = "\improper Color Mate" + desc = "A machine to give your apparel a fresh new color! Recommended to use with white items for best results." + icon = 'icons/obj/vending.dmi' + icon_state = "colormate" + density = TRUE + anchored = TRUE + circuit = /obj/item/circuitboard/machine/colormate + var/obj/item/inserted + var/activecolor = "#FFFFFF" + var/list/color_matrix_last + var/matrix_mode = FALSE + /// Minimum lightness for normal mode + var/minimum_normal_lightness = 50 + /// Minimum lightness for matrix mode, tested using 4 test colors of full red, green, blue, white. + var/minimum_matrix_lightness = 75 + /// Minimum matrix tests that must pass for something to be considered a valid color (see above) + var/minimum_matrix_tests = 2 + var/list/allowed_types = list( + /obj/item/clothing, + /obj/item/storage/backpack, + /obj/item/storage/belt + ) + +/obj/machinery/gear_painter/Initialize(mapload) + . = ..() + color_matrix_last = list( + 1, 0, 0, + 0, 1, 0, + 0, 0, 1, + 0, 0, 0 + ) + +/obj/machinery/gear_painter/update_icon_state() + if(panel_open) + icon_state = "colormate_open" + else if(!is_operational()) + icon_state = "colormate_off" + else if(inserted) + icon_state = "colormate_active" + else + icon_state = "colormate" + +/obj/machinery/gear_painter/Destroy() + inserted.forceMove(drop_location()) + return ..() + +/obj/machinery/gear_painter/attackby(obj/item/I, mob/living/user) + if(inserted) + to_chat(user, "The machine is already loaded.") + return + if(default_deconstruction_screwdriver(user, "colormate_open", "colormate", I)) + return + if(default_deconstruction_crowbar(I)) + return + if(default_unfasten_wrench(user, I, 40)) + return + if(user.a_intent == INTENT_HARM) + return ..() + + if(is_type_in_list(I, allowed_types) && is_operational()) + if(!user.transferItemToLoc(I, src)) + to_chat(user, "[I] is stuck to your hand!") + return + user.visible_message("[user] inserts [I] into [src]'s receptable.") + + inserted = I + update_icon() + else + return ..() + +/obj/machinery/gear_painter/AllowDrop() + return FALSE + +/obj/machinery/gear_painter/AltClick(mob/user) + . = ..() + if(!user.CanReach(src)) + return + if(!inserted) + return + to_chat(user, "You remove [inserted] from [src]") + inserted.forceMove(drop_location()) + inserted = null + update_icon() + updateUsrDialog() + +/obj/machinery/gear_painter/ui_interact(mob/user) + if(!is_operational()) + return + user.set_machine(src) + var/list/dat = list("Color Mate Control Panel
") + if(!inserted) + dat += "No item inserted." + else + dat += "Item inserted: [inserted]
" + dat += "Matrix mode: [matrix_mode? "On" : "Off"]" + if(!matrix_mode) + dat += "Select new color.
" + dat += "Color: " + dat += "Apply new color.

" + else + // POGGERS +#define MATRIX_FIELD(field, default) " " + dat += "
" + dat += "" + dat += "[cm] is far too dark (min lightness [minimum_normal_lightness]!") + return FALSE + return TRUE + else // matrix + // We test using full red, green, blue, and white + // A predefined number of them must pass to be considered valid + var/passed = 0 +#define COLORTEST(thestring, thematrix) passed += (ReadHSV(RGBtoHSV(RGBMatrixTransform(thestring, thematrix)))[3] >= minimum_matrix_lightness) + COLORTEST("FF0000", cm) + COLORTEST("00FF00", cm) + COLORTEST("0000FF", cm) + COLORTEST("FFFFFF", cm) +#undef COLORTEST + if(passed < minimum_matrix_tests) + to_chat(user, "[english_list(color)] is not allowed (pased [passed] out of 4, minimum [minimum_matrix_tests], minimum lightness [minimum_matrix_lightness]).") + return FALSE + return TRUE diff --git a/code/game/machinery/computer/Operating.dm b/code/game/machinery/computer/Operating.dm index a2fdc2336f..b837553b38 100644 --- a/code/game/machinery/computer/Operating.dm +++ b/code/game/machinery/computer/Operating.dm @@ -88,6 +88,7 @@ data["patient"]["fireLoss"] = patient.getFireLoss() data["patient"]["toxLoss"] = patient.getToxLoss() data["patient"]["oxyLoss"] = patient.getOxyLoss() + data["patient"]["is_robotic_organism"] = HAS_TRAIT(patient, TRAIT_ROBOTIC_ORGANISM) if(patient.surgeries.len) data["procedures"] = list() for(var/datum/surgery/procedure in patient.surgeries) diff --git a/code/game/machinery/computer/arcade/battle.dm b/code/game/machinery/computer/arcade/battle.dm index a6c98c6c9c..5a0f0e9acf 100644 --- a/code/game/machinery/computer/arcade/battle.dm +++ b/code/game/machinery/computer/arcade/battle.dm @@ -212,4 +212,4 @@ name = "Outbomb Cuban Pete" updateUsrDialog() - return TRUE \ No newline at end of file + return TRUE diff --git a/code/game/machinery/computer/atmos_control.dm b/code/game/machinery/computer/atmos_control.dm index 4ba8d9f3d3..75a181b922 100644 --- a/code/game/machinery/computer/atmos_control.dm +++ b/code/game/machinery/computer/atmos_control.dm @@ -6,6 +6,7 @@ name = "gas sensor" icon = 'icons/obj/stationobjs.dmi' icon_state = "gsensor1" + armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 0) var/on = TRUE diff --git a/code/game/machinery/computer/camera.dm b/code/game/machinery/computer/camera.dm index d42291cd3c..03a5a17493 100644 --- a/code/game/machinery/computer/camera.dm +++ b/code/game/machinery/computer/camera.dm @@ -246,10 +246,12 @@ network = list("thunder") density = FALSE circuit = null - interaction_flags_atom = NONE // interact() is called by BigClick() + //interaction_flags_atom = NONE // interact() is called by BigClick() var/icon_state_off = "entertainment_blank" var/icon_state_on = "entertainment" +/* If someone would like to try to get this long-distance viewing thing working, be my guest. I tried everything I could possibly think of and it just refused to operate correctly. + /obj/machinery/computer/security/telescreen/entertainment/Initialize() . = ..() RegisterSignal(src, COMSIG_CLICK, .proc/BigClick) @@ -258,6 +260,8 @@ /obj/machinery/computer/security/telescreen/entertainment/proc/BigClick() interact(usr) +*/ + /obj/machinery/computer/security/telescreen/entertainment/proc/notify(on) if(on && icon_state == icon_state_off) say(pick( @@ -278,7 +282,7 @@ name = "circuitry telescreen" desc = "Used for watching the other eggheads from the safety of the circuitry lab." network = list("rd") - + /obj/machinery/computer/security/telescreen/ce name = "\improper Chief Engineer's telescreen" desc = "Used for watching the engine, telecommunications and the minisat." diff --git a/code/game/machinery/computer/law.dm b/code/game/machinery/computer/law.dm index fa6d4327a4..fc7bec7134 100644 --- a/code/game/machinery/computer/law.dm +++ b/code/game/machinery/computer/law.dm @@ -69,4 +69,4 @@ return 0 if(B.scrambledcodes || B.emagged) return 0 - return ..() \ No newline at end of file + return ..() diff --git a/code/game/machinery/cryopod.dm b/code/game/machinery/cryopod.dm index a2a395c51c..ea41d77e2a 100644 --- a/code/game/machinery/cryopod.dm +++ b/code/game/machinery/cryopod.dm @@ -22,17 +22,16 @@ //Used for logging people entering cryosleep and important items they are carrying. var/list/frozen_crew = list() - var/list/frozen_items = list() - - // Used for containing rare items traitors need to steal, so it's not - // game-over if they get iced - var/list/objective_items = list() - // A cache of theft datums so you don't have to re-create them for - // each item check - var/list/theft_cache = list() + var/list/obj/stored_packages = list() var/allow_items = TRUE +/obj/machinery/computer/cryopod/deconstruct() + . = ..() + for(var/i in stored_packages) + var/obj/O = i + O.forceMove(drop_location()) + /obj/machinery/computer/cryopod/attack_ai() attack_hand() @@ -67,11 +66,11 @@ if(3) dat += "<< Back

" dat += "

Recently stored objects




" - if(!frozen_items.len) + if(!stored_packages.len) dat += "There has been no storage usage at this terminal.
" else - for(var/obj/item/I in frozen_items) - dat += "[I.name]
" + for(var/obj/O in stored_packages) + dat += "[O.name]
" dat += "
" var/datum/browser/popup = new(user, "cryopod_console", "Cryogenic System Control") @@ -87,25 +86,27 @@ add_fingerprint(user) if(href_list["item"]) - if(!allowed(user)) + if(!allowed(user) && !(obj_flags & EMAGGED)) to_chat(user, "Access Denied.") playsound(src, 'sound/machines/terminal_prompt_deny.ogg', 50, 0) updateUsrDialog() return - if(!allow_items) return - if(frozen_items.len == 0) + if(!allow_items) + return + + if(stored_packages.len == 0) to_chat(user, "There is nothing to recover from storage.") playsound(src, 'sound/machines/terminal_prompt_deny.ogg', 50, 0) updateUsrDialog() return - var/obj/item/I = input(user, "Please choose which object to retrieve.","Object recovery",null) as null|anything in frozen_items + var/obj/I = input(user, "Please choose which object to retrieve.","Object recovery",null) as null|anything in stored_packages playsound(src, "terminal_type", 25, 0) if(!I) return - if(!(I in frozen_items)) + if(!(I in stored_packages)) to_chat(user, "\The [I] is no longer in storage.") playsound(src, 'sound/machines/terminal_prompt_deny.ogg', 50, 0) updateUsrDialog() @@ -117,20 +118,21 @@ I.forceMove(drop_location()) if(user && Adjacent(user) && user.can_hold_items()) user.put_in_hands(I) - frozen_items -= I + stored_packages -= I updateUsrDialog() else if(href_list["allitems"]) playsound(src, "terminal_type", 25, 0) - if(!allowed(user)) + if(!allowed(user) && !(obj_flags & EMAGGED)) to_chat(user, "Access Denied.") playsound(src, 'sound/machines/terminal_prompt_deny.ogg', 50, 0) updateUsrDialog() return + if(!allow_items) return - if(frozen_items.len == 0) + if(stored_packages.len == 0) to_chat(user, "There is nothing to recover from storage.") playsound(src, 'sound/machines/terminal_prompt_deny.ogg', 50, 0) return @@ -138,10 +140,10 @@ visible_message("The console beeps happily as it disgorges the desired objects.") playsound(src, 'sound/machines/terminal_prompt_confirm.ogg', 50, 0) - for(var/obj/item/I in frozen_items) - I.forceMove(drop_location()) - frozen_items -= I - updateUsrDialog() + for(var/obj/O in stored_packages) + O.forceMove(get_turf(src)) + stored_packages.Cut() + updateUsrDialog() else if (href_list["menu"]) src.menu = text2num(href_list["menu"]) @@ -159,6 +161,13 @@ /obj/machinery/computer/cryopod/contents_explosion() return +/obj/machinery/computer/cryopod/contents_explosion() + return //don't blow everyone's shit up. + +/// The box +/obj/item/storage/box/blue/cryostorage_items + w_class = WEIGHT_CLASS_HUGE + //Cryopods themselves. /obj/machinery/cryopod name = "cryogenic freezer" @@ -177,44 +186,9 @@ var/despawn_world_time = null // Used to keep track of the safe period. var/obj/machinery/computer/cryopod/control_computer + var/item_storage_type = /obj/item/storage/box/blue/cryostorage_items //with how storage components work this can be anything the player can open or anything with a storage component. var/last_no_computer_message = 0 - // These items are preserved when the process() despawn proc occurs. - var/static/list/preserve_items = typecacheof(list( - /obj/item/hand_tele, - /obj/item/card/id/captains_spare, - /obj/item/aicard, - /obj/item/mmi, - /obj/item/paicard, - /obj/item/gun, - /obj/item/pinpointer, - /obj/item/clothing/shoes/magboots, - /obj/item/areaeditor/blueprints, - /obj/item/clothing/head/helmet/space, - /obj/item/clothing/suit/space, - /obj/item/clothing/suit/armor, - /obj/item/defibrillator/compact, - /obj/item/reagent_containers/hypospray/CMO, - /obj/item/clothing/accessory/medal/gold/captain, - /obj/item/clothing/gloves/krav_maga, - /obj/item/nullrod, - /obj/item/tank/jetpack, - /obj/item/documents, - /obj/item/nuke_core_container - )) - // These items will NOT be preserved - var/static/list/do_not_preserve_items = typecacheof(list( - /obj/item/mmi/posibrain, - /obj/item/gun/energy/laser/mounted, - /obj/item/gun/energy/e_gun/advtaser/mounted, - /obj/item/gun/ballistic/revolver/grenadelauncher/cyborg, - /obj/item/gun/energy/disabler/cyborg, - /obj/item/gun/energy/e_gun/advtaser/cyborg, - /obj/item/gun/energy/printer, - /obj/item/gun/energy/kinetic_accelerator/cyborg, - /obj/item/gun/energy/laser/cyborg - )) - /obj/machinery/cryopod/Initialize(mapload) . = ..() update_icon() @@ -286,73 +260,89 @@ despawn_occupant() -#define CRYO_DESTROY 0 -#define CRYO_PRESERVE 1 -#define CRYO_OBJECTIVE 2 -#define CRYO_IGNORE 3 -#define CRYO_DESTROY_LATER 4 - -/obj/machinery/cryopod/proc/should_preserve_item(obj/item/I) - for(var/datum/objective_item/steal/T in control_computer.theft_cache) - if(istype(I, T.targetitem) && T.check_special_completion(I)) - return CRYO_OBJECTIVE - if(preserve_items[I] && !do_not_preserve_items[I]) - return CRYO_PRESERVE - return CRYO_DESTROY - // This function can not be undone; do not call this unless you are sure /obj/machinery/cryopod/proc/despawn_occupant() if(!control_computer) find_control_computer() var/mob/living/mob_occupant = occupant - var/list/obj/item/cryo_items = list() + + var/list/obj/item/storing = list() + var/list/obj/item/destroying = list() + var/list/obj/item/destroy_later = list() investigate_log("Despawning [key_name(mob_occupant)].", INVESTIGATE_CRYOGENICS) - //Handle Borg stuff first + var/atom/target_store = (control_computer?.allow_items && control_computer) || src //the double control computer check makes it return the control computer. + var/drop_to_ground = !istype(target_store, /obj/machinery/computer/cryopod) + + var/mind_identity = mob_occupant.mind?.name + var/occupant_identity = mob_occupant.real_name + if(iscyborg(mob_occupant)) var/mob/living/silicon/robot/R = mob_occupant if(R.mmi?.brain) - cryo_items[R.mmi] = CRYO_DESTROY_LATER - cryo_items[R.mmi.brain] = CRYO_DESTROY_LATER - for(var/obj/item/I in R.module) // the tools the borg has; metal, glass, guns etc - for(var/obj/item/O in I) // the things inside the tools, if anything; mainly for janiborg trash bags - cryo_items[O] = should_preserve_item(O) - O.forceMove(src) - R.module.remove_module(I, TRUE) //delete the module itself so it doesn't transfer over. - - //Drop all items into the pod. - for(var/obj/item/I in mob_occupant) - if(cryo_items[I] == CRYO_IGNORE || cryo_items[I] ==CRYO_DESTROY_LATER) - continue - cryo_items[I] = should_preserve_item(I) - mob_occupant.transferItemToLoc(I, src, TRUE) - if(I.contents.len) //Make sure we catch anything not handled by qdel() on the items. - if(cryo_items[I] != CRYO_DESTROY) // Don't remove the contents of things that need preservation + destroy_later += R.mmi + destroy_later += R.mmi.brain + for(var/i in R.module) + if(!isitem(i)) + destroying += i continue - for(var/obj/item/O in I.contents) - cryo_items[O] = should_preserve_item(O) - O.forceMove(src) - - for(var/A in cryo_items) - var/obj/item/I = A - if(QDELETED(I)) //edge cases and DROPDEL. - continue - var/preserve = cryo_items[I] - if(preserve == CRYO_DESTROY_LATER) - continue - if(preserve != CRYO_IGNORE) - if(preserve == CRYO_DESTROY) - qdel(I) - else if(control_computer?.allow_items) - control_computer.frozen_items += I - if(preserve == CRYO_OBJECTIVE) - control_computer.objective_items += I - I.moveToNullspace() + var/obj/item/I = i + // let's be honest we only care about the trash bag don't beat around the bush + if(SEND_SIGNAL(I, COMSIG_CONTAINS_STORAGE)) + storing += I.contents + for(var/atom/movable/AM in I.contents) + AM.forceMove(src) + R.module.remove_module(I, TRUE) + else + var/list/gear = list() + if(iscarbon(mob_occupant)) // sorry simp-le-mobs deserve no mercy + var/mob/living/carbon/C = mob_occupant + gear = C.get_all_gear() + for(var/i in gear) + var/obj/item/I = i + I.forceMove(src) + if(!istype(I)) + destroying += I + continue + if(I.item_flags & (DROPDEL | ABSTRACT)) + destroying += I + continue + if(HAS_TRAIT(I, TRAIT_NODROP)) + destroying += I + continue + // WEE WOO SNOWFLAKE TIME + if(istype(I, /obj/item/pda)) + var/obj/item/pda/P = I + if((P.owner == mind_identity) || (P.owner == occupant_identity)) + destroying += P + else + storing += P + else if(istype(I, /obj/item/card/id)) + var/obj/item/card/id/idcard = I + if((idcard.registered_name == mind_identity) || (idcard.registered_name == occupant_identity)) + destroying += idcard + else + storing += idcard else - I.forceMove(loc) - cryo_items -= I + storing += I + + // get rid of mobs + for(var/mob/living/L in mob_occupant.GetAllContents() - mob_occupant) + L.forceMove(drop_location()) + + if(storing.len) + var/obj/O = new item_storage_type + O.name = "cryogenic retrieval package: [mob_occupant.real_name]" + for(var/i in storing) + var/obj/item/I = i + I.forceMove(O) + O.forceMove(drop_to_ground? target_store.drop_location() : target_store) + if((target_store == control_computer) && !drop_to_ground) + control_computer.stored_packages += O + + QDEL_LIST(destroying) //Update any existing objectives involving this mob. for(var/i in GLOB.objectives) @@ -361,8 +351,12 @@ // them win or lose based on cryo is silly so we remove the objective. if(istype(O,/datum/objective/mutiny) && O.target == mob_occupant.mind) qdel(O) - else if(O.target && istype(O.target, /datum/mind) && !O.check_midround_completion()) - if(O.target == mob_occupant.mind && O.owner?.current) + else if(O.target && istype(O.target, /datum/mind)) + if(O.target != mob_occupant.mind) + continue + if(O.check_midround_completion()) + continue + if(O.owner && O.owner.current) to_chat(O.owner.current, "
You get the feeling your target is no longer within reach. Time for Plan [pick("A","B","C","D","X","Y","Z")]. Objectives updated!") O.target = null spawn(10) //This should ideally fire after the occupant is deleted. @@ -410,22 +404,13 @@ // Ghost and delete the mob. if(!mob_occupant.get_ghost(1)) - mob_occupant.ghostize(FALSE, penalize = TRUE, voluntary = TRUE) + mob_occupant.ghostize(FALSE, penalize = TRUE, voluntary = TRUE, cryo = TRUE) QDEL_NULL(occupant) - for(var/I in cryo_items) //only "CRYO_DESTROY_LATER" atoms are left) - var/atom/A = I - if(!QDELETED(A)) - qdel(A) + QDEL_LIST(destroy_later) open_machine() name = initial(name) -#undef CRYO_DESTROY -#undef CRYO_PRESERVE -#undef CRYO_OBJECTIVE -#undef CRYO_IGNORE -#undef CRYO_DESTROY_LATER - /obj/machinery/cryopod/MouseDrop_T(mob/living/target, mob/user) if(!istype(target) || user.incapacitated() || !target.Adjacent(user) || !Adjacent(user) || !ismob(target) || (!ishuman(user) && !iscyborg(user)) || !istype(user.loc, /turf) || target.buckled) return diff --git a/code/game/machinery/doors/alarmlock.dm b/code/game/machinery/doors/alarmlock.dm index 42649a9ff2..a563200575 100644 --- a/code/game/machinery/doors/alarmlock.dm +++ b/code/game/machinery/doors/alarmlock.dm @@ -40,4 +40,4 @@ close() if("minor", "clear") autoclose = FALSE - open() \ No newline at end of file + open() diff --git a/code/game/machinery/doors/checkForMultipleDoors.dm b/code/game/machinery/doors/checkForMultipleDoors.dm index 35a944c965..73a9edde6f 100644 --- a/code/game/machinery/doors/checkForMultipleDoors.dm +++ b/code/game/machinery/doors/checkForMultipleDoors.dm @@ -13,4 +13,4 @@ if(!istype(D, /obj/machinery/door/window) && D.density) return 0 //There are no false wall checks because that would be fucking - return 1 \ No newline at end of file + return 1 diff --git a/code/game/machinery/doors/passworddoor.dm b/code/game/machinery/doors/passworddoor.dm index 60652981cf..1ec5b3c373 100644 --- a/code/game/machinery/doors/passworddoor.dm +++ b/code/game/machinery/doors/passworddoor.dm @@ -70,4 +70,4 @@ return /obj/machinery/door/password/ex_act(severity, target) - return \ No newline at end of file + return diff --git a/code/game/machinery/doors/unpowered.dm b/code/game/machinery/doors/unpowered.dm index 828624adb4..6e9d7f9561 100644 --- a/code/game/machinery/doors/unpowered.dm +++ b/code/game/machinery/doors/unpowered.dm @@ -19,4 +19,4 @@ icon_state = "door1" opacity = 1 density = TRUE - explosion_block = 1 \ No newline at end of file + explosion_block = 1 diff --git a/code/game/machinery/doors/windowdoor.dm b/code/game/machinery/doors/windowdoor.dm index 3cd2011334..7847c3757e 100644 --- a/code/game/machinery/doors/windowdoor.dm +++ b/code/game/machinery/doors/windowdoor.dm @@ -55,6 +55,7 @@ icon_state = "[src.base_state]open" /obj/machinery/door/window/update_atom_colour() + . = ..() if((color && (color_hex2num(color) < 255))) visible = TRUE if(density) @@ -66,9 +67,9 @@ /obj/machinery/door/window/proc/open_and_close() open() if(src.check_access(null)) - sleep(50) + sleep(60) else //secure doors close faster - sleep(20) + sleep(40) close() /obj/machinery/door/window/Bumped(atom/movable/AM) diff --git a/code/game/machinery/doppler_array.dm b/code/game/machinery/doppler_array.dm index a9c411c634..4f27e38a14 100644 --- a/code/game/machinery/doppler_array.dm +++ b/code/game/machinery/doppler_array.dm @@ -187,4 +187,4 @@ GLOBAL_LIST_EMPTY(doppler_arrays) /obj/machinery/doppler_array/research/science/Initialize() . = ..() - linked_techweb = SSresearch.science_tech \ No newline at end of file + linked_techweb = SSresearch.science_tech diff --git a/code/game/machinery/embedded_controller/airlock_controller.dm b/code/game/machinery/embedded_controller/airlock_controller.dm index ea39133112..125c6692f3 100644 --- a/code/game/machinery/embedded_controller/airlock_controller.dm +++ b/code/game/machinery/embedded_controller/airlock_controller.dm @@ -312,4 +312,4 @@ [state_options]"} - return output \ No newline at end of file + return output diff --git a/code/game/machinery/limbgrower.dm b/code/game/machinery/limbgrower.dm index f77cf3adfb..33f949aba4 100644 --- a/code/game/machinery/limbgrower.dm +++ b/code/game/machinery/limbgrower.dm @@ -24,19 +24,24 @@ var/selected_category var/screen = 1 var/list/categories = list( - "human", - "lizard", - "fly", - "insect", - "plasmaman", - "mammal", - "xeno", - "other" + "human" = /datum/species/human, + "lizard" = /datum/species/lizard, + "mammal" = /datum/species/mammal, + "insect" = /datum/species/insect, + "fly" = /datum/species/fly, + "plasmaman" = /datum/species/plasmaman, + "xeno" = /datum/species/xeno, + "other" = /datum/species, ) + var/list/stored_species = list() + var/obj/item/disk/data/dna_disk /obj/machinery/limbgrower/Initialize() create_reagents(100, OPENCONTAINER) stored_research = new /datum/techweb/specialized/autounlocking/limbgrower + for(var/i in categories) + var/species = categories[i] + stored_species[i] = new species() . = ..() /obj/machinery/limbgrower/ui_interact(mob/user) @@ -64,8 +69,8 @@ ..() /obj/machinery/limbgrower/attackby(obj/item/O, mob/user, params) - if (busy) - to_chat(user, "The Limb Grower is busy. Please wait for completion of previous operation.") + if(busy) + to_chat(user, "\The [src] is busy. Please wait for completion of previous operation.") return if(default_deconstruction_screwdriver(user, "limbgrower_panelopen", "limbgrower_idleoff", O)) @@ -78,6 +83,16 @@ if(user.a_intent == INTENT_HARM) //so we can hit the machine return ..() + if(istype(O, /obj/item/disk)) + if(dna_disk) + to_chat(user, "\The [src] already has a dna disk, take it out first!") + return + else + O.forceMove(src) + dna_disk = O + to_chat(user, "You insert \the [O] into \the [src].") + return + /obj/machinery/limbgrower/Topic(href, href_list) if(..()) return @@ -110,8 +125,24 @@ icon_state = "limbgrower_idleon" addtimer(CALLBACK(src, .proc/build_item),32*prod_coeff) + if(href_list["dna_disk"]) + var/mob/living/carbon/user = usr + if(istype(user)) + if(!dna_disk) + var/obj/item/disk/diskette = user.get_active_held_item() + if(istype(diskette)) + diskette.forceMove(src) + dna_disk = diskette + to_chat(user, "You insert \the [diskette] into \the [src].") + else + dna_disk.forceMove(src.loc) + user.put_in_active_hand(dna_disk) + to_chat(user, "You remove \the [dna_disk] from \the [src].") + dna_disk = null + else + to_chat(user, "You are unable to grasp \the [dna_disk] disk from \the [src].") else - to_chat(usr, "The limb grower is busy. Please wait for completion of previous operation.") + to_chat(usr, "\The [src] is busy. Please wait for completion of previous operation.") updateUsrDialog() return @@ -120,8 +151,10 @@ if(reagents.has_reagent(/datum/reagent/medicine/synthflesh, being_built.reagents_list[/datum/reagent/medicine/synthflesh]*prod_coeff)) //sanity check, if this happens we are in big trouble reagents.remove_reagent(/datum/reagent/medicine/synthflesh, being_built.reagents_list[/datum/reagent/medicine/synthflesh]*prod_coeff) var/buildpath = being_built.build_path - if(ispath(buildpath, /obj/item/bodypart)) //This feels like spatgheti code, but i need to initilise a limb somehow + if(ispath(buildpath, /obj/item/bodypart)) //This feels like spaghetti code, but i need to initiliaze a limb somehow build_limb(buildpath) + else if(ispath(buildpath, /obj/item/organ/genital)) //genitals are uhh... customizable + build_genital(buildpath) else //Just build whatever it is new buildpath(loc) @@ -135,19 +168,65 @@ /obj/machinery/limbgrower/proc/build_limb(buildpath) //i need to create a body part manually using a set icon (otherwise it doesnt appear) var/obj/item/bodypart/limb + var/datum/species/selected = stored_species[selected_category] limb = new buildpath(loc) - if(selected_category=="human" || selected_category=="lizard") //Species with greyscale parts should be included here - limb.icon = 'icons/mob/human_parts_greyscale.dmi' - limb.base_bp_icon = DEFAULT_BODYPART_ICON_ORGANIC - limb.color_src = MUTCOLORS - else - limb.icon = 'icons/mob/human_parts.dmi' - // Set this limb up using the specias name and body zone - limb.icon_state = "[selected_category]_[limb.body_zone]" - limb.name = "\improper synthetic [selected_category] [parse_zone(limb.body_zone)]" - limb.desc = "A synthetic [selected_category] limb that will morph on its first use in surgery. This one is for the [parse_zone(limb.body_zone)]." - limb.species_id = selected_category + limb.base_bp_icon = selected.icon_limbs || DEFAULT_BODYPART_ICON_ORGANIC + limb.species_id = selected.limbs_id + limb.color_src = (MUTCOLORS in selected.species_traits ? MUTCOLORS : (selected.use_skintones ? SKINTONE : FALSE)) + limb.should_draw_gender = (selected.sexes && (limb.body_zone in list(BODY_ZONE_HEAD, BODY_ZONE_CHEST))) + limb.update_limb(TRUE) limb.update_icon_dropped() + limb.name = "\improper synthetic [lowertext(selected.name)] [limb.name]" + limb.desc = "A synthetic [selected_category] limb that will morph on its first use in surgery. This one is for the [parse_zone(limb.body_zone)]." + for(var/obj/item/bodypart/BP in limb) + BP.base_bp_icon = selected.icon_limbs || DEFAULT_BODYPART_ICON_ORGANIC + BP.species_id = selected.limbs_id + BP.color_src = (MUTCOLORS in selected.species_traits ? MUTCOLORS : (selected.use_skintones ? SKINTONE : FALSE)) + BP.should_draw_gender = (selected.sexes && (limb.body_zone in list(BODY_ZONE_HEAD, BODY_ZONE_CHEST))) + BP.update_limb(TRUE) + BP.update_icon_dropped() + BP.name = "\improper synthetic [lowertext(selected.name)] [limb.name]" + BP.desc = "A synthetic [selected_category] limb that will morph on its first use in surgery. This one is for the [parse_zone(limb.body_zone)]." + +/obj/machinery/limbgrower/proc/build_genital(buildpath) + //i needed to create a way to customize gene tools using dna + var/list/features = dna_disk?.fields["features"] + if(length(features)) + switch(buildpath) + if(/obj/item/organ/genital/penis) + var/obj/item/organ/genital/penis/penis = new(loc) + if(features["has_cock"]) + penis.shape = features["cock_shape"] + penis.length = features["cock_shape"] + penis.diameter_ratio = features["cock_diameter_ratio"] + penis.color = sanitize_hexcolor(features["cock_color"], 6) + penis.update_icon() + if(/obj/item/organ/genital/testicles) + var/obj/item/organ/genital/testicles/balls = new(loc) + if(features["has_balls"]) + balls.color = sanitize_hexcolor(features["balls_color"], 6) + balls.shape = features["balls_shape"] + balls.size = features["balls_size"] + balls.fluid_rate = features["balls_cum_rate"] + balls.fluid_mult = features["balls_cum_mult"] + balls.fluid_efficiency = features["balls_efficiency"] + if(/obj/item/organ/genital/vagina) + var/obj/item/organ/genital/vagina/vegana = new(loc) + if(features["has_vagina"]) + vegana.color = sanitize_hexcolor(features["vag_color"], 6) + vegana.shape = features["vag_shape"] + if(/obj/item/organ/genital/breasts) + var/obj/item/organ/genital/breasts/boobs = new(loc) + if(features["has_breasts"]) + boobs.color = sanitize_hexcolor(features["breasts_color"], 6) + boobs.size = features["breasts_size"] + boobs.shape = features["breasts_shape"] + if(!features["breasts_producing"]) + boobs.genital_flags &= ~(GENITAL_FUID_PRODUCTION|CAN_CLIMAX_WITH|CAN_MASTURBATE_WITH) + else + new buildpath(loc) + else + new buildpath(loc) /obj/machinery/limbgrower/RefreshParts() reagents.maximum_volume = 0 @@ -165,7 +244,9 @@ . += "The status display reads: Storing up to [reagents.maximum_volume]u of synthflesh.
Synthflesh consumption at [prod_coeff*100]%." /obj/machinery/limbgrower/proc/main_win(mob/user) - var/dat = "

Limb Grower Menu:


" + var/dat = "

[src] Menu:


" + dat += "[dna_disk ? "Remove" : "Insert"] cloning data disk" + dat += "
" dat += "Chemical Storage" dat += materials_printout() dat += "" @@ -218,7 +299,7 @@ /obj/machinery/limbgrower/proc/get_design_cost(datum/design/D) var/dat - if(D.reagents_list["synthflesh"]) + if(D.reagents_list[/datum/reagent/medicine/synthflesh]) dat += "[D.reagents_list[/datum/reagent/medicine/synthflesh] * prod_coeff] Synthetic flesh " return dat @@ -233,3 +314,47 @@ to_chat(user, "A warning flashes onto the screen, stating that safety overrides have been deactivated!") obj_flags |= EMAGGED return TRUE + +/obj/machinery/limbgrower/AltClick(mob/living/user) + . = ..() + if(istype(user) && user.canUseTopic(src, BE_CLOSE, FALSE, NO_TK)) + if(busy) + to_chat(user, "\The [src] is busy. Please wait for completion of previous operation.") + else + if(dna_disk) + dna_disk.forceMove(src.loc) + user.put_in_active_hand(dna_disk) + to_chat(user, "You remove \the [dna_disk] from \the [src].") + dna_disk = null + else + to_chat(user, "\The [src] has doesn't have a disk on it!") + +//Defines some vars that makes limbs appears, TO-DO: define every single species. + +/datum/species/human + limbs_id = SPECIES_HUMAN + icon_limbs = 'icons/mob/human_parts_greyscale.dmi' + +/datum/species/lizard + limbs_id = SPECIES_LIZARD + icon_limbs = 'icons/mob/human_parts_greyscale.dmi' + +/datum/species/mammal + limbs_id = SPECIES_MAMMAL + icon_limbs = 'icons/mob/human_parts_greyscale.dmi' + +/datum/species/insect + limbs_id = SPECIES_INSECT + icon_limbs = 'icons/mob/human_parts_greyscale.dmi' + +/datum/species/fly + limbs_id = SPECIES_FLY + icon_limbs = 'icons/mob/human_parts.dmi' + +/datum/species/plasmaman + limbs_id = SPECIES_PLASMAMAN + icon_limbs = 'icons/mob/human_parts.dmi' + +/datum/species/xeno + limbs_id = SPECIES_XENOHYBRID + icon_limbs = 'icons/mob/human_parts_greyscale.dmi' diff --git a/code/game/machinery/mass_driver.dm b/code/game/machinery/mass_driver.dm index 0b89b117c4..b39c6d350f 100644 --- a/code/game/machinery/mass_driver.dm +++ b/code/game/machinery/mass_driver.dm @@ -48,4 +48,4 @@ if(isliving(O)) var/mob/living/L = O to_chat(L, "You feel something click beneath you!") - addtimer(CALLBACK(src, .proc/drive), drive_delay) \ No newline at end of file + addtimer(CALLBACK(src, .proc/drive), drive_delay) diff --git a/code/game/machinery/porta_turret/portable_turret.dm b/code/game/machinery/porta_turret/portable_turret.dm index 34745a65f6..29883a073a 100644 --- a/code/game/machinery/porta_turret/portable_turret.dm +++ b/code/game/machinery/porta_turret/portable_turret.dm @@ -774,6 +774,9 @@ stun_projectile_sound = 'sound/weapons/gunshot_smg.ogg' armor = list("melee" = 50, "bullet" = 30, "laser" = 30, "energy" = 30, "bomb" = 80, "bio" = 0, "rad" = 0, "fire" = 90, "acid" = 90) +/obj/machinery/porta_turret/syndicate/pod/toolbox + max_integrity = 100 + /obj/machinery/porta_turret/syndicate/shuttle/target(atom/movable/target) if(target) setDir(get_dir(base, target))//even if you can't shoot, follow the target diff --git a/code/game/machinery/spaceheater.dm b/code/game/machinery/spaceheater.dm index c6484b051c..056902801f 100644 --- a/code/game/machinery/spaceheater.dm +++ b/code/game/machinery/spaceheater.dm @@ -18,7 +18,7 @@ var/mode = HEATER_MODE_STANDBY var/setMode = "auto" // Anything other than "heat" or "cool" is considered auto. var/targetTemperature = T20C - var/heatingPower = 40000 + var/heatingPower = 10000 var/efficiency = 20000 var/temperatureTolerance = 1 var/settableTemperatureMedian = 30 + T0C @@ -74,46 +74,55 @@ if(cell && cell.charge > 0) var/turf/L = loc - if(!istype(L)) - if(mode != HEATER_MODE_STANDBY) - mode = HEATER_MODE_STANDBY - update_icon() - return + PerformHeating(L) - var/datum/gas_mixture/env = L.return_air() + for(var/direction in GLOB.alldirs) + L=get_step(src,direction) + if(!locate(/turf/closed) in L) // we don't want to heat walls and cause jank + PerformHeating(L) - var/newMode = HEATER_MODE_STANDBY - if(setMode != HEATER_MODE_COOL && env.return_temperature() < targetTemperature - temperatureTolerance) - newMode = HEATER_MODE_HEAT - else if(setMode != HEATER_MODE_HEAT && env.return_temperature() > targetTemperature + temperatureTolerance) - newMode = HEATER_MODE_COOL - - if(mode != newMode) - mode = newMode - update_icon() - - if(mode == HEATER_MODE_STANDBY) - return - - var/heat_capacity = env.heat_capacity() - var/requiredPower = abs(env.return_temperature() - targetTemperature) * heat_capacity - requiredPower = min(requiredPower, heatingPower) - - if(requiredPower < 1) - return - - var/deltaTemperature = requiredPower / heat_capacity - if(mode == HEATER_MODE_COOL) - deltaTemperature *= -1 - if(deltaTemperature) - env.set_temperature(env.return_temperature() + deltaTemperature) - air_update_turf() - cell.use(requiredPower / efficiency) else on = FALSE update_icon() return PROCESS_KILL +/obj/machinery/space_heater/proc/PerformHeating(turf/L) + if(!istype(L)) + if(mode != HEATER_MODE_STANDBY) + mode = HEATER_MODE_STANDBY + update_icon() + return + + var/datum/gas_mixture/env = L.return_air() + + var/newMode = HEATER_MODE_STANDBY + if(setMode != HEATER_MODE_COOL && env.return_temperature() < targetTemperature - temperatureTolerance) + newMode = HEATER_MODE_HEAT + else if(setMode != HEATER_MODE_HEAT && env.return_temperature() > targetTemperature + temperatureTolerance) + newMode = HEATER_MODE_COOL + + if(mode != newMode) + mode = newMode + update_icon() + + if(mode == HEATER_MODE_STANDBY) + return + + var/heat_capacity = env.heat_capacity() + var/requiredPower = abs(env.return_temperature() - targetTemperature) * heat_capacity + requiredPower = min(requiredPower, heatingPower) + + if(requiredPower < 1) + return + + var/deltaTemperature = requiredPower / heat_capacity + if(mode == HEATER_MODE_COOL) + deltaTemperature *= -1 + if(deltaTemperature) + env.set_temperature(env.return_temperature() + deltaTemperature) + air_update_turf() + cell.use(requiredPower / efficiency) + /obj/machinery/space_heater/RefreshParts() var/laser = 2 var/cap = 1 @@ -122,7 +131,7 @@ for(var/obj/item/stock_parts/capacitor/M in component_parts) cap += M.rating - heatingPower = laser * 40000 + heatingPower = laser * 10000 settableTemperatureRange = cap * 30 efficiency = (cap + 1) * 10000 diff --git a/code/game/mecha/combat/combat.dm b/code/game/mecha/combat/combat.dm index 8a4a2fdd9b..f9a86066ff 100644 --- a/code/game/mecha/combat/combat.dm +++ b/code/game/mecha/combat/combat.dm @@ -8,4 +8,4 @@ for(var/obj/item/I in equipment) if(istype(I, /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/)) var/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/gun = I - gun.projectiles_cache = gun.projectiles_cache_max \ No newline at end of file + gun.projectiles_cache = gun.projectiles_cache_max diff --git a/code/game/mecha/equipment/tools/mining_tools.dm b/code/game/mecha/equipment/tools/mining_tools.dm index 7c7c6be2bc..06e4208d71 100644 --- a/code/game/mecha/equipment/tools/mining_tools.dm +++ b/code/game/mecha/equipment/tools/mining_tools.dm @@ -172,4 +172,4 @@ mineral_scan_pulse(get_turf(src)) #undef DRILL_BASIC -#undef DRILL_HARDENED \ No newline at end of file +#undef DRILL_HARDENED diff --git a/code/game/objects/buckling.dm b/code/game/objects/buckling.dm index bdb748925c..5142ba69ac 100644 --- a/code/game/objects/buckling.dm +++ b/code/game/objects/buckling.dm @@ -14,6 +14,9 @@ if(.) return if(can_buckle && has_buckled_mobs()) + if(ishuman(src)) //prevent people from unbuckling fireman-carried/piggybacked people unless on disarm or harm intents + if(act_intent == INTENT_HELP || act_intent == INTENT_GRAB) + return if(buckled_mobs.len > 1) var/unbuckled = input(user, "Who do you wish to unbuckle?","Unbuckle Who?") as null|mob in buckled_mobs if(user_unbuckle_mob(unbuckled,user)) diff --git a/code/game/objects/effects/blessing.dm b/code/game/objects/effects/blessing.dm index 5df90d65c7..6db28b3700 100644 --- a/code/game/objects/effects/blessing.dm +++ b/code/game/objects/effects/blessing.dm @@ -24,4 +24,4 @@ /obj/effect/blessing/proc/block_cult_teleport(datum/source, channel, turf/origin, turf/destination) if(channel == TELEPORT_CHANNEL_CULT) - return COMPONENT_BLOCK_TELEPORT \ No newline at end of file + return COMPONENT_BLOCK_TELEPORT diff --git a/code/game/objects/effects/decals/cleanable.dm b/code/game/objects/effects/decals/cleanable.dm index 34996177af..5a6d5e54e9 100644 --- a/code/game/objects/effects/decals/cleanable.dm +++ b/code/game/objects/effects/decals/cleanable.dm @@ -1,6 +1,13 @@ /obj/effect/decal/cleanable gender = PLURAL layer = ABOVE_NORMAL_TURF_LAYER + /// Is this kind of cleanable decal persistent + var/persistent = FALSE + /// Can we stack multiple in one tile? + var/persistence_allow_stacking = FALSE + /// Are we deleted by turf changes? + var/wiped_by_floor_change = FALSE + var/list/random_icon_states = null var/blood_state = "" //I'm sorry but cleanable/blood code is ass, and so is blood_DNA var/bloodiness = 0 //0-100, amount of blood in this decal, used for making footprints and affecting the alpha of bloody footprints @@ -29,9 +36,21 @@ addtimer(CALLBACK(src, /datum.proc/_AddElement, list(/datum/element/beauty, beauty)), 0) +/** + * A data list is passed into this. + * This should return null to skip saving, or the type of data to save. Type must be /cleanable. + */ +/obj/effect/decal/cleanable/proc/PersistenceSave(list/data) + return type + +/** + * Loads from a data list. + */ +/obj/effect/decal/cleanable/proc/PersistenceLoad(list/data) + return + /obj/effect/decal/cleanable/proc/replace_decal(obj/effect/decal/cleanable/C) // Returns true if we should give up in favor of the pre-existing decal - if(mergeable_decal) - qdel(C) + return mergeable_decal /obj/effect/decal/cleanable/attackby(obj/item/W, mob/user, params) if(istype(W, /obj/item/reagent_containers/glass) || istype(W, /obj/item/reagent_containers/food/drinks)) diff --git a/code/game/objects/effects/decals/cleanable/aliens.dm b/code/game/objects/effects/decals/cleanable/aliens.dm index fa4bfe7e67..875f23434b 100644 --- a/code/game/objects/effects/decals/cleanable/aliens.dm +++ b/code/game/objects/effects/decals/cleanable/aliens.dm @@ -74,4 +74,4 @@ /obj/effect/decal/cleanable/blood/xtracks/Initialize() add_blood_DNA(list("UNKNOWN DNA" = "X*")) - . = ..() \ No newline at end of file + . = ..() diff --git a/code/game/objects/effects/decals/cleanable/gibs.dm b/code/game/objects/effects/decals/cleanable/gibs.dm index 7df0153ddc..4b63cbecc8 100644 --- a/code/game/objects/effects/decals/cleanable/gibs.dm +++ b/code/game/objects/effects/decals/cleanable/gibs.dm @@ -6,6 +6,7 @@ random_icon_states = list("gib1", "gib2", "gib3", "gib4", "gib5", "gib6") mergeable_decal = FALSE bloodiness = 0 //This isn't supposed to be bloody. + persistent = TRUE var/body_colors = "#e3ba84" //a default color just in case. var/gibs_reagent_id = /datum/reagent/liquidgibs var/gibs_bloodtype = "A+" @@ -31,6 +32,10 @@ flesh.color = body_colors add_overlay(flesh) +/obj/effect/decal/cleanable/blood/gibs/PersistenceSave(list/data) + . = ..() + return /obj/effect/decal/cleanable/blood/gibs/old + /obj/effect/decal/cleanable/blood/gibs/ex_act(severity, target) return @@ -159,6 +164,10 @@ . = ..() update_icon() +/obj/effect/decal/cleanable/blood/gibs/slime/PersistenceSave(list/data) + . = ..() + return type + /obj/effect/decal/cleanable/blood/gibs/slime/update_icon() add_atom_colour(body_colors, FIXED_COLOUR_PRIORITY) cut_overlays() @@ -198,6 +207,10 @@ . = ..() update_icon() +/obj/effect/decal/cleanable/blood/gibs/synth/PersistenceSave(list/data) + . = ..() + return type + //IPCs /obj/effect/decal/cleanable/blood/gibs/ipc desc = "They look sharp yet oozing." @@ -209,6 +222,10 @@ . = ..() update_icon() +/obj/effect/decal/cleanable/blood/gibs/ipc/PersistenceSave(list/data) + . = ..() + return type + /obj/effect/decal/cleanable/blood/gibs/ipc/update_icon() add_atom_colour(blood_DNA_to_color(), FIXED_COLOUR_PRIORITY) cut_overlays() diff --git a/code/game/objects/effects/decals/cleanable/humans.dm b/code/game/objects/effects/decals/cleanable/humans.dm index fa16a95faf..6d051b6c8c 100644 --- a/code/game/objects/effects/decals/cleanable/humans.dm +++ b/code/game/objects/effects/decals/cleanable/humans.dm @@ -8,12 +8,18 @@ bloodiness = BLOOD_AMOUNT_PER_DECAL color = BLOOD_COLOR_HUMAN //default so we don't have white splotches everywhere. beauty = -100 + persistent = TRUE + var/fixed_color = FALSE /obj/effect/decal/cleanable/blood/replace_decal(obj/effect/decal/cleanable/blood/C) + if(C.fixed_color) + qdel(C) + return FALSE if (C.blood_DNA) blood_DNA |= C.blood_DNA + qdel(C) update_icon() - ..() + return FALSE /obj/effect/decal/cleanable/blood/transfer_blood_dna() ..() @@ -24,7 +30,22 @@ update_icon() /obj/effect/decal/cleanable/blood/update_icon() - color = blood_DNA_to_color() + . = ..() + if(!fixed_color) + add_atom_colour(blood_DNA_to_color(), FIXED_COLOUR_PRIORITY) + +/obj/effect/decal/cleanable/blood/PersistenceSave(list/data) + . = ..() + data["color"] = color + +/obj/effect/decal/cleanable/blood/PersistenceLoad(list/data) + . = ..() + if(data["color"]) + fixed_color = TRUE + add_atom_colour(data["color"], FIXED_COLOUR_PRIORITY) + name = "dried blood" + desc = "Looks like it's been here a while. Eew" + bloodiness = 0 /obj/effect/decal/cleanable/blood/old name = "dried blood" @@ -38,6 +59,7 @@ /obj/effect/decal/cleanable/blood/splats random_icon_states = list("gibbl1", "gibbl2", "gibbl3", "gibbl4", "gibbl5") + persistence_allow_stacking = TRUE /obj/effect/decal/cleanable/blood/splatter random_icon_states = list("splatter1", "splatter2", "splatter3", "splatter4", "splatter5") @@ -48,16 +70,43 @@ random_icon_states = null beauty = -50 +/obj/effect/decal/cleanable/blood/tracks/PersistenceSave(list/data) + . = ..() + data["dir"] = dir + +/obj/effect/decal/cleanable/blood/tracks/PersistenceLoad(list/data) + . = ..() + if(data["dir"]) + setDir(text2num(data["dir"])) + /obj/effect/decal/cleanable/trail_holder //not a child of blood on purpose name = "blood" icon_state = "ltrails_1" desc = "Your instincts say you shouldn't be following these." random_icon_states = null beauty = -50 + persistent = TRUE + persistence_allow_stacking = TRUE var/list/existing_dirs = list() + var/fixed_color = FALSE + +/obj/effect/decal/cleanable/trail_holder/PersistenceSave(list/data) + . = ..() + data["dir"] = dir + data["color"] = color + +/obj/effect/decal/cleanable/trail_holder/PersistenceLoad(list/data) + . = ..() + if(data["dir"]) + setDir(text2num(data["dir"])) + if(data["color"]) + fixed_color = TRUE + add_atom_colour(data["color"], FIXED_COLOUR_PRIORITY) /obj/effect/decal/cleanable/trail_holder/update_icon() - color = blood_DNA_to_color() + . = ..() + if(!fixed_color) + add_atom_colour(blood_DNA_to_color(), FIXED_COLOUR_PRIORITY) /obj/effect/cleanable/trail_holder/Initialize() . = ..() @@ -84,8 +133,19 @@ var/entered_dirs = 0 var/exited_dirs = 0 blood_state = BLOOD_STATE_BLOOD //the icon state to load images from + persistent = TRUE + persistence_allow_stacking = TRUE var/list/shoe_types = list() +/obj/effect/decal/cleanable/blood/footprints/PersistenceSave(list/data) + . = ..() + data["dir"] = dir + +/obj/effect/decal/cleanable/blood/footprints/PersistenceLoad(list/data) + . = ..() + if(data["dir"]) + setDir(text2num(data["dir"])) + /obj/effect/decal/cleanable/blood/footprints/Crossed(atom/movable/O) if(ishuman(O)) var/mob/living/carbon/human/H = O @@ -143,7 +203,7 @@ return if(color != C.color) return - ..() + return ..() /obj/effect/decal/cleanable/blood/footprints/can_bloodcrawl_in() if((blood_state != BLOOD_STATE_OIL) && (blood_state != BLOOD_STATE_NOT_BLOODY)) diff --git a/code/game/objects/effects/decals/cleanable/misc.dm b/code/game/objects/effects/decals/cleanable/misc.dm index 044c5c6e86..bb566f4d87 100644 --- a/code/game/objects/effects/decals/cleanable/misc.dm +++ b/code/game/objects/effects/decals/cleanable/misc.dm @@ -12,6 +12,8 @@ icon_state = "ash" mergeable_decal = FALSE beauty = -50 + persistent = TRUE + persistence_allow_stacking = TRUE /obj/effect/decal/cleanable/ash/Initialize() . = ..() @@ -38,6 +40,8 @@ icon = 'icons/obj/shards.dmi' icon_state = "tiny" beauty = -100 + mergeable_decal = TRUE + persistent = TRUE /obj/effect/decal/cleanable/glass/Initialize() . = ..() @@ -53,10 +57,33 @@ name = "dirt" desc = "Someone should clean that up." icon_state = "dirt" + alpha = 127 canSmoothWith = list(/obj/effect/decal/cleanable/dirt, /turf/closed/wall, /obj/structure/falsewall) smooth = SMOOTH_FALSE mouse_opacity = MOUSE_OPACITY_TRANSPARENT beauty = -75 + mergeable_decal = TRUE + persistent = TRUE + wiped_by_floor_change = TRUE + +/obj/effect/decal/cleanable/dirt/Initialize(mapload) + . = ..() + alpha = CONFIG_GET(number/dirt_alpha_starting) + +/obj/effect/decal/cleanable/dirt/proc/dirty(strength = 1) + if(alpha < 255) + alpha += strength + if(alpha > 255) + alpha = 255 + +/obj/effect/decal/cleanable/dirt/PersistenceSave(list/data) + . = ..() + data["alpha"] = alpha + +/obj/effect/decal/cleanable/dirt/PersistenceLoad(list/data) + . = ..() + if(data["alpha"]) + alpha = text2num(data["alpha"]) /obj/effect/decal/cleanable/dirt/Initialize() . = ..() @@ -94,6 +121,8 @@ light_color = LIGHT_COLOR_GREEN icon_state = "greenglow" beauty = -300 + mergeable_decal = TRUE + persistent = TRUE /obj/effect/decal/cleanable/greenglow/Initialize(mapload) . = ..() @@ -122,6 +151,8 @@ icon_state = "molten" mergeable_decal = FALSE beauty = -150 + persistent = TRUE + persistence_allow_stacking = TRUE /obj/effect/decal/cleanable/molten_object/large name = "big gooey grey mass" @@ -136,6 +167,7 @@ icon_state = "vomit_1" random_icon_states = list("vomit_1", "vomit_2", "vomit_3", "vomit_4") beauty = -150 + persistent = TRUE /obj/effect/decal/cleanable/vomit/on_attack_hand(mob/user, act_intent = user.a_intent, unarmed_attack_flags) if(ishuman(user)) @@ -151,6 +183,10 @@ reagents.trans_to(H, reagents.total_volume) qdel(src) +/obj/effect/decal/cleanable/vomit/PersistenceSave(list/data) + . = ..() + return /obj/effect/decal/cleanable/vomit/old + /obj/effect/decal/cleanable/vomit/old name = "crusty dried vomit" desc = "You try not to look at the chunks, and fail." @@ -166,12 +202,16 @@ icon = 'icons/effects/tomatodecal.dmi' random_icon_states = list("tomato_floor1", "tomato_floor2", "tomato_floor3") beauty = -100 + mergeable_decal = TRUE + persistent = TRUE /obj/effect/decal/cleanable/plant_smudge name = "plant smudge" gender = NEUTER icon = 'icons/effects/tomatodecal.dmi' random_icon_states = list("smashed_plant") + mergeable_decal = TRUE + persistent = TRUE /obj/effect/decal/cleanable/egg_smudge name = "smashed egg" @@ -179,6 +219,8 @@ gender = NEUTER icon = 'icons/effects/tomatodecal.dmi' random_icon_states = list("smashed_egg1", "smashed_egg2", "smashed_egg3") + mergeable_decal = TRUE + persistent = TRUE /obj/effect/decal/cleanable/pie_smudge //honk name = "smashed pie" @@ -186,6 +228,8 @@ gender = NEUTER icon = 'icons/effects/tomatodecal.dmi' random_icon_states = list("smashed_pie") + mergeable_decal = TRUE + persistent = TRUE /obj/effect/decal/cleanable/chem_pile name = "chemical pile" @@ -193,6 +237,8 @@ gender = NEUTER icon = 'icons/obj/objects.dmi' icon_state = "ash" + mergeable_decal = TRUE + persistent = TRUE /obj/effect/decal/cleanable/shreds name = "shreds" @@ -200,6 +246,8 @@ icon_state = "shreds" gender = PLURAL mergeable_decal = FALSE + mergeable_decal = TRUE + persistent = TRUE /obj/effect/decal/cleanable/shreds/ex_act(severity, target) if(severity == 1) //so shreds created during an explosion aren't deleted by the explosion. @@ -222,6 +270,8 @@ desc = "The herpes of arts and crafts." icon = 'icons/effects/atmospherics.dmi' gender = NEUTER + mergeable_decal = TRUE + persistent = FALSE /obj/effect/decal/cleanable/glitter/pink name = "pink glitter" @@ -247,3 +297,5 @@ icon = 'icons/effects/blood.dmi' icon_state = "xfloor1" random_icon_states = list("xfloor1", "xfloor2", "xfloor3", "xfloor4", "xfloor5", "xfloor6", "xfloor7") + mergeable_decal = TRUE + persistent = TRUE diff --git a/code/game/objects/effects/decals/cleanable/robots.dm b/code/game/objects/effects/decals/cleanable/robots.dm index 2765330977..8f8f27c3c6 100644 --- a/code/game/objects/effects/decals/cleanable/robots.dm +++ b/code/game/objects/effects/decals/cleanable/robots.dm @@ -11,6 +11,7 @@ bloodiness = BLOOD_AMOUNT_PER_DECAL mergeable_decal = FALSE beauty = -50 + persistent = TRUE /obj/effect/decal/cleanable/robot_debris/Initialize(mapload, list/datum/disease/diseases) . = ..() @@ -52,6 +53,7 @@ blood_state = BLOOD_STATE_OIL bloodiness = BLOOD_AMOUNT_PER_DECAL beauty = -100 + persistent = TRUE /obj/effect/decal/cleanable/oil/Initialize() . = ..() @@ -61,8 +63,10 @@ /obj/effect/decal/cleanable/oil/streak random_icon_states = list("streak1", "streak2", "streak3", "streak4", "streak5") beauty = -50 + persistent = TRUE /obj/effect/decal/cleanable/oil/slippery + persistent = FALSE /obj/effect/decal/cleanable/oil/slippery/Initialize() AddComponent(/datum/component/slippery, 80, (NO_SLIP_WHEN_WALKING | SLIDE)) diff --git a/code/game/objects/effects/decals/crayon.dm b/code/game/objects/effects/decals/crayon.dm index 8cfdad0432..387b8c167d 100644 --- a/code/game/objects/effects/decals/crayon.dm +++ b/code/game/objects/effects/decals/crayon.dm @@ -5,6 +5,8 @@ icon_state = "rune1" plane = ABOVE_WALL_PLANE //makes the graffiti visible over a wall. gender = NEUTER + persistent = TRUE + persistence_allow_stacking = TRUE mergeable_decal = FALSE var/do_icon_rotate = TRUE var/rotation = 0 @@ -29,3 +31,35 @@ if(main) paint_colour = main add_atom_colour(paint_colour, FIXED_COLOUR_PRIORITY) + +/obj/effect/decal/cleanable/crayon/PersistenceSave(list/data) + . = ..() + if(icon != initial(icon)) // no support for alticons yet, awful system anyways + return null + data["icon_state"] = icon_state + data["paint_color"] = paint_colour + if(do_icon_rotate) + data["rotation"] = rotation + data["name"] = name + if(pixel_x != initial(pixel_x)) + data["pixel_x"] = pixel_x + if(pixel_y != initial(pixel_y)) + data["pixel_y"] = pixel_y + +/obj/effect/decal/cleanable/crayon/PersistenceLoad(list/data) + . = ..() + if(data["name"]) + name = data["name"] + if(do_icon_rotate && data["rotation"]) + var/matrix/M = matrix() + M.Turn(text2num(data["rotation"])) + transform = M + if(data["paint_color"]) + paint_colour = data["paint_color"] + add_atom_colour(paint_colour, FIXED_COLOUR_PRIORITY) + if(data["icon_state"]) + icon_state = data["icon_state"] + if(data["pixel_x"]) + pixel_x = data["pixel_x"] + if(data["pixel_y"]) + pixel_y = data["pixel_y"] diff --git a/code/game/objects/effects/decals/turfdecal/tilecoloring.dm b/code/game/objects/effects/decals/turfdecal/tilecoloring.dm index 85c2c78abb..7b5b4d9b4e 100644 --- a/code/game/objects/effects/decals/turfdecal/tilecoloring.dm +++ b/code/game/objects/effects/decals/turfdecal/tilecoloring.dm @@ -235,4 +235,4 @@ icon_state = "trimline_corner_fill" /obj/effect/turf_decal/trimline/neutral/filled/end - icon_state = "trimline_end_fill" \ No newline at end of file + icon_state = "trimline_end_fill" diff --git a/code/game/objects/effects/mines.dm b/code/game/objects/effects/mines.dm index d5f53b2f1c..b0e801137d 100644 --- a/code/game/objects/effects/mines.dm +++ b/code/game/objects/effects/mines.dm @@ -16,7 +16,7 @@ return . = ..() - if(AM.movement_type & FLYING) + if(AM.movement_type & FLYING || iseffect(AM)) return triggermine(AM) diff --git a/code/game/objects/effects/spawners/traps.dm b/code/game/objects/effects/spawners/traps.dm index 82cfe89662..731b4efc1d 100644 --- a/code/game/objects/effects/spawners/traps.dm +++ b/code/game/objects/effects/spawners/traps.dm @@ -7,4 +7,4 @@ ..() var/new_type = pick(subtypesof(/obj/structure/trap) - typesof(/obj/structure/trap/ctf)) new new_type(get_turf(src)) - return INITIALIZE_HINT_QDEL \ No newline at end of file + return INITIALIZE_HINT_QDEL diff --git a/code/game/objects/items/chromosome.dm b/code/game/objects/items/chromosome.dm index 8330a8e202..3acf3cfe5c 100644 --- a/code/game/objects/items/chromosome.dm +++ b/code/game/objects/items/chromosome.dm @@ -89,4 +89,4 @@ /obj/item/chromosome/reinforcer/apply(datum/mutation/human/HM) HM.mutadone_proof = TRUE - ..() \ No newline at end of file + ..() diff --git a/code/game/objects/items/circuitboards/computer_circuitboards.dm b/code/game/objects/items/circuitboards/computer_circuitboards.dm index 2fa48582f7..9a1c770417 100644 --- a/code/game/objects/items/circuitboards/computer_circuitboards.dm +++ b/code/game/objects/items/circuitboards/computer_circuitboards.dm @@ -297,6 +297,10 @@ name = "Mining Shuttle (Computer Board)" build_path = /obj/machinery/computer/shuttle/mining +/obj/item/circuitboard/computer/mining_shuttle/common + name = "Lavaland Shuttle (Computer Board)" + build_path = /obj/machinery/computer/shuttle/mining/common + /obj/item/circuitboard/computer/snow_taxi name = "Snow Taxi (Computer Board)" build_path = /obj/machinery/computer/shuttle/snow_taxi diff --git a/code/game/objects/items/circuitboards/machine_circuitboards.dm b/code/game/objects/items/circuitboards/machine_circuitboards.dm index 8e59e91e38..4873962587 100644 --- a/code/game/objects/items/circuitboards/machine_circuitboards.dm +++ b/code/game/objects/items/circuitboards/machine_circuitboards.dm @@ -243,6 +243,12 @@ /obj/item/stack/sheet/glass = 1) def_components = list(/obj/item/stack/ore/bluespace_crystal = /obj/item/stack/ore/bluespace_crystal/artificial) +/obj/item/circuitboard/machine/colormate + name = "Colormate (Machine Board)" + build_path = /obj/machinery/gear_painter + req_components = list() + def_components = list() + /obj/item/circuitboard/machine/vendor name = "Custom Vendor (Machine Board)" desc = "You can turn the \"brand selection\" dial using a screwdriver." diff --git a/code/game/objects/items/control_wand.dm b/code/game/objects/items/control_wand.dm index c98484b81e..be39bb6973 100644 --- a/code/game/objects/items/control_wand.dm +++ b/code/game/objects/items/control_wand.dm @@ -100,4 +100,4 @@ #undef WAND_OPEN #undef WAND_BOLT -#undef WAND_EMERGENCY \ No newline at end of file +#undef WAND_EMERGENCY diff --git a/code/game/objects/items/credit_holochip.dm b/code/game/objects/items/credit_holochip.dm index 21cfd1fbad..b7f7f5f2d1 100644 --- a/code/game/objects/items/credit_holochip.dm +++ b/code/game/objects/items/credit_holochip.dm @@ -80,6 +80,17 @@ to_chat(user, "You insert the credits into [src].") update_icon() qdel(H) + if(istype(I, /obj/item/card/id)) + var/obj/item/card/id/ID = I + if(!ID.registered_account) + to_chat(user, "[ID] doesn't have a linked account to deposit into!") + return + for(var/obj/item/holochip/money in src.loc.contents) + ID.attackby(money, user) + for(var/obj/item/stack/spacecash/money in src.loc.contents) + ID.attackby(money, user) + for(var/obj/item/coin/money in src.loc.contents) + ID.attackby(money, user) /obj/item/holochip/AltClick(mob/user) if(!istype(user) || !user.canUseTopic(src, BE_CLOSE, ismonkey(user))) diff --git a/code/game/objects/items/devices/desynchronizer.dm b/code/game/objects/items/devices/desynchronizer.dm index e3385dc13f..2cb4922f36 100644 --- a/code/game/objects/items/devices/desynchronizer.dm +++ b/code/game/objects/items/devices/desynchronizer.dm @@ -91,4 +91,4 @@ return ..() /obj/effect/abstract/sync_holder/AllowDrop() - return TRUE //no dropping spaghetti out of your spacetime pocket \ No newline at end of file + return TRUE //no dropping spaghetti out of your spacetime pocket diff --git a/code/game/objects/items/devices/glue.dm b/code/game/objects/items/devices/glue.dm index 2c57ede706..42fbecc780 100644 --- a/code/game/objects/items/devices/glue.dm +++ b/code/game/objects/items/devices/glue.dm @@ -29,4 +29,4 @@ if(uses == 0) icon_state = "glue_used" name = "empty bottle of super glue" - return \ No newline at end of file + return diff --git a/code/game/objects/items/devices/megaphone.dm b/code/game/objects/items/devices/megaphone.dm index 915fcac504..365446bad9 100644 --- a/code/game/objects/items/devices/megaphone.dm +++ b/code/game/objects/items/devices/megaphone.dm @@ -62,4 +62,4 @@ name = "clown's megaphone" desc = "Something that should not exist." icon_state = "megaphone-clown" - voicespan = list(SPAN_CLOWN) \ No newline at end of file + voicespan = list(SPAN_CLOWN) diff --git a/code/game/objects/items/devices/multitool.dm b/code/game/objects/items/devices/multitool.dm index 7a8a523a18..c02eb4a051 100644 --- a/code/game/objects/items/devices/multitool.dm +++ b/code/game/objects/items/devices/multitool.dm @@ -21,13 +21,13 @@ force = 5 w_class = WEIGHT_CLASS_SMALL tool_behaviour = TOOL_MULTITOOL + item_flags = SURGICAL_TOOL throwforce = 0 throw_range = 7 throw_speed = 3 custom_materials = list(/datum/material/iron=50, /datum/material/glass=20) var/obj/machinery/buffer // simple machine buffer for device linkage toolspeed = 1 - tool_behaviour = TOOL_MULTITOOL usesound = 'sound/weapons/empty.ogg' var/datum/integrated_io/selected_io = null //functional for integrated circuits. var/mode = 0 diff --git a/code/game/objects/items/devices/paicard.dm b/code/game/objects/items/devices/paicard.dm index 7450cb937c..9a722feb6a 100644 --- a/code/game/objects/items/devices/paicard.dm +++ b/code/game/objects/items/devices/paicard.dm @@ -18,6 +18,7 @@ /obj/item/paicard/Initialize() SSpai.pai_card_list += src add_overlay("pai-off") + AddElement(/datum/element/bed_tuckable, 6, -5, 90) return ..() /obj/item/paicard/Destroy() diff --git a/code/game/objects/items/devices/polycircuit.dm b/code/game/objects/items/devices/polycircuit.dm index 0308f19b5f..17e364c4f3 100644 --- a/code/game/objects/items/devices/polycircuit.dm +++ b/code/game/objects/items/devices/polycircuit.dm @@ -18,8 +18,8 @@ else if(zero_amount()) return - chosen_circuit = input("What type of circuit would you like to remove?", "Choose a Circuit Type", chosen_circuit) in list("airlock","firelock","fire alarm","air alarm","APC") - if(zero_amount()) + chosen_circuit = input("What type of circuit would you like to remove?", "Choose a Circuit Type", chosen_circuit) as null|anything in list("airlock","firelock","fire alarm","air alarm","APC") + if(zero_amount() || !chosen_circuit || !in_range(src,user)) return switch(chosen_circuit) if("airlock") diff --git a/code/game/objects/items/devices/powersink.dm b/code/game/objects/items/devices/powersink.dm index c3127c246f..86d7766fd5 100644 --- a/code/game/objects/items/devices/powersink.dm +++ b/code/game/objects/items/devices/powersink.dm @@ -16,9 +16,9 @@ GLOBAL_LIST_EMPTY(power_sinks) throw_speed = 1 throw_range = 2 custom_materials = list(/datum/material/iron=750) - var/drain_rate = 1600000 // amount of power to drain per tick + var/drain_rate = 2000000 // amount of power to drain per tick. Currently 2MJ. var/power_drained = 0 // has drained this much power - var/max_power = 1e10 // maximum power that can be drained before exploding + var/max_power = 2000000000 // maximum power that can be drained before exploding. Currently 2GJ. About 17 minutes to explode at the max rate. var/mode = 0 // 0 = off, 1=clamped (off), 2=operating var/admins_warned = FALSE // stop spam, only warn the admins once that we are about to boom @@ -155,5 +155,5 @@ GLOBAL_LIST_EMPTY(power_sinks) if(power_drained >= max_power) STOP_PROCESSING(SSobj, src) - explosion(src.loc, 4,8,16,32) + explosion(src.loc, 3,7,14,28) qdel(src) diff --git a/code/game/objects/items/devices/scanners.dm b/code/game/objects/items/devices/scanners.dm index db29614f20..d9bfa4b00e 100644 --- a/code/game/objects/items/devices/scanners.dm +++ b/code/game/objects/items/devices/scanners.dm @@ -155,7 +155,7 @@ GENETICS SCANNER if(oxy_loss > 10) msg += "\n\t[oxy_loss > 50 ? "Severe" : "Minor"] oxygen deprivation detected." if(tox_loss > 10) - msg += "\n\t[tox_loss > 50 ? "Severe" : "Minor"] amount of toxin damage detected." + msg += "\n\t[tox_loss > 50 ? "Severe" : "Minor"] amount of [HAS_TRAIT(M, TRAIT_ROBOTIC_ORGANISM) ? "system corruption" : "toxin damage"] detected." if(M.getStaminaLoss()) msg += "\n\tSubject appears to be suffering from fatigue." if(advanced) @@ -182,7 +182,7 @@ GENETICS SCANNER \ \ \ - \ + \ \ \ \ @@ -628,9 +628,9 @@ GENETICS SCANNER var/turf/location = get_turf(user) if(!istype(location)) return - + scan_turf(user, location) - + /obj/item/analyzer/AltClick(mob/user) //Barometer output for measuring when the next storm happens . = ..() diff --git a/code/game/objects/items/devices/traitordevices.dm b/code/game/objects/items/devices/traitordevices.dm index eb444cdb12..70edd3f43d 100644 --- a/code/game/objects/items/devices/traitordevices.dm +++ b/code/game/objects/items/devices/traitordevices.dm @@ -264,6 +264,30 @@ effective or pretty fucking useless. GLOB.active_jammers -= src update_icon() +/*portable turret*/ +/obj/item/storage/toolbox/emergency/turret + desc = "You feel a strange urge to hit this with a wrench." + +/obj/item/storage/toolbox/emergency/turret/PopulateContents() + new /obj/item/screwdriver(src) + new /obj/item/wrench(src) + new /obj/item/weldingtool(src) + new /obj/item/crowbar(src) + new /obj/item/analyzer(src) + new /obj/item/wirecutters(src) + +/obj/item/storage/toolbox/emergency/turret/attackby(obj/item/I, mob/living/user, params) + if(I.tool_behaviour == TOOL_WRENCH && user.a_intent == INTENT_HARM) + user.visible_message("[user] bashes [src] with [I]!", \ + "You bash [src] with [I]!", null, COMBAT_MESSAGE_RANGE) + playsound(src, "sound/items/drill_use.ogg", 80, TRUE, -1) + var/obj/machinery/porta_turret/syndicate/pod/toolbox/turret = new(get_turf(loc)) + turret.faction = list("[REF(user)]") + qdel(src) + return + + ..() + /obj/item/headsetupgrader name = "headset upgrader" desc = "A tool that can be used to upgrade a normal headset to be able to protect from flashbangs." diff --git a/code/game/objects/items/gift.dm b/code/game/objects/items/gift.dm index 35a68cecc6..a9ed94aae9 100644 --- a/code/game/objects/items/gift.dm +++ b/code/game/objects/items/gift.dm @@ -8,13 +8,14 @@ * Gifts */ -/var/static/blacklisted_items = typecacheof(list( +GLOBAL_LIST_INIT(gift_item_blacklist, typecacheof(list( /obj/effect, /obj/belly, /obj/mafia_game_board, /obj/docking_port, /obj/shapeshift_holder, - /obj/screen)) + /obj/screen + ))) GLOBAL_LIST_EMPTY(possible_gifts) @@ -103,7 +104,7 @@ GLOBAL_LIST_EMPTY(possible_gifts) var/list/gift_types_list = subtypesof(/obj/item) for(var/V in gift_types_list) var/obj/item/I = V - if((!initial(I.icon_state)) || (!initial(I.item_state)) || (initial(I.item_flags) & ABSTRACT) || (is_type_in_typecache(I, blacklisted_items))) + if((!initial(I.icon_state)) || (!initial(I.item_state)) || (initial(I.item_flags) & ABSTRACT) || (is_type_in_typecache(I, GLOB.gift_item_blacklist))) gift_types_list -= V GLOB.possible_gifts = gift_types_list var/gift_type = pick(GLOB.possible_gifts) diff --git a/code/game/objects/items/grenades/plastic.dm b/code/game/objects/items/grenades/plastic.dm index 014487332c..69f89d0150 100644 --- a/code/game/objects/items/grenades/plastic.dm +++ b/code/game/objects/items/grenades/plastic.dm @@ -19,6 +19,7 @@ var/boom_sizes = list(0, 0, 3) var/can_attach_mob = FALSE var/full_damage_on_mobs = FALSE + var/can_gib_mobs = FALSE /obj/item/grenade/plastic/Initialize() . = ..() @@ -72,7 +73,7 @@ explosion(get_step(T, aim_dir), boom_sizes[1], boom_sizes[2], boom_sizes[3]) else explosion(location, boom_sizes[1], boom_sizes[2], boom_sizes[3]) - if(ismob(target)) + if(ismob(target) && can_gib_mobs) var/mob/M = target M.gib() qdel(src) diff --git a/code/game/objects/items/handcuffs.dm b/code/game/objects/items/handcuffs.dm index 4c9ea06620..296b46bf85 100644 --- a/code/game/objects/items/handcuffs.dm +++ b/code/game/objects/items/handcuffs.dm @@ -377,10 +377,3 @@ hitsound = 'sound/weapons/taserhit.ogg' w_class = WEIGHT_CLASS_SMALL breakouttime = 60 - -/obj/item/restraints/legcuffs/bola/energy/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum) - if(iscarbon(hit_atom)) - var/obj/item/restraints/legcuffs/beartrap/B = new /obj/item/restraints/legcuffs/beartrap/energy/cyborg(get_turf(hit_atom)) - B.Crossed(hit_atom) - qdel(src) - ..() diff --git a/code/game/objects/items/implants/implant_chem.dm b/code/game/objects/items/implants/implant_chem.dm index 8da1d1e472..d148cbbb3c 100644 --- a/code/game/objects/items/implants/implant_chem.dm +++ b/code/game/objects/items/implants/implant_chem.dm @@ -96,4 +96,4 @@ if(implant?.imp_in) qdel(implant) else - return ..() \ No newline at end of file + return ..() diff --git a/code/game/objects/items/implants/implant_radio.dm b/code/game/objects/items/implants/implant_radio.dm index 6f42547004..f3e7027c37 100644 --- a/code/game/objects/items/implants/implant_radio.dm +++ b/code/game/objects/items/implants/implant_radio.dm @@ -66,4 +66,4 @@ /obj/item/implanter/radio/syndicate name = "implanter (internal syndicate radio)" - imp_type = /obj/item/implant/radio/syndicate \ No newline at end of file + imp_type = /obj/item/implant/radio/syndicate diff --git a/code/game/objects/items/implants/implant_track.dm b/code/game/objects/items/implants/implant_track.dm index 4f81432a39..2fa0244831 100644 --- a/code/game/objects/items/implants/implant_track.dm +++ b/code/game/objects/items/implants/implant_track.dm @@ -73,4 +73,4 @@ /obj/item/implantcase/track name = "implant case - 'Tracking'" desc = "A glass case containing a tracking implant." - imp_type = /obj/item/implant/tracking \ No newline at end of file + imp_type = /obj/item/implant/tracking diff --git a/code/game/objects/items/implants/implanter.dm b/code/game/objects/items/implants/implanter.dm index b57ffa27c0..578d8595dd 100644 --- a/code/game/objects/items/implants/implanter.dm +++ b/code/game/objects/items/implants/implanter.dm @@ -77,4 +77,4 @@ /obj/item/implanter/hijack name = "implanter (hijack)" - imp_type = /obj/item/implant/hijack \ No newline at end of file + imp_type = /obj/item/implant/hijack diff --git a/code/game/objects/items/kitchen.dm b/code/game/objects/items/kitchen.dm index f15a4d00e1..7f2fe6a01d 100644 --- a/code/game/objects/items/kitchen.dm +++ b/code/game/objects/items/kitchen.dm @@ -175,7 +175,7 @@ /obj/item/kitchen/knife/combat/survival/knuckledagger/Initialize() . = ..() - AddComponent(/datum/component/butchering, 50, 120, 5) // it's good for butchering stuff + AddComponent(/datum/component/butchering, 30, 130, 20) // it's good for butchering stuff /obj/item/kitchen/knife/combat/survival/knuckledagger/ui_action_click(mob/user, actiontype) light_on = !light_on @@ -189,6 +189,11 @@ else set_light(0) +/obj/item/kitchen/knife/combat/survival/knuckledagger/update_overlays() + . = ..() + if(light_on) + . += "[icon_state]_lit" + /obj/item/kitchen/knife/combat/bone name = "bone dagger" item_state = "bone_dagger" diff --git a/code/game/objects/items/miscellaneous.dm b/code/game/objects/items/miscellaneous.dm index 2d2c0f31b6..224c4ffb9b 100644 --- a/code/game/objects/items/miscellaneous.dm +++ b/code/game/objects/items/miscellaneous.dm @@ -1,17 +1,3 @@ -/obj/item/caution - desc = "Caution! Wet Floor!" - name = "wet floor sign" - icon = 'icons/obj/janitor.dmi' - icon_state = "caution" - lefthand_file = 'icons/mob/inhands/equipment/custodial_lefthand.dmi' - righthand_file = 'icons/mob/inhands/equipment/custodial_righthand.dmi' - force = 1 - throwforce = 3 - throw_speed = 2 - throw_range = 5 - w_class = WEIGHT_CLASS_SMALL - attack_verb = list("warned", "cautioned", "smashed") - /obj/item/choice_beacon name = "choice beacon" desc = "Hey, why are you viewing this?!! Please let Centcom know about this odd occurance." @@ -52,7 +38,8 @@ /obj/item/choice_beacon/proc/spawn_option(atom/choice,mob/living/M) var/obj/new_item = create_choice_atom(choice, M) - var/obj/structure/closet/supplypod/bluespacepod/pod = new() + var/area/pod_storage_area = locate(/area/centcom/supplypod/podStorage) in GLOB.sortedAreas + var/obj/structure/closet/supplypod/bluespacepod/pod = new(pick(get_area_turfs(pod_storage_area))) //Lets just have it in the pod storage zone for a really short time because we don't want it in nullspace pod.explosionSize = list(0,0,0,0) new_item.forceMove(pod) var/msg = "After making your selection, you notice a strange target on the ground. It might be best to step back!" diff --git a/code/game/objects/items/mop.dm b/code/game/objects/items/mop.dm index 01ef96b7e8..62a3530afe 100644 --- a/code/game/objects/items/mop.dm +++ b/code/game/objects/items/mop.dm @@ -24,13 +24,17 @@ create_reagents(mopcap, NONE, NO_REAGENTS_VALUE) -/obj/item/mop/proc/clean(turf/A) +/obj/item/mop/proc/clean(turf/A, mob/user) if(reagents.has_reagent(/datum/reagent/water, 1) || reagents.has_reagent(/datum/reagent/water/holywater, 1) || reagents.has_reagent(/datum/reagent/consumable/ethanol/vodka, 1) || reagents.has_reagent(/datum/reagent/space_cleaner, 1)) SEND_SIGNAL(A, COMSIG_COMPONENT_CLEAN_ACT, CLEAN_MEDIUM) A.clean_blood() + var/cleaned_something = FALSE for(var/obj/effect/O in A) if(is_cleanable(O)) + cleaned_something = TRUE qdel(O) + if(cleaned_something && user && user.client) + user.client.increment_progress("janitor", 1) reagents.reaction(A, TOUCH, 10) //Needed for proper floor wetting. reagents.remove_any(1) //reaction() doesn't use up the reagents @@ -59,7 +63,7 @@ if(!L.UseStaminaBuffer(stamusage, warn = TRUE)) return user.visible_message("[user] cleans \the [T] with [src].", "You clean \the [T] with [src].") - clean(T) + clean(T, user) user.DelayNextAction(CLICK_CD_MELEE) user.do_attack_animation(T, used_item = src) playsound(T, "slosh", 50, 1) diff --git a/code/game/objects/items/plushes.dm b/code/game/objects/items/plushes.dm index 9bc20565a6..d1174cded7 100644 --- a/code/game/objects/items/plushes.dm +++ b/code/game/objects/items/plushes.dm @@ -33,6 +33,8 @@ //--end of love :'(-- var/snowflake_id //if we set from a config snowflake plushie. + /// wrapper, do not use, read only + var/__ADMIN_SET_TO_ID var/can_random_spawn = TRUE //if this is FALSE, don't spawn this for random plushies. /obj/item/toy/plush/random_snowflake/Initialize(mapload, set_snowflake_id) @@ -46,6 +48,7 @@ /obj/item/toy/plush/Initialize(mapload, set_snowflake_id) . = ..() AddComponent(/datum/component/squeak, squeak_override) + AddElement(/datum/element/bed_tuckable, 6, -5, 90) //have we decided if Pinocchio goes in the blue or pink aisle yet? if(gender == NEUTER) @@ -112,10 +115,21 @@ return ..() +/obj/item/toy/plush/vv_get_var(var_name) + if(var_name == NAMEOF(src, __ADMIN_SET_TO_ID)) + return debug_variable("__ADMIN: SET SNOWFLAKE ID", snowflake_id, 0, src) + return ..() + +/obj/item/toy/plush/vv_edit_var(var_name, var_value) + if(var_name == NAMEOF(src, __ADMIN_SET_TO_ID)) + return set_snowflake_from_config(var_value) + return ..() + /obj/item/toy/plush/proc/set_snowflake_from_config(id) var/list/configlist = CONFIG_GET(keyed_list/snowflake_plushies) var/list/jsonlist = configlist[id] - ASSERT(jsonlist) + if(!jsonlist) + return FALSE jsonlist = json_decode(jsonlist) if(jsonlist["inherit_from"]) var/path = text2path(jsonlist["inherit_from"]) @@ -151,6 +165,7 @@ var/datum/component/squeak/S = GetComponent(/datum/component/squeak) S?.override_squeak_sounds = squeak_override snowflake_id = id + return TRUE /obj/item/toy/plush/handle_atom_del(atom/A) if(A == grenade) diff --git a/code/game/objects/items/puzzle_pieces.dm b/code/game/objects/items/puzzle_pieces.dm index 648ba27897..d0fd4dc3f6 100644 --- a/code/game/objects/items/puzzle_pieces.dm +++ b/code/game/objects/items/puzzle_pieces.dm @@ -137,8 +137,7 @@ AM.anchored = TRUE flick("laserbox_burn", AM) trigger() - sleep(15) - qdel(AM) + QDEL_IN(src, 15) // snowflake code until undertile elements /obj/item/pressure_plate/hologrid/hide() diff --git a/code/game/objects/items/religion.dm b/code/game/objects/items/religion.dm index 61a05aacd8..b8f0d161dc 100644 --- a/code/game/objects/items/religion.dm +++ b/code/game/objects/items/religion.dm @@ -321,4 +321,4 @@ desc = "A rusted claymore, once at the heart of a powerful scottish clan struck down and oppressed by tyrants, it has been passed down the ages as a symbol of defiance." force = 15 block_chance = 30 - armour_penetration = 5 \ No newline at end of file + armour_penetration = 5 diff --git a/code/game/objects/items/robot/robot_parts.dm b/code/game/objects/items/robot/robot_parts.dm index a9cd4c33a7..86468af355 100644 --- a/code/game/objects/items/robot/robot_parts.dm +++ b/code/game/objects/items/robot/robot_parts.dm @@ -326,6 +326,9 @@ else if(istype(W, /obj/item/borg/upgrade/ai)) var/obj/item/borg/upgrade/ai/M = W if(check_completion()) + if(!chest.cell) + to_chat(user, "The endoskeleton still needs a power cell!") + return if(!isturf(loc)) to_chat(user, "You cannot install[M], the frame has to be standing on the ground to be perfectly precise!") return @@ -346,7 +349,6 @@ O.lawupdate = FALSE O.make_laws() - O.cell = chest.cell chest.cell.forceMove(O) chest.cell = null @@ -392,6 +394,7 @@ created_name = new_name else created_name = "" + log_game("[key_name(usr)] renamed [src] ([REF(src)]) to [created_name].") else if(href_list["Master"]) forced_ai = select_active_ai(usr) diff --git a/code/game/objects/items/robot/robot_upgrades.dm b/code/game/objects/items/robot/robot_upgrades.dm index 9f098bc16c..291fc30aa2 100644 --- a/code/game/objects/items/robot/robot_upgrades.dm +++ b/code/game/objects/items/robot/robot_upgrades.dm @@ -80,6 +80,7 @@ as performing this in action() will cause the upgrade to end up in the borg inst desc = "Used to kick in a cyborg's VTEC systems, increasing their speed." icon_state = "cyborg_upgrade2" require_module = 1 + var/obj/effect/proc_holder/silicon/cyborg/vtecControl/VC /obj/item/borg/upgrade/vtec/action(mob/living/silicon/robot/R, user = usr) . = ..() @@ -91,12 +92,14 @@ as performing this in action() will cause the upgrade to end up in the borg inst //R.speed = -2 // Gotta go fast. //Citadel change - makes vtecs give an ability rather than reducing the borg's speed instantly - R.AddAbility(new/obj/effect/proc_holder/silicon/cyborg/vtecControl) + VC = new /obj/effect/proc_holder/silicon/cyborg/vtecControl + R.AddAbility(VC) R.cansprint = 0 /obj/item/borg/upgrade/vtec/deactivate(mob/living/silicon/robot/R, user = usr) . = ..() if (.) + R.RemoveAbility(VC) R.speed = initial(R.speed) R.cansprint = 1 diff --git a/code/game/objects/items/stacks/cash.dm b/code/game/objects/items/stacks/cash.dm index 954950f5e6..e2036835ce 100644 --- a/code/game/objects/items/stacks/cash.dm +++ b/code/game/objects/items/stacks/cash.dm @@ -33,6 +33,20 @@ . = ..() update_desc() +/obj/item/stack/spacecash/attackby(obj/item/W, mob/user, params) + . = ..() + if(istype(W, /obj/item/card/id)) + var/obj/item/card/id/ID = W + if(!ID.registered_account) + to_chat(user, "[ID] doesn't have a linked account to deposit into!") + return + for(var/obj/item/holochip/money in src.loc.contents) + ID.attackby(money, user) + for(var/obj/item/stack/spacecash/money in src.loc.contents) + ID.attackby(money, user) + for(var/obj/item/coin/money in src.loc.contents) + ID.attackby(money, user) + /obj/item/stack/spacecash/c1 icon_state = "spacecash" singular_name = "one credit bill" diff --git a/code/game/objects/items/stacks/medical.dm b/code/game/objects/items/stacks/medical.dm index 01d684adad..fa92997cba 100644 --- a/code/game/objects/items/stacks/medical.dm +++ b/code/game/objects/items/stacks/medical.dm @@ -173,11 +173,11 @@ "You hear cutting.") use(2) else if(I.is_drainable() && I.reagents.has_reagent(/datum/reagent/space_cleaner/sterilizine)) - if(!I.reagents.has_reagent(/datum/reagent/space_cleaner/sterilizine, 10)) + if(!I.reagents.has_reagent(/datum/reagent/space_cleaner/sterilizine, 5)) to_chat(user, "There's not enough sterilizine in [I] to sterilize [src]!") return - user.visible_message("[user] pours the contents of [I] onto [src], sterilizing it.", "You pour the contents of [I] onto [src], sterilizing it.") - I.reagents.remove_reagent(/datum/reagent/space_cleaner/sterilizine, 10) + user.visible_message("[user] sterilizes [src] with the contents of [I].", "You pour the contents of [I] onto [src], sterilizing it.") + I.reagents.remove_reagent(/datum/reagent/space_cleaner/sterilizine, 5) new /obj/item/stack/medical/gauze/adv/one(user.drop_location()) use(1) else @@ -187,6 +187,9 @@ user.visible_message("[user] begins tightening \the [src] around [user.p_their()] neck! It looks like [user.p_they()] forgot how to use medical supplies!") return OXYLOSS +/obj/item/stack/medical/gauze/one + amount = 1 + /obj/item/stack/medical/gauze/improvised name = "improvised gauze" singular_name = "improvised gauze" @@ -204,8 +207,9 @@ heal_brute = 6 self_delay = 45 other_delay = 15 - absorption_rate = 0.4 - absorption_capacity = 6 + absorption_rate = 0.5 + absorption_capacity = 12 + splint_factor = 0.15 /obj/item/stack/medical/gauze/adv/one amount = 1 diff --git a/code/game/objects/items/stacks/sheets/glass.dm b/code/game/objects/items/stacks/sheets/glass.dm index 29b4dea6d8..de2e3b89fe 100644 --- a/code/game/objects/items/stacks/sheets/glass.dm +++ b/code/game/objects/items/stacks/sheets/glass.dm @@ -388,4 +388,4 @@ GLOBAL_LIST_INIT(plastitaniumglass_recipes, list( /obj/item/shard/plasma/alien name = "alien shard" - desc = "A nasty looking shard of advanced alloy glass." \ No newline at end of file + desc = "A nasty looking shard of advanced alloy glass." diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm index 32d65041bc..9f126f492b 100644 --- a/code/game/objects/items/stacks/sheets/sheet_types.dm +++ b/code/game/objects/items/stacks/sheets/sheet_types.dm @@ -253,7 +253,6 @@ GLOBAL_LIST_INIT(wood_recipes, list ( \ new/datum/stack_recipe("painting frame", /obj/item/wallframe/painting, 1, time = 10),\ new/datum/stack_recipe("wooden buckler", /obj/item/shield/riot/buckler, 20, time = 40), \ new/datum/stack_recipe("baseball bat", /obj/item/melee/baseball_bat, 5, time = 15),\ - new/datum/stack_recipe("training bokken", /obj/item/melee/bokken, 10, time = 15),\ null, \ new/datum/stack_recipe("wooden chair", /obj/structure/chair/wood/, 3, time = 10, one_per_turf = TRUE, on_floor = TRUE), \ new/datum/stack_recipe("winged wooden chair", /obj/structure/chair/wood/wings, 3, time = 10, one_per_turf = TRUE, on_floor = TRUE), \ @@ -388,6 +387,8 @@ GLOBAL_LIST_INIT(cloth_recipes, list ( \ new/datum/stack_recipe("mining satchel", /obj/item/storage/bag/ore, 4), \ new/datum/stack_recipe("chemistry bag", /obj/item/storage/bag/chemistry, 4), \ new/datum/stack_recipe("bio bag", /obj/item/storage/bag/bio, 4), \ + new/datum/stack_recipe("material bag", /obj/item/storage/bag/material, 4), \ + new/datum/stack_recipe("construction bag", /obj/item/storage/bag/construction, 4), \ null, \ new/datum/stack_recipe("string", /obj/item/weaponcrafting/string, 1, time = 10), \ new/datum/stack_recipe("improvised gauze", /obj/item/stack/medical/gauze/improvised, 1, 2, 6), \ @@ -792,7 +793,7 @@ GLOBAL_LIST_INIT(plastic_recipes, list( new /datum/stack_recipe("shower curtain", /obj/structure/curtain, 10, time = 10, one_per_turf = 1, on_floor = 1), \ new /datum/stack_recipe("duct", /obj/item/stack/ducts,1), \ new /datum/stack_recipe("laser pointer case", /obj/item/glasswork/glass_base/laserpointer_shell, 30), \ - new /datum/stack_recipe("wet floor sign", /obj/item/caution, 2))) + new /datum/stack_recipe("wet floor sign", /obj/item/clothing/suit/caution, 2))) /obj/item/stack/sheet/plastic name = "plastic" diff --git a/code/game/objects/items/storage/bags.dm b/code/game/objects/items/storage/bags.dm index ab1aab32a0..3dd48237d6 100644 --- a/code/game/objects/items/storage/bags.dm +++ b/code/game/objects/items/storage/bags.dm @@ -457,6 +457,9 @@ STR.display_numerical_stacking = FALSE STR.can_hold = typecacheof(list(/obj/item/ammo_box/magazine, /obj/item/ammo_casing)) +/* +Bag for holding materials +*/ /obj/item/storage/bag/material name = "material pouch" desc = "A pouch for sheets and RCD ammunition that manages to hang where you would normally put things in your pocket." @@ -474,3 +477,24 @@ STR.max_items = 2 STR.display_numerical_stacking = TRUE STR.can_hold = typecacheof(list(/obj/item/rcd_ammo, /obj/item/stack/sheet)) + +/* + * Construction bag (for engineering, holds stock parts and electronics) + */ + +/obj/item/storage/bag/construction + name = "construction bag" + icon = 'icons/obj/tools.dmi' + icon_state = "construction_bag" + desc = "A bag for storing small construction components." + w_class = WEIGHT_CLASS_TINY + resistance_flags = FLAMMABLE + +/obj/item/storage/bag/construction/ComponentInitialize() + . = ..() + var/datum/component/storage/STR = GetComponent(/datum/component/storage) + STR.max_combined_w_class = 100 + STR.max_items = 50 + STR.max_w_class = WEIGHT_CLASS_SMALL + STR.insert_preposition = "in" + STR.can_hold = typecacheof(list(/obj/item/stack/ore/bluespace_crystal, /obj/item/assembly, /obj/item/stock_parts, /obj/item/reagent_containers/glass/beaker, /obj/item/stack/cable_coil, /obj/item/circuitboard, /obj/item/electronics,/obj/item/wallframe/camera)) diff --git a/code/game/objects/items/storage/belt.dm b/code/game/objects/items/storage/belt.dm index 2a1844d218..80818b5fff 100755 --- a/code/game/objects/items/storage/belt.dm +++ b/code/game/objects/items/storage/belt.dm @@ -802,7 +802,8 @@ . += "Alt-click it to quickly draw the blade." /obj/item/storage/belt/sabre/PopulateContents() - new starting_sword(src) + if(starting_sword) + new starting_sword(src) /obj/item/storage/belt/sabre/rapier name = "rapier sheath" @@ -853,8 +854,8 @@ /obj/item/storage/belt/sabre/twin name = "twin sheath" desc = "Two sheaths. One is capable of holding a katana (or bokken) and the other a wakizashi. You could put two wakizashis in if you really wanted to. Now you can really roleplay as a samurai." - icon_state = "twinsheath" - item_state = "quiver" //this'll do. + icon_state = "2sheath" + item_state = "katana" //this'll do. w_class = WEIGHT_CLASS_BULKY fitting_swords = list(/obj/item/melee/smith/wakizashi, /obj/item/melee/smith/twohand/katana, /obj/item/melee/bokken) starting_sword = null @@ -864,6 +865,43 @@ var/datum/component/storage/STR = GetComponent(/datum/component/storage) STR.max_items = 2 STR.max_w_class = WEIGHT_CLASS_BULKY + WEIGHT_CLASS_NORMAL //katana and waki. + STR.max_combined_w_class = 7 + +/obj/item/melee/smith/twohand/katana/on_exit_storage(datum/component/storage/S) + var/obj/item/storage/belt/sabre/twin/B = S.parent + if(istype(B)) + playsound(B, 'sound/items/unsheath.ogg', 25, 1) + . = ..() + +/obj/item/melee/smith/twohand/katana/on_enter_storage(datum/component/storage/S) + var/obj/item/storage/belt/sabre/twin/B = S.parent + if(istype(B)) + playsound(B, 'sound/items/sheath.ogg', 25, 1) + . = ..() + +/obj/item/melee/smith/wakizashi/on_exit_storage(datum/component/storage/S) + var/obj/item/storage/belt/sabre/twin/B = S.parent + if(istype(B)) + playsound(B, 'sound/items/unsheath.ogg', 25, 1) + . = ..() + +/obj/item/melee/smith/wakizashi/on_enter_storage(datum/component/storage/S) + var/obj/item/storage/belt/sabre/twin/B = S.parent + if(istype(B)) + playsound(B, 'sound/items/sheath.ogg', 25, 1) + . = ..() + +/obj/item/melee/bokken/on_exit_storage(datum/component/storage/S) + var/obj/item/storage/belt/sabre/twin/B = S.parent + if(istype(B)) + playsound(B, 'sound/items/unsheath.ogg', 25, 1) + . = ..() + +/obj/item/melee/bokken/on_enter_storage(datum/component/storage/S) + var/obj/item/storage/belt/sabre/twin/B = S.parent + if(istype(B)) + playsound(B, 'sound/items/sheath.ogg', 25, 1) + . = ..() /obj/item/storage/belt/plant name = "botanical belt" diff --git a/code/game/objects/items/storage/fancy.dm b/code/game/objects/items/storage/fancy.dm index cde6f5bd5a..4080a45af0 100644 --- a/code/game/objects/items/storage/fancy.dm +++ b/code/game/objects/items/storage/fancy.dm @@ -17,9 +17,6 @@ /obj/item/storage/fancy icon = 'icons/obj/food/containers.dmi' - icon_state = "donutbox6" - name = "donut box" - desc = "Mmm. Donuts." resistance_flags = FLAMMABLE var/icon_type = "donut" var/spawn_type = null @@ -59,18 +56,22 @@ fancy_open = TRUE update_icon() +#define DONUT_INBOX_SPRITE_WIDTH 3 + /* * Donut Box */ /obj/item/storage/fancy/donut_box - icon = 'icons/obj/food/containers.dmi' - icon_state = "donutbox6" - icon_type = "donut" name = "donut box" + desc = "Mmm. Donuts." + icon = 'icons/obj/food/donut.dmi' + icon_state = "donutbox_inner" + icon_type = "donut" spawn_type = /obj/item/reagent_containers/food/snacks/donut fancy_open = TRUE custom_price = PRICE_NORMAL + appearance_flags = KEEP_TOGETHER /obj/item/storage/fancy/donut_box/ComponentInitialize() . = ..() @@ -78,6 +79,36 @@ STR.max_items = 6 STR.can_hold = typecacheof(list(/obj/item/reagent_containers/food/snacks/donut)) +/obj/item/storage/fancy/donut_box/PopulateContents() + . = ..() + update_icon() + +/obj/item/storage/fancy/donut_box/update_icon_state() + if(fancy_open) + icon_state = "donutbox_inner" + else + icon_state = "donutbox" + +/obj/item/storage/fancy/donut_box/update_overlays() + . = ..() + + if (!fancy_open) + return + + var/donuts = 0 + + for (var/_donut in contents) + var/obj/item/reagent_containers/food/snacks/donut/donut = _donut + if (!istype(donut)) + continue + + . += image(icon = initial(icon), icon_state = donut.in_box_sprite(), pixel_x = donuts * DONUT_INBOX_SPRITE_WIDTH) + donuts += 1 + + . += image(icon = initial(icon), icon_state = "donutbox_top") + +#undef DONUT_INBOX_SPRITE_WIDTH + /* * Egg Box */ diff --git a/code/game/objects/items/storage/toolbox.dm b/code/game/objects/items/storage/toolbox.dm index 73246276c2..7a067257cb 100644 --- a/code/game/objects/items/storage/toolbox.dm +++ b/code/game/objects/items/storage/toolbox.dm @@ -103,6 +103,39 @@ GLOBAL_LIST_EMPTY(rubber_toolbox_icons) /obj/item/storage/toolbox/mechanical/old/heirloom/PopulateContents() return +/obj/item/storage/toolbox/mechanical/old/clean // the assistant traitor toolbox, damage scales with TC inside + name = "toolbox" + desc = "An old, blue toolbox. It menaces with a sickening miasma of robust energies. You sure about this, Brain?" + icon_state = "toolbox_blue_clean" + force = 19 + throwforce = 22 + wound_bonus = 0 + bare_wound_bonus = 10 + +/obj/item/storage/toolbox/mechanical/old/clean/proc/calc_damage() + var/power = 0 + for (var/obj/item/stack/telecrystal/TC in GetAllContents()) + power += TC.amount + force = 19 + power + throwforce = 22 + power + +/obj/item/storage/toolbox/mechanical/old/clean/attack(mob/target, mob/living/user) + calc_damage() // one damage for one telecrystal equals about thirty seven(?) damage if you pour ALL your tc + ..() + +/obj/item/storage/toolbox/mechanical/old/clean/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum) + calc_damage() + ..() + +/obj/item/storage/toolbox/mechanical/old/clean/PopulateContents() + new /obj/item/screwdriver(src) + new /obj/item/wrench(src) + new /obj/item/weldingtool(src) + new /obj/item/crowbar(src) + new /obj/item/wirecutters(src) + new /obj/item/multitool(src) + new /obj/item/clothing/gloves/color/yellow(src) + /obj/item/storage/toolbox/electrical name = "electrical toolbox" icon_state = "yellow" diff --git a/code/game/objects/items/storage/uplink_kits.dm b/code/game/objects/items/storage/uplink_kits.dm index 442228ef31..97012528a0 100644 --- a/code/game/objects/items/storage/uplink_kits.dm +++ b/code/game/objects/items/storage/uplink_kits.dm @@ -520,3 +520,9 @@ new /obj/item/storage/fancy/cigarettes/cigpack_syndicate(src) new /obj/item/lighter(src) +/obj/item/storage/box/syndie_kit/scarp + +/obj/item/storage/box/syndie_kit/scarp/PopulateContents() + new /obj/item/book/granter/martial/carp(src) + new /obj/item/clothing/suit/hooded/carp_costume(src) + new /obj/item/staff/bostaff(src) diff --git a/code/game/objects/items/tanks/tank_types.dm b/code/game/objects/items/tanks/tank_types.dm index d16d1b29f1..325e49dd7a 100644 --- a/code/game/objects/items/tanks/tank_types.dm +++ b/code/game/objects/items/tanks/tank_types.dm @@ -198,4 +198,4 @@ /obj/item/tank/internals/methyl_bromide/populate_gas() air_contents.set_moles(/datum/gas/methyl_bromide, (6*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C)) - return \ No newline at end of file + return diff --git a/code/game/objects/items/tools/crowbar.dm b/code/game/objects/items/tools/crowbar.dm index 0dd9885c29..36f89e57f2 100644 --- a/code/game/objects/items/tools/crowbar.dm +++ b/code/game/objects/items/tools/crowbar.dm @@ -8,6 +8,7 @@ usesound = 'sound/items/crowbar.ogg' flags_1 = CONDUCT_1 slot_flags = ITEM_SLOT_BELT + item_flags = SURGICAL_TOOL force = 5 throwforce = 7 w_class = WEIGHT_CLASS_SMALL @@ -107,4 +108,4 @@ icon = 'icons/obj/advancedtools.dmi' usesound = 'sound/weapons/sonic_jackhammer.ogg' icon_state = "crowbar" - toolspeed = 0.2 \ No newline at end of file + toolspeed = 0.2 diff --git a/code/game/objects/items/tools/screwdriver.dm b/code/game/objects/items/tools/screwdriver.dm index bf767af2ed..920afb8d14 100644 --- a/code/game/objects/items/tools/screwdriver.dm +++ b/code/game/objects/items/tools/screwdriver.dm @@ -8,6 +8,7 @@ righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi' flags_1 = CONDUCT_1 slot_flags = ITEM_SLOT_BELT + item_flags = SURGICAL_TOOL force = 5 w_class = WEIGHT_CLASS_TINY throwforce = 5 diff --git a/code/game/objects/items/tools/weldingtool.dm b/code/game/objects/items/tools/weldingtool.dm index 8e4fb05d71..92b222aed7 100644 --- a/code/game/objects/items/tools/weldingtool.dm +++ b/code/game/objects/items/tools/weldingtool.dm @@ -9,6 +9,7 @@ righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi' flags_1 = CONDUCT_1 slot_flags = ITEM_SLOT_BELT + item_flags = SURGICAL_TOOL force = 3 throwforce = 5 hitsound = "swing_hit" @@ -22,14 +23,15 @@ resistance_flags = FIRE_PROOF var/self_fueling = FALSE //Do we refill ourselves or not - var/nextrefueltick = 0 // How long it takes before we get a new fuel unit + var/nextrefueltick = 0 //When is the next tick we refuel? + var/refueling_interval = 10 //Every how many processing ticks does this refuel? (1 = every processing tick) custom_materials = list(/datum/material/iron=70, /datum/material/glass=30) var/welding = 0 //Whether or not the welding tool is off(0), on(1) or currently welding(2) var/status = TRUE //Whether the welder is secured or unsecured (able to attach rods to it to make a flamethrower) var/max_fuel = 20 //The max amount of fuel the welder can hold var/change_icons = 1 - var/can_off_process = 0 + var/can_off_process = FALSE var/light_intensity = 2 //how powerful the emitted light is when used. var/progress_flash_divisor = 10 var/burned_fuel_for = 0 //when fuel was last removed @@ -65,6 +67,14 @@ . += "[initial(icon_state)]-on" /obj/item/weldingtool/process() + //This handles refueling. Its looking at how much fuel the tool has and comparing that to how much it holds + //This then looks if the refuel tick has come based on world time. + //Then looks if we refuel ourselves or not. + + if(self_fueling && get_fuel() < max_fuel && nextrefueltick <= world.time) + nextrefueltick = world.time + refueling_interval + reagents.add_reagent(/datum/reagent/fuel, 1) + switch(welding) if(0) force = 3 @@ -85,14 +95,6 @@ //This is to start fires. process() is only called if the welder is on. open_flame() - //This handles refueling. Its looking at how much fuel the tool has and comparing that to how much it holds - //This then looks if the refuel tick has come based on world time. - //Then looks if we refuel ourselves or not. - - if(get_fuel() < max_fuel && nextrefueltick < world.time && self_fueling) - nextrefueltick = world.time + 10 - reagents.add_reagent(/datum/reagent/fuel, 1) - /obj/item/weldingtool/suicide_act(mob/user) user.visible_message("[user] welds [user.p_their()] every orifice closed! It looks like [user.p_theyre()] trying to commit suicide!") return (FIRELOSS) @@ -366,7 +368,7 @@ custom_materials = list(/datum/material/iron=70, /datum/material/glass=120) change_icons = 0 self_fueling = TRUE - can_off_process = 1 + can_off_process = TRUE light_intensity = 1 toolspeed = 0.5 @@ -374,6 +376,7 @@ name = "brass welding tool" desc = "A brass welder that seems to constantly refuel itself. It is faintly warm to the touch." resistance_flags = FIRE_PROOF | ACID_PROOF + refueling_interval = 5 icon_state = "clockwelder" item_state = "brasswelder" @@ -383,16 +386,20 @@ icon = 'icons/obj/abductor.dmi' icon_state = "welder" self_fueling = TRUE + can_off_process = TRUE + refueling_interval = 1 toolspeed = 0.1 light_intensity = 0 change_icons = 0 /obj/item/weldingtool/advanced name = "advanced welding tool" - desc = "A modern welding tool combined with an alien welding tool, it never runs out of fuel and works almost as fast." + desc = "A modern welding tool combined with an alien welding tool, it almost never runs out of fuel and works nearly as fast." icon = 'icons/obj/advancedtools.dmi' icon_state = "welder" self_fueling = TRUE + can_off_process = TRUE + refueling_interval = 2 toolspeed = 0.2 light_intensity = 0 change_icons = 0 diff --git a/code/game/objects/items/tools/wirecutters.dm b/code/game/objects/items/tools/wirecutters.dm index 000b816d70..ee72c7fed2 100644 --- a/code/game/objects/items/tools/wirecutters.dm +++ b/code/game/objects/items/tools/wirecutters.dm @@ -8,6 +8,7 @@ righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi' flags_1 = CONDUCT_1 slot_flags = ITEM_SLOT_BELT + item_flags = SURGICAL_TOOL force = 6 throw_speed = 3 throw_range = 7 @@ -148,4 +149,4 @@ icon = 'icons/obj/advancedtools.dmi' icon_state = "cutters" toolspeed = 0.2 - random_color = FALSE \ No newline at end of file + random_color = FALSE diff --git a/code/game/objects/items/tools/wrench.dm b/code/game/objects/items/tools/wrench.dm index e8b77199d7..6199e7fc76 100644 --- a/code/game/objects/items/tools/wrench.dm +++ b/code/game/objects/items/tools/wrench.dm @@ -7,6 +7,7 @@ righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi' flags_1 = CONDUCT_1 slot_flags = ITEM_SLOT_BELT + item_flags = SURGICAL_TOOL force = 5 throwforce = 7 w_class = WEIGHT_CLASS_SMALL @@ -128,4 +129,4 @@ icon = 'icons/obj/advancedtools.dmi' icon_state = "wrench" usesound = 'sound/effects/empulse.ogg' - toolspeed = 0.2 \ No newline at end of file + toolspeed = 0.2 diff --git a/code/game/objects/items/weaponry.dm b/code/game/objects/items/weaponry.dm index 3f2dc2506a..07900d6bbf 100644 --- a/code/game/objects/items/weaponry.dm +++ b/code/game/objects/items/weaponry.dm @@ -296,8 +296,8 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi' slot_flags = ITEM_SLOT_BELT | ITEM_SLOT_BACK w_class = WEIGHT_CLASS_BULKY - force = 7 //how much harm mode damage we do - var/stamina_damage_increment = 4 //how much extra damage do we do when in non-harm mode + force = 10 //how much harm mode damage we do + var/stamina_damage_increment = 5 //how much extra damage do we do when in non-harm mode throwforce = 10 damtype = STAMINA attack_verb = list("whacked", "smacked", "struck") @@ -310,11 +310,13 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 var/quick_parry = FALSE // false = default parry, true = really small parry window item_flags = ITEM_CAN_PARRY block_parry_data = /datum/block_parry_data/bokken + var/default_parry_data = /datum/block_parry_data/bokken + var/quick_parry_data = /datum/block_parry_data/bokken/quick_parry bare_wound_bonus = 0 wound_bonus = 0 /datum/block_parry_data/bokken // fucked up parry data, emphasizing quicker, shorter parries - parry_stamina_cost = 8 // be wise about when you parry, though, else you won't be able to fight enough to make it count + parry_stamina_cost = 10 // be wise about when you parry, though, else you won't be able to fight enough to make it count parry_time_windup = 0 parry_time_active = 10 // small parry window parry_time_spindown = 0 @@ -330,11 +332,11 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 ) parry_failed_stagger_duration = 3 SECONDS parry_data = list( - PARRY_COUNTERATTACK_MELEE_ATTACK_CHAIN = 2.5, // 7*2.5 = 17.5, 8*2.5 = 20, 9*2.5 = 22.5, 10*2.5 = 25 + PARRY_COUNTERATTACK_MELEE_ATTACK_CHAIN = 2.5, // 10*2.5 = 25, 11*2.5 = 27.5, 12*2.5 = 30, 13*2.5 = 32.5 ) /datum/block_parry_data/bokken/quick_parry // emphasizing REALLY SHORT PARRIES - parry_stamina_cost = 6 // still more costly than most parries, but less than a full bokken parry + parry_stamina_cost = 8 // still more costly than most parries, but less than a full bokken parry parry_time_active = 5 // REALLY small parry window parry_time_perfect = 2.5 // however... parry_time_perfect_leeway = 2 // the entire time, the parry is perfect @@ -371,9 +373,9 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 . = ..() quick_parry = !quick_parry if(quick_parry) - block_parry_data = /datum/block_parry_data/bokken/quick_parry + block_parry_data = quick_parry_data else - block_parry_data = /datum/block_parry_data/bokken + block_parry_data = default_parry_data to_chat(user, "[src] is now [quick_parry ? "emphasizing shorter parries, forcing you to riposte or be staggered" : "emphasizing longer parries, with a shorter window to riposte but more forgiving parries"].") /obj/item/melee/bokken/attackby(obj/item/I, mob/living/user, params) @@ -410,23 +412,76 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 if(burnt) . += " Burned into the \"blade\" is [burned_in]." +/obj/item/melee/bokken/steelwood + name = "steelwood bokken" + desc = "A misnomer of sorts, this is effectively a blunt katana made from steelwood, a dense organic wood derived from steelcaps. Why steelwood? Druids can use it. Duh." + icon_state = "bokken_steel" + item_state = "bokken_steel" + force = 12 + stamina_damage_increment = 3 + +/obj/item/melee/bokken/waki + name = "wakizashi bokken" + desc = "A space-Japanese training sword made of wood and shaped like a wakizashi." + icon_state = "wakibokken" + item_state = "wakibokken" + slot_flags = ITEM_SLOT_BELT + w_class = WEIGHT_CLASS_NORMAL + force = 6 + stamina_damage_increment = 4 + block_parry_data = /datum/block_parry_data/bokken/waki + default_parry_data = /datum/block_parry_data/bokken/waki + quick_parry_data = /datum/block_parry_data/bokken/waki/quick_parry + +/datum/block_parry_data/bokken/waki // weaker parries than the bigger variant, but cheaper and faster recovery, like quick parry + parry_stamina_cost = 4 + parry_time_windup = 0 + parry_time_active = 6 + parry_time_spindown = 0 + parry_time_perfect = 1.5 + parry_time_perfect_leeway = 1 + parry_imperfect_falloff_percent = 7.5 + parry_efficiency_to_counterattack = 120 + parry_efficiency_considered_successful = 65 + parry_efficiency_perfect = 120 + parry_efficiency_perfect_override = list( + TEXT_ATTACK_TYPE_PROJECTILE = 30, + ) + parry_failed_stagger_duration = 2 SECONDS + parry_data = list( + PARRY_COUNTERATTACK_MELEE_ATTACK_CHAIN = 1.5, // 6*1.5 = 9, 7*1.5 = 10.5, 8*1.5 = 12, 9*1.5 = 13.5 + ) + +/datum/block_parry_data/bokken/waki/quick_parry //For the parry spammer in you + parry_stamina_cost = 2 // Slam that parry button + parry_time_active = 2.5 + parry_time_perfect = 1 + parry_time_perfect_leeway = 1 + parry_failed_stagger_duration = 1 SECONDS + parry_failed_clickcd_duration = 1 SECONDS + +/datum/block_parry_data/bokken/waki/quick_parry/proj + parry_efficiency_perfect_override = list() + +/obj/item/melee/bokken/waki/steelwood + name = "wakizashi steelwood bokken" + desc = "A misnomer of sorts, this is effectively a blunt wakizashi made from steelwood, a dense organic wood derived from steelcaps. Why steelwood? Druids can use it. Duh." + icon_state = "wakibokken_steel" + item_state = "wakibokken_steel" + force = 8 + stamina_damage_increment = 2 + /obj/item/melee/bokken/debug name = "funny debug parrying stick" desc = "if you see this you've fucked up somewhere my good man" block_parry_data = /datum/block_parry_data/bokken/debug - -/obj/item/melee/bokken/debug/AltClick(mob/user) - quick_parry = !quick_parry - if(quick_parry) - block_parry_data = /datum/block_parry_data/bokken/quick_parry/debug - else - block_parry_data = /datum/block_parry_data/bokken/debug - to_chat(user, "[src] is now [quick_parry ? "emphasizing shorter parries, forcing you to riposte or be staggered" : "emphasizing longer parries, with a shorter window to riposte but more forgiving parries"].") + default_parry_data = /datum/block_parry_data/bokken/debug + quick_parry_data = /datum/block_parry_data/bokken/quick_parry/debug /datum/block_parry_data/bokken/debug parry_efficiency_perfect_override = list() parry_data = list( - PARRY_COUNTERATTACK_MELEE_ATTACK_CHAIN = 2.5, // 7*2.5 = 17.5, 8*2.5 = 20, 9*2.5 = 22.5, 10*2.5 = 25 + PARRY_COUNTERATTACK_MELEE_ATTACK_CHAIN = 2.5, // 10*2.5 = 25, 11*2.5 = 27.5, 12*2.5 = 30, 13*2.5 = 32.5 PARRY_DISARM_ATTACKER = TRUE, PARRY_KNOCKDOWN_ATTACKER = 10, PARRY_STAGGER_ATTACKER = 10, @@ -436,13 +491,63 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 /datum/block_parry_data/bokken/quick_parry/debug parry_efficiency_perfect_override = list() parry_data = list( - PARRY_COUNTERATTACK_MELEE_ATTACK_CHAIN = 2.5, // 7*2.5 = 17.5, 8*2.5 = 20, 9*2.5 = 22.5, 10*2.5 = 25 + PARRY_COUNTERATTACK_MELEE_ATTACK_CHAIN = 2.5, // 10*2.5 = 25, 11*2.5 = 27.5, 12*2.5 = 30, 13*2.5 = 32.5 PARRY_DISARM_ATTACKER = TRUE, PARRY_KNOCKDOWN_ATTACKER = 10, PARRY_STAGGER_ATTACKER = 10, PARRY_DAZE_ATTACKER = 10, ) +/// BOKKEN CRAFTNG PIECES + +/obj/item/bokken_blade + name = "training bokken wooden blade" + desc = "The blade piece of a bokken katana." + icon = 'icons/obj/smith.dmi' + icon_state = "bokken" + item_state = "bone_dagger" + lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi' + righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi' + w_class = WEIGHT_CLASS_NORMAL + +/obj/item/bokken_steelblade + name = "training bokken steelwood blade" + desc = "The blade piece of a steelwood bokken katana." + icon = 'icons/obj/smith.dmi' + icon_state = "bokken_steel" + item_state = "switchblade_ext" + lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi' + righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi' + w_class = WEIGHT_CLASS_NORMAL + +/obj/item/wakibokken_blade + name = "training bokken wooden wakizashi blade" + desc = "The blade piece of a bokken wakizashi." + icon = 'icons/obj/smith.dmi' + icon_state = "wakibokken" + item_state = "bone_dagger" + lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi' + righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi' + w_class = WEIGHT_CLASS_NORMAL + +/obj/item/wakibokken_steelblade + name = "training bokken steelwood wakizashi blade" + desc = "The blade piece of a steelwood bokken katana." + icon = 'icons/obj/smith.dmi' + icon_state = "wakibokken_steel" + item_state = "switchblade_ext" + lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi' + righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi' + w_class = WEIGHT_CLASS_NORMAL + +/obj/item/bokken_hilt + name = "training bokken hilt" + desc = "The hilt piece of a bokken. This hilt is appropriate for any potential blade length or material." + icon = 'icons/obj/smith.dmi' + icon_state = "bokken_hilt" + item_state = "bone_dagger" + lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi' + righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi' /obj/item/wirerod name = "wired rod" diff --git a/code/game/objects/obj_defense.dm b/code/game/objects/obj_defense.dm index 3de28b38e8..73a21e4a25 100644 --- a/code/game/objects/obj_defense.dm +++ b/code/game/objects/obj_defense.dm @@ -109,7 +109,7 @@ return user.do_attack_animation(src) . = take_damage(damage_amount, damage_type, damage_flag, sound_effect, get_dir(src, user), armor_penetration) - user.DelayNextAction() + user.DelayNextAction(CLICK_CD_MELEE) /obj/attack_alien(mob/living/carbon/alien/humanoid/user) if(attack_generic(user, 60, BRUTE, "melee", 0)) diff --git a/code/game/objects/structures/barsigns.dm b/code/game/objects/structures/barsigns.dm index 2a4856f60e..acddf27b6f 100644 --- a/code/game/objects/structures/barsigns.dm +++ b/code/game/objects/structures/barsigns.dm @@ -271,6 +271,11 @@ icon = "the_lightbulb" desc = "A cafe popular among moths and moffs. Once shut down for a week after the bartender used mothballs to protect her spare uniforms." +/datum/barsign/goose + name = "The Loose Goose" + icon = "goose" + desc = "Drink till you puke and/or break the laws of reality!" + /datum/barsign/cybersylph name = "Cyber Sylph's" icon = "cybersylph" diff --git a/code/game/objects/structures/beds_chairs/bed.dm b/code/game/objects/structures/beds_chairs/bed.dm index 5f01a27825..2a703ad675 100644 --- a/code/game/objects/structures/beds_chairs/bed.dm +++ b/code/game/objects/structures/beds_chairs/bed.dm @@ -40,6 +40,16 @@ if(istype(W, /obj/item/wrench) && !(flags_1&NODECONSTRUCT_1)) W.play_tool_sound(src) deconstruct(TRUE) + else if(istype(W, /obj/item/bedsheet)) + if(user.transferItemToLoc(W, drop_location())) + to_chat(user, "You make \the [src] with [W].") + W.pixel_x = 0 + W.pixel_y = 0 + else if(istype(W, /obj/item/disk/nuclear)) + if(user.transferItemToLoc(W, drop_location())) + to_chat(user, "You tuck little disky into bed. Good night disky.") + W.pixel_x = 6 //make sure they reach the pillow + W.pixel_y = -6 else return ..() diff --git a/code/game/objects/structures/bedsheet_bin.dm b/code/game/objects/structures/bedsheet_bin.dm index c36fba96cb..279f581b4d 100644 --- a/code/game/objects/structures/bedsheet_bin.dm +++ b/code/game/objects/structures/bedsheet_bin.dm @@ -22,6 +22,10 @@ LINEN BINS dog_fashion = /datum/dog_fashion/head/ghost var/list/dream_messages = list("white") +/obj/item/bedsheet/Initialize(mapload) + . = ..() + AddElement(/datum/element/bed_tuckable, 0, 0, 0) + /obj/item/bedsheet/attack(mob/living/M, mob/user) if(!attempt_initiate_surgery(src, M, user)) ..() @@ -243,7 +247,7 @@ LINEN BINS /obj/item/bedsheet/random/Initialize() ..() - var/type = pick(typesof(/obj/item/bedsheet) - list(/obj/item/bedsheet/random, /obj/item/bedsheet/chameleon)) + var/type = pick(typesof(/obj/item/bedsheet) - (list(/obj/item/bedsheet/random, /obj/item/bedsheet/chameleon) + typesof(/obj/item/bedsheet/unlockable))) new type(loc) return INITIALIZE_HINT_QDEL @@ -257,9 +261,32 @@ LINEN BINS chameleon_action = new(src) chameleon_action.chameleon_type = /obj/item/bedsheet chameleon_action.chameleon_name = "Bedsheet" - chameleon_action.chameleon_blacklist = typecacheof(list(/obj/item/bedsheet/chameleon, /obj/item/bedsheet/random), only_root_path = TRUE) + chameleon_action.chameleon_blacklist = typecacheof(list(/obj/item/bedsheet/chameleon, /obj/item/bedsheet/random, /obj/item/bedsheet/unlockable), only_root_path = FALSE) chameleon_action.initialize_disguises() +//unlockable bedsheets +/obj/item/bedsheet/unlockable + name = "unlockable bedsheet" + desc = "this shouldn't be here!" + +//janitor: clean 100 messes with mop as janitor +/obj/item/bedsheet/unlockable/janitor + name = "janitor bedsheet" + desc = "A white bedsheet, with a warning sign on the front." + icon_state = "sheetjanitor" + +//cook: use microwave 100 times properly (contents must make one good item) as cook +/obj/item/bedsheet/unlockable/cook + name = "cook bedsheet" + desc = "A grey bedsheet, with a microwave on the front." + icon_state = "sheetcook" + +//miner: redeem 100,000 mining points +/obj/item/bedsheet/unlockable/miner + name = "miner bedsheet" + desc = "A red and black bedsheet. It seems to be made with goliath hide." + icon_state = "sheetminer" + //bedsheet bin /obj/structure/bedsheetbin name = "linen bin" diff --git a/code/game/objects/structures/chess.dm b/code/game/objects/structures/chess.dm index 8254405fee..ec882f34f8 100644 --- a/code/game/objects/structures/chess.dm +++ b/code/game/objects/structures/chess.dm @@ -73,4 +73,4 @@ /obj/structure/chess/blackking name = "\improper Black King" desc = "A black king chess piece. It can move one tile in any direction." - icon_state = "black_king" \ No newline at end of file + icon_state = "black_king" diff --git a/code/game/objects/structures/crates_lockers/closets.dm b/code/game/objects/structures/crates_lockers/closets.dm index 46eb82342a..52082637a3 100644 --- a/code/game/objects/structures/crates_lockers/closets.dm +++ b/code/game/objects/structures/crates_lockers/closets.dm @@ -446,8 +446,11 @@ var/mob/living/L = O if(!issilicon(L)) L.DefaultCombatKnockdown(40) - O.forceMove(T) - close() + if(istype(src, /obj/structure/closet/supplypod/extractionpod)) + O.forceMove(src) + else + O.forceMove(T) + close() else O.forceMove(T) return 1 diff --git a/code/game/objects/structures/crates_lockers/closets/bodybag.dm b/code/game/objects/structures/crates_lockers/closets/bodybag.dm index e51aeafdc1..2df57e1d68 100644 --- a/code/game/objects/structures/crates_lockers/closets/bodybag.dm +++ b/code/game/objects/structures/crates_lockers/closets/bodybag.dm @@ -108,4 +108,4 @@ icon_state = "radbodybag" mob_storage_capacity = 1 foldedbag_path = /obj/item/bodybag/containment - rad_flags = RAD_PROTECT_CONTENTS | RAD_NO_CONTAMINATE \ No newline at end of file + rad_flags = RAD_PROTECT_CONTENTS | RAD_NO_CONTAMINATE 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 21b75e8af3..3af0d0278a 100644 --- a/code/game/objects/structures/crates_lockers/closets/job_closets.dm +++ b/code/game/objects/structures/crates_lockers/closets/job_closets.dm @@ -70,7 +70,7 @@ new /obj/item/melee/flyswatter(src) new /obj/item/flashlight(src) for(var/i in 1 to 3) - new /obj/item/caution(src) + new /obj/item/clothing/suit/caution(src) new /obj/item/holosign_creator(src) new /obj/item/lightreplacer(src) new /obj/item/soap(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 05798df953..4b405ae64a 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm @@ -30,6 +30,8 @@ new /obj/item/construction/rcd/loaded/upgraded(src) new /obj/item/clothing/suit/hooded/wintercoat/ce(src) new /obj/item/clothing/head/beret/ce/white(src) + new /obj/item/storage/bag/construction(src) + new /obj/item/storage/bag/material(src) /obj/structure/closet/secure_closet/engineering_electrical name = "electrical supplies locker" @@ -78,6 +80,8 @@ new /obj/item/clothing/glasses/meson/engine(src) new /obj/item/storage/box/emptysandbags(src) new /obj/item/cartridge/engineering(src) + new /obj/item/storage/bag/construction(src) + new /obj/item/storage/bag/material(src) /obj/structure/closet/secure_closet/atmospherics name = "\proper atmospheric technician's locker" @@ -92,13 +96,15 @@ new /obj/item/tank/internals/emergency_oxygen/engi(src) new /obj/item/analyzer(src) new /obj/item/holosign_creator/atmos(src) - new /obj/item/holosign_creator/firelock(src) + new /obj/item/holosign_creator/firelock(src) //what if atmos techs could test things they are meant to test, wild, innit? new /obj/item/watertank/atmos(src) new /obj/item/clothing/suit/fire/atmos(src) new /obj/item/clothing/head/hardhat/atmos(src) new /obj/item/clothing/glasses/meson/engine/tray(src) new /obj/item/extinguisher/advanced(src) new /obj/item/cartridge/atmos(src) + new /obj/item/storage/bag/construction(src) + new /obj/item/storage/bag/material(src) /* * Empty lockers 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 a9e6243060..c554cad034 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/hydroponics.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/hydroponics.dm @@ -10,4 +10,4 @@ new /obj/item/radio/headset/headset_srv(src) new /obj/item/cultivator(src) new /obj/item/hatchet(src) - new /obj/item/storage/box/disks_plantgene(src) \ No newline at end of file + new /obj/item/storage/box/disks_plantgene(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 a7ffef1a0c..babb047c8d 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/medical.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/medical.dm @@ -47,6 +47,25 @@ new /obj/item/clothing/glasses/hud/health(src) return +/obj/structure/closet/secure_closet/paramedic + name = "paramedic's locker" + req_access = list(ACCESS_MEDICAL) + icon_state = "paramed_secure" + +/obj/structure/closet/secure_closet/paramedic/PopulateContents() + ..() + new /obj/item/clothing/suit/toggle/labcoat/paramedic(src) + new /obj/item/clothing/under/rank/medical/paramedic(src) + new /obj/item/clothing/under/rank/medical/paramedic/skirt(src) + new /obj/item/radio/headset/headset_med(src) + new /obj/item/defibrillator/loaded(src) + new /obj/item/clothing/gloves/color/latex/nitrile(src) + new /obj/item/storage/belt/medical(src) + new /obj/item/clothing/glasses/hud/health(src) + new /obj/item/pinpointer/crew(src) + new /obj/item/sensor_device(src) + return + /obj/structure/closet/secure_closet/CMO name = "\proper chief medical officer's locker" req_access = list(ACCESS_CMO) diff --git a/code/game/objects/structures/crates_lockers/crates/wooden.dm b/code/game/objects/structures/crates_lockers/crates/wooden.dm index 09d176783a..6c8d3066ee 100644 --- a/code/game/objects/structures/crates_lockers/crates/wooden.dm +++ b/code/game/objects/structures/crates_lockers/crates/wooden.dm @@ -15,4 +15,4 @@ new /obj/item/reagent_containers/food/drinks/soda_cans/canned_laughter(src) new /obj/item/pneumatic_cannon/pie(src) new /obj/item/reagent_containers/food/snacks/pie/cream(src) - new /obj/item/storage/crayons(src) \ No newline at end of file + new /obj/item/storage/crayons(src) diff --git a/code/game/objects/structures/displaycase.dm b/code/game/objects/structures/displaycase.dm index 19c0f0aed1..2eda9f126a 100644 --- a/code/game/objects/structures/displaycase.dm +++ b/code/game/objects/structures/displaycase.dm @@ -553,4 +553,4 @@ /obj/structure/displaycase/forsale/kitchen desc = "A display case with an ID-card swiper. Use your ID to purchase the contents. Meant for the bartender and chef." req_one_access = list(ACCESS_KITCHEN, ACCESS_BAR) -*/ \ No newline at end of file +*/ diff --git a/code/game/objects/structures/janicart.dm b/code/game/objects/structures/janicart.dm index 10a9f2afd4..0c99188c49 100644 --- a/code/game/objects/structures/janicart.dm +++ b/code/game/objects/structures/janicart.dm @@ -73,7 +73,7 @@ l.janicart_insert(user,src) else to_chat(user, fail_msg) - else if(istype(I, /obj/item/caution)) + else if(istype(I, /obj/item/clothing/suit/caution)) if(signs < max_signs) put_in_cart(I, user) signs++ @@ -104,7 +104,7 @@ items += list("Spray bottle" = image(icon = myspray.icon, icon_state = myspray.icon_state)) if(myreplacer) items += list("Light replacer" = image(icon = myreplacer.icon, icon_state = myreplacer.icon_state)) - var/obj/item/caution/sign = locate() in src + var/obj/item/clothing/suit/caution/sign = locate() in src if(sign) items += list("Sign" = image(icon = sign.icon, icon_state = sign.icon_state)) diff --git a/code/game/objects/structures/loom.dm b/code/game/objects/structures/loom.dm index 164e597117..28ff5a8de7 100644 --- a/code/game/objects/structures/loom.dm +++ b/code/game/objects/structures/loom.dm @@ -38,4 +38,4 @@ user.show_message("You weave \the [W.name] into a workable fabric.", MSG_VISUAL) return TRUE -#undef FABRIC_PER_SHEET \ No newline at end of file +#undef FABRIC_PER_SHEET diff --git a/code/game/objects/structures/memorial.dm b/code/game/objects/structures/memorial.dm index 243a7e3cba..d359cfc54a 100644 --- a/code/game/objects/structures/memorial.dm +++ b/code/game/objects/structures/memorial.dm @@ -18,4 +18,4 @@ This memorial has been designed for him and any future coders to perish. icon = 'icons/obj/tomb.dmi' icon_state = "memorial" density = TRUE - anchored = TRUE \ No newline at end of file + anchored = TRUE diff --git a/code/game/objects/structures/mirror.dm b/code/game/objects/structures/mirror.dm index fa6bab0fcc..32040b8573 100644 --- a/code/game/objects/structures/mirror.dm +++ b/code/game/objects/structures/mirror.dm @@ -94,7 +94,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", "memezombies", "clockwork golem servant", "android", "synth", "mush", "zombie", "memezombie") + var/list/races_blacklist = list("skeleton", "agent", "military_synth", "memezombies", "clockwork golem servant", "android", "synth", "mush", "zombie", "memezombie") var/list/choosable_races = list() /obj/structure/mirror/magic/New() diff --git a/code/game/objects/structures/mop_bucket.dm b/code/game/objects/structures/mop_bucket.dm index e1bb143fef..3eb88ad12d 100644 --- a/code/game/objects/structures/mop_bucket.dm +++ b/code/game/objects/structures/mop_bucket.dm @@ -26,4 +26,4 @@ /obj/structure/mopbucket/update_overlays() . = ..() if(reagents.total_volume > 0) - . += "mopbucket_water" \ No newline at end of file + . += "mopbucket_water" diff --git a/code/game/objects/structures/spawner.dm b/code/game/objects/structures/spawner.dm index e67ef7af60..9032a80d91 100644 --- a/code/game/objects/structures/spawner.dm +++ b/code/game/objects/structures/spawner.dm @@ -72,4 +72,4 @@ /obj/structure/spawner/mining/wumborian name = "wumborian fugu den" desc = "A den housing a nest of wumborian fugus, how do they all even fit in there?" - mob_types = list(/mob/living/simple_animal/hostile/asteroid/fugu) \ No newline at end of file + mob_types = list(/mob/living/simple_animal/hostile/asteroid/fugu) diff --git a/code/game/say.dm b/code/game/say.dm index a5691ad11f..3bc14ed245 100644 --- a/code/game/say.dm +++ b/code/game/say.dm @@ -96,18 +96,16 @@ GLOBAL_LIST_INIT(freqtospan, list( return "[say_mod(input, message_mode)][spanned ? ", \"[spanned]\"" : ""]" // Citadel edit [spanned ? ", \"[spanned]\"" : ""]" -#define ENCODE_HTML_EPHASIS(input, char, html, varname) \ - var/static/regex/##varname = regex("[char]{2}(.+?)[char]{2}", "g");\ - input = varname.Replace_char(input, "<[html]>$1") - +/// Converts specific characters, like +, |, and _ to formatted output. /atom/movable/proc/say_emphasis(input) - ENCODE_HTML_EPHASIS(input, "\\|", "i", italics) - ENCODE_HTML_EPHASIS(input, "\\+", "b", bold) - ENCODE_HTML_EPHASIS(input, "_", "u", underline) + var/static/regex/italics = regex(@"\|((?=\S)[\w\W]*?(?<=\S))\|", "g") + input = italics.Replace_char(input, "$1") + var/static/regex/bold = regex(@"\+((?=\S)[\w\W]*?(?<=\S))\+", "g") + input = bold.Replace_char(input, "$1") + var/static/regex/underline = regex(@"_((?=\S)[\w\W]*?(?<=\S))_", "g") + input = underline.Replace_char(input, "$1") return input -#undef ENCODE_HTML_EPHASIS - /// Quirky citadel proc for our custom sayverbs to strip the verb out. Snowflakey as hell, say rewrite 3.0 when? /atom/movable/proc/quoteless_say_quote(input, list/spans = list(speech_span), message_mode) if((input[1] == "!") && (length_char(input) > 1)) diff --git a/code/game/turfs/open.dm b/code/game/turfs/open.dm index 493e88d442..7e00b1cf63 100644 --- a/code/game/turfs/open.dm +++ b/code/game/turfs/open.dm @@ -1,5 +1,12 @@ /turf/open plane = FLOOR_PLANE + /// Does dirt buildup happen on us? + var/dirt_buildup_allowed = FALSE + /// Dirt level. + var/dirtyness = 0 + /// Dirt level to spawn dirt. Null to use config. + var/dirt_spawn_threshold + /// Slowdown applied to mobs on us. var/slowdown = 0 //negative for faster, positive for slower var/postdig_icon_change = FALSE diff --git a/code/game/turfs/simulated/chasm.dm b/code/game/turfs/simulated/chasm.dm index 5e8f55feed..9490d728fe 100644 --- a/code/game/turfs/simulated/chasm.dm +++ b/code/game/turfs/simulated/chasm.dm @@ -9,6 +9,7 @@ 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 bullet_bounce_sound = null //abandon all hope ye who enter + dirt_buildup_allowed = FALSE /turf/open/chasm/Initialize() . = ..() diff --git a/code/game/turfs/simulated/dirtystation.dm b/code/game/turfs/simulated/dirtystation.dm index e29d75a248..add8467ceb 100644 --- a/code/game/turfs/simulated/dirtystation.dm +++ b/code/game/turfs/simulated/dirtystation.dm @@ -8,6 +8,9 @@ //Making the station dirty, one tile at a time. Called by master controller's setup_objects /turf/open/floor/proc/MakeDirty() + if(CONFIG_GET(flag/persistent_debris_only)) + return + if(prob(66)) //fastest possible exit 2/3 of the time return @@ -38,7 +41,7 @@ return //Construction zones. Blood, sweat, and oil. Oh, and dirt. - var/static/list/engine_dirt_areas = typecacheof(list(/area/engine, + var/static/list/engine_dirt_areas = typecacheof(list(/area/engine, /area/crew_quarters/heads/chief, /area/ruin/space/derelict/assembly_line, /area/science/robotics, diff --git a/code/game/turfs/simulated/floor.dm b/code/game/turfs/simulated/floor.dm index ddec9750d9..6a4ddea63b 100644 --- a/code/game/turfs/simulated/floor.dm +++ b/code/game/turfs/simulated/floor.dm @@ -5,6 +5,7 @@ name = "floor" icon = 'icons/turf/floors.dmi' baseturfs = /turf/open/floor/plating + dirt_buildup_allowed = TRUE footstep = FOOTSTEP_FLOOR barefootstep = FOOTSTEP_HARD_BAREFOOT @@ -137,6 +138,9 @@ burnt = 1 /turf/open/floor/proc/make_plating() + for(var/obj/effect/decal/cleanable/C in src) + if(C.wiped_by_floor_change) + qdel(C) return ScrapeAway(flags = CHANGETURF_INHERIT_AIR) /turf/open/floor/ChangeTurf(path, new_baseturf, flags) diff --git a/code/game/turfs/simulated/floor/misc_floor.dm b/code/game/turfs/simulated/floor/misc_floor.dm index c70332eacb..82e60ed8f6 100644 --- a/code/game/turfs/simulated/floor/misc_floor.dm +++ b/code/game/turfs/simulated/floor/misc_floor.dm @@ -196,7 +196,7 @@ if(M.client && (is_servant_of_ratvar(M) || isobserver(M) || M.stat == DEAD)) viewing += M.client flick_overlay(I, viewing, 8) - L.adjustToxLoss(-3, TRUE, TRUE) + L.adjustToxLoss(-3, TRUE, TRUE, toxins_type = TOX_OMNI) /turf/open/floor/clockwork/try_replace_tile(obj/item/stack/tile/T, mob/user, params) return @@ -278,4 +278,4 @@ heavyfootstep = FOOTSTEP_RUST /turf/open/floor/plating/rust/rust_heretic_act() - return + return diff --git a/code/game/turfs/simulated/floor/plating.dm b/code/game/turfs/simulated/floor/plating.dm index 35ee06a584..ad3cf86864 100644 --- a/code/game/turfs/simulated/floor/plating.dm +++ b/code/game/turfs/simulated/floor/plating.dm @@ -61,6 +61,9 @@ to_chat(user, "You begin reinforcing the floor...") if(do_after(user, 30, target = src)) if (R.get_amount() >= 2 && !istype(src, /turf/open/floor/engine)) + for(var/obj/effect/decal/cleanable/decal in src) + if(decal.wiped_by_floor_change) + qdel(decal) PlaceOnTop(/turf/open/floor/engine, flags = CHANGETURF_INHERIT_AIR) playsound(src, 'sound/items/deconstruct.ogg', 80, 1) R.use(2) @@ -78,6 +81,9 @@ to_chat(user, "You begin adding glass to the floor...") if(do_after(user, 5, target = src)) if (G.get_amount() >= 2 && !istype(src, /turf/open/transparent/glass)) + for(var/obj/effect/decal/cleanable/decal in src) + if(decal.wiped_by_floor_change) + qdel(decal) PlaceOnTop(/turf/open/transparent/glass, flags = CHANGETURF_INHERIT_AIR) playsound(src, 'sound/items/deconstruct.ogg', 80, 1) G.use(2) @@ -95,6 +101,9 @@ to_chat(user, "You begin adding reinforced glass to the floor...") if(do_after(user, 10, target = src)) if (RG.get_amount() >= 2 && !istype(src, /turf/open/transparent/glass/reinforced)) + for(var/obj/effect/decal/cleanable/decal in src) + if(decal.wiped_by_floor_change) + qdel(decal) PlaceOnTop(/turf/open/transparent/glass/reinforced, flags = CHANGETURF_INHERIT_AIR) playsound(src, 'sound/items/deconstruct.ogg', 80, 1) RG.use(2) @@ -110,6 +119,9 @@ var/obj/item/stack/tile/W = C if(!W.use(1)) return + for(var/obj/effect/decal/cleanable/decal in src) + if(decal.wiped_by_floor_change) + qdel(decal) if(istype(W, /obj/item/stack/tile/material)) var/turf/newturf = PlaceOnTop(/turf/open/floor/material, flags = CHANGETURF_INHERIT_AIR) newturf.set_custom_materials(W.custom_materials) diff --git a/code/game/turfs/simulated/floor/reinf_floor.dm b/code/game/turfs/simulated/floor/reinf_floor.dm index 42b4707b50..f8c6ff1ce2 100644 --- a/code/game/turfs/simulated/floor/reinf_floor.dm +++ b/code/game/turfs/simulated/floor/reinf_floor.dm @@ -43,6 +43,9 @@ return TRUE if(floor_tile) new floor_tile(src, 2) + for(var/obj/effect/decal/cleanable/C in src) + if(C.wiped_by_floor_change) + qdel(C) ScrapeAway(flags = CHANGETURF_INHERIT_AIR) return TRUE diff --git a/code/game/turfs/simulated/lava.dm b/code/game/turfs/simulated/lava.dm index 2f223f2c40..e7471478fb 100644 --- a/code/game/turfs/simulated/lava.dm +++ b/code/game/turfs/simulated/lava.dm @@ -6,6 +6,7 @@ gender = PLURAL //"That's some lava." baseturfs = /turf/open/lava //lava all the way down slowdown = 2 + dirt_buildup_allowed = FALSE light_range = 2 light_power = 0.75 diff --git a/code/game/turfs/simulated/reebe_void.dm b/code/game/turfs/simulated/reebe_void.dm index 14aa02065d..3f3bf31f9b 100644 --- a/code/game/turfs/simulated/reebe_void.dm +++ b/code/game/turfs/simulated/reebe_void.dm @@ -6,6 +6,7 @@ planetary_atmos = TRUE bullet_bounce_sound = null //forever falling tiled_dirt = FALSE + dirt_buildup_allowed = FALSE /turf/open/indestructible/reebe_void/Initialize(mapload) . = ..() diff --git a/code/game/turfs/space/space.dm b/code/game/turfs/space/space.dm index b150d4930e..9c9639e57c 100644 --- a/code/game/turfs/space/space.dm +++ b/code/game/turfs/space/space.dm @@ -3,6 +3,7 @@ icon_state = "0" name = "\proper space" intact = 0 + dirt_buildup_allowed = FALSE temperature = TCMB thermal_conductivity = OPEN_HEAT_TRANSFER_COEFFICIENT @@ -163,6 +164,8 @@ while (pulling != null) var/next_pulling = pulling.pulling + if(next_pulling == pulling) + break // no loops var/turf/T = get_step(puller.loc, turn(puller.dir, 180)) pulling.can_be_z_moved = FALSE diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm index 10c79bb658..d4afc3dbb4 100644 --- a/code/modules/admin/admin.dm +++ b/code/modules/admin/admin.dm @@ -679,8 +679,8 @@ set category = "Server" set desc="Respawn basically" set name="Toggle Respawn" - var/new_nores = !CONFIG_GET(flag/norespawn) - CONFIG_SET(flag/norespawn, new_nores) + var/new_nores = CONFIG_GET(flag/respawns_enabled) + CONFIG_SET(flag/respawns_enabled, !new_nores) if (!new_nores) to_chat(world, "You may now respawn.", confidential = TRUE) else @@ -783,7 +783,8 @@ if(ispath(chosen, /turf)) T.ChangeTurf(chosen) else - var/obj/structure/closet/supplypod/centcompod/pod = new() + var/area/pod_storage_area = locate(/area/centcom/supplypod/podStorage) in GLOB.sortedAreas + var/obj/structure/closet/supplypod/centcompod/pod = new(pick(get_area_turfs(pod_storage_area))) //Lets just have it in the pod bay for a moment instead of runtiming var/atom/A = new chosen(pod) A.flags_1 |= ADMIN_SPAWNED_1 new /obj/effect/pod_landingzone(T, pod) diff --git a/code/modules/admin/admin_ranks.dm b/code/modules/admin/admin_ranks.dm index ef4abeb0ad..39053b8e15 100644 --- a/code/modules/admin/admin_ranks.dm +++ b/code/modules/admin/admin_ranks.dm @@ -44,6 +44,11 @@ GLOBAL_PROTECT(protected_ranks) /datum/admin_rank/vv_edit_var(var_name, var_value) return FALSE +/datum/admin_rank/CanProcCall(procname) + . = ..() + if(!check_rights(R_SENSITIVE)) + return FALSE + /proc/admin_keyword_to_flag(word, previous_rights=0) var/flag = 0 switch(ckey(word)) @@ -79,6 +84,8 @@ GLOBAL_PROTECT(protected_ranks) flag = R_AUTOLOGIN if("dbranks") flag = R_DBRANKS + if("sensitive") + flag = R_SENSITIVE if("@","prev") flag = previous_rights return flag diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm index 52b4fa05b1..e2c12353f7 100644 --- a/code/modules/admin/admin_verbs.dm +++ b/code/modules/admin/admin_verbs.dm @@ -78,8 +78,11 @@ GLOBAL_PROTECT(admin_verbs_admin) /client/proc/mark_datum_mapview, /client/proc/hide_verbs, /*hides all our adminverbs*/ /client/proc/hide_most_verbs, /*hides all our hideable adminverbs*/ - /datum/admins/proc/open_borgopanel + /datum/admins/proc/open_borgopanel, + /client/proc/admin_cmd_respawn_return_to_lobby, + /client/proc/admin_cmd_remove_ghost_respawn_timer ) + GLOBAL_LIST_INIT(admin_verbs_ban, list(/client/proc/unban_panel, /client/proc/DB_ban_panel, /client/proc/stickybanpanel)) GLOBAL_PROTECT(admin_verbs_ban) GLOBAL_LIST_INIT(admin_verbs_sounds, list(/client/proc/play_local_sound, /client/proc/play_sound, /client/proc/manual_play_web_sound, /client/proc/set_round_end_sound)) diff --git a/code/modules/admin/check_antagonists.dm b/code/modules/admin/check_antagonists.dm index c5861b95e1..532a11a532 100644 --- a/code/modules/admin/check_antagonists.dm +++ b/code/modules/admin/check_antagonists.dm @@ -212,4 +212,4 @@ dat += build_antag_listing() dat += "" - usr << browse(dat.Join(), "window=roundstatus;size=500x500") \ No newline at end of file + usr << browse(dat.Join(), "window=roundstatus;size=500x500") diff --git a/code/modules/admin/holder2.dm b/code/modules/admin/holder2.dm index 09f9664295..8f4a9742ea 100644 --- a/code/modules/admin/holder2.dm +++ b/code/modules/admin/holder2.dm @@ -28,6 +28,11 @@ GLOBAL_PROTECT(href_token) var/deadmined +/datum/admins/CanProcCall(procname) + . = ..() + if(!check_rights(R_SENSITIVE)) + return FALSE + /datum/admins/New(datum/admin_rank/R, ckey, force_active = FALSE, protected) if(IsAdminAdvancedProcCall()) var/msg = " has tried to elevate permissions!" @@ -147,6 +152,8 @@ GLOBAL_PROTECT(href_token) return 0 /datum/admins/vv_edit_var(var_name, var_value) + if(var_name == NAMEOF(src, fakekey)) + return ..() return FALSE //nice try trialmin /* diff --git a/code/modules/admin/permissionedit.dm b/code/modules/admin/permissionedit.dm index 346f0e9790..05f7465b03 100644 --- a/code/modules/admin/permissionedit.dm +++ b/code/modules/admin/permissionedit.dm @@ -287,7 +287,7 @@ R = rank_names[new_rank] if(!R) //rank with that name doesn't exist yet - make it if(D) - R = new(new_rank, D.rank.rights) //duplicate our previous admin_rank but with a new name + R = new(new_rank, D.rank.rights, D.rank.exclude_rights, D.rank.can_edit_rights) //duplicate our previous admin_rank but with a new name else R = new(new_rank) //blank new admin_rank GLOB.admin_ranks += R diff --git a/code/modules/admin/secrets.dm b/code/modules/admin/secrets.dm index 41662c1cad..ffe5371619 100644 --- a/code/modules/admin/secrets.dm +++ b/code/modules/admin/secrets.dm @@ -131,7 +131,7 @@ for(var/mob/living/mob in thunderdome) qdel(mob) //Clear mobs for(var/obj/obj in thunderdome) - if(!istype(obj, /obj/machinery/camera)) + if(!istype(obj, /obj/machinery/camera) && !istype(obj, /obj/effect/abstract/proximity_checker)) qdel(obj) //Clear objects var/area/template = locate(/area/tdome/arena_source) diff --git a/code/modules/admin/sql_message_system.dm b/code/modules/admin/sql_message_system.dm index 356746ddbc..4218d4238f 100644 --- a/code/modules/admin/sql_message_system.dm +++ b/code/modules/admin/sql_message_system.dm @@ -298,7 +298,9 @@ browse_messages(target_ckey = ckey(target_key), agegate = TRUE) qdel(query_find_message_secret) -/proc/browse_messages(type, target_ckey, index, linkless = FALSE, filter, agegate = FALSE) +/proc/browse_messages(type, target_ckey, index, linkless = FALSE, filter, agegate = FALSE, override = FALSE) + if((!override || IsAdminAdvancedProcCall()) && !check_rights(R_SENSITIVE)) + return if(!SSdbcore.Connect()) to_chat(usr, "Failed to establish database connection.") return diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index ad8dd168eb..e0434a6fea 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -936,6 +936,12 @@ else dat += "" + //Respawns + if(jobban_isbanned(M, ROLE_RESPAWN)) + dat += "" + else + dat += "" + dat += "
Damage:BruteBurnToxin[HAS_TRAIT(C, TRAIT_ROBOTIC_ORGANISM) ? "Corruption" :"Toxin"]Suffocation
Overall:[brute_loss]Mind Transfer PotionRespawnsRespawns
" usr << browse(dat, "window=jobban2;size=800x450") return @@ -1799,12 +1805,15 @@ if(alert(usr, "Send [key_name(M)] back to Lobby?", "Message", "Yes", "No") != "Yes") return - log_admin("[key_name(usr)] has sent [key_name(M)] back to the Lobby.") - message_admins("[key_name(usr)] has sent [key_name(M)] back to the Lobby.") + log_admin("[key_name(usr)] has sent [key_name(M)] back to the Lobby, removing their respawn restrictions if they existed.") + message_admins("[key_name(usr)] has sent [key_name(M)] back to the Lobby, removing their respawn restrictions if they existed.") var/mob/dead/new_player/NP = new() NP.ckey = M.ckey qdel(M) + if(GLOB.preferences_datums[NP.ckey]) + var/datum/preferences/P = GLOB.preferences_datums[NP.ckey] + P.respawn_restrictions_active = FALSE else if(href_list["tdome1"]) if(!check_rights(R_FUN)) diff --git a/code/modules/admin/verbs/cinematic.dm b/code/modules/admin/verbs/cinematic.dm index 123e9877f7..b23cd0af0b 100644 --- a/code/modules/admin/verbs/cinematic.dm +++ b/code/modules/admin/verbs/cinematic.dm @@ -8,4 +8,4 @@ var/datum/cinematic/choice = input(src,"Cinematic","Choose",null) as anything in subtypesof(/datum/cinematic) if(choice) - Cinematic(initial(choice.id),world,null) \ No newline at end of file + Cinematic(initial(choice.id),world,null) diff --git a/code/modules/admin/verbs/deadsay.dm b/code/modules/admin/verbs/deadsay.dm index e3937e19b6..1cddbe9509 100644 --- a/code/modules/admin/verbs/deadsay.dm +++ b/code/modules/admin/verbs/deadsay.dm @@ -23,13 +23,6 @@ var/rendered = "DEAD: [uppertext(holder.rank)]([src.holder.fakekey ? pick(nicknames) : src.key]) says, \"[emoji_parse(msg)]\"" - // var/rank_name = holder.rank - // var/admin_name = key - // if(holder.fakekey) - // rank_name = pick(strings("admin_nicknames.json", "ranks", "config")) please use this soon. - // admin_name = pick(strings("admin_nicknames.json", "names", "config")) - // var/rendered = "DEAD: [rank_name]([admin_name]) says, \"[emoji_parse(msg)]\"" - for (var/mob/M in GLOB.player_list) if(isnewplayer(M)) continue diff --git a/code/modules/admin/verbs/getlogs.dm b/code/modules/admin/verbs/getlogs.dm index 4cbb0214f7..446dbcc69a 100644 --- a/code/modules/admin/verbs/getlogs.dm +++ b/code/modules/admin/verbs/getlogs.dm @@ -14,6 +14,8 @@ browseserverlogs("[GLOB.log_directory]/") /client/proc/browseserverlogs(path = "data/logs/") + if(!check_rights(R_SENSITIVE)) + return path = browse_files(path) if(!path) return diff --git a/code/modules/admin/verbs/individual_logging.dm b/code/modules/admin/verbs/individual_logging.dm index 7fe4c070d2..9ad07ac1b2 100644 --- a/code/modules/admin/verbs/individual_logging.dm +++ b/code/modules/admin/verbs/individual_logging.dm @@ -5,7 +5,7 @@ var/ntype = text2num(type) //Add client links - var/dat = "" + var/list/dat = list() if(M.client) dat += "

Client

" dat += "
" @@ -46,22 +46,27 @@ var/log_source = M.logging; if(source == LOGSRC_CLIENT && M.client) //if client doesn't exist just fall back to the mob log log_source = M.client.player_details.logging //should exist, if it doesn't that's a bug, don't check for it not existing - + var/list/concatenated_logs = list() for(var/log_type in log_source) var/nlog_type = text2num(log_type) if(nlog_type & ntype) - var/list/reversed = log_source[log_type] - if(islist(reversed)) - reversed = reverseRange(reversed.Copy()) - for(var/entry in reversed) - dat += "[entry]
[reversed[entry]]

" - dat += "
" + var/list/all_the_entrys = log_source[log_type] + for(var/entry in all_the_entrys) + concatenated_logs += "[entry]
[all_the_entrys[entry]]" + if(length(concatenated_logs)) + sortTim(concatenated_logs, cmp = /proc/cmp_text_dsc) //Sort by timestamp. + dat += "" + dat += concatenated_logs.Join("
") + dat += "
" - usr << browse(dat, "window=invidual_logging_[key_name(M)];size=600x480") + var/datum/browser/popup = new(usr, "invidual_logging_[key_name(M)]", "Individual Logs", 600, 600) + popup.set_content(dat.Join()) + popup.open() /proc/individual_logging_panel_link(mob/M, log_type, log_src, label, selected_src, selected_type) var/slabel = label if(selected_type == log_type && selected_src == log_src) slabel = "\[[label]\]" - - return "[slabel]" \ No newline at end of file + //This is necessary because num2text drops digits and rounds on big numbers. If more defines get added in the future it could break again. + log_type = num2text(log_type, MAX_BITFLAG_DIGITS) + return "[slabel]" diff --git a/code/modules/admin/verbs/maprotation.dm b/code/modules/admin/verbs/maprotation.dm index ed9d23a84d..af8bd6e9fb 100644 --- a/code/modules/admin/verbs/maprotation.dm +++ b/code/modules/admin/verbs/maprotation.dm @@ -41,4 +41,4 @@ message_admins("[key_name_admin(usr)] is changing the map to [VM.map_name]") log_admin("[key_name(usr)] is changing the map to [VM.map_name]") if (SSmapping.changemap(VM) == 0) - message_admins("[key_name_admin(usr)] has changed the map to [VM.map_name]") \ No newline at end of file + message_admins("[key_name_admin(usr)] has changed the map to [VM.map_name]") diff --git a/code/modules/admin/verbs/onlyone.dm b/code/modules/admin/verbs/onlyone.dm index f59d776a93..3860706538 100644 --- a/code/modules/admin/verbs/onlyone.dm +++ b/code/modules/admin/verbs/onlyone.dm @@ -28,4 +28,4 @@ GLOBAL_VAR_INIT(highlander, FALSE) addtimer(CALLBACK(src, .proc/only_one), 420) /mob/living/carbon/human/proc/make_scottish() - mind.add_antag_datum(/datum/antagonist/highlander) \ No newline at end of file + mind.add_antag_datum(/datum/antagonist/highlander) diff --git a/code/modules/admin/verbs/pray.dm b/code/modules/admin/verbs/pray.dm index f3da1954a9..e532dcc2b2 100644 --- a/code/modules/admin/verbs/pray.dm +++ b/code/modules/admin/verbs/pray.dm @@ -48,6 +48,8 @@ if(C.prefs.toggles & SOUND_PRAYERS) if(usr.job == "Chaplain") SEND_SOUND(C, sound('sound/effects/pray.ogg')) + else + SEND_SOUND(C, sound('sound/effects/ding.ogg')) to_chat(usr, "You pray to the gods: \"[msg_tmp]\"") SSblackbox.record_feedback("tally", "admin_verb", 1, "Prayer") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! diff --git a/code/modules/admin/verbs/randomverbs.dm b/code/modules/admin/verbs/randomverbs.dm index d1f6d18e09..84702898ec 100644 --- a/code/modules/admin/verbs/randomverbs.dm +++ b/code/modules/admin/verbs/randomverbs.dm @@ -1347,7 +1347,8 @@ GLOBAL_LIST_EMPTY(custom_outfits) //Admin created outfits new /obj/effect/immovablerod(startT, endT,target) if(ADMIN_PUNISHMENT_SUPPLYPOD_QUICK) var/target_path = input(usr,"Enter typepath of an atom you'd like to send with the pod (type \"empty\" to send an empty pod):" ,"Typepath","/obj/item/reagent_containers/food/snacks/grown/harebell") as null|text - var/obj/structure/closet/supplypod/centcompod/pod = new() + var/area/pod_storage_area = locate(/area/centcom/supplypod/podStorage) in GLOB.sortedAreas + var/obj/structure/closet/supplypod/centcompod/pod = new(pick(get_area_turfs(pod_storage_area))) //Lets not runtime pod.damage = 40 pod.explosionSize = list(0,0,0,2) pod.effectStun = TRUE diff --git a/code/modules/admin/verbs/reestablish_db_connection.dm b/code/modules/admin/verbs/reestablish_db_connection.dm index b00f0e2ccb..2090902ebc 100644 --- a/code/modules/admin/verbs/reestablish_db_connection.dm +++ b/code/modules/admin/verbs/reestablish_db_connection.dm @@ -27,4 +27,4 @@ if(!SSdbcore.Connect()) message_admins("Database connection failed: " + SSdbcore.ErrorMsg()) else - message_admins("Database connection re-established") \ No newline at end of file + message_admins("Database connection re-established") diff --git a/code/modules/admin/view_variables/debug_variables.dm b/code/modules/admin/view_variables/debug_variables.dm index ab9f4a534c..a7c191de58 100644 --- a/code/modules/admin/view_variables/debug_variables.dm +++ b/code/modules/admin/view_variables/debug_variables.dm @@ -93,4 +93,4 @@ return "[header][item]" -#undef VV_HTML_ENCODE \ No newline at end of file +#undef VV_HTML_ENCODE diff --git a/code/modules/admin/view_variables/topic.dm b/code/modules/admin/view_variables/topic.dm index 9f61781f01..d7e893ec03 100644 --- a/code/modules/admin/view_variables/topic.dm +++ b/code/modules/admin/view_variables/topic.dm @@ -98,7 +98,7 @@ L.adjustFireLoss(amount) newamt = L.getFireLoss() if("toxin") - L.adjustToxLoss(amount) + L.adjustToxLoss(amount, toxins_type = TOX_OMNI, forced = TRUE) newamt = L.getToxLoss() if("oxygen") L.adjustOxyLoss(amount) diff --git a/code/modules/antagonists/_common/antag_helpers.dm b/code/modules/antagonists/_common/antag_helpers.dm index d99920b9e2..b10df46348 100644 --- a/code/modules/antagonists/_common/antag_helpers.dm +++ b/code/modules/antagonists/_common/antag_helpers.dm @@ -16,4 +16,4 @@ continue var/datum/team/T = A.get_team() if(!team_type || istype(T,team_type)) - . |= T \ No newline at end of file + . |= T diff --git a/code/modules/antagonists/_common/antag_hud.dm b/code/modules/antagonists/_common/antag_hud.dm index de6d0a4f81..d87824f9a5 100644 --- a/code/modules/antagonists/_common/antag_hud.dm +++ b/code/modules/antagonists/_common/antag_hud.dm @@ -50,4 +50,4 @@ /datum/mind/proc/leave_all_antag_huds() for(var/datum/atom_hud/antag/hud in GLOB.huds) if(hud.hudusers[current]) - hud.leave_hud(current) \ No newline at end of file + hud.leave_hud(current) diff --git a/code/modules/antagonists/_common/antag_spawner.dm b/code/modules/antagonists/_common/antag_spawner.dm index edfa9caa22..bcba1e1e1e 100644 --- a/code/modules/antagonists/_common/antag_spawner.dm +++ b/code/modules/antagonists/_common/antag_spawner.dm @@ -38,7 +38,7 @@ dat += "Robeless
" dat += "Your apprentice is training to cast spells without their robes. They know Knock and Mindswap.
" dat += "Martial Artist
" - dat += "Your apprentice is training in ancient martial arts. They know the Plasmafist and Nuclear Fist.
" + dat += "Your apprentice is training in ancient martial arts. They know an Inner Mantra and the Nuclear Fist technique.
" user << browse(dat, "window=radio") onclose(user, "radio") return diff --git a/code/modules/antagonists/abductor/equipment/abduction_surgery.dm b/code/modules/antagonists/abductor/equipment/abduction_surgery.dm index 971051588e..9205198c4f 100644 --- a/code/modules/antagonists/abductor/equipment/abduction_surgery.dm +++ b/code/modules/antagonists/abductor/equipment/abduction_surgery.dm @@ -2,22 +2,27 @@ name = "experimental organ replacement" steps = list(/datum/surgery_step/incise, /datum/surgery_step/clamp_bleeders, /datum/surgery_step/retract_skin, /datum/surgery_step/incise, /datum/surgery_step/extract_organ, /datum/surgery_step/gland_insert) possible_locs = list(BODY_ZONE_CHEST) - ignore_clothes = 1 + ignore_clothes = TRUE /datum/surgery/organ_extraction/can_start(mob/user, mob/living/carbon/target) if(!ishuman(user)) - return 0 + return FALSE var/mob/living/carbon/human/H = user if(H.dna.species.id == "abductor") - return 1 + return TRUE for(var/obj/item/implant/abductor/A in H.implants) - return 1 - return 0 + return TRUE + return FALSE + +/datum/surgery/organ_extraction/mechanic + name = "Prosthesis experimental organ replacement" + requires_bodypart_type = BODYPART_ROBOTIC + steps = list(/datum/surgery_step/mechanic_open, /datum/surgery_step/open_hatch, /datum/surgery_step/mechanic_unwrench, /datum/surgery_step/prepare_electronics, /datum/surgery_step/extract_organ, /datum/surgery_step/gland_insert) /datum/surgery_step/extract_organ name = "remove heart" - accept_hand = 1 + accept_hand = TRUE time = 32 var/obj/item/organ/IC = null var/list/organ_types = list(/obj/item/organ/heart) @@ -34,10 +39,10 @@ user.visible_message("[user] pulls [IC] out of [target]'s [target_zone]!", "You pull [IC] out of [target]'s [target_zone].") user.put_in_hands(IC) IC.Remove() - return 1 + return TRUE else to_chat(user, "You don't find anything in [target]'s [target_zone]!") - return 1 + return TRUE /datum/surgery_step/gland_insert name = "insert gland" @@ -52,4 +57,4 @@ user.temporarilyRemoveItemFromInventory(tool, TRUE) var/obj/item/organ/heart/gland/gland = tool gland.Insert(target, 2) - return 1 \ No newline at end of file + return TRUE diff --git a/code/modules/antagonists/abductor/equipment/gland.dm b/code/modules/antagonists/abductor/equipment/gland.dm index d9ae678bb9..aed096e9df 100644 --- a/code/modules/antagonists/abductor/equipment/gland.dm +++ b/code/modules/antagonists/abductor/equipment/gland.dm @@ -110,4 +110,4 @@ active = 0 /obj/item/organ/heart/gland/proc/activate() - return \ No newline at end of file + return diff --git a/code/modules/antagonists/abductor/equipment/glands/access.dm b/code/modules/antagonists/abductor/equipment/glands/access.dm index c795233dc9..ccef04b091 100644 --- a/code/modules/antagonists/abductor/equipment/glands/access.dm +++ b/code/modules/antagonists/abductor/equipment/glands/access.dm @@ -17,4 +17,4 @@ /obj/item/organ/heart/gland/access/Remove(special = FALSE) if(!QDELETED(owner)) UnregisterSignal(owner, COMSIG_MOB_ALLOWED) - return ..() \ No newline at end of file + return ..() diff --git a/code/modules/antagonists/abductor/equipment/glands/blood.dm b/code/modules/antagonists/abductor/equipment/glands/blood.dm index 06b8249484..2e4803e0e9 100644 --- a/code/modules/antagonists/abductor/equipment/glands/blood.dm +++ b/code/modules/antagonists/abductor/equipment/glands/blood.dm @@ -15,4 +15,4 @@ var/mob/living/carbon/human/H = owner var/datum/species/species = H.dna.species to_chat(H, "You feel your blood heat up for a moment.") - species.exotic_blood = get_random_reagent_id() \ No newline at end of file + species.exotic_blood = get_random_reagent_id() diff --git a/code/modules/antagonists/abductor/equipment/glands/chem.dm b/code/modules/antagonists/abductor/equipment/glands/chem.dm index e7b6fda85f..b651b45f6d 100644 --- a/code/modules/antagonists/abductor/equipment/glands/chem.dm +++ b/code/modules/antagonists/abductor/equipment/glands/chem.dm @@ -17,4 +17,4 @@ var/chem_to_add = pick(possible_reagents) owner.reagents.add_reagent(chem_to_add, 2) owner.adjustToxLoss(-5, TRUE, TRUE) - ..() \ No newline at end of file + ..() diff --git a/code/modules/antagonists/abductor/equipment/glands/egg.dm b/code/modules/antagonists/abductor/equipment/glands/egg.dm index 429a24b19c..e3b0c835f2 100644 --- a/code/modules/antagonists/abductor/equipment/glands/egg.dm +++ b/code/modules/antagonists/abductor/equipment/glands/egg.dm @@ -12,4 +12,4 @@ /obj/item/organ/heart/gland/egg/activate() owner.visible_message("[owner] [pick(EGG_LAYING_MESSAGES)]") var/turf/T = owner.drop_location() - new /obj/item/reagent_containers/food/snacks/egg/gland(T) \ No newline at end of file + new /obj/item/reagent_containers/food/snacks/egg/gland(T) diff --git a/code/modules/antagonists/abductor/equipment/glands/electric.dm b/code/modules/antagonists/abductor/equipment/glands/electric.dm index 7e52f6fcb6..9de0b96930 100644 --- a/code/modules/antagonists/abductor/equipment/glands/electric.dm +++ b/code/modules/antagonists/abductor/equipment/glands/electric.dm @@ -24,4 +24,4 @@ /obj/item/organ/heart/gland/electric/proc/zap() tesla_zap(owner, 4, 8000, ZAP_MOB_DAMAGE | ZAP_OBJ_DAMAGE | ZAP_MOB_STUN) - playsound(get_turf(owner), 'sound/magic/lightningshock.ogg', 50, TRUE) \ No newline at end of file + playsound(get_turf(owner), 'sound/magic/lightningshock.ogg', 50, TRUE) diff --git a/code/modules/antagonists/abductor/equipment/glands/heal.dm b/code/modules/antagonists/abductor/equipment/glands/heal.dm index 0fcd1169d8..5ea8f77d6c 100644 --- a/code/modules/antagonists/abductor/equipment/glands/heal.dm +++ b/code/modules/antagonists/abductor/equipment/glands/heal.dm @@ -175,4 +175,4 @@ var/obj/item/bodypart/chest/new_chest = new(null) new_chest.replace_limb(owner, TRUE) - qdel(chest) \ No newline at end of file + qdel(chest) diff --git a/code/modules/antagonists/abductor/equipment/glands/mindshock.dm b/code/modules/antagonists/abductor/equipment/glands/mindshock.dm index f8b91343f2..fa63e2c82a 100644 --- a/code/modules/antagonists/abductor/equipment/glands/mindshock.dm +++ b/code/modules/antagonists/abductor/equipment/glands/mindshock.dm @@ -61,4 +61,4 @@ to_chat(H, "You feel the compulsion fade, and you completely forget about your previous orders.") H.clear_alert("mind_control") active_mind_control = FALSE - return TRUE \ No newline at end of file + return TRUE diff --git a/code/modules/antagonists/abductor/equipment/glands/plasma.dm b/code/modules/antagonists/abductor/equipment/glands/plasma.dm index 4a30d99d44..fe8b06ac77 100644 --- a/code/modules/antagonists/abductor/equipment/glands/plasma.dm +++ b/code/modules/antagonists/abductor/equipment/glands/plasma.dm @@ -19,4 +19,4 @@ var/turf/open/T = get_turf(owner) if(istype(T)) T.atmos_spawn_air("plasma=50;TEMP=[T20C]") - owner.vomit() \ No newline at end of file + owner.vomit() diff --git a/code/modules/antagonists/abductor/equipment/glands/quantum.dm b/code/modules/antagonists/abductor/equipment/glands/quantum.dm index a5b8815437..fc1ddae030 100644 --- a/code/modules/antagonists/abductor/equipment/glands/quantum.dm +++ b/code/modules/antagonists/abductor/equipment/glands/quantum.dm @@ -44,4 +44,4 @@ if(active_mind_control) to_chat(entangled_mob, "You feel the compulsion fade, and you completely forget about your previous orders.") entangled_mob.clear_alert("mind_control") - ..() \ No newline at end of file + ..() diff --git a/code/modules/antagonists/abductor/equipment/glands/slime.dm b/code/modules/antagonists/abductor/equipment/glands/slime.dm index 2df4a1fab9..36732d5fe0 100644 --- a/code/modules/antagonists/abductor/equipment/glands/slime.dm +++ b/code/modules/antagonists/abductor/equipment/glands/slime.dm @@ -23,4 +23,4 @@ var/mob/living/simple_animal/slime/Slime = new(get_turf(owner), "grey") Slime.Friends = list(owner) - Slime.Leader = owner \ No newline at end of file + Slime.Leader = owner diff --git a/code/modules/antagonists/abductor/equipment/glands/spider.dm b/code/modules/antagonists/abductor/equipment/glands/spider.dm index f0421b23b2..7c3c60eb4d 100644 --- a/code/modules/antagonists/abductor/equipment/glands/spider.dm +++ b/code/modules/antagonists/abductor/equipment/glands/spider.dm @@ -11,4 +11,4 @@ to_chat(owner, "You feel something crawling in your skin.") owner.faction |= "spiders" var/obj/structure/spider/spiderling/S = new(owner.drop_location()) - S.directive = "Protect your nest inside [owner.real_name]." \ No newline at end of file + S.directive = "Protect your nest inside [owner.real_name]." diff --git a/code/modules/antagonists/abductor/equipment/glands/transform.dm b/code/modules/antagonists/abductor/equipment/glands/transform.dm index 05c4760d37..1823ee5fed 100644 --- a/code/modules/antagonists/abductor/equipment/glands/transform.dm +++ b/code/modules/antagonists/abductor/equipment/glands/transform.dm @@ -12,4 +12,4 @@ to_chat(owner, "You feel unlike yourself.") randomize_human(owner) var/species = pick(list(/datum/species/human, /datum/species/lizard, /datum/species/insect, /datum/species/fly)) - owner.set_species(species) \ No newline at end of file + owner.set_species(species) diff --git a/code/modules/antagonists/abductor/equipment/glands/ventcrawl.dm b/code/modules/antagonists/abductor/equipment/glands/ventcrawl.dm index d1ea135497..8ac083f68b 100644 --- a/code/modules/antagonists/abductor/equipment/glands/ventcrawl.dm +++ b/code/modules/antagonists/abductor/equipment/glands/ventcrawl.dm @@ -9,4 +9,4 @@ /obj/item/organ/heart/gland/ventcrawling/activate() to_chat(owner, "You feel very stretchy.") - owner.ventcrawler = VENTCRAWLER_ALWAYS \ No newline at end of file + owner.ventcrawler = VENTCRAWLER_ALWAYS diff --git a/code/modules/antagonists/abductor/equipment/glands/viral.dm b/code/modules/antagonists/abductor/equipment/glands/viral.dm index 4d4f865a7c..1b6781b578 100644 --- a/code/modules/antagonists/abductor/equipment/glands/viral.dm +++ b/code/modules/antagonists/abductor/equipment/glands/viral.dm @@ -31,4 +31,4 @@ var/datum/symptom/S = new chosen_symptom A.symptoms += S A.Refresh() //just in case someone already made and named the same disease - return A \ No newline at end of file + return A diff --git a/code/modules/antagonists/abductor/ice_abductor.dm b/code/modules/antagonists/abductor/ice_abductor.dm index 426e4057eb..2132e6c574 100644 --- a/code/modules/antagonists/abductor/ice_abductor.dm +++ b/code/modules/antagonists/abductor/ice_abductor.dm @@ -9,4 +9,4 @@ /obj/structure/fluff/iced_abductor/Destroy() var/turf/T = get_turf(src) new /obj/effect/mob_spawn/human/abductor(T) - . = ..() \ No newline at end of file + . = ..() diff --git a/code/modules/antagonists/blob/blob/blobs/resource.dm b/code/modules/antagonists/blob/blob/blobs/resource.dm index 76aecf717d..2ed9744327 100644 --- a/code/modules/antagonists/blob/blob/blobs/resource.dm +++ b/code/modules/antagonists/blob/blob/blobs/resource.dm @@ -26,7 +26,7 @@ return flick("blob_resource_glow", src) if(overmind) - overmind.add_points(1) + overmind.add_points(2) resource_delay = world.time + 40 + overmind.resource_blobs.len * 2.5 //4 seconds plus a quarter second for each resource blob the overmind has else resource_delay = world.time + 40 diff --git a/code/modules/antagonists/blob/blob/blobs/shield.dm b/code/modules/antagonists/blob/blob/blobs/shield.dm index a3a1403e58..38e6edc6d4 100644 --- a/code/modules/antagonists/blob/blob/blobs/shield.dm +++ b/code/modules/antagonists/blob/blob/blobs/shield.dm @@ -45,8 +45,12 @@ desc = "A solid wall of slightly twitching tendrils with a reflective glow." damaged_desc = "A wall of twitching tendrils with a reflective glow." icon_state = "blob_glow" + flags_1 = DEFAULT_RICOCHET_1 flags_ricochet = RICOCHET_SHINY point_return = 8 max_integrity = 100 brute_resist = 1 explosion_block = 2 + +/obj/structure/blob/shield/reflective/check_projectile_ricochet(obj/item/projectile/P) + return PROJECTILE_RICOCHET_FORCE diff --git a/code/modules/antagonists/blob/blob/powers.dm b/code/modules/antagonists/blob/blob/powers.dm index dff8e22552..cd53f624a6 100644 --- a/code/modules/antagonists/blob/blob/powers.dm +++ b/code/modules/antagonists/blob/blob/powers.dm @@ -147,7 +147,7 @@ set category = "Blob" set name = "Create Factory Blob (60)" set desc = "Create a spore tower that will spawn spores to harass your enemies." - createSpecial(60, /obj/structure/blob/factory, 7, 1) + createSpecial(60, /obj/structure/blob/factory, 5, 1) /mob/camera/blob/verb/create_blobbernaut() set category = "Blob" @@ -195,6 +195,7 @@ to_chat(blobber, "The [blobstrain.name] reagent [blobstrain.shortdesc ? "[blobstrain.shortdesc]" : "[blobstrain.description]"]") else to_chat(src, "You could not conjure a sentience for your blobbernaut. Your points have been refunded. Try again later.") + B.naut = FALSE add_points(40) /mob/camera/blob/verb/relocate_core() diff --git a/code/modules/antagonists/bloodsucker/bloodsucker_flaws.dm b/code/modules/antagonists/bloodsucker/bloodsucker_flaws.dm index 77169efd61..2c06f42ed9 100644 --- a/code/modules/antagonists/bloodsucker/bloodsucker_flaws.dm +++ b/code/modules/antagonists/bloodsucker/bloodsucker_flaws.dm @@ -81,4 +81,4 @@ /datum/antagonist/bloodsucker/proc/AssignRandomBane() - return \ No newline at end of file + return diff --git a/code/modules/antagonists/bloodsucker/bloodsucker_life.dm b/code/modules/antagonists/bloodsucker/bloodsucker_life.dm index 4117fc2b36..3e358cd795 100644 --- a/code/modules/antagonists/bloodsucker/bloodsucker_life.dm +++ b/code/modules/antagonists/bloodsucker/bloodsucker_life.dm @@ -120,9 +120,14 @@ if(bruteheal + fireheal + toxinheal > 0) // Just a check? Don't heal/spend, and return. if(mult == 0) return TRUE + // We have damage. Let's heal (one time) - C.adjustBruteLoss(-bruteheal * mult, forced = TRUE)// Heal BRUTE / BURN in random portions throughout the body. - C.adjustFireLoss(-fireheal * mult, forced = TRUE) + var/list/damaged_parts = C.get_damaged_bodyparts(TRUE,TRUE, status = list(BODYPART_ORGANIC, BODYPART_HYBRID, BODYPART_NANITES)) + if(damaged_parts.len) + for(var/obj/item/bodypart/part in damaged_parts) // Heal BRUTE / BURN equally distibuted over all damaged bodyparts. + part.heal_damage((bruteheal * mult)/damaged_parts.len, (fireheal * mult)/damaged_parts.len, only_organic = FALSE, updating_health = FALSE) + C.updatehealth() + C.update_damage_overlays() C.adjustToxLoss(-toxinheal * mult * 2, forced = TRUE) //Toxin healing because vamps arent immune //C.heal_overall_damage(bruteheal * mult, fireheal * mult) // REMOVED: We need to FORCE this, because otherwise, vamps won't heal EVER. Swapped to above. AddBloodVolume((bruteheal * -0.5 + fireheal * -1 + toxinheal * -0.2) / mult * costMult) // Costs blood to heal @@ -276,7 +281,7 @@ /datum/antagonist/bloodsucker/proc/FinalDeath() //Dont bother if we are already supposed to be dead if(FinalDeath) - return + return FinalDeath = TRUE //We are now supposed to die. Lets not spam it. if(!iscarbon(owner.current)) //Check for non carbons. owner.current.gib() diff --git a/code/modules/antagonists/bloodsucker/bloodsucker_powers.dm b/code/modules/antagonists/bloodsucker/bloodsucker_powers.dm index 26c8bd5949..2fb7a2ccca 100644 --- a/code/modules/antagonists/bloodsucker/bloodsucker_powers.dm +++ b/code/modules/antagonists/bloodsucker/bloodsucker_powers.dm @@ -30,6 +30,7 @@ var/can_be_staked = FALSE // Only Feed can happen with a stake in you. var/cooldown_static = FALSE // Feed, Masquerade, and One-Shot powers don't improve their cooldown. //var/not_bloodsucker = FALSE // This goes to Vassals or Hunters, but NOT bloodsuckers. + var/must_be_concious = TRUE //Can't use this ability while unconcious. /datum/action/bloodsucker/New() if(bloodcost > 0) @@ -101,6 +102,11 @@ if(display_error) to_chat(owner, "Garlic in your blood is interfering with your powers!") return FALSE + if(must_be_concious) + if(owner.stat != CONSCIOUS) + if(display_error) + to_chat(owner, "You can't do this while you are unconcious!") + return FALSE // Incap? if(must_be_capacitated) var/mob/living/L = owner diff --git a/code/modules/antagonists/bloodsucker/bloodsucker_ui.dm b/code/modules/antagonists/bloodsucker/bloodsucker_ui.dm index b922af6066..486ae51117 100644 --- a/code/modules/antagonists/bloodsucker/bloodsucker_ui.dm +++ b/code/modules/antagonists/bloodsucker/bloodsucker_ui.dm @@ -113,4 +113,4 @@ popup.set_content(dat) popup.set_title_image(user.browse_rsc_icon(icon, icon_state)) popup.open() -*/ \ No newline at end of file +*/ diff --git a/code/modules/antagonists/bloodsucker/powers/go_home.dm b/code/modules/antagonists/bloodsucker/powers/go_home.dm index c46a7fce6c..a8060ad07e 100644 --- a/code/modules/antagonists/bloodsucker/powers/go_home.dm +++ b/code/modules/antagonists/bloodsucker/powers/go_home.dm @@ -16,6 +16,7 @@ can_use_in_torpor = TRUE must_be_capacitated = TRUE can_be_immobilized = TRUE + must_be_concious = FALSE /datum/action/bloodsucker/gohome/CheckCanUse(display_error) . = ..() diff --git a/code/modules/antagonists/bloodsucker/powers/masquerade.dm b/code/modules/antagonists/bloodsucker/powers/masquerade.dm index d83f938e3f..f4ce531ef0 100644 --- a/code/modules/antagonists/bloodsucker/powers/masquerade.dm +++ b/code/modules/antagonists/bloodsucker/powers/masquerade.dm @@ -27,6 +27,7 @@ warn_constant_cost = TRUE can_use_in_torpor = TRUE // Masquerade is maybe the only one that can do this. It stops your healing. cooldown_static = TRUE + must_be_concious = FALSE // NOTE: Firing off vulgar powers disables your Masquerade! diff --git a/code/modules/antagonists/changeling/changeling.dm b/code/modules/antagonists/changeling/changeling.dm index 8f4e7ef3d6..dacd568993 100644 --- a/code/modules/antagonists/changeling/changeling.dm +++ b/code/modules/antagonists/changeling/changeling.dm @@ -18,7 +18,6 @@ var/list/stored_profiles = list() //list of datum/changelingprofile var/datum/changelingprofile/first_prof = null - var/dna_max = 6 //How many extra DNA strands the changeling can store for transformation. var/absorbedcount = 0 /// did we get succed by another changeling var/hostile_absorbed = FALSE @@ -252,12 +251,6 @@ var/mob/living/carbon/user = owner.current if(!istype(user)) return - if(stored_profiles.len) - var/datum/changelingprofile/prof = stored_profiles[1] - if(prof.dna == user.dna && stored_profiles.len >= dna_max)//If our current DNA is the stalest, we gotta ditch it. - if(verbose) - to_chat(user, "We have reached our capacity to store genetic information! We must transform before absorbing more.") - return if(!target) return if(NO_DNA_COPY in target.dna.species.species_traits) @@ -317,9 +310,6 @@ return prof /datum/antagonist/changeling/proc/add_profile(datum/changelingprofile/prof) - if(stored_profiles.len > dna_max) - if(!push_out_profile()) - return if(!first_prof) first_prof = prof @@ -340,19 +330,6 @@ stored_profiles -= prof qdel(prof) -/datum/antagonist/changeling/proc/get_profile_to_remove() - for(var/datum/changelingprofile/prof in stored_profiles) - if(!prof.protected) - return prof - -/datum/antagonist/changeling/proc/push_out_profile() - var/datum/changelingprofile/removeprofile = get_profile_to_remove() - if(removeprofile) - stored_profiles -= removeprofile - return 1 - return 0 - - /datum/antagonist/changeling/proc/create_initial_profile() var/mob/living/carbon/C = owner.current //only carbons have dna now, so we have to typecaste if(ishuman(C)) diff --git a/code/modules/antagonists/changeling/powers/digitalcamo.dm b/code/modules/antagonists/changeling/powers/digitalcamo.dm index 6a0f78b532..e44a7c0aa5 100644 --- a/code/modules/antagonists/changeling/powers/digitalcamo.dm +++ b/code/modules/antagonists/changeling/powers/digitalcamo.dm @@ -24,4 +24,4 @@ /obj/effect/proc_holder/changeling/digitalcamo/on_refund(mob/user) action.Remove(user) user.digitalcamo = 0 - user.digitalinvis = 0 \ No newline at end of file + user.digitalinvis = 0 diff --git a/code/modules/antagonists/changeling/powers/fakedeath.dm b/code/modules/antagonists/changeling/powers/fakedeath.dm index da626bcf1c..08dc85efbf 100644 --- a/code/modules/antagonists/changeling/powers/fakedeath.dm +++ b/code/modules/antagonists/changeling/powers/fakedeath.dm @@ -16,7 +16,7 @@ if(user.stat != DEAD) user.emote("deathgasp") user.tod = STATION_TIME_TIMESTAMP("hh:mm:ss", world.time) - user.fakedeath("changeling") //play dead + user.fakedeath("changeling", TRUE) //play dead user.update_stat() addtimer(CALLBACK(src, .proc/ready_to_regenerate, user), LING_FAKEDEATH_TIME, TIMER_UNIQUE) diff --git a/code/modules/antagonists/changeling/powers/mutations.dm b/code/modules/antagonists/changeling/powers/mutations.dm index 7a227ebc4e..5b6a7648c8 100644 --- a/code/modules/antagonists/changeling/powers/mutations.dm +++ b/code/modules/antagonists/changeling/powers/mutations.dm @@ -21,6 +21,7 @@ chemical_cost = 1000 dna_cost = -1 + var/recharge_slowdown = 0 var/silent = FALSE var/weapon_type var/weapon_name_simple @@ -37,6 +38,8 @@ if(!silent) playsound(user, 'sound/effects/blobattack.ogg', 30, 1) user.visible_message("With a sickening crunch, [user] reforms [user.p_their()] [weapon_name_simple] into an arm!", "We assimilate the [weapon_name_simple] back into our body.", " min_drain_health) if(!GLOB.ratvar_awakens && L.stat == CONSCIOUS) - vitality_drained = L.adjustToxLoss(1, forced = TRUE) + vitality_drained = L.adjustToxLoss(1, forced = TRUE, toxins_type = TOX_OMNI) else - vitality_drained = L.adjustToxLoss(1.5, forced = TRUE) + vitality_drained = L.adjustToxLoss(1.5, forced = TRUE, toxins_type = TOX_OMNI) if(vitality_drained) GLOB.clockwork_vitality += vitality_drained else @@ -416,7 +416,7 @@ /obj/effect/clockwork/sigil/rite name = "radiant sigil" - desc = "A glowing sigil glowing with barely-contained power." + desc = "A sigil glowing with barely-contained power." clockwork_desc = "A sigil that will allow you to perform certain rites on it, provided you have access to sufficient power and materials." icon_state = "sigiltransmission" //am big lazy - recolored transmission sigil sigil_name = "Sigil of Rites" @@ -440,7 +440,8 @@ return var/list/possible_rites = list() for(var/datum/clockwork_rite/R in GLOB.all_clockwork_rites) - possible_rites[R] = R + if(is_servant_of_ratvar(user, require_full_power = TRUE) || !R.requires_full_power) + possible_rites[R] = R var/input_key = input(user, "Choose a rite", "Choosing a rite") as null|anything in possible_rites if(!input_key) return diff --git a/code/modules/antagonists/clockcult/clock_effects/spatial_gateway.dm b/code/modules/antagonists/clockcult/clock_effects/spatial_gateway.dm index 00c52e4a59..ab8c7abd0a 100644 --- a/code/modules/antagonists/clockcult/clock_effects/spatial_gateway.dm +++ b/code/modules/antagonists/clockcult/clock_effects/spatial_gateway.dm @@ -287,4 +287,4 @@ linked_gateway.visible_message("[linked_gateway] begins to destabilise!") /obj/effect/clockwork/spatial_gateway/stable/pass_through_gateway(atom/movable/A, no_cost = TRUE) - return ..() \ No newline at end of file + return ..() diff --git a/code/modules/antagonists/clockcult/clock_helpers/clock_rites.dm b/code/modules/antagonists/clockcult/clock_helpers/clock_rites.dm index 7dabb18f03..59a86ffa34 100644 --- a/code/modules/antagonists/clockcult/clock_helpers/clock_rites.dm +++ b/code/modules/antagonists/clockcult/clock_helpers/clock_rites.dm @@ -6,12 +6,13 @@ //The base clockwork rite. This should never be visible /datum/clockwork_rite var/name = "Rite of THE frog" //The name of the rite - var/desc = "This rite is used to summon the legendary frog whose-name-shall-not-be-spoken, ender of many worlds." //What does this rite do? Shown to cultists if they choose 'Show Info' after selecting the rite. + var/desc = "This rite is used to summon the legendary frog whose-name-shall-not-be-spoken, ender of many worlds." //What does this rite do? Shown to servants if they choose 'Show Info' after selecting the rite. var/list/required_ingredients = list(/obj/item/clockwork) //What does this rite require? var/power_cost = 0 //How much power does this rite cost.. or does it even add power? - var/requires_human = FALSE //Does the rite require a ../carbon/human on the rune? + var/requires_human = FALSE //Does the rite require a ../carbon/human on the sigil? var/must_be_servant = TRUE //If the above is true, does the human need to be a servant? var/target_can_be_invoker = TRUE //Does this rite work if the invoker is also the target? + var/requires_full_power = FALSE //Does the invoker need to be an actual full-on servant, or is this available to neutered ones aswell? var/cast_time = 0 //How long does the rite take to cast? var/limit = INFINITE //How often can this rite be used per round? Set this to INFINITE for unlimited, 0 for disallowed, anything above 0 for a limit var/times_used = 0 //How often has the rite already been used this shift? diff --git a/code/modules/antagonists/clockcult/clock_helpers/slab_abilities.dm b/code/modules/antagonists/clockcult/clock_helpers/slab_abilities.dm index 5affcd5dec..a00019aa45 100644 --- a/code/modules/antagonists/clockcult/clock_helpers/slab_abilities.dm +++ b/code/modules/antagonists/clockcult/clock_helpers/slab_abilities.dm @@ -115,7 +115,7 @@ if(totaldamage) L.heal_overall_damage(brutedamage, burndamage, only_organic = FALSE) //Maybe a machine god shouldn't murder augmented followers instead of healing them L.adjustOxyLoss(-oxydamage) - L.adjustToxLoss(totaldamage * 0.5, TRUE, TRUE) + L.adjustToxLoss(totaldamage * 0.5, TRUE, TRUE, toxins_type = TOX_OMNI) clockwork_say(ranged_ability_user, text2ratvar("[has_holy_water ? "Heal tainted" : "Mend wounded"] flesh!")) log_combat(ranged_ability_user, L, "healed with Sentinel's Compromise") L.visible_message("A blue light washes over [L], [has_holy_water ? "causing [L.p_them()] to briefly glow as it mends" : " mending"] [L.p_their()] bruises and burns!", \ diff --git a/code/modules/antagonists/clockcult/clock_items/clockwork_slab.dm b/code/modules/antagonists/clockcult/clock_items/clockwork_slab.dm index 0bae7d3539..571a817024 100644 --- a/code/modules/antagonists/clockcult/clock_items/clockwork_slab.dm +++ b/code/modules/antagonists/clockcult/clock_items/clockwork_slab.dm @@ -99,7 +99,7 @@ else ..() -/obj/item/clockwork/slab/cyborg/ratvar_act() +/obj/item/clockwork/slab/cyborg/ui_act() ..() if(!GLOB.ratvar_awakens) SStgui.close_uis(src) diff --git a/code/modules/antagonists/clockcult/clock_scriptures/scripture_drivers.dm b/code/modules/antagonists/clockcult/clock_scriptures/scripture_drivers.dm index b7c94d56df..0a59656e31 100644 --- a/code/modules/antagonists/clockcult/clock_scriptures/scripture_drivers.dm +++ b/code/modules/antagonists/clockcult/clock_scriptures/scripture_drivers.dm @@ -349,4 +349,4 @@ 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) \ No newline at end of file + return slab.procure_gateway(invoker, duration, portal_uses) diff --git a/code/modules/antagonists/clockcult/clock_structures/ratvar_the_clockwork_justicar.dm b/code/modules/antagonists/clockcult/clock_structures/ratvar_the_clockwork_justicar.dm index 73ae89a19b..28901ea0b2 100644 --- a/code/modules/antagonists/clockcult/clock_structures/ratvar_the_clockwork_justicar.dm +++ b/code/modules/antagonists/clockcult/clock_structures/ratvar_the_clockwork_justicar.dm @@ -30,6 +30,7 @@ var/mutable_appearance/alert_overlay = mutable_appearance('icons/effects/clockwork_effects.dmi', "ratvar_alert") notify_ghosts("The Justiciar's light calls to you! Reach out to Ratvar in [get_area_name(src)] to be granted a shell to spread his glory!", null, source = src, alert_overlay = alert_overlay) INVOKE_ASYNC(SSshuttle.emergency, /obj/docking_port/mobile/emergency.proc/request, null, 10, null, FALSE, 0) + SSpersistence.station_was_destroyed = TRUE /obj/structure/destructible/clockwork/massive/ratvar/Destroy() GLOB.ratvar_awakens-- diff --git a/code/modules/antagonists/clockcult/clock_structures/reflector.dm b/code/modules/antagonists/clockcult/clock_structures/reflector.dm index 364409d39e..c91e9dd918 100644 --- a/code/modules/antagonists/clockcult/clock_structures/reflector.dm +++ b/code/modules/antagonists/clockcult/clock_structures/reflector.dm @@ -83,4 +83,4 @@ anchored = !anchored to_chat(user, "You [anchored ? "secure" : "unsecure"] \the [src].") I.play_tool_sound(src) - return TRUE \ No newline at end of file + return TRUE diff --git a/code/modules/antagonists/clockcult/clock_structures/trap_triggers/pressure_sensor_mech.dm b/code/modules/antagonists/clockcult/clock_structures/trap_triggers/pressure_sensor_mech.dm index 3eac1b9fef..10a5b7787f 100644 --- a/code/modules/antagonists/clockcult/clock_structures/trap_triggers/pressure_sensor_mech.dm +++ b/code/modules/antagonists/clockcult/clock_structures/trap_triggers/pressure_sensor_mech.dm @@ -17,4 +17,4 @@ return audible_message("*click*") playsound(src, 'sound/items/screwdriver2.ogg', 50, TRUE) - activate() \ No newline at end of file + activate() diff --git a/code/modules/antagonists/cult/blood_magic.dm b/code/modules/antagonists/cult/blood_magic.dm index e6ec3a08b6..901c83b1b7 100644 --- a/code/modules/antagonists/cult/blood_magic.dm +++ b/code/modules/antagonists/cult/blood_magic.dm @@ -445,7 +445,7 @@ if(L.move_resist < MOVE_FORCE_STRONG) var/atom/throw_target = get_edge_target_turf(L, user.dir) L.throw_at(throw_target, 7, 1, user) - else if(!iscultist(L)) + else if(!is_servant_of_ratvar(L)) L.DefaultCombatKnockdown(160) L.adjustStaminaLoss(140) //Ensures hard stamcrit L.flash_act(1,1) @@ -465,7 +465,7 @@ C.drowsyness = max(10, C.drowsyness) C.confused += clamp(20 - C.confused, 0, 10) L.adjustBruteLoss(15) - to_chat(user, "In an brilliant flash of red, [L] [iscultist(L) ? "writhes in pain" : "falls to the ground!"]") + to_chat(user, "In an brilliant flash of red, [L] [is_servant_of_ratvar(L) ? "writhes in pain!" : "falls to the ground!"]") uses-- ..() @@ -717,9 +717,9 @@ uses = 0 ratio *= -1 H.adjustOxyLoss((overall_damage*ratio) * (H.getOxyLoss() / overall_damage), 0) - H.adjustToxLoss((overall_damage*ratio) * (H.getToxLoss() / overall_damage), 0) - H.adjustFireLoss((overall_damage*ratio) * (H.getFireLoss() / overall_damage), 0) - H.adjustBruteLoss((overall_damage*ratio) * (H.getBruteLoss() / overall_damage), 0) + H.adjustToxLoss((overall_damage*ratio) * (H.getToxLoss() / overall_damage), 0, toxins_type = TOX_OMNI) + H.adjustFireLoss((overall_damage*ratio) * (H.getFireLoss() / overall_damage), 0, only_organic = FALSE) + H.adjustBruteLoss((overall_damage*ratio) * (H.getBruteLoss() / overall_damage), 0, only_organic = FALSE) H.updatehealth() playsound(get_turf(H), 'sound/magic/staff_healing.ogg', 25) new /obj/effect/temp_visual/cult/sparks(get_turf(H)) diff --git a/code/modules/antagonists/cult/cult_structures.dm b/code/modules/antagonists/cult/cult_structures.dm index a388621c92..25fd446b06 100644 --- a/code/modules/antagonists/cult/cult_structures.dm +++ b/code/modules/antagonists/cult/cult_structures.dm @@ -214,8 +214,8 @@ if(L.health != L.maxHealth) new /obj/effect/temp_visual/heal(get_turf(src), "#960000") if(ishuman(L)) - L.adjustBruteLoss(-1, 0) - L.adjustFireLoss(-1, 0) + L.adjustBruteLoss(-1, 0, only_organic = FALSE) + L.adjustFireLoss(-1, 0, only_organic = FALSE) L.updatehealth() if(isshade(L) || isconstruct(L)) var/mob/living/simple_animal/M = L diff --git a/code/modules/antagonists/cult/rune_spawn_action.dm b/code/modules/antagonists/cult/rune_spawn_action.dm index b164246060..2dfbf722bf 100644 --- a/code/modules/antagonists/cult/rune_spawn_action.dm +++ b/code/modules/antagonists/cult/rune_spawn_action.dm @@ -115,4 +115,4 @@ rune_word_type = /obj/effect/temp_visual/cult/rune_spawn/rune1 rune_innerring_type = /obj/effect/temp_visual/cult/rune_spawn/rune1/inner rune_center_type = /obj/effect/temp_visual/cult/rune_spawn/rune1/center - rune_color = RUNE_COLOR_MEDIUMRED \ No newline at end of file + rune_color = RUNE_COLOR_MEDIUMRED diff --git a/code/modules/antagonists/devil/devil_helpers.dm b/code/modules/antagonists/devil/devil_helpers.dm index 51d480e64e..1fcbbf91d0 100644 --- a/code/modules/antagonists/devil/devil_helpers.dm +++ b/code/modules/antagonists/devil/devil_helpers.dm @@ -35,4 +35,4 @@ DefaultCombatKnockdown(40) qdel(weapon) return 2 - return 1 \ No newline at end of file + return 1 diff --git a/code/modules/antagonists/devil/sintouched/objectives.dm b/code/modules/antagonists/devil/sintouched/objectives.dm index fae6120f9c..fcbb8dcbb5 100644 --- a/code/modules/antagonists/devil/sintouched/objectives.dm +++ b/code/modules/antagonists/devil/sintouched/objectives.dm @@ -20,4 +20,4 @@ explanation_text = "You are the BEST thing on the station. Make sure everyone knows it." /datum/objective/sintouched/acedia - explanation_text = "Angels, devils, good, evil... who cares? Just ignore any hellish threats and do your job." \ No newline at end of file + explanation_text = "Angels, devils, good, evil... who cares? Just ignore any hellish threats and do your job." diff --git a/code/modules/antagonists/devil/true_devil/_true_devil.dm b/code/modules/antagonists/devil/true_devil/_true_devil.dm index 272b154828..293b1de3dc 100644 --- a/code/modules/antagonists/devil/true_devil/_true_devil.dm +++ b/code/modules/antagonists/devil/true_devil/_true_devil.dm @@ -105,7 +105,7 @@ /mob/living/carbon/true_devil/assess_threat(judgement_criteria, lasercolor = "", datum/callback/weaponcheck=null) return 666 -/mob/living/carbon/true_devil/flash_act(intensity = 1, override_blindness_check = 0, affect_silicon = 0, visual = 0) +/mob/living/carbon/true_devil/flash_act(intensity = 1, override_blindness_check = 0, affect_silicon = 0, visual = 0, type = /obj/screen/fullscreen/flash, override_protection = 0) if(mind && has_bane(BANE_LIGHT)) mind.disrupt_spells(-500) return ..() //flashes don't stop devils UNLESS it's their bane. diff --git a/code/modules/antagonists/eldritch_cult/eldritch_antag.dm b/code/modules/antagonists/eldritch_cult/eldritch_antag.dm index 25602c8588..ea226a3cb6 100644 --- a/code/modules/antagonists/eldritch_cult/eldritch_antag.dm +++ b/code/modules/antagonists/eldritch_cult/eldritch_antag.dm @@ -31,6 +31,7 @@ /datum/antagonist/heretic/on_gain() var/mob/living/current = owner.current owner.teach_crafting_recipe(/datum/crafting_recipe/heretic/codex) + owner.special_role = ROLE_HERETIC if(ishuman(current)) forge_primary_objectives() gain_knowledge(/datum/eldritch_knowledge/spell/basic) @@ -49,7 +50,7 @@ for(var/X in researched_knowledge) var/datum/eldritch_knowledge/EK = researched_knowledge[X] EK.on_lose(owner.current) - + owner.special_role = null if(!silent) to_chat(owner.current, "Your mind begins to flare as the otherwordly knowledge escapes your grasp!") owner.current.log_message("has renounced the cult of the old ones!", LOG_ATTACK, color="#960000") @@ -98,7 +99,7 @@ var/pck = pick("assasinate","protect") switch(pck) if("assasinate") - var/datum/objective/assassinate/A = new + var/datum/objective/assassinate/once/A = new A.owner = owner var/list/owners = A.get_owners() A.find_target(owners,protection) diff --git a/code/modules/antagonists/eldritch_cult/eldritch_book.dm b/code/modules/antagonists/eldritch_cult/eldritch_book.dm index 839150d37d..33485927ca 100644 --- a/code/modules/antagonists/eldritch_cult/eldritch_book.dm +++ b/code/modules/antagonists/eldritch_cult/eldritch_book.dm @@ -2,8 +2,10 @@ name = "Codex Cicatrix" desc = "Book describing the secrets of the veil." icon = 'icons/obj/eldritch.dmi' - icon_state = "book" - item_state = "book" + icon_state = "codex" + item_state = "codex" + lefthand_file = 'icons/mob/inhands/misc/books_lefthand.dmi' + righthand_file = 'icons/mob/inhands/misc/books_righthand.dmi' w_class = WEIGHT_CLASS_SMALL ///Last person that touched this var/mob/living/last_user @@ -40,7 +42,7 @@ ///Gives you a charge and destroys a corresponding influence /obj/item/forbidden_book/proc/get_power_from_influence(atom/target, mob/user) var/obj/effect/reality_smash/RS = target - to_chat(target, "You start drawing power from influence...") + to_chat(user, "You start drawing power from influence...") if(do_after(user,10 SECONDS,TRUE,RS)) qdel(RS) charge += 1 @@ -50,7 +52,7 @@ for(var/turf/T in range(1,target)) if(is_type_in_typecache(T, blacklisted_turfs)) - to_chat(target, "The terrain doesn't support runes!") + to_chat(user, "The terrain doesn't support runes!") return var/A = get_turf(target) to_chat(user, "You start drawing a rune...") diff --git a/code/modules/antagonists/eldritch_cult/eldritch_effects.dm b/code/modules/antagonists/eldritch_cult/eldritch_effects.dm index 99794024f1..99f0ae7596 100644 --- a/code/modules/antagonists/eldritch_cult/eldritch_effects.dm +++ b/code/modules/antagonists/eldritch_cult/eldritch_effects.dm @@ -8,6 +8,12 @@ ///Used mainly for summoning ritual to prevent spamming the rune to create millions of monsters. var/is_in_use = FALSE +/obj/effect/eldritch/Initialize() + . = ..() + var/image/I = image(icon = 'icons/effects/eldritch.dmi', icon_state = null, loc = src) + I.override = TRUE + add_alt_appearance(/datum/atom_hud/alternate_appearance/basic/silicons, "heretic_rune", I) + /obj/effect/eldritch/attack_hand(mob/living/user) . = ..() if(.) @@ -69,6 +75,7 @@ if(is_type_in_list(local_atom_in_range,local_required_atom_list)) selected_atoms |= local_atom_in_range local_required_atoms -= list(local_required_atom_list) + break if(length(local_required_atoms) > 0) continue @@ -190,6 +197,19 @@ icon_state = "pierced_illusion" anchored = TRUE resistance_flags = FIRE_PROOF | UNACIDABLE | ACID_PROOF + alpha = 0 + invisibility = INVISIBILITY_OBSERVER + +/obj/effect/broken_illusion/Initialize() + . = ..() + addtimer(CALLBACK(src, .proc/show_presence), 15 SECONDS) + var/image/I = image(icon = 'icons/effects/eldritch.dmi', icon_state = null, loc = src) + I.override = TRUE + add_alt_appearance(/datum/atom_hud/alternate_appearance/basic/silicons, "pierced_reality", I) + +/obj/effect/broken_illusion/proc/show_presence() + invisibility = 0 + animate(src, alpha = 255, time = 15 SECONDS) /obj/effect/broken_illusion/attack_hand(mob/living/user) if(!ishuman(user)) @@ -228,17 +248,19 @@ explosion.start() /obj/effect/broken_illusion/examine(mob/user) + . = ..() if(!IS_HERETIC(user) && ishuman(user)) var/mob/living/carbon/human/human_user = user to_chat(human_user,"Your brain hurts when you look at this!") - human_user.adjustOrganLoss(ORGAN_SLOT_BRAIN,30) - . = ..() + human_user.adjustOrganLoss(ORGAN_SLOT_BRAIN,20,190) + SEND_SIGNAL(human_user, COMSIG_ADD_MOOD_EVENT, "gates_of_mansus", /datum/mood_event/gates_of_mansus) /obj/effect/reality_smash name = "/improper reality smash" icon = 'icons/effects/eldritch.dmi' anchored = TRUE resistance_flags = FIRE_PROOF | UNACIDABLE | ACID_PROOF + invisibility = INVISIBILITY_OBSERVER ///We cannot use icon_state since this is invisible, functions the same way but with custom behaviour. var/image_state = "reality_smash" ///Who can see us? diff --git a/code/modules/antagonists/eldritch_cult/eldritch_items.dm b/code/modules/antagonists/eldritch_cult/eldritch_items.dm index 2052a2fbb3..da2c61ad16 100644 --- a/code/modules/antagonists/eldritch_cult/eldritch_items.dm +++ b/code/modules/antagonists/eldritch_cult/eldritch_items.dm @@ -16,9 +16,9 @@ return var/dist = get_dist(user.loc,target.loc) var/dir = get_dir(user.loc,target.loc) - + if(user.z != target.z) - to_chat(user,"[target.real_name] is beyond our reach.") + to_chat(user,"[target.real_name] is on another plane of existance!") else switch(dist) if(0 to 15) @@ -33,6 +33,34 @@ if(target.stat == DEAD) to_chat(user,"[target.real_name] is dead. Bring them onto a transmutation rune!") +/datum/action/innate/heretic_shatter + name = "Shattering Offer" + desc = "By breaking your blade, you will be granted salvation from a dire situation. (Teleports you to a random safe turf on your current z level, but destroys your blade.)" + background_icon_state = "bg_ecult" + button_icon_state = "shatter" + icon_icon = 'icons/mob/actions/actions_ecult.dmi' + check_flags = MOBILITY_HOLD|MOBILITY_MOVE|MOBILITY_USE + var/mob/living/carbon/human/holder + var/obj/item/melee/sickly_blade/sword + +/datum/action/innate/heretic_shatter/Grant(mob/user, obj/object) + sword = object + holder = user + //i know what im doing + return ..() + +/datum/action/innate/heretic_shatter/IsAvailable() + if(IS_HERETIC(holder) || IS_HERETIC_MONSTER(holder)) + return TRUE + else + return FALSE + +/datum/action/innate/heretic_shatter/Activate() + var/turf/safe_turf = find_safe_turf(zlevels = sword.z, extended_safety_checks = TRUE) + do_teleport(holder,safe_turf,forceMove = TRUE) + to_chat(holder,"You feel a gust of energy flow through your body... the Rusted Hills heard your call...") + qdel(sword) + /obj/item/melee/sickly_blade name = "eldritch blade" desc = "A sickly green crescent blade, decorated with an ornamental eye. You feel like you're being watched..." @@ -50,15 +78,28 @@ throwforce = 10 hitsound = 'sound/weapons/bladeslice.ogg' attack_verb = list("attacked", "slashed", "stabbed", "sliced", "tore", "lacerated", "ripped", "diced", "rended") + var/datum/action/innate/heretic_shatter/linked_action + +/obj/item/melee/sickly_blade/Initialize() + . = ..() + linked_action = new(src) /obj/item/melee/sickly_blade/attack(mob/living/M, mob/living/user) - if(!IS_HERETIC(user)) + if(!(IS_HERETIC(user) || !IS_HERETIC_MONSTER(user))) to_chat(user,"You feel a pulse of some alien intellect lash out at your mind!") var/mob/living/carbon/human/human_user = user human_user.AdjustParalyzed(5 SECONDS) return FALSE return ..() +/obj/item/melee/sickly_blade/pickup(mob/user) + . = ..() + linked_action.Grant(user, src) + +/obj/item/melee/sickly_blade/dropped(mob/user, silent) + . = ..() + linked_action.Remove(user, src) + /obj/item/melee/sickly_blade/afterattack(atom/target, mob/user, proximity_flag, click_parameters) . = ..() var/datum/antagonist/heretic/cultie = user.mind.has_antag_datum(/datum/antagonist/heretic) @@ -103,7 +144,7 @@ /obj/item/clothing/neck/eldritch_amulet/equipped(mob/user, slot) . = ..() - if(ishuman(user) && user.mind && slot == SLOT_NECK && IS_HERETIC(user)) + if(ishuman(user) && user.mind && slot == SLOT_NECK && (IS_HERETIC(user) || IS_HERETIC_MONSTER(user))) ADD_TRAIT(user, trait, CLOTHING_TRAIT) user.update_sight() @@ -136,6 +177,7 @@ hoodtype = /obj/item/clothing/head/hooded/cult_hoodie/eldritch // slightly better than normal cult robes armor = list("melee" = 50, "bullet" = 50, "laser" = 50,"energy" = 50, "bomb" = 35, "bio" = 20, "rad" = 0, "fire" = 20, "acid" = 20) + mutantrace_variation = STYLE_DIGITIGRADE|STYLE_NO_ANTHRO_ICON /obj/item/reagent_containers/glass/beaker/eldritch name = "flask of eldritch essence" diff --git a/code/modules/antagonists/eldritch_cult/eldritch_knowledge.dm b/code/modules/antagonists/eldritch_cult/eldritch_knowledge.dm index a7330cd93a..e0189944e5 100644 --- a/code/modules/antagonists/eldritch_cult/eldritch_knowledge.dm +++ b/code/modules/antagonists/eldritch_cult/eldritch_knowledge.dm @@ -264,12 +264,19 @@ if(!LH.target) var/datum/objective/A = new A.owner = user.mind - var/datum/mind/targeted = A.find_target()//easy way, i dont feel like copy pasting that entire block of code - LH.target = targeted.current + var/list/targets = list() + for(var/i in 0 to 3) + var/datum/mind/targeted = A.find_target()//easy way, i dont feel like copy pasting that entire block of code + if(!targeted) + break + targets[targeted.current.real_name] = targeted.current + LH.target = targets[input(user,"Choose your next target","Target") in targets] + + if(!LH.target && targets.len) + LH.target = pick(targets) //Tsk tsk, you can and will get another target if you want it or not. qdel(A) if(LH.target) to_chat(user,"Your new target has been selected, go and sacrifice [LH.target.real_name]!") - else to_chat(user,"target could not be found for living heart.") diff --git a/code/modules/antagonists/eldritch_cult/eldritch_magic.dm b/code/modules/antagonists/eldritch_cult/eldritch_magic.dm index fbaa6cd26e..ba79cca07a 100644 --- a/code/modules/antagonists/eldritch_cult/eldritch_magic.dm +++ b/code/modules/antagonists/eldritch_cult/eldritch_magic.dm @@ -34,7 +34,7 @@ desc = "Touch spell that allows you to channel the power of the Old Gods through you." hand_path = /obj/item/melee/touch_attack/mansus_fist school = "evocation" - charge_max = 150 + charge_max = 100 clothes_req = FALSE action_icon = 'icons/mob/actions/actions_ecult.dmi' action_icon_state = "mansus_grasp" @@ -104,57 +104,61 @@ desc = "Spreads rust onto nearby turfs." range = 2 -/obj/effect/proc_holder/spell/targeted/touch/blood_siphon +/obj/effect/proc_holder/spell/pointed/blood_siphon name = "Blood Siphon" - desc = "Touch spell that heals you while damaging the enemy, has a chance to transfer wounds between you and your enemy." - hand_path = /obj/item/melee/touch_attack/blood_siphon + desc = "A touch spell that heals your wounds while damaging the enemy. It has a chance to transfer wounds between you and your enemy." school = "evocation" charge_max = 150 clothes_req = FALSE - invocation_type = "none" + invocation = "FL'MS O'ET'RN'ITY" + invocation_type = "whisper" action_icon = 'icons/mob/actions/actions_ecult.dmi' action_icon_state = "blood_siphon" action_background_icon_state = "bg_ecult" + range = 9 -/obj/item/melee/touch_attack/blood_siphon - name = "Blood Siphon" - desc = "A sinister looking aura that distorts the flow of reality around it." - color = RUNE_COLOR_RED - icon_state = "disintegrate" - item_state = "disintegrate" - catchphrase = "SUN'AI'KINI'MAS" - -/obj/item/melee/touch_attack/blood_siphon/afterattack(atom/target, mob/user, proximity_flag, proximity) - if(!proximity_flag) - return - playsound(user, 'sound/effects/curseattack.ogg', 75, TRUE) +/obj/effect/proc_holder/spell/pointed/blood_siphon/cast(list/targets, mob/user) + . = ..() + var/target = targets[1] + playsound(user, 'sound/magic/demon_attack1.ogg', 75, TRUE) if(ishuman(target)) var/mob/living/carbon/human/tar = target if(tar.anti_magic_check()) - tar.visible_message("Spell bounces off of [target]!","The spell bounces off of you!") + tar.visible_message("The spell bounces off of [target]!","The spell bounces off of you!") return ..() - var/mob/living/carbon/C2 = user + var/mob/living/carbon/carbon_user = user if(isliving(target)) - var/mob/living/L = target - L.adjustBruteLoss(20) - C2.adjustBruteLoss(-20) + var/mob/living/living_target = target + living_target.adjustBruteLoss(20) + carbon_user.adjustBruteLoss(-20) if(iscarbon(target)) - var/mob/living/carbon/C1 = target - for(var/obj/item/bodypart/bodypart in C2.bodyparts) + var/mob/living/carbon/carbon_target = target + for(var/bp in carbon_user.bodyparts) + var/obj/item/bodypart/bodypart = bp for(var/i in bodypart.wounds) var/datum/wound/iter_wound = i if(prob(50)) continue - var/obj/item/bodypart/target_bodypart = locate(bodypart.type) in C1.bodyparts + var/obj/item/bodypart/target_bodypart = locate(bodypart.type) in carbon_target.bodyparts if(!target_bodypart) continue iter_wound.remove_wound() iter_wound.apply_wound(target_bodypart) - C1.blood_volume -= 20 - if(C2.blood_volume < BLOOD_VOLUME_MAXIMUM) //we dont want to explode after all - C2.blood_volume += 20 - return ..() + carbon_target.blood_volume -= 20 + if(carbon_user.blood_volume < BLOOD_VOLUME_MAXIMUM) //we dont want to explode after all + carbon_user.blood_volume += 20 + return + +/obj/effect/proc_holder/spell/pointed/blood_siphon/can_target(atom/target, mob/user, silent) + . = ..() + if(!.) + return FALSE + if(!istype(target,/mob/living)) + if(!silent) + to_chat(user, "You are unable to siphon [target]!") + return FALSE + return TRUE /obj/effect/proc_holder/spell/aimed/rust_wave name = "Patron's Reach" @@ -451,7 +455,7 @@ new /obj/effect/hotspot(T) T.hotspot_expose(700,50,1) for(var/mob/living/livies in T.contents - centre) - livies.adjustFireLoss(10) + livies.adjustFireLoss(5) _range++ sleep(3) @@ -500,7 +504,7 @@ new /obj/effect/hotspot(T) T.hotspot_expose(700,50,1) for(var/mob/living/livies in T.contents - current_user) - livies.adjustFireLoss(5) + livies.adjustFireLoss(2.5) /obj/effect/proc_holder/spell/targeted/worm_contract @@ -519,6 +523,7 @@ . = ..() if(!istype(user,/mob/living/simple_animal/hostile/eldritch/armsy)) to_chat(user, "You try to contract your muscles but nothing happens...") + return var/mob/living/simple_animal/hostile/eldritch/armsy/armsy = user armsy.contract_next_chain_into_single_tile() @@ -727,7 +732,7 @@ /obj/effect/proc_holder/spell/cone/staggered/entropic_plume/do_mob_cone_effect(mob/living/victim, level) . = ..() - if(victim.anti_magic_check() || IS_HERETIC(victim) || victim.mind?.has_antag_datum(/datum/antagonist/heretic_monster)) + if(victim.anti_magic_check() || IS_HERETIC(victim) || IS_HERETIC_MONSTER(victim)) return victim.apply_status_effect(STATUS_EFFECT_AMOK) victim.apply_status_effect(STATUS_EFFECT_CLOUDSTRUCK, (level*10)) diff --git a/code/modules/antagonists/eldritch_cult/knowledge/ash_lore.dm b/code/modules/antagonists/eldritch_cult/knowledge/ash_lore.dm index 425052de2a..1edb0ff19a 100644 --- a/code/modules/antagonists/eldritch_cult/knowledge/ash_lore.dm +++ b/code/modules/antagonists/eldritch_cult/knowledge/ash_lore.dm @@ -190,7 +190,7 @@ required_atoms = list(/mob/living/carbon/human) cost = 5 route = PATH_ASH - var/list/trait_list = list(TRAIT_NOBREATH,TRAIT_RESISTCOLD,TRAIT_RESISTHIGHPRESSURE,TRAIT_RESISTLOWPRESSURE,TRAIT_RADIMMUNE,TRAIT_GENELESS,TRAIT_PIERCEIMMUNE,TRAIT_NODISMEMBER,TRAIT_BOMBIMMUNE) + var/list/trait_list = list(TRAIT_NOBREATH,TRAIT_RESISTCOLD,TRAIT_RESISTHIGHPRESSURE,TRAIT_RESISTLOWPRESSURE) /datum/eldritch_knowledge/final/ash_final/on_finished_recipe(mob/living/user, list/atoms, loc) priority_announce("$^@&#*$^@(#&$(@&#^$&#^@# Fear the blaze, for Ashbringer [user.real_name] has come! $^@&#*$^@(#&$(@&#^$&#^@#","#$^@&#*$^@(#&$(@&#^$&#^@#", 'sound/announcer/classic/spanomalies.ogg') diff --git a/code/modules/antagonists/eldritch_cult/knowledge/flesh_lore.dm b/code/modules/antagonists/eldritch_cult/knowledge/flesh_lore.dm index 5e32cf1b4e..2b9f5b309f 100644 --- a/code/modules/antagonists/eldritch_cult/knowledge/flesh_lore.dm +++ b/code/modules/antagonists/eldritch_cult/knowledge/flesh_lore.dm @@ -173,9 +173,9 @@ /datum/eldritch_knowledge/summon/stalker name = "Lonely Ritual" gain_text = "I was able to combine my greed and desires to summon an eldritch beast I have not seen before." - desc = "You can now summon a Stalker using a knife, a flower, a pen and a piece of paper using a transmutation circle. Stalkers possess the ability to shapeshift into various forms while assuming the vigor and powers of that form." + desc = "You can now summon a Stalker using a knife, a candle, a pen and a piece of paper using a transmutation circle. Stalkers possess the ability to shapeshift into various forms while assuming the vigor and powers of that form." cost = 1 - required_atoms = list(/obj/item/kitchen/knife,/obj/item/reagent_containers/food/snacks/grown/poppy,/obj/item/pen,/obj/item/paper) + required_atoms = list(/obj/item/kitchen/knife,/obj/item/candle,/obj/item/pen,/obj/item/paper) mob_to_summon = /mob/living/simple_animal/hostile/eldritch/stalker next_knowledge = list(/datum/eldritch_knowledge/summon/ashy,/datum/eldritch_knowledge/summon/rusty,/datum/eldritch_knowledge/flesh_blade_upgrade_2) route = PATH_FLESH @@ -203,7 +203,7 @@ gain_text = "Our blood is all the same after all, the owl told me." desc = "You are granted a spell that drains some of the targets health, and returns it to you. It also has a chance to transfer any wounds you possess onto the target." cost = 1 - spell_to_add = /obj/effect/proc_holder/spell/targeted/touch/blood_siphon + spell_to_add = /obj/effect/proc_holder/spell/pointed/blood_siphon next_knowledge = list(/datum/eldritch_knowledge/summon/raw_prophet,/datum/eldritch_knowledge/spell/area_conversion) /datum/eldritch_knowledge/final/flesh_final diff --git a/code/modules/antagonists/eldritch_cult/knowledge/rust_lore.dm b/code/modules/antagonists/eldritch_cult/knowledge/rust_lore.dm index f5c54dd7bf..9d65396c63 100644 --- a/code/modules/antagonists/eldritch_cult/knowledge/rust_lore.dm +++ b/code/modules/antagonists/eldritch_cult/knowledge/rust_lore.dm @@ -69,7 +69,7 @@ var/mob/living/living_user = user living_user.adjustBruteLoss(-3, FALSE) living_user.adjustFireLoss(-3, FALSE) - living_user.adjustToxLoss(-3, FALSE) + living_user.adjustToxLoss(-3, FALSE, TRUE) living_user.adjustOxyLoss(-1, FALSE) living_user.adjustStaminaLoss(-6) diff --git a/code/modules/antagonists/magic_servant/magic_servant.dm b/code/modules/antagonists/magic_servant/magic_servant.dm index 31b51f59f6..de6ab06202 100644 --- a/code/modules/antagonists/magic_servant/magic_servant.dm +++ b/code/modules/antagonists/magic_servant/magic_servant.dm @@ -6,4 +6,4 @@ /datum/antagonist/magic_servant/proc/setup_master(mob/M) var/datum/objective/O = new("Serve [M.real_name].") O.owner = owner - objectives |= O \ No newline at end of file + objectives |= O diff --git a/code/modules/antagonists/morph/morph.dm b/code/modules/antagonists/morph/morph.dm index e91feda006..5844aad02b 100644 --- a/code/modules/antagonists/morph/morph.dm +++ b/code/modules/antagonists/morph/morph.dm @@ -42,7 +42,9 @@ /obj/screen, /obj/singularity, /mob/living/simple_animal/hostile/morph, - /obj/effect)) + /obj/effect, + /mob/camera + )) var/playstyle_string = "You are a morph, an abomination of science created primarily with changeling cells. \ You may take the form of anything nearby by shift-clicking it. This process will alert any nearby \ diff --git a/code/modules/antagonists/nukeop/equipment/borgchameleon.dm b/code/modules/antagonists/nukeop/equipment/borgchameleon.dm index e25e0cd164..b3c31152a5 100644 --- a/code/modules/antagonists/nukeop/equipment/borgchameleon.dm +++ b/code/modules/antagonists/nukeop/equipment/borgchameleon.dm @@ -178,4 +178,4 @@ /obj/item/borg_chameleon/proc/disrupt(mob/living/silicon/robot/user) if(active) to_chat(user, "Your chameleon field deactivates.") - deactivate(user) \ No newline at end of file + deactivate(user) diff --git a/code/modules/antagonists/nukeop/equipment/nuclearbomb.dm b/code/modules/antagonists/nukeop/equipment/nuclearbomb.dm index a18906b70b..bf6599d782 100644 --- a/code/modules/antagonists/nukeop/equipment/nuclearbomb.dm +++ b/code/modules/antagonists/nukeop/equipment/nuclearbomb.dm @@ -617,9 +617,12 @@ This is here to make the tiles around the station mininuke change when it's arme var/fake = FALSE var/turf/lastlocation var/last_disk_move + var/process_tick = 0 /obj/item/disk/nuclear/Initialize() . = ..() + AddElement(/datum/element/bed_tuckable, 6, -6, 0) + if(!fake) GLOB.poi_list |= src last_disk_move = world.time @@ -630,11 +633,25 @@ This is here to make the tiles around the station mininuke change when it's arme AddComponent(/datum/component/stationloving, !fake) /obj/item/disk/nuclear/process() + ++process_tick if(fake) STOP_PROCESSING(SSobj, src) CRASH("A fake nuke disk tried to call process(). Who the fuck and how the fuck") var/turf/newturf = get_turf(src) + if(newturf && lastlocation == newturf) + + // How comfy is disky? + var/disk_comfort_level = 0 + + // Checking for items that make disky comfy + for(var/obj/comfort_item in loc) + if(istype(comfort_item, /obj/item/bedsheet) || istype(comfort_item, /obj/structure/bed)) + disk_comfort_level++ + + if(disk_comfort_level >= 2) //Sleep tight, disky. + if(process_tick % 30) + visible_message("[src] sleeps soundly. Sleep tight, disky.") if(last_disk_move < world.time - 5000 && prob((world.time - 5000 - last_disk_move)*0.0001)) var/datum/round_event_control/operative/loneop = locate(/datum/round_event_control/operative) in SSevents.control if(istype(loneop) && loneop.occurrences < loneop.max_occurrences) diff --git a/code/modules/antagonists/santa/santa.dm b/code/modules/antagonists/santa/santa.dm index ff7dae98f6..ade8f09ce1 100644 --- a/code/modules/antagonists/santa/santa.dm +++ b/code/modules/antagonists/santa/santa.dm @@ -28,4 +28,4 @@ santa_objective.explanation_text = "Bring joy and presents to the station!" santa_objective.completed = 1 //lets cut our santas some slack. santa_objective.owner = owner - objectives |= santa_objective \ No newline at end of file + objectives |= santa_objective diff --git a/code/modules/antagonists/separatist/separatist.dm b/code/modules/antagonists/separatist/separatist.dm index cb7e0bf28e..20a6d84bde 100644 --- a/code/modules/antagonists/separatist/separatist.dm +++ b/code/modules/antagonists/separatist/separatist.dm @@ -16,4 +16,4 @@ return nation /datum/antagonist/separatist/greet() - to_chat(owner, "You are a separatist! [nation.name] forever! Protect the sovereignty of your newfound land with your comrades in arms!") \ No newline at end of file + to_chat(owner, "You are a separatist! [nation.name] forever! Protect the sovereignty of your newfound land with your comrades in arms!") diff --git a/code/modules/antagonists/traitor/classes/ai.dm b/code/modules/antagonists/traitor/classes/ai.dm index b4d0135ce6..0c1709ee53 100644 --- a/code/modules/antagonists/traitor/classes/ai.dm +++ b/code/modules/antagonists/traitor/classes/ai.dm @@ -9,7 +9,7 @@ objective_count += forge_single_objective() for(var/i = objective_count, i < CONFIG_GET(number/traitor_objectives_amount), i++) - var/datum/objective/assassinate/kill_objective = new + var/datum/objective/assassinate/once/kill_objective = new kill_objective.owner = T.owner kill_objective.find_target() T.add_objective(kill_objective) diff --git a/code/modules/antagonists/traitor/equipment/Malf_Modules.dm b/code/modules/antagonists/traitor/equipment/Malf_Modules.dm index 149b869649..0659655da5 100644 --- a/code/modules/antagonists/traitor/equipment/Malf_Modules.dm +++ b/code/modules/antagonists/traitor/equipment/Malf_Modules.dm @@ -261,6 +261,8 @@ GLOBAL_LIST_INIT(blacklisted_malf_machines, typecacheof(list( return //prevent the AI from activating an already active doomsday if (owner_AI.shunted) return //prevent AI from activating doomsday while shunted. + if (istype(owner.loc, /obj/item/aicard)) + return //prevent AI from activating doomsday while carded. If the AI gets carded after doomsdaying, there's already code to stop it then. active = TRUE set_us_up_the_bomb(owner) @@ -327,6 +329,10 @@ GLOBAL_LIST_INIT(blacklisted_malf_machines, typecacheof(list( sleep(30) if(QDELETED(owner) || owner.stat == DEAD) return + if(istype(owner.loc, /obj/item/aicard)) + to_chat(owner, "Error: Signal transmission failed. Reason: Lost connection to network.") + to_chat(owner, "You can't activate the doomsday device while inside an intelliCard!") + return priority_announce("Hostile runtimes detected in all station systems, please deactivate your AI to prevent possible damage to its morality core.", "Anomaly Alert", "aimalf") set_security_level("delta") var/obj/machinery/doomsday_device/DOOM = new(owner_AI) diff --git a/code/modules/antagonists/traitor/equipment/contractor.dm b/code/modules/antagonists/traitor/equipment/contractor.dm index e5ff546b1b..28298f4983 100644 --- a/code/modules/antagonists/traitor/equipment/contractor.dm +++ b/code/modules/antagonists/traitor/equipment/contractor.dm @@ -187,8 +187,8 @@ partner_outfit.equip(partner) - var/obj/structure/closet/supplypod/arrival_pod = new() - + var/area/pod_storage_area = locate(/area/centcom/supplypod/podStorage) in GLOB.sortedAreas + var/obj/structure/closet/supplypod/arrival_pod = new(pick(get_area_turfs(pod_storage_area))) arrival_pod.style = STYLE_SYNDICATE arrival_pod.explosionSize = list(0,0,0,1) arrival_pod.bluespace = TRUE diff --git a/code/modules/antagonists/traitor/syndicate_contract.dm b/code/modules/antagonists/traitor/syndicate_contract.dm index 5f998bd0dd..945823e95c 100644 --- a/code/modules/antagonists/traitor/syndicate_contract.dm +++ b/code/modules/antagonists/traitor/syndicate_contract.dm @@ -59,7 +59,8 @@ // Launch the pod to collect our victim. /datum/syndicate_contract/proc/launch_extraction_pod(turf/empty_pod_turf) - var/obj/structure/closet/supplypod/extractionpod/empty_pod = new() + var/area/pod_storage_area = locate(/area/centcom/supplypod/podStorage) in GLOB.sortedAreas + var/obj/structure/closet/supplypod/extractionpod/empty_pod = new(pick(get_area_turfs(pod_storage_area))) //Lets not runtime RegisterSignal(empty_pod, COMSIG_ATOM_ENTERED, .proc/enter_check) @@ -180,8 +181,8 @@ if(possible_drop_loc.len > 0) var/pod_rand_loc = rand(1, possible_drop_loc.len) - - var/obj/structure/closet/supplypod/return_pod = new() + var/area/pod_storage_area = locate(/area/centcom/supplypod/podStorage) in GLOB.sortedAreas + var/obj/structure/closet/supplypod/return_pod = new(pick(get_area_turfs(pod_storage_area))) return_pod.bluespace = TRUE return_pod.explosionSize = list(0,0,0,0) return_pod.style = STYLE_SYNDICATE diff --git a/code/modules/antagonists/valentines/heartbreaker.dm b/code/modules/antagonists/valentines/heartbreaker.dm index b78e8d574f..526646d975 100644 --- a/code/modules/antagonists/valentines/heartbreaker.dm +++ b/code/modules/antagonists/valentines/heartbreaker.dm @@ -16,4 +16,4 @@ /datum/antagonist/heartbreaker/greet() to_chat(owner, "You didn't get a date! They're all having fun without you! you'll show them though...") - owner.announce_objectives() \ No newline at end of file + owner.announce_objectives() diff --git a/code/modules/antagonists/wizard/equipment/soulstone.dm b/code/modules/antagonists/wizard/equipment/soulstone.dm index abef18ade0..8303de60cc 100644 --- a/code/modules/antagonists/wizard/equipment/soulstone.dm +++ b/code/modules/antagonists/wizard/equipment/soulstone.dm @@ -249,7 +249,7 @@ S.name = "Shade of [T.real_name]" S.real_name = "Shade of [T.real_name]" T.transfer_ckey(S) - S.original_mind = T.mind.current + S.original_mind = T.mind S.copy_languages(T, LANGUAGE_MIND)//Copies the old mobs languages into the new mob holder. S.update_atom_languages() grant_all_languages(FALSE, FALSE, TRUE) //Grants omnitongue diff --git a/code/modules/antagonists/wizard/equipment/spellbook.dm b/code/modules/antagonists/wizard/equipment/spellbook.dm index 1e98b2f753..9b2def48d7 100644 --- a/code/modules/antagonists/wizard/equipment/spellbook.dm +++ b/code/modules/antagonists/wizard/equipment/spellbook.dm @@ -189,6 +189,10 @@ name = "Mutate" spell_type = /obj/effect/proc_holder/spell/targeted/genetic/mutate +/datum/spellbook_entry/mantra + name = "Inner Mantra" + spell_type = /obj/effect/proc_holder/spell/self/mantra + /datum/spellbook_entry/jaunt name = "Ethereal Jaunt" spell_type = /obj/effect/proc_holder/spell/targeted/ethereal_jaunt diff --git a/code/modules/antagonists/wizard/wizard.dm b/code/modules/antagonists/wizard/wizard.dm index 42954c3542..23e870a0ec 100644 --- a/code/modules/antagonists/wizard/wizard.dm +++ b/code/modules/antagonists/wizard/wizard.dm @@ -181,8 +181,8 @@ to_chat(owner, "Your service has not gone unrewarded, however. Studying under [master.current.real_name], you have learned stealthy, robeless spells. You are able to cast knock and mindswap.") if(APPRENTICE_MARTIAL) owner.AddSpell(new /obj/effect/proc_holder/spell/targeted/touch/nuclear_fist(null)) - H.put_in_hands(new /obj/item/book/granter/martial/plasma_fist(H)) - to_chat(owner, "Your service has not gone unrewarded, however. Studying under [master.current.real_name], you have learned mystical martial abilities. You are also able to use the Nuclear Fist at will.") + owner.AddSpell(new /obj/effect/proc_holder/spell/self/mantra(null)) + to_chat(owner, "Your service has not gone unrewarded, however. Studying under [master.current.real_name], you have learned to control your Inner Mantra. You are also able to use the Nuclear Fist at will.") /datum/antagonist/wizard/apprentice/create_objectives() var/datum/objective/protect/new_objective = new /datum/objective/protect diff --git a/code/modules/antagonists/xeno/xeno.dm b/code/modules/antagonists/xeno/xeno.dm index f10506a0d9..1468a5a97b 100644 --- a/code/modules/antagonists/xeno/xeno.dm +++ b/code/modules/antagonists/xeno/xeno.dm @@ -17,16 +17,16 @@ threat = 3 /datum/antagonist/xeno/threat() - . = 1 + . = 3 if(isalienhunter(owner)) - . = 2 + . = 6 else if(isaliensentinel(owner)) - . = 4 + . = 12 else if(isalienroyal(owner)) if(isalienqueen(owner)) - . = 8 + . = 24 else - . = 6 + . = 18 /datum/antagonist/xeno/create_team(datum/team/xeno/new_team) if(!new_team) diff --git a/code/modules/arousal/organs/breasts.dm b/code/modules/arousal/organs/breasts.dm index 0989966638..e37224e401 100644 --- a/code/modules/arousal/organs/breasts.dm +++ b/code/modules/arousal/organs/breasts.dm @@ -88,7 +88,6 @@ to_chat(owner, "You feel your breasts shrinking away from your body as your chest flattens out.") QDEL_IN(src, 1) return - var/enlargement = FALSE switch(rounded_cached) if(0) //flatchested size = "flat" @@ -96,16 +95,8 @@ size = breast_values[rounded_cached] if(9 to 15) //massive size = breast_values[rounded_cached] - enlargement = TRUE if(16 to INFINITY) //rediculous size = "huge" - enlargement = TRUE - if(owner) - var/status_effect = owner.has_status_effect(STATUS_EFFECT_BREASTS_ENLARGEMENT) - if(enlargement && !status_effect) - owner.apply_status_effect(STATUS_EFFECT_BREASTS_ENLARGEMENT) - else if(!enlargement && status_effect) - owner.remove_status_effect(STATUS_EFFECT_BREASTS_ENLARGEMENT) if(rounded_cached < 16 && owner)//Because byond doesn't count from 0, I have to do this. var/mob/living/carbon/human/H = owner @@ -134,4 +125,4 @@ toggle_visibility(D.features["breasts_visibility"], FALSE) #undef BREASTS_ICON_MIN_SIZE -#undef BREASTS_ICON_MAX_SIZE \ No newline at end of file +#undef BREASTS_ICON_MAX_SIZE diff --git a/code/modules/arousal/organs/penis.dm b/code/modules/arousal/organs/penis.dm index 7b20c0e7ce..e1025094c3 100644 --- a/code/modules/arousal/organs/penis.dm +++ b/code/modules/arousal/organs/penis.dm @@ -39,26 +39,16 @@ return var/rounded_length = round(length) var/new_size - var/enlargement = FALSE switch(rounded_length) if(0 to 6) //If modest size new_size = 1 if(7 to 11) //If large new_size = 2 - if(12 to 20) //If massive + if(12 to 36) //If massive new_size = 3 - if(21 to 34) //If massive and due for large effects - new_size = 3 - enlargement = TRUE - if(35 to INFINITY) //If comical + if(37 to INFINITY) //If comical new_size = 4 //no new sprites for anything larger yet - enlargement = TRUE - if(owner) - var/status_effect = owner.has_status_effect(STATUS_EFFECT_PENIS_ENLARGEMENT) - if(enlargement && !status_effect) - owner.apply_status_effect(STATUS_EFFECT_PENIS_ENLARGEMENT) - else if(!enlargement && status_effect) - owner.remove_status_effect(STATUS_EFFECT_PENIS_ENLARGEMENT) + if(linked_organ) linked_organ.size = clamp(size + new_size, BALLS_SIZE_MIN, BALLS_SIZE_MAX) linked_organ.update() @@ -106,4 +96,4 @@ diameter_ratio = D.features["cock_diameter_ratio"] shape = D.features["cock_shape"] prev_length = length - toggle_visibility(D.features["cock_visibility"], FALSE) \ No newline at end of file + toggle_visibility(D.features["cock_visibility"], FALSE) diff --git a/code/modules/assembly/helpers.dm b/code/modules/assembly/helpers.dm index 3066b14851..2c39751a8b 100644 --- a/code/modules/assembly/helpers.dm +++ b/code/modules/assembly/helpers.dm @@ -13,4 +13,4 @@ Name: IsAssemblyHolder Desc: If true is an object that can hold an assemblyholder object */ /obj/proc/IsAssemblyHolder() - return FALSE \ No newline at end of file + return FALSE diff --git a/code/modules/assembly/playback.dm b/code/modules/assembly/playback.dm index 14ad8c96c9..b3aea12cdc 100644 --- a/code/modules/assembly/playback.dm +++ b/code/modules/assembly/playback.dm @@ -48,4 +48,4 @@ /obj/item/assembly/playback/toggle_secure() . = ..() - listening = FALSE \ No newline at end of file + listening = FALSE diff --git a/code/modules/atmospherics/machinery/atmosmachinery.dm b/code/modules/atmospherics/machinery/atmosmachinery.dm index 97389848ba..25e4084524 100644 --- a/code/modules/atmospherics/machinery/atmosmachinery.dm +++ b/code/modules/atmospherics/machinery/atmosmachinery.dm @@ -336,4 +336,4 @@ return TRUE /obj/machinery/atmospherics/proc/update_layer() - layer = initial(layer) + (piping_layer - PIPING_LAYER_DEFAULT) * PIPING_LAYER_LCHANGE \ No newline at end of file + layer = initial(layer) + (piping_layer - PIPING_LAYER_DEFAULT) * PIPING_LAYER_LCHANGE diff --git a/code/modules/atmospherics/machinery/components/binary_devices/circulator.dm b/code/modules/atmospherics/machinery/components/binary_devices/circulator.dm index 39a99148c2..0540ee2ae6 100644 --- a/code/modules/atmospherics/machinery/components/binary_devices/circulator.dm +++ b/code/modules/atmospherics/machinery/components/binary_devices/circulator.dm @@ -88,6 +88,7 @@ if(!panel_open) return anchored = !anchored + move_resist = anchored? INFINITY : 100 I.play_tool_sound(src) if(generator) disconnectFromGenerator() diff --git a/code/modules/atmospherics/machinery/components/binary_devices/valve.dm b/code/modules/atmospherics/machinery/components/binary_devices/valve.dm index 43cb658210..35eb178771 100644 --- a/code/modules/atmospherics/machinery/components/binary_devices/valve.dm +++ b/code/modules/atmospherics/machinery/components/binary_devices/valve.dm @@ -106,4 +106,4 @@ It's like a regular ol' straight pipe, but you can turn it on and off. /obj/machinery/atmospherics/components/binary/valve/digital/on/layer3 piping_layer = 3 - icon_state = "dvalve_map-3" \ No newline at end of file + icon_state = "dvalve_map-3" diff --git a/code/modules/atmospherics/machinery/components/components_base.dm b/code/modules/atmospherics/machinery/components/components_base.dm index a8d9586fc4..b6911a1709 100644 --- a/code/modules/atmospherics/machinery/components/components_base.dm +++ b/code/modules/atmospherics/machinery/components/components_base.dm @@ -170,4 +170,4 @@ /obj/machinery/atmospherics/components/analyzer_act(mob/living/user, obj/item/I) atmosanalyzer_scan(airs, user, src) - return TRUE \ No newline at end of file + return TRUE diff --git a/code/modules/atmospherics/machinery/datum_pipeline.dm b/code/modules/atmospherics/machinery/datum_pipeline.dm index 350a08dce6..bd7dd6d297 100644 --- a/code/modules/atmospherics/machinery/datum_pipeline.dm +++ b/code/modules/atmospherics/machinery/datum_pipeline.dm @@ -206,7 +206,7 @@ . = other_airs + air if(null in .) stack_trace("[src]([REF(src)]) has one or more null gas mixtures, which may cause bugs. Null mixtures will not be considered in reconcile_air().") - return listclearnulls(.) + listclearnulls(.) /datum/pipeline/proc/empty() for(var/datum/gas_mixture/GM in get_all_connected_airs()) diff --git a/code/modules/atmospherics/machinery/pipes/heat_exchange/junction.dm b/code/modules/atmospherics/machinery/pipes/heat_exchange/junction.dm index 695cb61f51..ad5f65f9d3 100644 --- a/code/modules/atmospherics/machinery/pipes/heat_exchange/junction.dm +++ b/code/modules/atmospherics/machinery/pipes/heat_exchange/junction.dm @@ -42,4 +42,4 @@ /obj/machinery/atmospherics/pipe/heat_exchanging/junction/layer3 piping_layer = 3 - icon_state = "pipe11-3" \ No newline at end of file + icon_state = "pipe11-3" diff --git a/code/modules/atmospherics/machinery/pipes/heat_exchange/simple.dm b/code/modules/atmospherics/machinery/pipes/heat_exchange/simple.dm index 3397e75314..bc46c1f831 100644 --- a/code/modules/atmospherics/machinery/pipes/heat_exchange/simple.dm +++ b/code/modules/atmospherics/machinery/pipes/heat_exchange/simple.dm @@ -35,4 +35,4 @@ /obj/machinery/atmospherics/pipe/heat_exchanging/simple/layer3 piping_layer = 3 - icon_state = "pipe11-3" \ No newline at end of file + icon_state = "pipe11-3" diff --git a/code/modules/atmospherics/machinery/pipes/manifold.dm b/code/modules/atmospherics/machinery/pipes/manifold.dm index aa8ee65bd8..3f061e3779 100644 --- a/code/modules/atmospherics/machinery/pipes/manifold.dm +++ b/code/modules/atmospherics/machinery/pipes/manifold.dm @@ -38,4 +38,4 @@ if(nodes[i]) add_overlay( getpipeimage(icon, "pipe-[piping_layer]", get_dir(src, nodes[i])) ) update_layer() - update_alpha() \ No newline at end of file + update_alpha() diff --git a/code/modules/atmospherics/machinery/pipes/manifold4w.dm b/code/modules/atmospherics/machinery/pipes/manifold4w.dm index 56c0408d18..bbceff56da 100644 --- a/code/modules/atmospherics/machinery/pipes/manifold4w.dm +++ b/code/modules/atmospherics/machinery/pipes/manifold4w.dm @@ -36,4 +36,4 @@ if(nodes[i]) add_overlay( getpipeimage(icon, "pipe-[piping_layer]", get_dir(src, nodes[i])) ) update_layer() - update_alpha() \ No newline at end of file + update_alpha() diff --git a/code/modules/atmospherics/machinery/pipes/simple.dm b/code/modules/atmospherics/machinery/pipes/simple.dm index c3f62f16cb..40afb39ec1 100644 --- a/code/modules/atmospherics/machinery/pipes/simple.dm +++ b/code/modules/atmospherics/machinery/pipes/simple.dm @@ -30,4 +30,4 @@ /obj/machinery/atmospherics/pipe/simple/update_icon() icon_state = "pipe[nodes[1] ? "1" : "0"][nodes[2] ? "1" : "0"]-[piping_layer]" update_layer() - update_alpha() \ No newline at end of file + update_alpha() diff --git a/code/modules/atmospherics/multiz.dm b/code/modules/atmospherics/multiz.dm index 2b3a9af1c7..79a5c2cf14 100644 --- a/code/modules/atmospherics/multiz.dm +++ b/code/modules/atmospherics/multiz.dm @@ -26,4 +26,4 @@ obj/machinery/atmospherics/pipe/simple/multiz ///This is an atmospherics pipe wh above.nodes += src //Two way travel :) return ..() else - return ..() \ No newline at end of file + return ..() diff --git a/code/modules/awaymissions/away_props.dm b/code/modules/awaymissions/away_props.dm index 2081077b90..36ed9b6ba3 100644 --- a/code/modules/awaymissions/away_props.dm +++ b/code/modules/awaymissions/away_props.dm @@ -27,4 +27,4 @@ /obj/effect/wind/process() var/turf/open/T = get_turf(src) if(istype(T)) - T.consider_pressure_difference(get_step(T,dir),strength) \ No newline at end of file + T.consider_pressure_difference(get_step(T,dir),strength) diff --git a/code/modules/awaymissions/exile.dm b/code/modules/awaymissions/exile.dm index 86610a36b8..b45afea312 100644 --- a/code/modules/awaymissions/exile.dm +++ b/code/modules/awaymissions/exile.dm @@ -10,4 +10,4 @@ new /obj/item/implantcase/exile(src) new /obj/item/implantcase/exile(src) new /obj/item/implantcase/exile(src) - new /obj/item/implantcase/exile(src) \ No newline at end of file + new /obj/item/implantcase/exile(src) diff --git a/code/modules/awaymissions/mission_code/Cabin.dm b/code/modules/awaymissions/mission_code/Cabin.dm index 1b099a22db..3ad7c7cb50 100644 --- a/code/modules/awaymissions/mission_code/Cabin.dm +++ b/code/modules/awaymissions/mission_code/Cabin.dm @@ -155,4 +155,4 @@ endTurfX = 159 endTurfY = 157 startTurfX = 37 - startTurfY = 35 \ No newline at end of file + startTurfY = 35 diff --git a/code/modules/awaymissions/mission_code/centcomAway.dm b/code/modules/awaymissions/mission_code/centcomAway.dm index 3a112a5d91..5b8a66b7fd 100644 --- a/code/modules/awaymissions/mission_code/centcomAway.dm +++ b/code/modules/awaymissions/mission_code/centcomAway.dm @@ -60,4 +60,4 @@ teams never did figure out what happened that last time... and I can't wrap my head \ around it myself. Why would a shuttle full of evacuees all snap and beat each other \ to death the moment they reached safety?
\ - - D. Cereza" \ No newline at end of file + - D. Cereza" diff --git a/code/modules/awaymissions/mission_code/jungleresort.dm b/code/modules/awaymissions/mission_code/jungleresort.dm index 6f66f1135a..6c78a81da2 100644 --- a/code/modules/awaymissions/mission_code/jungleresort.dm +++ b/code/modules/awaymissions/mission_code/jungleresort.dm @@ -41,4 +41,4 @@ rare_pet_monkey_names = list("Sun Mukong", "Monkey Kong") /mob/living/simple_animal/hostile/jungle/leaper/boss - health = 450 \ No newline at end of file + health = 450 diff --git a/code/modules/awaymissions/mission_code/stationCollision.dm b/code/modules/awaymissions/mission_code/stationCollision.dm index 232ffe5754..434dc673f7 100644 --- a/code/modules/awaymissions/mission_code/stationCollision.dm +++ b/code/modules/awaymissions/mission_code/stationCollision.dm @@ -150,4 +150,4 @@ GLOBAL_VAR_INIT(sc_safecode5, "[rand(0,9)]") mezzer() /obj/singularity/narsie/mini/ex_act() - return \ No newline at end of file + return diff --git a/code/modules/bsql/core/connection.dm b/code/modules/bsql/core/connection.dm index 0e0b891f65..fb8f729390 100644 --- a/code/modules/bsql/core/connection.dm +++ b/code/modules/bsql/core/connection.dm @@ -65,4 +65,4 @@ BSQL_DEL_PROC(/datum/BSQL_Connection) return null; . = world._BSQL_Internal_Call("QuoteString", id, "[str]") if(!.) - BSQL_ERROR("Library failed to provide quote for [str]!") \ No newline at end of file + BSQL_ERROR("Library failed to provide quote for [str]!") diff --git a/code/modules/buildmode/bm_mode.dm b/code/modules/buildmode/bm_mode.dm index 0c7d640fc0..5bd5f079fa 100644 --- a/code/modules/buildmode/bm_mode.dm +++ b/code/modules/buildmode/bm_mode.dm @@ -88,4 +88,4 @@ deselect_region() return -/datum/buildmode_mode/proc/handle_selected_area(client/c, params) \ No newline at end of file +/datum/buildmode_mode/proc/handle_selected_area(client/c, params) diff --git a/code/modules/buildmode/buildmode.dm b/code/modules/buildmode/buildmode.dm index b232bd212c..4a56257882 100644 --- a/code/modules/buildmode/buildmode.dm +++ b/code/modules/buildmode/buildmode.dm @@ -158,4 +158,4 @@ #undef BM_SWITCHSTATE_NONE #undef BM_SWITCHSTATE_MODE -#undef BM_SWITCHSTATE_DIR \ No newline at end of file +#undef BM_SWITCHSTATE_DIR diff --git a/code/modules/buildmode/buttons.dm b/code/modules/buildmode/buttons.dm index c219f18cec..6901a0e42e 100644 --- a/code/modules/buildmode/buttons.dm +++ b/code/modules/buildmode/buttons.dm @@ -86,4 +86,4 @@ /obj/screen/buildmode/quit/Click() bd.quit() - return 1 \ No newline at end of file + return 1 diff --git a/code/modules/buildmode/effects/line.dm b/code/modules/buildmode/effects/line.dm index 8bba27ac88..d21c0787fa 100644 --- a/code/modules/buildmode/effects/line.dm +++ b/code/modules/buildmode/effects/line.dm @@ -25,4 +25,4 @@ cl.images -= I cl = null QDEL_NULL(I) - return ..() \ No newline at end of file + return ..() diff --git a/code/modules/buildmode/submodes/fill.dm b/code/modules/buildmode/submodes/fill.dm index 58320cff7b..b7d87edef2 100644 --- a/code/modules/buildmode/submodes/fill.dm +++ b/code/modules/buildmode/submodes/fill.dm @@ -59,4 +59,4 @@ else var/obj/A = new objholder(T) A.setDir(BM.build_dir) - log_admin("Build Mode: [key_name(c)] with path [objholder], filled the region from [AREACOORD(cornerA)] through [AREACOORD(cornerB)]") \ No newline at end of file + log_admin("Build Mode: [key_name(c)] with path [objholder], filled the region from [AREACOORD(cornerA)] through [AREACOORD(cornerB)]") diff --git a/code/modules/buildmode/submodes/mapgen.dm b/code/modules/buildmode/submodes/mapgen.dm index 2b57ec1180..7ed99afd50 100644 --- a/code/modules/buildmode/submodes/mapgen.dm +++ b/code/modules/buildmode/submodes/mapgen.dm @@ -45,4 +45,4 @@ var/confirm = alert("Are you sure you want run the map generator?", "Run generator", "Yes", "No") if(confirm == "Yes") G.generate() - log_admin("Build Mode: [key_name(c)] ran the map generator '[G.buildmode_name]' in the region from [AREACOORD(cornerA)] to [AREACOORD(cornerB)]") \ No newline at end of file + log_admin("Build Mode: [key_name(c)] ran the map generator '[G.buildmode_name]' in the region from [AREACOORD(cornerA)] to [AREACOORD(cornerB)]") diff --git a/code/modules/cargo/bounties/botany.dm b/code/modules/cargo/bounties/botany.dm index 654bcfe74b..31e13e9a9b 100644 --- a/code/modules/cargo/bounties/botany.dm +++ b/code/modules/cargo/bounties/botany.dm @@ -227,4 +227,4 @@ wanted_types = list(/obj/item/reagent_containers/food/snacks/grown/cannabis/ultimate) multiplier = 6 bonus_desc = "Under no circumstances mention this shipment to security." - foodtype = "\"meal\"" \ No newline at end of file + foodtype = "\"meal\"" diff --git a/code/modules/cargo/bounties/chef.dm b/code/modules/cargo/bounties/chef.dm index 7f7f0b86e2..c83fa116d6 100644 --- a/code/modules/cargo/bounties/chef.dm +++ b/code/modules/cargo/bounties/chef.dm @@ -136,4 +136,4 @@ description = "There's a debate around command as to weather or not ribs should be considered finger food, and we need a few delicious racks to process." reward = 2250 required_count = 3 - wanted_types = list(/obj/item/reagent_containers/food/snacks/bbqribs) \ No newline at end of file + wanted_types = list(/obj/item/reagent_containers/food/snacks/bbqribs) diff --git a/code/modules/cargo/bounties/gardencook.dm b/code/modules/cargo/bounties/gardencook.dm index 6fdd9b2a3f..39ebdceada 100644 --- a/code/modules/cargo/bounties/gardencook.dm +++ b/code/modules/cargo/bounties/gardencook.dm @@ -62,4 +62,4 @@ description = "Apparently people are putting vegetables on kebabs now. Central Command has taken an interest in this turn of events and would like to know more." reward = 2600 required_count = 3 - wanted_types = list(/obj/item/reagent_containers/food/snacks/kebab/fiesta) \ No newline at end of file + wanted_types = list(/obj/item/reagent_containers/food/snacks/kebab/fiesta) diff --git a/code/modules/cargo/centcom_podlauncher.dm b/code/modules/cargo/centcom_podlauncher.dm index 500e6d8ffe..77fbd6c6bd 100644 --- a/code/modules/cargo/centcom_podlauncher.dm +++ b/code/modules/cargo/centcom_podlauncher.dm @@ -72,7 +72,7 @@ holder = user_mob.client //if its a mob, assign the mob's client to holder bay = locate(/area/centcom/supplypod/loading/one) in GLOB.sortedAreas //Locate the default bay (one) from the centcom map bayNumber = bay.loading_id //Used as quick reference to what bay we're taking items from - var/area/pod_storage_area = locate(/area/centcom/supplypod/pod_storage) in GLOB.sortedAreas + var/area/pod_storage_area = locate(/area/centcom/supplypod/podStorage) in GLOB.sortedAreas temp_pod = new(pick(get_area_turfs(pod_storage_area))) //Create a new temp_pod in the podStorage area on centcom (so users are free to look at it and change other variables if needed) orderedArea = createOrderedArea(bay) //Order all the turfs in the selected bay (top left to bottom right) to a single list. Used for the "ordered" mode (launchChoice = 1) selector = new(null, holder.mob) @@ -638,7 +638,7 @@ refreshView() /area/centcom/supplypod/pod_storage/Initialize(mapload) //temp_pod holding area - . = ..() + . = ..() var/obj/imgbound = locate() in locate(200,SUPPLYPOD_X_OFFSET*-4.5, 1) call(GLOB.podlauncher, "RegisterSignal")(imgbound, "ct[GLOB.podstyles[14][9]]", "[GLOB.podstyles[14][10]]dlauncher") @@ -702,10 +702,11 @@ /datum/centcom_podlauncher/proc/launch(turf/target_turf) //Game time started if (isnull(target_turf)) return - var/obj/structure/closet/supplypod/centcompod/toLaunch = DuplicateObject(temp_pod) //Duplicate the temp_pod (which we have been varediting or configuring with the UI) and store the result + var/obj/structure/closet/supplypod/centcompod/toLaunch = DuplicateObject(temp_pod, sameloc = TRUE) //Duplicate the temp_pod (which we have been varediting or configuring with the UI) and store the result toLaunch.update_icon()//we update_icon() here so that the door doesnt "flicker on" right after it lands - var/shippingLane = GLOB.areas_by_type[/area/centcom/supplypod/supplypod_temp_holding] - toLaunch.forceMove(shippingLane) + //We don't have this area, lets just have it where we had the temp pod + //var/shippingLane = GLOB.areas_by_type[/area/centcom/supplypod/supplypod_temp_holding] + //toLaunch.forceMove(shippingLane) if (launchClone) //We arent launching the actual items from the bay, rather we are creating clones and launching those if(launchRandomItem) var/launch_candidate = pick_n_take(launchList) diff --git a/code/modules/cargo/console.dm b/code/modules/cargo/console.dm index f5a8d21278..5a976b0abb 100644 --- a/code/modules/cargo/console.dm +++ b/code/modules/cargo/console.dm @@ -179,6 +179,10 @@ if((pack.hidden && !(obj_flags & EMAGGED)) || (pack.contraband && !contraband) || pack.DropPodOnly) return + if(self_paid && !pack.can_private_buy) + say("This cannot be bought privately.") + return + var/name = "*None Provided*" var/rank = "*None Provided*" var/ckey = usr.ckey diff --git a/code/modules/cargo/exports.dm b/code/modules/cargo/exports.dm index 671c22bde5..12a5002ac7 100644 --- a/code/modules/cargo/exports.dm +++ b/code/modules/cargo/exports.dm @@ -60,6 +60,9 @@ Credit dupes that require a lot of manual work shouldn't be removed, unless they if(!dry_run && (sold || delete_unsold)) if(ismob(thing)) thing.investigate_log("deleted through cargo export",INVESTIGATE_CARGO) + if(ismecha(thing)) + var/obj/mecha/mech = thing + mech.wreckage = null // why a mech left a wreck when sold i will never know qdel(thing) return report diff --git a/code/modules/cargo/exports/materials.dm b/code/modules/cargo/exports/materials.dm index 675cbb2be0..e84d36d5dc 100644 --- a/code/modules/cargo/exports/materials.dm +++ b/code/modules/cargo/exports/materials.dm @@ -100,4 +100,4 @@ /datum/export/material/runite cost = 300 message = "cm3 of runite" - material_id = /datum/material/runite \ No newline at end of file + material_id = /datum/material/runite diff --git a/code/modules/cargo/packs/livestock.dm b/code/modules/cargo/packs/livestock.dm index ebfb96ec23..a0f11c2f3e 100644 --- a/code/modules/cargo/packs/livestock.dm +++ b/code/modules/cargo/packs/livestock.dm @@ -34,10 +34,57 @@ /datum/supply_pack/critter/parrot/generate() . = ..() - for(var/i in 1 to 4) - new /mob/living/simple_animal/parrot(.) - if(prob(1)) - new /mob/living/simple_animal/parrot/clock_hawk(.) + for(var/i in 1 to 5) + switch(rand(1, 24)) + if(1) + new /mob/living/simple_animal/parrot(.) + if(2) + new /mob/living/simple_animal/parrot/clock_hawk(.) + if(3) + new /mob/living/simple_animal/parrot/kea(.) + if(4) + new /mob/living/simple_animal/parrot/eclectus(.) + if(5) + new /mob/living/simple_animal/parrot/eclectusf(.) + if(6) + new /mob/living/simple_animal/parrot/greybird(.) + if(7) + new /mob/living/simple_animal/parrot/blue_caique(.) + if(8) + new /mob/living/simple_animal/parrot/white_caique(.) + if(9) + new /mob/living/simple_animal/parrot/green_budgerigar(.) + if(10) + new /mob/living/simple_animal/parrot/blue_Budgerigar(.) + if(11) + new /mob/living/simple_animal/parrot/bluegreen_Budgerigar(.) + if(12) + new /mob/living/simple_animal/parrot/commonblackbird(.) + if(13) + new /mob/living/simple_animal/parrot/azuretit(.) + if(14) + new /mob/living/simple_animal/parrot/europeanrobin(.) + if(15) + new /mob/living/simple_animal/parrot/goldcrest(.) + if(16) + new /mob/living/simple_animal/parrot/ringneckdove(.) + if(17) + new /mob/living/simple_animal/parrot/cockatiel(.) + if(18) + new /mob/living/simple_animal/parrot/white_cockatiel(.) + if(19) + new /mob/living/simple_animal/parrot/yellowish_cockatiel(.) + if(20) + new /mob/living/simple_animal/parrot/grey_cockatiel(.) + if(21) + new /mob/living/simple_animal/parrot/too(.) + if(22) + new /mob/living/simple_animal/parrot/hooded_too(.) + if(23) + new /mob/living/simple_animal/parrot/pink_too(.) + if(24) + new /mob/living/simple_animal/parrot/eclectusr(.) + /datum/supply_pack/critter/butterfly name = "Butterflies Crate" diff --git a/code/modules/cargo/packs/materials.dm b/code/modules/cargo/packs/materials.dm index 0cf12fbc5d..86c6b114f0 100644 --- a/code/modules/cargo/packs/materials.dm +++ b/code/modules/cargo/packs/materials.dm @@ -147,6 +147,14 @@ crate_name = "fuel tank crate" crate_type = /obj/structure/closet/crate/large +/datum/supply_pack/materials/hightankfuel + name = "Large Fuel Tank Crate" + desc = "Contains a high-capacity fuel tank. Keep contents away from open flame." + cost = 2000 + contains = list(/obj/structure/reagent_dispensers/fueltank/high) + crate_name = "high-capacity fuel tank crate" + crate_type = /obj/structure/closet/crate/large + /datum/supply_pack/materials/watertank name = "Water Tank Crate" desc = "Contains a tank of dihydrogen monoxide... sounds dangerous." diff --git a/code/modules/cargo/packs/medical.dm b/code/modules/cargo/packs/medical.dm index 6a4165f840..58cae36015 100644 --- a/code/modules/cargo/packs/medical.dm +++ b/code/modules/cargo/packs/medical.dm @@ -90,6 +90,18 @@ crate_name = "medical hardsuit" crate_type = /obj/structure/closet/crate/secure/medical +/datum/supply_pack/medical/paramedicevasuit + name = "Paramedic EVA Suit" + desc = "Greytide pushing up daisies with the carp outside the station? Chemistry vented in a meth experiment gone wrong? Be the blue saviour this station desperately needs and get your Paramedical EVA suit today! Requires medical access to open." + cost = 1975 + access = ACCESS_MEDICAL + contains = list(/obj/item/tank/internals/emergency_oxygen, + /obj/item/clothing/head/helmet/space/eva/paramedic, + /obj/item/clothing/suit/space/eva/paramedic, + /obj/item/clothing/mask/breath) + crate_name = "paramedic EVA suit" + crate_type = /obj/structure/closet/crate/secure/medical + /datum/supply_pack/medical/supplies name = "Medical Supplies Crate" desc = "Contains seven beakers, syringes, and bodybags. Three morphine bottles, four insulin pills. Two charcoal bottles, epinephrine bottles, antitoxin bottles, and large beakers. Finally, a single roll of medical gauze, as well as a bottle of stimulant pills for long, hard work days. German doctor not included." diff --git a/code/modules/cargo/packs/service.dm b/code/modules/cargo/packs/service.dm index 0c7c63f867..2bb3934ac7 100644 --- a/code/modules/cargo/packs/service.dm +++ b/code/modules/cargo/packs/service.dm @@ -261,9 +261,9 @@ /obj/item/reagent_containers/glass/bucket, /obj/item/reagent_containers/glass/bucket, /obj/item/mop, - /obj/item/caution, - /obj/item/caution, - /obj/item/caution, + /obj/item/clothing/suit/caution, + /obj/item/clothing/suit/caution, + /obj/item/clothing/suit/caution, /obj/item/storage/bag/trash, /obj/item/reagent_containers/spray/cleaner, /obj/item/reagent_containers/rag, diff --git a/code/modules/cargo/supplypod.dm b/code/modules/cargo/supplypod.dm index 2a233b9116..efac62c930 100644 --- a/code/modules/cargo/supplypod.dm +++ b/code/modules/cargo/supplypod.dm @@ -11,7 +11,7 @@ allow_dense = TRUE delivery_icon = null can_weld_shut = FALSE - armor = list(MELEE = 30, BULLET = 50, LASER = 50, ENERGY = 100, BOMB = 100, BIO = 0, RAD = 0, FIRE = 100, ACID = 80) + armor = list("melee" = 30, "bullet" = 50, "laser" = 50, "energy" = 100, "bomb" = 100, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 80) anchored = TRUE //So it cant slide around after landing anchorable = FALSE flags_1 = PREVENT_CONTENTS_EXPLOSION_1 @@ -167,7 +167,7 @@ . += decal return else if (GLOB.podstyles[style][POD_SHAPE] != POD_SHAPE_NORML) //If we're not a normal pod shape (aka, if we don't have fins), just add the door without masking - . += door + . += door else var/icon/masked_door = new(icon, door) //The door we want to apply var/icon/fin_masker = new(icon, "mask_[fin_mask]") //The fin shape we want to 'cut out' of the door diff --git a/code/modules/client/client_defines.dm b/code/modules/client/client_defines.dm index 53ab7f7abb..b71521121b 100644 --- a/code/modules/client/client_defines.dm +++ b/code/modules/client/client_defines.dm @@ -89,6 +89,8 @@ var/list/char_render_holders //Should only be a key-value list of north/south/east/west = obj/screen. + /// Last time they used fix macros + var/last_macro_fix = 0 /// Keys currently held var/list/keys_held = list() /// These next two vars are to apply movement for keypresses and releases made while move delayed. diff --git a/code/modules/client/client_procs.dm b/code/modules/client/client_procs.dm index c581e402a6..c298d150f8 100644 --- a/code/modules/client/client_procs.dm +++ b/code/modules/client/client_procs.dm @@ -101,6 +101,10 @@ GLOBAL_LIST_INIT(blacklisted_builds, list( keyUp(keycode) return + if(href_list["statpanel_item_target"]) + handle_statpanel_click(href_list) + return + // Tgui Topic middleware if(tgui_Topic(href_list)) return @@ -141,6 +145,10 @@ GLOBAL_LIST_INIT(blacklisted_builds, list( ..() //redirect to hsrc.Topic() +/client/proc/handle_statpanel_click(list/href_list) + var/atom/target = locate(href_list["statpanel_item_target"]) + Click(target, target.loc, null, "[href_list["statpanel_item_shiftclick"]?"shift=1;":null][href_list["statpanel_item_ctrlclick"]?"ctrl=1;":null]&alt=[href_list["statpanel_item_altclick"]?"alt=1;":null]", FALSE, "statpanel") + /client/proc/is_content_unlocked() if(!prefs.unlock_content) to_chat(src, "Become a BYOND member to access member-perks and features, as well as support the engine that makes this game possible. Only 10 bucks for 3 months! Click Here to find out more.") @@ -269,7 +277,7 @@ GLOBAL_LIST_INIT(blacklisted_builds, list( prefs = new /datum/preferences(src) GLOB.preferences_datums[ckey] = prefs - addtimer(CALLBACK(src, .proc/ensure_keys_set), 10) //prevents possible race conditions + addtimer(CALLBACK(src, .proc/ensure_keys_set, prefs), 10) //prevents possible race conditions prefs.last_ip = address //these are gonna be used for banning prefs.last_id = computer_id //these are gonna be used for banning @@ -443,7 +451,6 @@ GLOBAL_LIST_INIT(blacklisted_builds, list( if(!winexists(src, "asset_cache_browser")) // The client is using a custom skin, tell them. to_chat(src, "Unable to access asset cache browser, if you are using a custom skin file, please allow DS to download the updated version, if you are not, then make a bug report. This is not a critical issue but can cause issues with resource downloading, as it is impossible to know when extra resources arrived to you.") - //This is down here because of the browse() calls in tooltip/New() if(!tooltips) tooltips = new /datum/tooltip(src) @@ -475,11 +482,6 @@ GLOBAL_LIST_INIT(blacklisted_builds, list( fit_viewport() Master.UpdateTickRate() -/client/proc/ensure_keys_set() - if(SSinput.initialized) - set_macros() - update_movement_keys(prefs) - ////////////// //DISCONNECT// ////////////// @@ -804,7 +806,7 @@ GLOBAL_LIST_INIT(blacklisted_builds, list( message_admins("Proxy Detection: [key_name_admin(src)] IP intel rated [res.intel*100]% likely to be a Proxy/VPN.") ip_intel = res.intel -/client/Click(atom/object, atom/location, control, params, ignore_spam = FALSE) +/client/Click(atom/object, atom/location, control, params, ignore_spam = FALSE, extra_info) if(last_click > world.time - world.tick_lag) return last_click = world.time @@ -857,7 +859,7 @@ GLOBAL_LIST_INIT(blacklisted_builds, list( return if(prefs.log_clicks) - log_click(object, location, control, params, src) + log_click(object, location, control, params, src, extra_info? "clicked ([extra_info])" : null) if (prefs.hotkeys) // If hotkey mode is enabled, then clicking the map will automatically @@ -927,8 +929,22 @@ GLOBAL_LIST_INIT(blacklisted_builds, list( if (NAMEOF(src, view)) view_size.setDefault(var_value) return TRUE + if(NAMEOF(src, computer_id)) + return FALSE + if(NAMEOF(src, address)) + return FALSE . = ..() +/client/vv_get_var(var_name) + . = ..() + switch(var_name) + if(NAMEOF(src, computer_id)) + if(!check_rights(R_SENSITIVE, FALSE)) + return "SENSITIVE" + if(NAMEOF(src, address)) + if(!check_rights(R_SENSITIVE, FALSE)) + return "SENSITIVE" + /client/proc/rescale_view(change, min, max) var/viewscale = getviewsize(view) var/x = viewscale[1] @@ -937,23 +953,6 @@ GLOBAL_LIST_INIT(blacklisted_builds, list( y = clamp(y+change, min,max) view_size.setDefault("[x]x[y]") -/client/proc/update_movement_keys(datum/preferences/direct_prefs) - var/datum/preferences/D = prefs || direct_prefs - if(!D?.key_bindings) - return - movement_keys = list() - for(var/key in D.key_bindings) - for(var/kb_name in D.key_bindings[key]) - switch(kb_name) - if("North") - movement_keys[key] = NORTH - if("East") - movement_keys[key] = EAST - if("West") - movement_keys[key] = WEST - if("South") - movement_keys[key] = SOUTH - /client/proc/change_view(new_size) if (isnull(new_size)) CRASH("change_view called without argument.") @@ -1025,3 +1024,25 @@ GLOBAL_LIST_INIT(blacklisted_builds, list( verb_tabs |= verb_to_init.category verblist[++verblist.len] = list(verb_to_init.category, verb_to_init.name) src << output("[url_encode(json_encode(verb_tabs))];[url_encode(json_encode(verblist))]", "statbrowser:init_verbs") + +//increment progress for an unlockable loadout item +/client/proc/increment_progress(key, amount) + if(prefs) + var/savefile/S = new /savefile(prefs.path) + var/list/unlockable_loadout_data = prefs.unlockable_loadout_data + if(!length(unlockable_loadout_data)) + unlockable_loadout_data = list() + unlockable_loadout_data[key] = amount + WRITE_FILE(S["unlockable_loadout"], safe_json_encode(unlockable_loadout_data)) + prefs.unlockable_loadout_data = unlockable_loadout_data + return TRUE + else + if(unlockable_loadout_data[key]) + unlockable_loadout_data[key] += amount + else + unlockable_loadout_data[key] = amount + WRITE_FILE(S["unlockable_loadout"], safe_json_encode(unlockable_loadout_data)) + prefs.unlockable_loadout_data = unlockable_loadout_data + return TRUE + return FALSE + diff --git a/code/modules/client/message.dm b/code/modules/client/message.dm index 6904fa8973..1bb9d03dd8 100644 --- a/code/modules/client/message.dm +++ b/code/modules/client/message.dm @@ -7,4 +7,4 @@ GLOBAL_LIST_EMPTY(clientmessages) var/list/L = GLOB.clientmessages[ckey] if(!L) GLOB.clientmessages[ckey] = L = list() - L += message \ No newline at end of file + L += message diff --git a/code/modules/client/player_details.dm b/code/modules/client/player_details.dm index 814000ce48..6b2a936533 100644 --- a/code/modules/client/player_details.dm +++ b/code/modules/client/player_details.dm @@ -3,4 +3,4 @@ var/list/logging = list() var/list/post_login_callbacks = list() var/list/post_logout_callbacks = list() - var/byond_version = "Unknown" \ No newline at end of file + var/byond_version = "Unknown" diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index 196c1ce0ed..7c6ba30b80 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -10,13 +10,31 @@ GLOBAL_LIST_EMPTY(preferences_datums) var/path var/vr_path var/default_slot = 1 //Holder so it doesn't default to slot 1, rather the last one used - var/max_save_slots = 16 + var/max_save_slots = 24 - //non-preference stuff - var/muted = 0 + // Intra-round persistence begin + /// Flags for admin mutes + var/muted = NONE + /// Last IP the person was seen on var/last_ip + /// Last CID the person was seen on var/last_id + /// Do we log their clicks to disk? var/log_clicks = FALSE + /// Characters they have joined the round under - Lazylist of names + var/list/characters_joined_as + /// Slots they have joined the round under - Lazylist of numbers + var/list/slots_joined_as + /// Are we currently subject to respawn restrictions? Usually set by us using the "respawn" verb, but can be lifted by admins. + var/respawn_restrictions_active = FALSE + /// time of death we consider for respawns + var/respawn_time_of_death = -INFINITY + /// did they DNR? used to prevent respawns. + var/dnr_triggered = FALSE + /// did they cryo on their last ghost? + var/respawn_did_cryo = FALSE + + // Intra-round persistence end var/icon/custom_holoform_icon var/list/cached_holoform_icons @@ -53,7 +71,6 @@ GLOBAL_LIST_EMPTY(preferences_datums) /// List with a key string associated to a list of keybindings. Unlike key_bindings, this one operates on raw key, allowing for binding a key that triggers regardless of if a modifier is depressed as long as the raw key is sent. var/list/modless_key_bindings = list() - var/tgui_fancy = TRUE var/tgui_lock = TRUE var/windowflashing = TRUE @@ -101,73 +118,8 @@ GLOBAL_LIST_EMPTY(preferences_datums) var/eye_type = DEFAULT_EYES_TYPE //Eye type var/split_eye_colors = FALSE var/datum/species/pref_species = new /datum/species/human() //Mutant race - var/list/features = list("mcolor" = "FFFFFF", - "mcolor2" = "FFFFFF", - "mcolor3" = "FFFFFF", - "tail_lizard" = "Smooth", - "tail_human" = "None", - "snout" = "Round", - "horns" = "None", - "horns_color" = "85615a", - "ears" = "None", - "wings" = "None", - "wings_color" = "FFF", - "frills" = "None", - "deco_wings" = "None", - "spines" = "None", - "body_markings" = "None", - "legs" = "Plantigrade", - "insect_wings" = "Plain", - "insect_fluff" = "None", - "insect_markings" = "None", - "arachnid_legs" = "Plain", - "arachnid_spinneret" = "Plain", - "arachnid_mandibles" = "Plain", - "mam_body_markings" = "Plain", - "mam_ears" = "None", - "mam_snouts" = "None", - "mam_tail" = "None", - "mam_tail_animated" = "None", - "xenodorsal" = "Standard", - "xenohead" = "Standard", - "xenotail" = "Xenomorph Tail", - "taur" = "None", - "genitals_use_skintone" = FALSE, - "has_cock" = FALSE, - "cock_shape" = DEF_COCK_SHAPE, - "cock_length" = COCK_SIZE_DEF, - "cock_diameter_ratio" = COCK_DIAMETER_RATIO_DEF, - "cock_color" = "ffffff", - "cock_taur" = FALSE, - "has_balls" = FALSE, - "balls_color" = "ffffff", - "balls_shape" = DEF_BALLS_SHAPE, - "balls_size" = BALLS_SIZE_DEF, - "balls_cum_rate" = CUM_RATE, - "balls_cum_mult" = CUM_RATE_MULT, - "balls_efficiency" = CUM_EFFICIENCY, - "has_breasts" = FALSE, - "breasts_color" = "ffffff", - "breasts_size" = BREASTS_SIZE_DEF, - "breasts_shape" = DEF_BREASTS_SHAPE, - "breasts_producing" = FALSE, - "has_vag" = FALSE, - "vag_shape" = DEF_VAGINA_SHAPE, - "vag_color" = "ffffff", - "has_womb" = FALSE, - "balls_visibility" = GEN_VISIBLE_NO_UNDIES, - "breasts_visibility"= GEN_VISIBLE_NO_UNDIES, - "cock_visibility" = GEN_VISIBLE_NO_UNDIES, - "vag_visibility" = GEN_VISIBLE_NO_UNDIES, - "ipc_screen" = "Sunburst", - "ipc_antenna" = "None", - "flavor_text" = "", - "silicon_flavor_text" = "", - "ooc_notes" = "", - "meat_type" = "Mammalian", - "body_model" = MALE, - "body_size" = RESIZE_DEFAULT_SIZE - ) + var/list/features = list("mcolor" = "FFFFFF", "mcolor2" = "FFFFFF", "mcolor3" = "FFFFFF", "tail_lizard" = "Smooth", "tail_human" = "None", "snout" = "Round", "horns" = "None", "horns_color" = "85615a", "ears" = "None", "wings" = "None", "wings_color" = "FFF", "frills" = "None", "deco_wings" = "None", "spines" = "None", "body_markings" = "None", "legs" = "Plantigrade", "insect_wings" = "Plain", "insect_fluff" = "None", "insect_markings" = "None", "arachnid_legs" = "Plain", "arachnid_spinneret" = "Plain", "arachnid_mandibles" = "Plain", "mam_body_markings" = "Plain", "mam_ears" = "None", "mam_snouts" = "None", "mam_tail" = "None", "mam_tail_animated" = "None", "xenodorsal" = "Standard", "xenohead" = "Standard", "xenotail" = "Xenomorph Tail", "taur" = "None", "genitals_use_skintone" = FALSE, "has_cock" = FALSE, "cock_shape" = DEF_COCK_SHAPE, "cock_length" = COCK_SIZE_DEF, "cock_diameter_ratio" = COCK_DIAMETER_RATIO_DEF, "cock_color" = "ffffff", "cock_taur" = FALSE, "has_balls" = FALSE, "balls_color" = "ffffff", "balls_shape" = DEF_BALLS_SHAPE, "balls_size" = BALLS_SIZE_DEF, "balls_cum_rate" = CUM_RATE, "balls_cum_mult" = CUM_RATE_MULT, "balls_efficiency" = CUM_EFFICIENCY, "has_breasts" = FALSE, "breasts_color" = "ffffff", "breasts_size" = BREASTS_SIZE_DEF, "breasts_shape" = DEF_BREASTS_SHAPE, "breasts_producing" = FALSE, "has_vag" = FALSE, "vag_shape" = DEF_VAGINA_SHAPE, "vag_color" = "ffffff", "has_womb" = FALSE, "balls_visibility" = GEN_VISIBLE_NO_UNDIES, "breasts_visibility"= GEN_VISIBLE_NO_UNDIES, "cock_visibility" = GEN_VISIBLE_NO_UNDIES, "vag_visibility" = GEN_VISIBLE_NO_UNDIES, "ipc_screen" = "Sunburst", "ipc_antenna" = "None", "flavor_text" = "", "silicon_flavor_text" = "", "ooc_notes" = "", "meat_type" = "Mammalian", "body_model" = MALE, "body_size" = RESIZE_DEFAULT_SIZE, "color_scheme" = OLD_CHARACTER_COLORING) + var/custom_speech_verb = "default" //if your say_mod is to be something other than your races var/custom_tongue = "default" //if your tongue is to be something other than your races var/modified_limbs = list() //prosthetic/amputated limbs @@ -245,7 +197,9 @@ GLOBAL_LIST_EMPTY(preferences_datums) ///loadout stuff var/gear_points = 10 var/list/gear_categories - var/list/chosen_gear = list() + var/list/loadout_data = list() + var/list/unlockable_loadout_data = list() + var/loadout_slot = 1 //goes from 1 to MAXIMUM_LOADOUT_SAVES var/gear_category var/gear_subcategory @@ -276,7 +230,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) load_path(C.ckey) unlock_content = C.IsByondMember() if(unlock_content) - max_save_slots = 24 + max_save_slots = 32 var/loaded_preferences_successfully = load_preferences() if(loaded_preferences_successfully) if(load_character()) @@ -284,7 +238,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) //we couldn't load character data so just randomize the character appearance + name random_character() //let's create a random character then - rather than a fat, bald and naked man. key_bindings = deepCopyList(GLOB.hotkey_keybinding_list_by_key) // give them default keybinds and update their movement keys - C?.update_movement_keys(src) + C?.ensure_keys_set(src) real_name = pref_species.random_name(gender,1) if(!loaded_preferences_successfully) save_preferences() @@ -470,6 +424,9 @@ GLOBAL_LIST_EMPTY(preferences_datums) if(!use_skintones) dat += APPEARANCE_CATEGORY_COLUMN + dat += "

Advanced Coloring

" + dat += "
[(features["color_scheme"] == ADVANCED_CHARACTER_COLORING) ? "Enabled" : "Disabled"]" + dat += "

Body Colors

" dat += "Primary Color:
" @@ -551,6 +508,52 @@ GLOBAL_LIST_EMPTY(preferences_datums) var/color_type = GLOB.colored_mutant_parts[mutant_part] //if it can be coloured, show the appropriate button if(color_type) dat += "    Change
" + else + if(features["color_scheme"] == ADVANCED_CHARACTER_COLORING) //advanced individual part colouring system + //is it matrixed or does it have extra parts to be coloured? + var/find_part = features[mutant_part] || pref_species.mutant_bodyparts[mutant_part] + var/find_part_list = GLOB.mutant_reference_list[mutant_part] + if(find_part && find_part != "None" && find_part_list) + var/datum/sprite_accessory/accessory = find_part_list[find_part] + if(accessory) + if(accessory.color_src == MATRIXED || accessory.color_src == MUTCOLORS || accessory.color_src == MUTCOLORS2 || accessory.color_src == MUTCOLORS3) //mutcolors1-3 are deprecated now, please don't rely on these in the future + var/mutant_string = accessory.mutant_part_string + if(istype(accessory, /datum/sprite_accessory/mam_body_markings) || istype(accessory, /datum/sprite_accessory/body_markings)) + continue + var/primary_feature = "[mutant_string]_primary" + var/secondary_feature = "[mutant_string]_secondary" + var/tertiary_feature = "[mutant_string]_tertiary" + if(!features[primary_feature]) + features[primary_feature] = features["mcolor"] + if(!features[secondary_feature]) + features[secondary_feature] = features["mcolor2"] + if(!features[tertiary_feature]) + features[tertiary_feature] = features["mcolor3"] + + var/matrixed_sections = accessory.matrixed_sections + if(accessory.color_src == MATRIXED && !matrixed_sections) + message_admins("Sprite Accessory Failure (customization): Accessory [accessory.type] is a matrixed item without any matrixed sections set!") + continue + else if(accessory.color_src == MATRIXED) + switch(matrixed_sections) + if(MATRIX_GREEN) //only composed of a green section + primary_feature = secondary_feature //swap primary for secondary, so it properly assigns the second colour, reserved for the green section + if(MATRIX_BLUE) + primary_feature = tertiary_feature //same as above, but the tertiary feature is for the blue section + if(MATRIX_RED_BLUE) //composed of a red and blue section + secondary_feature = tertiary_feature //swap secondary for tertiary, as blue should always be tertiary + if(MATRIX_GREEN_BLUE) //composed of a green and blue section + primary_feature = secondary_feature //swap primary for secondary, as first option is green, which is linked to the secondary + secondary_feature = tertiary_feature //swap secondary for tertiary, as second option is blue, which is linked to the tertiary + dat += "Primary Color
" + dat += "    Change
" + if((accessory.color_src == MATRIXED && (matrixed_sections == MATRIX_RED_BLUE || matrixed_sections == MATRIX_GREEN_BLUE || matrixed_sections == MATRIX_RED_GREEN || matrixed_sections == MATRIX_ALL)) || (accessory.extra && (accessory.extra_color_src == MUTCOLORS || accessory.extra_color_src == MUTCOLORS2 || accessory.extra_color_src == MUTCOLORS3))) + dat += "Secondary Color
" + dat += "    Change
" + if((accessory.color_src == MATRIXED && matrixed_sections == MATRIX_ALL) || (accessory.extra2 && (accessory.extra2_color_src == MUTCOLORS || accessory.extra2_color_src == MUTCOLORS2 || accessory.extra2_color_src == MUTCOLORS3))) + dat += "Tertiary Color
" + dat += "    Change
" + mutant_category++ if(mutant_category >= MAX_MUTANT_ROWS) dat += "" @@ -823,6 +826,19 @@ GLOBAL_LIST_EMPTY(preferences_datums) dat += "
" if(3) + //calculate your gear points from the chosen item + gear_points = CONFIG_GET(number/initial_gear_points) + var/list/chosen_gear = loadout_data["SAVE_[loadout_slot]"] + if(chosen_gear) + for(var/loadout_item in chosen_gear) + var/loadout_item_path = loadout_item[LOADOUT_ITEM] + if(loadout_item_path) + var/datum/gear/loadout_gear = text2path(loadout_item_path) + if(loadout_gear) + gear_points -= initial(loadout_gear.cost) + else + chosen_gear = list() + dat += "" dat += "" dat += "" @@ -878,15 +894,29 @@ GLOBAL_LIST_EMPTY(preferences_datums) if(donoritem && !gear.donator_ckey_check(user.ckey)) continue var/class_link = "" - if(gear.type in chosen_gear) + var/list/loadout_item = has_loadout_gear(loadout_slot, "[gear.type]") + var/extra_color_data = "" + if(loadout_item) class_link = "style='white-space:normal;' class='linkOn' href='?_src_=prefs;preference=gear;toggle_gear_path=[html_encode(name)];toggle_gear=0'" - else if(gear_points <= 0) + if(gear.loadout_flags & LOADOUT_CAN_COLOR_POLYCHROMIC) + extra_color_data += "
Color" + for(var/loadout_color in loadout_item[LOADOUT_COLOR]) + extra_color_data += "   " + else + var/loadout_color_non_poly = "#FFFFFF" + if(length(loadout_item[LOADOUT_COLOR])) + loadout_color_non_poly = loadout_item[LOADOUT_COLOR][1] + extra_color_data += "
Color" + extra_color_data += "   " + else if((gear_points - gear.cost) < 0) class_link = "style='white-space:normal;' class='linkOff'" else if(donoritem) class_link = "style='white-space:normal;background:#ebc42e;' href='?_src_=prefs;preference=gear;toggle_gear_path=[html_encode(name)];toggle_gear=1'" - else + else if(!istype(gear, /datum/gear/unlockable) || can_use_unlockable(gear)) class_link = "style='white-space:normal;' href='?_src_=prefs;preference=gear;toggle_gear_path=[html_encode(name)];toggle_gear=1'" - dat += "" + else + class_link = "style='white-space:normal;background:#eb2e2e;' class='linkOff'" + dat += "" dat += "" + if(!istype(gear, /datum/gear/unlockable)) + dat += "" + else + //we add the user's progress to the description assuming they have progress + var/datum/gear/unlockable/unlockable = gear + var/progress_made = unlockable_loadout_data[unlockable.progress_key] + if(!progress_made) + progress_made = 0 + dat += "" + dat += "
[gear_points] loadout points remaining. \[Clear Loadout\]
You can only choose one item per category, unless it's an item that spawns in your backpack or hands.
[name]
[name][extra_color_data][gear.cost]" if(islist(gear.restricted_roles)) if(gear.restricted_roles.len) @@ -898,7 +928,16 @@ GLOBAL_LIST_EMPTY(preferences_datums) dat += "" dat += gear.restricted_roles.Join(";") dat += "" - dat += "[gear.description]
[gear.description]
[gear.description] Progress: [min(progress_made, unlockable.progress_required)]/[unlockable.progress_required]
" if(4) // Content preferences dat += "
" @@ -968,7 +1007,9 @@ GLOBAL_LIST_EMPTY(preferences_datums) var/list/default_keys = hotkeys ? kb.hotkey_keys : kb.classic_keys if(LAZYLEN(default_keys)) dat += "| Default: [default_keys.Join(", ")]" - dat += "Independent Binding: [current_independent_binding]" + dat += "" + if(!kb.special && !kb.clientside) + dat += "Independent Binding: [current_independent_binding]" dat += "
" else var/bound_key = user_binds[kb.name][1] @@ -981,7 +1022,9 @@ GLOBAL_LIST_EMPTY(preferences_datums) var/list/default_keys = hotkeys ? kb.classic_keys : kb.hotkey_keys if(LAZYLEN(default_keys)) dat += "| Default: [default_keys.Join(", ")]" - dat += "Independent Binding: [current_independent_binding]" + dat += "" + if(!kb.special && !kb.clientside) + dat += "Independent Binding: [current_independent_binding]" dat += "
" dat += "

" @@ -1007,7 +1050,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) #undef APPEARANCE_CATEGORY_COLUMN #undef MAX_MUTANT_ROWS -/datum/preferences/proc/CaptureKeybinding(mob/user, datum/keybinding/kb, old_key, independent = FALSE) +/datum/preferences/proc/CaptureKeybinding(mob/user, datum/keybinding/kb, old_key, independent = FALSE, special = FALSE) var/HTML = {"
Keybinding: [kb.full_name]
[kb.description]

Press any key to change
Press ESC to clear
\n" + inline_assets_str += "Byond.loadJs('[url]', true);\n" asset.send(client) - html = replacetextEx(html, "\n", inline_styles) - html = replacetextEx(html, "\n", inline_scripts) + if(length(inline_assets_str)) + inline_assets_str = "\n" + html = replacetextEx(html, "\n", inline_assets_str) // Inject custom HTML html = replacetextEx(html, "\n", inline_html) // Open the window diff --git a/code/modules/unit_tests/timer_sanity.dm b/code/modules/unit_tests/timer_sanity.dm index 1e5b022b19..d92323a525 100644 --- a/code/modules/unit_tests/timer_sanity.dm +++ b/code/modules/unit_tests/timer_sanity.dm @@ -1,3 +1,3 @@ /datum/unit_test/timer_sanity/Run() if(SStimer.bucket_count < 0) - Fail("SStimer is going into negative bucket count from something") \ No newline at end of file + Fail("SStimer is going into negative bucket count from something") diff --git a/code/modules/uplink/uplink_items/uplink_bundles.dm b/code/modules/uplink/uplink_items/uplink_bundles.dm index 1b7909a50d..d01c3ae96a 100644 --- a/code/modules/uplink/uplink_items/uplink_bundles.dm +++ b/code/modules/uplink/uplink_items/uplink_bundles.dm @@ -52,6 +52,15 @@ cost = 20 exclude_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops, /datum/game_mode/traitor/internal_affairs) +/datum/uplink_item/bundles_TC/scarp_bundle + name = "Sleeping Carp Bundle" + desc = "Become one with your inner carp! Your ancient fish masters leave behind their legacy, and bestow to you their teachings, sacred uniform, and staff. \ + Please be aware that you will not be able to use dishonerable ranged weapons." + item = /obj/item/storage/box/syndie_kit/scarp + cost = 20 + player_minimum = 20 + exclude_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops, /datum/game_mode/traitor/internal_affairs) + /datum/uplink_item/suits/infiltrator_bundle name = "Insidious Infiltration Gear Case" desc = "Developed by Roseus Galactic in conjunction with the Gorlex Marauders to produce a functional suit for urban operations, \ diff --git a/code/modules/uplink/uplink_items/uplink_roles.dm b/code/modules/uplink/uplink_items/uplink_roles.dm index b8eaf41371..4edbe2f2c7 100644 --- a/code/modules/uplink/uplink_items/uplink_roles.dm +++ b/code/modules/uplink/uplink_items/uplink_roles.dm @@ -60,7 +60,6 @@ cost = 15 restricted_roles = list("Clown") -/* /datum/uplink_item/role_restricted/clowncar name = "Clown Car" desc = "The Clown Car is the ultimate transportation method for any worthy clown! \ @@ -69,9 +68,8 @@ someone saves them or they manage to crawl out. Be sure not to ram into any walls or vending machines, as the springloaded seats \ are very sensetive. Now with our included lube defense mechanism which will protect you against any angry shitcurity!" item = /obj/vehicle/sealed/car/clowncar - cost = 15 + cost = 16 restricted_roles = list("Clown") -*/ /datum/uplink_item/role_restricted/haunted_magic_eightball name = "Haunted Magic Eightball" @@ -144,6 +142,14 @@ cost = 4 // Has syndie tools + gloves + a robust weapon restricted_roles = list("Assistant", "Curator") //Curator due to this being made of gold - It fits the theme +/datum/uplink_item/role_restricted/oldtoolboxclean // this is the fourth item relating to toolboxes to be placed into this godforsaken bloated uplink + name = "Ancient Toolbox" + desc = "An iconic toolbox design notorious with Assistants everywhere, this design was especially made to become more robust the more telecrystals it has inside it! Tools and insulated gloves included." + item = /obj/item/storage/toolbox/mechanical/old/clean + cost = 2 // with eighteen telecrystals you are still weaker than a desword and without any of its defenses -- the scary part comes from collaborating with allies for a fifty eight force toolbox oh fuck + restricted_roles = list("Assistant") + surplus = 0 + /datum/uplink_item/role_restricted/mimery name = "Guide to Advanced Mimery Series" desc = "The classical two part series on how to further hone your mime skills. Upon studying the series, the user should be able to make 3x1 invisible walls, and shoot bullets out of their fingers. \ @@ -244,3 +250,11 @@ cost = 2 item = /obj/item/clothing/shoes/magboots/crushing restricted_roles = list("Chief Engineer", "Station Engineer", "Atmospheric Technician") + +/datum/uplink_item/role_restricted/turretbox + name = "Disposable Sentry Gun" + desc = "A disposable sentry gun deployment system cleverly disguised as a toolbox, apply wrench for functionality." + item = /obj/item/storage/toolbox/emergency/turret + cost = 11 + restricted_roles = list("Station Engineer") + diff --git a/code/modules/vehicles/cars/clowncar.dm b/code/modules/vehicles/cars/clowncar.dm index cd21b61dbe..0b75dbf4db 100644 --- a/code/modules/vehicles/cars/clowncar.dm +++ b/code/modules/vehicles/cars/clowncar.dm @@ -18,6 +18,12 @@ . = ..() initialize_controller_action_type(/datum/action/vehicle/sealed/horn/clowncar, VEHICLE_CONTROL_DRIVE) +/obj/vehicle/sealed/car/clowncar/driver_move(mob/user, direction) //Prevent it from moving onto space + if(isspaceturf(get_step(src, direction))) + return FALSE + else + return ..() + /obj/vehicle/sealed/car/clowncar/auto_assign_occupant_flags(mob/M) if(ishuman(M)) var/mob/living/carbon/human/H = M @@ -56,7 +62,7 @@ L.visible_message("[src] rams into [L] and sucks him up!") //fuck off shezza this isn't ERP. mob_forced_enter(L) playsound(src, pick('sound/vehicles/clowncar_ram1.ogg', 'sound/vehicles/clowncar_ram2.ogg', 'sound/vehicles/clowncar_ram3.ogg'), 75) - else if(istype(M, /turf/closed)) + else if(istype(M, /turf/closed) || istype(M, /obj/machinery/door/airlock/external)) visible_message("[src] rams into [M] and crashes!") playsound(src, pick('sound/vehicles/clowncar_crash1.ogg', 'sound/vehicles/clowncar_crash2.ogg'), 75) playsound(src, 'sound/vehicles/clowncar_crashpins.ogg', 75) @@ -130,3 +136,25 @@ /obj/vehicle/sealed/car/clowncar/proc/StopDroppingOil() droppingoil = FALSE + +/obj/vehicle/sealed/car/clowncar/twitch_plays + key_type = null + explode_on_death = FALSE + +/obj/vehicle/sealed/car/clowncar/twitch_plays/Initialize() + . = ..() + AddComponent(/datum/component/twitch_plays/simple_movement) + START_PROCESSING(SSfastprocess, src) + GLOB.poi_list |= src + notify_ghosts("Twitch Plays: Clown Car") + +/obj/vehicle/sealed/car/clowncar/twitch_plays/Destroy() + STOP_PROCESSING(SSfastprocess, src) + GLOB.poi_list -= src + return ..() + +/obj/vehicle/sealed/car/clowncar/twitch_plays/process() + var/dir = SEND_SIGNAL(src, COMSIG_TWITCH_PLAYS_MOVEMENT_DATA, TRUE) + if(!dir) + return + driver_move(null, dir) diff --git a/code/modules/vehicles/sealed.dm b/code/modules/vehicles/sealed.dm index 28f6b1cca8..63c7c9f858 100644 --- a/code/modules/vehicles/sealed.dm +++ b/code/modules/vehicles/sealed.dm @@ -1,6 +1,7 @@ /obj/vehicle/sealed enclosed = TRUE // you're in a sealed vehicle dont get dinked idiot var/enter_delay = 20 + var/explode_on_death = TRUE flags_1 = BLOCK_FACE_ATOM_1 /obj/vehicle/sealed/generate_actions() @@ -87,7 +88,8 @@ /obj/vehicle/sealed/Destroy() DumpMobs() - explosion(loc, 0, 1, 2, 3, 0) + if(explode_on_death) + explosion(loc, 0, 1, 2, 3, 0) return ..() /obj/vehicle/sealed/proc/DumpMobs(randomstep = TRUE) diff --git a/code/modules/vehicles/wheelchair.dm b/code/modules/vehicles/wheelchair.dm index 137242c547..a81dff37ad 100644 --- a/code/modules/vehicles/wheelchair.dm +++ b/code/modules/vehicles/wheelchair.dm @@ -10,6 +10,7 @@ canmove = TRUE density = FALSE //Thought I couldn't fix this one easily, phew arms_required = 1 + var/override_movespeed = FALSE /obj/vehicle/ridden/wheelchair/Initialize() . = ..() @@ -42,10 +43,11 @@ canmove = FALSE addtimer(VARSET_CALLBACK(src, canmove, TRUE), 20) return FALSE - var/datum/component/riding/D = GetComponent(/datum/component/riding) - //1.5 (movespeed as of this change) multiplied by 6.7 gets ABOUT 10 (rounded), the old constant for the wheelchair that gets divided by how many arms they have - //if that made no sense this simply makes the wheelchair speed change along with movement speed delay - D.vehicle_move_delay = round((CONFIG_GET(number/movedelay/run_delay) * 4) / min(user.get_num_arms(), 2), world.tick_lag) + if(!override_movespeed) + var/datum/component/riding/D = GetComponent(/datum/component/riding) + //1.5 (movespeed as of this change) multiplied by 6.7 gets ABOUT 10 (rounded), the old constant for the wheelchair that gets divided by how many arms they have + //if that made no sense this simply makes the wheelchair speed change along with movement speed delay + D.vehicle_move_delay = round((CONFIG_GET(number/movedelay/run_delay) * 4) / min(user.get_num_arms(), 2), world.tick_lag) return ..() /obj/vehicle/ridden/wheelchair/Moved() diff --git a/code/modules/vending/wardrobes.dm b/code/modules/vending/wardrobes.dm index e15e02f0d5..482cdb7d86 100644 --- a/code/modules/vending/wardrobes.dm +++ b/code/modules/vending/wardrobes.dm @@ -17,8 +17,8 @@ product_ads = "Beat perps in style!;It's red so you can't see the blood!;You have the right to be fashionable!;Now you can be the fashion police you always wanted to be!" vend_reply = "Thank you for using the SecDrobe!" products = list(/obj/item/clothing/suit/hooded/wintercoat/security = 2, - /obj/item/storage/backpack/security = 2, - /obj/item/storage/backpack/satchel/sec = 2, + /obj/item/storage/backpack/security = 3, + /obj/item/storage/backpack/satchel/sec = 3, /obj/item/storage/backpack/duffelbag/sec = 3, /obj/item/clothing/under/rank/security/officer = 5, /obj/item/clothing/shoes/jackboots = 5, @@ -88,9 +88,9 @@ vend_reply = "Thank you for using the MediDrobe!" products = list(/obj/item/clothing/accessory/pocketprotector = 5, /obj/item/clothing/head/beret/med = 5, - /obj/item/storage/backpack/duffelbag/med = 5, /obj/item/storage/backpack/medic = 5, /obj/item/storage/backpack/satchel/med = 5, + /obj/item/storage/backpack/duffelbag/med = 5, /obj/item/clothing/suit/hooded/wintercoat/medical = 5, /obj/item/clothing/suit/hooded/wintercoat/paramedic = 2, /obj/item/clothing/under/rank/medical/doctor/nurse = 5, @@ -131,9 +131,9 @@ vend_reply = "Thank you for using the EngiDrobe!" products = list(/obj/item/clothing/accessory/pocketprotector = 5, /obj/item/clothing/head/beret/eng = 3, - /obj/item/storage/backpack/duffelbag/engineering = 3, /obj/item/storage/backpack/industrial = 3, /obj/item/storage/backpack/satchel/eng = 3, + /obj/item/storage/backpack/duffelbag/engineering = 3, /obj/item/clothing/suit/hooded/wintercoat/engineering = 3, /obj/item/clothing/under/rank/engineering/engineer = 5, /obj/item/clothing/under/rank/engineering/engineer/skirt = 5, @@ -162,9 +162,9 @@ vend_reply = "Thank you for using the AtmosDrobe!" products = list(/obj/item/clothing/accessory/pocketprotector = 3, /obj/item/clothing/head/beret/atmos = 3, - /obj/item/storage/backpack/duffelbag/engineering = 3, - /obj/item/storage/backpack/satchel/eng = 3, /obj/item/storage/backpack/industrial = 3, + /obj/item/storage/backpack/satchel/eng = 3, + /obj/item/storage/backpack/duffelbag/engineering = 3, /obj/item/clothing/head/hardhat/weldhat/dblue = 3, /obj/item/clothing/suit/hooded/wintercoat/engineering/atmos = 3, /obj/item/clothing/under/rank/engineering/atmospheric_technician = 5, @@ -238,6 +238,7 @@ /obj/item/clothing/head/beret/sci = 3, /obj/item/storage/backpack/science = 3, /obj/item/storage/backpack/satchel/tox = 3, + /obj/item/storage/backpack/duffelbag = 3, /obj/item/clothing/suit/hooded/wintercoat/science = 3, /obj/item/clothing/under/rank/rnd/scientist = 4, /obj/item/clothing/under/rank/rnd/scientist/util = 4, @@ -261,7 +262,9 @@ product_ads = "Do you love soil? Then buy our clothes!;Get outfits to match your green thumb here!" vend_reply = "Thank you for using the Hydrobe!" products = list(/obj/item/storage/backpack/botany = 3, + /obj/item/storage/backpack = 3, /obj/item/storage/backpack/satchel/hyd = 3, + /obj/item/storage/backpack/duffelbag = 3, /obj/item/clothing/suit/hooded/wintercoat/hydro = 2, /obj/item/clothing/suit/apron = 3, /obj/item/clothing/suit/apron/overalls = 5, @@ -375,7 +378,7 @@ /obj/item/paint/paint_remover = 2, /obj/item/melee/flyswatter = 2, /obj/item/flashlight = 2, - /obj/item/caution = 8, + /obj/item/clothing/suit/caution = 8, /obj/item/holosign_creator = 2, /obj/item/lightreplacer = 2, /obj/item/soap = 2, @@ -468,7 +471,7 @@ /obj/item/storage/backpack/chemistry = 3, /obj/item/storage/backpack/satchel/chem = 3, /obj/item/storage/bag/chemistry = 3, - /obj/item/fermichem/pHbooklet = 3)//pH indicator) + /obj/item/fermichem/pHbooklet = 3) refill_canister = /obj/item/vending_refill/wardrobe/chem_wardrobe payment_department = ACCOUNT_MED cost_multiplier_per_dept = list(ACCOUNT_MED = 0) @@ -544,7 +547,7 @@ /obj/item/clothing/glasses/sunglasses/gar/supergar = 1, /obj/item/clothing/gloves/color/captain = 1) refill_canister = /obj/item/vending_refill/wardrobe/cap_wardrobe - payment_department = ACCOUNT_CIV + payment_department = ACCOUNT_SEC default_price = PRICE_ALMOST_EXPENSIVE extra_price = PRICE_ABOVE_EXPENSIVE diff --git a/code/modules/vore/eating/belly_obj.dm b/code/modules/vore/eating/belly_obj.dm index a367abb098..7f8aed83ef 100644 --- a/code/modules/vore/eating/belly_obj.dm +++ b/code/modules/vore/eating/belly_obj.dm @@ -14,6 +14,7 @@ /obj/belly name = "belly" // Name of this location desc = "It's a belly! You're in it!" // Flavor text description of inside sight/sound/smells/feels. + rad_flags = RAD_NO_CONTAMINATE | RAD_PROTECT_CONTENTS var/vore_sound = "Gulp" // Sound when ingesting someone var/vore_verb = "ingest" // Verb for eating with this in messages var/release_sound = "Splatter" // Sound for letting someone out. diff --git a/code/modules/vore/hook-defs.dm b/code/modules/vore/hook-defs.dm index 629b1ba8f3..5c3c3d01c8 100644 --- a/code/modules/vore/hook-defs.dm +++ b/code/modules/vore/hook-defs.dm @@ -34,4 +34,4 @@ result = 0 //Return 1 to superhook - return result \ No newline at end of file + return result diff --git a/code/modules/vore/persistence.dm b/code/modules/vore/persistence.dm index f45a759fa3..0fcbdc9bb0 100644 --- a/code/modules/vore/persistence.dm +++ b/code/modules/vore/persistence.dm @@ -87,4 +87,4 @@ in their list var/atom/movable/thing = new path(loc) thing.deserialize(data) - return thing \ No newline at end of file + return thing diff --git a/code/modules/zombie/items.dm b/code/modules/zombie/items.dm index 2cb3a83257..f208cafe4e 100644 --- a/code/modules/zombie/items.dm +++ b/code/modules/zombie/items.dm @@ -91,4 +91,4 @@
  • Optionally: Inject chemical into foods and drinks to further spread possible infection
  • \
  • ???
  • \
  • Complete assigned objectives amidst the chaos
  • \ - " \ No newline at end of file + " diff --git a/config/admin_ranks.txt b/config/admin_ranks.txt index fc1cb96c86..adbba1acb6 100644 --- a/config/admin_ranks.txt +++ b/config/admin_ranks.txt @@ -30,6 +30,7 @@ # +SPAWN (or +CREATE) = mob transformations, spawning of most atoms including mobs (high-risk atoms, e.g. blackholes, will require the +FUN flag too) # +AUTOLOGIN = admin gains powers upon connect. This defaults to on, you can use -AUTOLOGIN to make a role require using the readmin verb to gain powers. (this does not effect the admin's ability to walk past bans or other on-connect limitations like panic bunker or pop limit.) # +DBRANKS = when sql-based admin loading is enabled, allows for non-temporary changes in the permissions panel to be saved (requires DB) +# +SENSITIVE = Defaults to on, use - to remove it. Allows reading IPs, CIDs, grabbing logs, and proccalls to certain things like admin holders/clients/subsystems considered "sensitive". # +EVERYTHING (or +HOST or +ALL) = Simply gives you everything without having to type every flag # END_KEYWORDS diff --git a/config/antag_rep.txt b/config/antag_rep.txt index a26b157d5a..e8a7250686 100644 --- a/config/antag_rep.txt +++ b/config/antag_rep.txt @@ -1,5 +1,5 @@ -## Custom antag reputation values -## List of job titles followed by antag rep value, all prefixed with ANTAG_REP. See code/modules/jobs/job_types for titles -## e.g. -## ANTAG_REP Captain 10 -## ANTAG_REP Assistant 0 +## Custom antag reputation values +## List of job titles followed by antag rep value, all prefixed with ANTAG_REP. See code/modules/jobs/job_types for titles +## e.g. +## ANTAG_REP Captain 10 +## ANTAG_REP Assistant 0 diff --git a/config/comms.txt b/config/comms.txt index 865011032e..5a32f10fd3 100644 --- a/config/comms.txt +++ b/config/comms.txt @@ -1,17 +1,17 @@ -## Communication key for receiving data through world/Topic(), you don't want to give this out -#COMMS_KEY default_pwd - -## World address and port for server recieving cross server messages -## Use '+' to denote spaces in ServerName -## Repeat this entry to add more servers -#CROSS_SERVER ServerName byond:\\address:port - -## Name that the server calls itself in communications -#CROSS_COMMS_NAME - -## Hub address for tracking stats -## example: Hubmakerckey.Hubname -#MEDAL_HUB_ADDRESS - -## Password for the hub page +## Communication key for receiving data through world/Topic(), you don't want to give this out +#COMMS_KEY default_pwd + +## World address and port for server recieving cross server messages +## Use '+' to denote spaces in ServerName +## Repeat this entry to add more servers +#CROSS_SERVER ServerName byond:\\address:port + +## Name that the server calls itself in communications +#CROSS_COMMS_NAME + +## Hub address for tracking stats +## example: Hubmakerckey.Hubname +#MEDAL_HUB_ADDRESS + +## Password for the hub page #MEDAL_HUB_PASSWORD \ No newline at end of file diff --git a/config/config.txt b/config/config.txt index 5be76972ab..c7bb36af0e 100644 --- a/config/config.txt +++ b/config/config.txt @@ -11,6 +11,8 @@ $include dynamic_config.txt $include plushies/defines.txt $include job_threats.txt $include policy.txt +$include persistence.txt +$include respawns.txt # You can use the @ character at the beginning of a config option to lock it from being edited in-game # Example usage: @@ -206,9 +208,6 @@ VOTE_AUTOTRANSFER_MAXIMUM 4 ## players' votes default to "No vote" (otherwise, default to "No change") # DEFAULT_NO_VOTE -## disable abandon mob -NORESPAWN - ## disables calling del(src) on newmobs if they logout before spawnin in # DONT_DEL_NEWMOB diff --git a/config/dynamic_config.txt b/config/dynamic_config.txt index c08b316e2e..480f6d8ed8 100644 --- a/config/dynamic_config.txt +++ b/config/dynamic_config.txt @@ -13,6 +13,9 @@ STORYTELLER_WEIGHT EXTENDED 0 STORYTELLER_MIN_PLAYERS CHAOTIC 30 STORYTELLER_MIN_PLAYERS TEAMWORK 30 +## If this is uncommented, Dynamic won't disable certain storytellers based on recent round threats +#NO_STORYTELLER_THREAT_REMOVAL + ## Injection delays: how long (in minutes) will pass before a midround or latejoin antag is injected. DYNAMIC_MIDROUND_DELAY_MIN 5 DYNAMIC_MIDROUND_DELAY_MAX 15 @@ -171,8 +174,8 @@ DYNAMIC_COST LATEJOIN_REVOLUTION 20 DYNAMIC_COST LATEJOIN_BLOODSUCKER 10 DYNAMIC_COST LATEJOIN_COLLECTOR 1 -## Rule will not be generated with threat levels below requirement at a pop value. Pop values are determined by dynamic's pop-per-requirement. -## By default it's 0-8, 9-17, 18-26, 27-35, 36-44, 45-53, 54-60, 61-69, 70-78, 79+. +## Rule will not be generated with threat levels below requirement at a pop value. Pop values are determined by dynamic's pop-per-requirement. +## By default it's 0-8, 9-17, 18-26, 27-35, 36-44, 45-53, 54-60, 61-69, 70-78, 79+. ## This means that 40 30 30 20 20 20 15 15 15 10 will not generate below 40 at 0-8, 30 at 9-17 etc. DYNAMIC_REQUIREMENTS TRAITOR 50 50 50 50 50 50 50 50 50 50 DYNAMIC_REQUIREMENTS TRAITORBRO 101 101 101 101 101 101 101 101 101 101 @@ -301,6 +304,6 @@ DYNAMIC_GLORIOUS_DEATH_COST 5 DYNAMIC_ASSASSINATE_COST 2 ## This requirement uses threat level, rather than current threat, which is why it's higher. -DYNAMIC_WAROPS_REQUIREMENT 60 +DYNAMIC_WAROPS_REQUIREMENT 60 DYNAMIC_WAROPS_COST 10 diff --git a/config/game_options.txt b/config/game_options.txt index bc5fdf940e..3c53d9fecb 100644 --- a/config/game_options.txt +++ b/config/game_options.txt @@ -668,4 +668,10 @@ ALLOW_CUSTOM_SKINTONES ## Enables the FoV component, which hides objects and mobs behind the parent from their sight, unless they turn around, duh. ## Camera mobs, AIs, ghosts and some other are of course exempt from this. This also doesn't influence simplemob AI, for the best. -#USE_FIELD_OF_VISION \ No newline at end of file +#USE_FIELD_OF_VISION + +## Default turf threshold to get dirt +TURF_DIRT_THRESHOLD 100 + +## Default alpha of dirt on spawn +DIRT_ALPHA_STARTING 127 diff --git a/config/persistence.txt b/config/persistence.txt new file mode 100644 index 0000000000..7d65a150e2 --- /dev/null +++ b/config/persistence.txt @@ -0,0 +1,14 @@ +### Whether or not cleanable object persistence is on +PERSISTENT_DEBRIS + +### Whether or not ONLY persistent cleanable objects should be spawned, for supported objects +PERSISTENT_DEBRIS_ONLY + +### Max objects to store, total +PERSISTENT_DEBRIS_GLOBAL_MAX 10000 + +### Max objects to store per type, total +PERSISTENT_DEBRIS_TYPE_MAX 2000 + +### Wipe objects on nuke for the above +PERSISTENT_DEBRIS_WIPE_ON_NUKE diff --git a/config/respawns.txt b/config/respawns.txt new file mode 100644 index 0000000000..337a691b07 --- /dev/null +++ b/config/respawns.txt @@ -0,0 +1,29 @@ +## Allow usage of the respawn system +RESPAWNS_ENABLED + +## Minutes delay before allowing respawns, either from death or observing. Not an integer. +RESPAWN_DELAY 15.0 + +## Minutes delay before allowing respawns, if the user cryo'd. Not an integer. +RESPAWN_DELAY_CRYO 5.0 + +## Allow respawning as anything but an assistant. +ALLOW_NON_ASSISTANT_RESPAWN + +## Allow respawning as security and command. Only works if ALLOW_NON_ASSISTANT_RESPAWN is on. +# ALLOW_COMBAT_ROLE_RESPAWN + +## Allow respawning as the same character +# ALLOW_SAME_CHARACTER_RESPAWN + +## Observing is considered a respawn for the purposes of role lockouts. Defaults to disabled. When disabled, only RESPAWNING rather than returning from observe locks you out. +# RESPAWN_PENALTY_INCLUDES_OBSERVE + +## Time in minutes from round start before respawn is enabled +RESPAWN_MINIMUM_DELAY_ROUNDSTART 30.0 + +## Gamemode (config tags!) banlist for respawn +RESPAWN_CHAOS_GAMEMODES WIZARD +RESPAWN_CHAOS_GAMEMODES NUCLEAR +RESPAWN_CHAOS_GAMEMODES CLONWOPS +RESPAWN_CHOAS_GAMEMODES REVOLUTION diff --git a/html/changelogs/AutoChangeLog-pr-13576.yml b/html/changelogs/AutoChangeLog-pr-13576.yml new file mode 100644 index 0000000000..9443b13dcb --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13576.yml @@ -0,0 +1,5 @@ +author: "Sonic121x" +delete-after: True +changes: + - rscadd: "digi sprite uniform" + - bugfix: "digi leg suit" diff --git a/html/changelogs/AutoChangeLog-pr-13582.yml b/html/changelogs/AutoChangeLog-pr-13582.yml new file mode 100644 index 0000000000..78f8be1cd0 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13582.yml @@ -0,0 +1,5 @@ +author: "timothyteakettle" +delete-after: True +changes: + - bugfix: "a tonne of fixes to colourisation of parts, too many to name, including some sprite fixes" + - rscadd: "things now have their own individual primary/(secondary)/(tertiary) colours as required, and these can be modified by you" diff --git a/html/changelogs/AutoChangeLog-pr-13617.yml b/html/changelogs/AutoChangeLog-pr-13617.yml new file mode 100644 index 0000000000..532882eecc --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13617.yml @@ -0,0 +1,4 @@ +author: "timothyteakettle" +delete-after: True +changes: + - rscadd: "loadout now has save slot support and colour choosing/saving for polychromic items" diff --git a/html/changelogs/AutoChangeLog-pr-13644.yml b/html/changelogs/AutoChangeLog-pr-13644.yml new file mode 100644 index 0000000000..71417788a7 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13644.yml @@ -0,0 +1,8 @@ +author: "DeltaFire15" +delete-after: True +changes: + - balance: "Biomechanical (hybrid) bodyparts now have access to wound-fixing surgeries." + - tweak: "A wound being fixed no longer just qdel()s surgeries connected to it." + - tweak: "Some robotic surgery steps are now a bit more clear." + - bugfix: "Organs no longer get fed to people after successfully being inserted into them." + - tweak: "Not completing the do_after of a surgery no longer causes you to attack the target with whatever you were holding." diff --git a/html/changelogs/AutoChangeLog-pr-13662.yml b/html/changelogs/AutoChangeLog-pr-13662.yml new file mode 100644 index 0000000000..6ac16937d8 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13662.yml @@ -0,0 +1,4 @@ +author: "silicons" +delete-after: True +changes: + - rscadd: "you can now be an angel using a magic mirror again" diff --git a/html/changelogs/AutoChangeLog-pr-13670.yml b/html/changelogs/AutoChangeLog-pr-13670.yml new file mode 100644 index 0000000000..594e459d5a --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13670.yml @@ -0,0 +1,4 @@ +author: "shellspeed1" +delete-after: True +changes: + - tweak: "Floor bots are now buildable with all toolboxes." diff --git a/html/changelogs/AutoChangeLog-pr-13671.yml b/html/changelogs/AutoChangeLog-pr-13671.yml new file mode 100644 index 0000000000..855028d9ed --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13671.yml @@ -0,0 +1,4 @@ +author: "DeltaFire15" +delete-after: True +changes: + - code_imp: "Clockwork rites now support hiding specific rites from neutered servants." diff --git a/html/changelogs/AutoChangeLog-pr-13673.yml b/html/changelogs/AutoChangeLog-pr-13673.yml new file mode 100644 index 0000000000..40b45d80f4 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13673.yml @@ -0,0 +1,4 @@ +author: "Arturlang" +delete-after: True +changes: + - bugfix: "Makes construct mind returning more robust" diff --git a/html/changelogs/AutoChangeLog-pr-13674.yml b/html/changelogs/AutoChangeLog-pr-13674.yml new file mode 100644 index 0000000000..ccbd96aeb4 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13674.yml @@ -0,0 +1,4 @@ +author: "DeltaFire15" +delete-after: True +changes: + - bugfix: "The borg VTEC ability now actually gets removed when the upgrade is removed." diff --git a/html/changelogs/AutoChangeLog-pr-13675.yml b/html/changelogs/AutoChangeLog-pr-13675.yml new file mode 100644 index 0000000000..d46d4490d3 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13675.yml @@ -0,0 +1,4 @@ +author: "DeltaFire15" +delete-after: True +changes: + - bugfix: "Sleeper UI interactiveness now behaves correctly." diff --git a/html/changelogs/AutoChangeLog-pr-13676.yml b/html/changelogs/AutoChangeLog-pr-13676.yml new file mode 100644 index 0000000000..d584af38dc --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13676.yml @@ -0,0 +1,4 @@ +author: "DeltaFire15" +delete-after: True +changes: + - bugfix: "Fixes a minor incorrectness in ratvarian borg slabs (ratvar_act -> ui_act)" diff --git a/html/changelogs/AutoChangeLog-pr-13678.yml b/html/changelogs/AutoChangeLog-pr-13678.yml new file mode 100644 index 0000000000..261ecc3475 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13678.yml @@ -0,0 +1,4 @@ +author: "Arturlang" +delete-after: True +changes: + - code_imp: "Comments out spaceman dmm do not sleeps for mob/proc/CommonClickOn, atom/proc/attack_hand, datum/proc/keyLoop and mob/living/proc/Life" diff --git a/html/changelogs/AutoChangeLog-pr-13679.yml b/html/changelogs/AutoChangeLog-pr-13679.yml new file mode 100644 index 0000000000..37b9d287b0 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13679.yml @@ -0,0 +1,4 @@ +author: "DeltaFire15" +delete-after: True +changes: + - rscadd: "Robots (anyone with the robotic_organism trait) have toxins damage replaced with system corruption. See the PR for details." diff --git a/html/changelogs/AutoChangeLog-pr-13680.yml b/html/changelogs/AutoChangeLog-pr-13680.yml new file mode 100644 index 0000000000..a1e58ac3a5 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13680.yml @@ -0,0 +1,4 @@ +author: "DeltaFire15" +delete-after: True +changes: + - bugfix: "A runtime caused by hallucinations is gone." diff --git a/html/changelogs/AutoChangeLog-pr-13681.yml b/html/changelogs/AutoChangeLog-pr-13681.yml new file mode 100644 index 0000000000..c51a7b51b0 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13681.yml @@ -0,0 +1,4 @@ +author: "DeltaFire15" +delete-after: True +changes: + - bugfix: "Supplypods shouldn't cause runtimes anymore, and shrapnel (pelletclouds) should work for them." diff --git a/html/changelogs/AutoChangeLog-pr-13682.yml b/html/changelogs/AutoChangeLog-pr-13682.yml new file mode 100644 index 0000000000..e5fececf4e --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13682.yml @@ -0,0 +1,7 @@ +author: "EmeraldSundisk" +delete-after: True +changes: + - bugfix: "Changes the area designations to be not varedited since the code didn't like that anymore" + - bugfix: "The cargo bay conveyor belts not only work with the shuttle now but go in the right direction to boot" + - tweak: "Slight visual adjustments to cargo in light of this" + - rscadd: "The arcade's got RAD carpet now" diff --git a/html/changelogs/AutoChangeLog-pr-13683.yml b/html/changelogs/AutoChangeLog-pr-13683.yml new file mode 100644 index 0000000000..da7ecab5c6 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13683.yml @@ -0,0 +1,4 @@ +author: "SandPoot" +delete-after: True +changes: + - code_imp: "Swaps the gift static blacklist with a global list one." diff --git a/html/changelogs/AutoChangeLog-pr-13685.yml b/html/changelogs/AutoChangeLog-pr-13685.yml new file mode 100644 index 0000000000..10d53c9065 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13685.yml @@ -0,0 +1,6 @@ +author: "uomo91" +delete-after: True +changes: + - bugfix: "Fixed \"Show All\" tab in player panel logs being broken." + - bugfix: "Whispers, OOC, and various other things display differently in logs, visually distinguishing them from say logs." + - refactor: "Player panel logs will now show all logs chronologically, so you'll see commingled say and attack logs if you're on the \"Show All\" tab, etc..." diff --git a/html/changelogs/AutoChangeLog-pr-13686.yml b/html/changelogs/AutoChangeLog-pr-13686.yml new file mode 100644 index 0000000000..72f9a2bd54 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13686.yml @@ -0,0 +1,4 @@ +author: "Arturlang" +delete-after: True +changes: + - bugfix: "Hopefully fixes whitescreen issues for TGUI UI's by giving assets more time to get to the client" diff --git a/html/changelogs/AutoChangeLog-pr-13687.yml b/html/changelogs/AutoChangeLog-pr-13687.yml new file mode 100644 index 0000000000..e2baddbd2a --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13687.yml @@ -0,0 +1,4 @@ +author: "silicons" +delete-after: True +changes: + - rscadd: "tailed individuals can now target groin to intertwine tails on grab intent." diff --git a/html/changelogs/AutoChangeLog-pr-13688.yml b/html/changelogs/AutoChangeLog-pr-13688.yml new file mode 100644 index 0000000000..4013705549 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13688.yml @@ -0,0 +1,4 @@ +author: "DeltaFire15" +delete-after: True +changes: + - bugfix: "Repeatable surgery steps can no longer cause an infinite loop if not completing the do_after" diff --git a/html/changelogs/AutoChangeLog-pr-13689.yml b/html/changelogs/AutoChangeLog-pr-13689.yml new file mode 100644 index 0000000000..eb476895e7 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13689.yml @@ -0,0 +1,5 @@ +author: "DeltaFire15" +delete-after: True +changes: + - bugfix: "Recharging APCs no longer use 0.2% of the power they should be using." + - bugfix: "APCs no longer always use as much power as they can for their cell, even if it is full." diff --git a/html/changelogs/AutoChangeLog-pr-13694.yml b/html/changelogs/AutoChangeLog-pr-13694.yml new file mode 100644 index 0000000000..75a4bbb549 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13694.yml @@ -0,0 +1,5 @@ +author: "Acer202, with minor help from The0bserver" +delete-after: True +changes: + - rscadd: "After internal deliberation, CentCom has decided to run a limited reinstatement of public mining shuttles for use in more tried and true station classes. CentCom would like to remind you that this privilege is easily revoked, and that abuse may result in immediate detonation." + - rscadd: "Restores the mining shuttle on Pubby, Box, Delta, Meta, and Lambda Station." diff --git a/html/changelogs/AutoChangeLog-pr-13695.yml b/html/changelogs/AutoChangeLog-pr-13695.yml new file mode 100644 index 0000000000..551d1f4df5 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13695.yml @@ -0,0 +1,4 @@ +author: "shellspeed1" +delete-after: True +changes: + - balance: "Lings now have infinite space for DNA." diff --git a/html/changelogs/AutoChangeLog-pr-13697.yml b/html/changelogs/AutoChangeLog-pr-13697.yml new file mode 100644 index 0000000000..329a621c48 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13697.yml @@ -0,0 +1,4 @@ +author: "Putnam3145" +delete-after: True +changes: + - balance: "Spontaneous brain trauma now requires minimum 5 players" diff --git a/html/changelogs/AutoChangeLog-pr-13698.yml b/html/changelogs/AutoChangeLog-pr-13698.yml new file mode 100644 index 0000000000..10072ba948 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13698.yml @@ -0,0 +1,4 @@ +author: "timothyteakettle" +delete-after: True +changes: + - rscadd: "you can rebind communication hotkeys and they're the default now" diff --git a/html/changelogs/AutoChangeLog-pr-13699.yml b/html/changelogs/AutoChangeLog-pr-13699.yml new file mode 100644 index 0000000000..5b2234224e --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13699.yml @@ -0,0 +1,5 @@ +author: "silicons" +delete-after: True +changes: + - tweak: "nanite resistances tweaked" + - rscadd: "new nanite programs added for locking the user out from being modified by consoles or antivirals." diff --git a/html/changelogs/AutoChangeLog-pr-13702.yml b/html/changelogs/AutoChangeLog-pr-13702.yml new file mode 100644 index 0000000000..24f79c7cda --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13702.yml @@ -0,0 +1,4 @@ +author: "Putnam3145" +delete-after: True +changes: + - tweak: "gear harness no longer magically covers up the body mechanically despite covering up nothing visually" diff --git a/html/changelogs/AutoChangeLog-pr-13703.yml b/html/changelogs/AutoChangeLog-pr-13703.yml new file mode 100644 index 0000000000..fd3ba2198f --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13703.yml @@ -0,0 +1,4 @@ +author: "Putnam3145" +delete-after: True +changes: + - bugfix: "Dynamic vote no longer shows the none-storyteller." diff --git a/html/changelogs/AutoChangeLog-pr-13704.yml b/html/changelogs/AutoChangeLog-pr-13704.yml new file mode 100644 index 0000000000..0ef8ca4a1d --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13704.yml @@ -0,0 +1,4 @@ +author: "Putnam3145" +delete-after: True +changes: + - bugfix: "Emotes can properly be filtered for in TGUI." diff --git a/html/changelogs/AutoChangeLog-pr-13705.yml b/html/changelogs/AutoChangeLog-pr-13705.yml new file mode 100644 index 0000000000..c1b366aeb7 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13705.yml @@ -0,0 +1,6 @@ +author: "Putnam3145" +delete-after: True +changes: + - balance: "Rad collectors now get 1.25x as much energy from radiation" + - balance: "Rad collectors now put out 1.25x as much stored energy per tick" + - balance: "Above two rad collector changes give a total 56.25% power output increase" diff --git a/html/changelogs/AutoChangeLog-pr-13707.yml b/html/changelogs/AutoChangeLog-pr-13707.yml new file mode 100644 index 0000000000..a7dd977cca --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13707.yml @@ -0,0 +1,5 @@ +author: "DeltaFire15" +delete-after: True +changes: + - balance: "Robotpeople are now fully immune to the effects of alcohol (drunkness etc.)" + - tweak: "Renames the alcohol intolerance trait in the code to make what it does more clear." diff --git a/html/changelogs/AutoChangeLog-pr-13711.yml b/html/changelogs/AutoChangeLog-pr-13711.yml new file mode 100644 index 0000000000..e6fde23e8c --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13711.yml @@ -0,0 +1,5 @@ +author: "DeltaFire15" +delete-after: True +changes: + - tweak: "Medibots now ignore people they cannot help due to their biology." + - bugfix: "get_damaged_bodyparts() is no longer broken." diff --git a/html/changelogs/AutoChangeLog-pr-13713.yml b/html/changelogs/AutoChangeLog-pr-13713.yml new file mode 100644 index 0000000000..36228f10c5 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13713.yml @@ -0,0 +1,4 @@ +author: "timothyteakettle" +delete-after: True +changes: + - rscadd: "all gas masks (but welding + glass) can be alt clicked to show/hide identity" diff --git a/html/changelogs/AutoChangeLog-pr-13715.yml b/html/changelogs/AutoChangeLog-pr-13715.yml new file mode 100644 index 0000000000..70b22a9bc9 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13715.yml @@ -0,0 +1,4 @@ +author: "MrJWhit" +delete-after: True +changes: + - tweak: "Removes an opposum from the wall" diff --git a/html/changelogs/AutoChangeLog-pr-13717.yml b/html/changelogs/AutoChangeLog-pr-13717.yml new file mode 100644 index 0000000000..268730c58e --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13717.yml @@ -0,0 +1,4 @@ +author: "Acer202" +delete-after: True +changes: + - bugfix: "Main mining shuttle should no longer look at the public mining shuttle and attempt to dock ontop of it. Monastery shuttle should now function again." diff --git a/html/changelogs/AutoChangeLog-pr-13719.yml b/html/changelogs/AutoChangeLog-pr-13719.yml new file mode 100644 index 0000000000..c676072a35 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13719.yml @@ -0,0 +1,6 @@ +author: "shellspeed1" +delete-after: True +changes: + - rscadd: "Construction bags have been added, use them to carry all sorts of construction bits." + - rscadd: "A recipe has been added to cloth stacks to make material and construction bags." + - balance: "Material bags and construction bags are now available in engineering lockers." diff --git a/html/changelogs/AutoChangeLog-pr-13721.yml b/html/changelogs/AutoChangeLog-pr-13721.yml new file mode 100644 index 0000000000..44b3c7283c --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13721.yml @@ -0,0 +1,4 @@ +author: "MrJWhit" +delete-after: True +changes: + - tweak: "Increased christmas event from 22th to 27th to 10th to 27th" diff --git a/html/changelogs/AutoChangeLog-pr-13725.yml b/html/changelogs/AutoChangeLog-pr-13725.yml new file mode 100644 index 0000000000..5105de865e --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13725.yml @@ -0,0 +1,4 @@ +author: "silicons" +delete-after: True +changes: + - bugfix: "keybinds generate anti-collision bindings where necessary automatically now" diff --git a/html/changelogs/AutoChangeLog-pr-13733.yml b/html/changelogs/AutoChangeLog-pr-13733.yml new file mode 100644 index 0000000000..a10719fdc6 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13733.yml @@ -0,0 +1,4 @@ +author: "DeltaFire15" +delete-after: True +changes: + - bugfix: "Fixes the tail entwine messages displaying incorrectly." diff --git a/html/changelogs/AutoChangeLog-pr-13734.yml b/html/changelogs/AutoChangeLog-pr-13734.yml new file mode 100644 index 0000000000..a4ea9fdfac --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13734.yml @@ -0,0 +1,4 @@ +author: "keronshb" +delete-after: True +changes: + - bugfix: "Fixes Reflective Blobs" diff --git a/html/changelogs/AutoChangeLog-pr-13736.yml b/html/changelogs/AutoChangeLog-pr-13736.yml new file mode 100644 index 0000000000..dfa5e7cb66 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13736.yml @@ -0,0 +1,4 @@ +author: "DeltaFire15" +delete-after: True +changes: + - tweak: "Abductors now can use experimental organ replacement surgery on robots / synthetics." diff --git a/html/changelogs/AutoChangeLog-pr-13737.yml b/html/changelogs/AutoChangeLog-pr-13737.yml new file mode 100644 index 0000000000..6c1121256f --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13737.yml @@ -0,0 +1,4 @@ +author: "qwertyquerty" +delete-after: True +changes: + - bugfix: "Flash the screen on climax" diff --git a/html/changelogs/AutoChangeLog-pr-13738.yml b/html/changelogs/AutoChangeLog-pr-13738.yml new file mode 100644 index 0000000000..f34f9d505a --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13738.yml @@ -0,0 +1,4 @@ +author: "EdgeLordExe, MoonFalcon" +delete-after: True +changes: + - balance: "Ported a bunch of heretic-related tweaks and changes from tg" diff --git a/html/changelogs/AutoChangeLog-pr-13739.yml b/html/changelogs/AutoChangeLog-pr-13739.yml new file mode 100644 index 0000000000..6db29bf922 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13739.yml @@ -0,0 +1,4 @@ +author: "timothyteakettle" +delete-after: True +changes: + - bugfix: "custom eyes and tongues now properly carry across cloning" diff --git a/html/changelogs/AutoChangeLog-pr-13740.yml b/html/changelogs/AutoChangeLog-pr-13740.yml new file mode 100644 index 0000000000..2bbd9b877a --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13740.yml @@ -0,0 +1,4 @@ +author: "Linzolle" +delete-after: True +changes: + - bugfix: "lizard snouts are no longer *slightly* lighter than they are supposed to be." diff --git a/html/changelogs/AutoChangeLog-pr-13741.yml b/html/changelogs/AutoChangeLog-pr-13741.yml new file mode 100644 index 0000000000..c49015ab28 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13741.yml @@ -0,0 +1,4 @@ +author: "DeltaFire15" +delete-after: True +changes: + - bugfix: "Objectives are no longer very broken." diff --git a/html/changelogs/AutoChangeLog-pr-13743.yml b/html/changelogs/AutoChangeLog-pr-13743.yml new file mode 100644 index 0000000000..00ff1a55bd --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13743.yml @@ -0,0 +1,5 @@ +author: "Linzolle" +delete-after: True +changes: + - bugfix: "entertainment monitors no longer invisible" + - rscadd: "entertainment monitors now light up and display text when motion is detected in thunderdome" diff --git a/html/changelogs/AutoChangeLog-pr-13745.yml b/html/changelogs/AutoChangeLog-pr-13745.yml new file mode 100644 index 0000000000..af6cb787b6 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13745.yml @@ -0,0 +1,4 @@ +author: "Arturlang" +delete-after: True +changes: + - bugfix: "Handles more edge cases with construct soul returning" diff --git a/html/changelogs/AutoChangeLog-pr-13746.yml b/html/changelogs/AutoChangeLog-pr-13746.yml new file mode 100644 index 0000000000..73c7ab4058 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13746.yml @@ -0,0 +1,5 @@ +author: "keronshb" +delete-after: True +changes: + - rscadd: "Adds more room to northwest maint" + - rscadd: "Adds a bridge between Atmos and the Turbine." diff --git a/html/changelogs/AutoChangeLog-pr-13747.yml b/html/changelogs/AutoChangeLog-pr-13747.yml new file mode 100644 index 0000000000..f8b6111c08 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13747.yml @@ -0,0 +1,6 @@ +author: "MrJWhit" +delete-after: True +changes: + - rscadd: "" + - tweak: "Added the ability for cargo to buy a large welding tank" + - imageadd: "Tweaked large tank reagent sprites to /tg/'s" diff --git a/html/changelogs/AutoChangeLog-pr-13750.yml b/html/changelogs/AutoChangeLog-pr-13750.yml new file mode 100644 index 0000000000..a89abdd440 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13750.yml @@ -0,0 +1,6 @@ +author: "EmeraldSundisk" +delete-after: True +changes: + - bugfix: "Fixes the conveyor belt issues in Delta Station's cargo wing" + - rscdel: "Removes some of the dirt around the affected area (presumably they would have cleaned it up while working on it)" + - rscadd: "Adds a floor light to fix the \"dark spot\" cargo had" diff --git a/html/changelogs/AutoChangeLog-pr-13751.yml b/html/changelogs/AutoChangeLog-pr-13751.yml new file mode 100644 index 0000000000..2d8c964a14 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13751.yml @@ -0,0 +1,4 @@ +author: "silicons" +delete-after: True +changes: + - tweak: "text formatting now uses one character instead of two around the text to emphasize." diff --git a/html/changelogs/AutoChangeLog-pr-13752.yml b/html/changelogs/AutoChangeLog-pr-13752.yml new file mode 100644 index 0000000000..2175ed469b --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13752.yml @@ -0,0 +1,4 @@ +author: "silicons" +delete-after: True +changes: + - balance: "stamina crit is only removed when at or under 100 stamina, rather than 140. stamina crit threshold is still at 140." diff --git a/html/changelogs/AutoChangeLog-pr-13753.yml b/html/changelogs/AutoChangeLog-pr-13753.yml new file mode 100644 index 0000000000..e752df79a0 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13753.yml @@ -0,0 +1,4 @@ +author: "silicons" +delete-after: True +changes: + - balance: "shoving yourself up now costs 50% more" diff --git a/html/changelogs/AutoChangeLog-pr-13755.yml b/html/changelogs/AutoChangeLog-pr-13755.yml new file mode 100644 index 0000000000..e50cd0199f --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13755.yml @@ -0,0 +1,4 @@ +author: "silicons" +delete-after: True +changes: + - rscadd: "colormates" diff --git a/html/changelogs/AutoChangeLog-pr-13757.yml b/html/changelogs/AutoChangeLog-pr-13757.yml new file mode 100644 index 0000000000..a36e67943e --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13757.yml @@ -0,0 +1,4 @@ +author: "timothyteakettle" +delete-after: True +changes: + - rscadd: "improvements to the automatic age gate" diff --git a/html/changelogs/AutoChangeLog-pr-13758.yml b/html/changelogs/AutoChangeLog-pr-13758.yml new file mode 100644 index 0000000000..fc4adc1614 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13758.yml @@ -0,0 +1,5 @@ +author: "timothyteakettle" +delete-after: True +changes: + - tweak: "custom holoforms are now accessible through an action instead of through verbs" + - tweak: "AI holoforms can now emote" diff --git a/html/changelogs/AutoChangeLog-pr-13761.yml b/html/changelogs/AutoChangeLog-pr-13761.yml new file mode 100644 index 0000000000..c8ab365fe3 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13761.yml @@ -0,0 +1,4 @@ +author: "silicons" +delete-after: True +changes: + - balance: "dna melt drops all items being destroying you" diff --git a/html/changelogs/AutoChangeLog-pr-13762.yml b/html/changelogs/AutoChangeLog-pr-13762.yml new file mode 100644 index 0000000000..841e4d91c0 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13762.yml @@ -0,0 +1,4 @@ +author: "silicons" +delete-after: True +changes: + - tweak: "luxury shuttle no longer has noteleport" diff --git a/html/changelogs/AutoChangeLog-pr-13763.yml b/html/changelogs/AutoChangeLog-pr-13763.yml new file mode 100644 index 0000000000..68eeaf1022 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13763.yml @@ -0,0 +1,4 @@ +author: "Hatterhat" +delete-after: True +changes: + - tweak: "RPEDs now drop their lowest part tier first when quick-emptied (used inhand)." diff --git a/html/changelogs/AutoChangeLog-pr-13764.yml b/html/changelogs/AutoChangeLog-pr-13764.yml new file mode 100644 index 0000000000..514705fd78 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13764.yml @@ -0,0 +1,4 @@ +author: "Hatterhat" +delete-after: True +changes: + - tweak: "Exosuits sold on the Supply shuttle no longer leave wreckages." diff --git a/html/changelogs/AutoChangeLog-pr-13765.yml b/html/changelogs/AutoChangeLog-pr-13765.yml new file mode 100644 index 0000000000..7ca1695d0f --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13765.yml @@ -0,0 +1,4 @@ +author: "MrJWhit" +delete-after: True +changes: + - tweak: "Updated jukebox sprite." diff --git a/html/changelogs/AutoChangeLog-pr-13766.yml b/html/changelogs/AutoChangeLog-pr-13766.yml new file mode 100644 index 0000000000..8ba317afed --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13766.yml @@ -0,0 +1,4 @@ +author: "MrJWhit" +delete-after: True +changes: + - tweak: "Updates our dark gygax sprites to /tg/'s" diff --git a/html/changelogs/AutoChangeLog-pr-13767.yml b/html/changelogs/AutoChangeLog-pr-13767.yml new file mode 100644 index 0000000000..2d38af77e3 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13767.yml @@ -0,0 +1,4 @@ +author: "MrJWhit" +delete-after: True +changes: + - tweak: "Updated meat icons" diff --git a/html/changelogs/AutoChangeLog-pr-13769.yml b/html/changelogs/AutoChangeLog-pr-13769.yml new file mode 100644 index 0000000000..04d1cbc11c --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13769.yml @@ -0,0 +1,4 @@ +author: "MrJWhit" +delete-after: True +changes: + - rscadd: "Adds a goose bar sign" diff --git a/html/changelogs/AutoChangeLog-pr-13771.yml b/html/changelogs/AutoChangeLog-pr-13771.yml new file mode 100644 index 0000000000..e450508681 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13771.yml @@ -0,0 +1,4 @@ +author: "MrJWhit" +delete-after: True +changes: + - tweak: "Donut boxes show what's inside of them now" diff --git a/html/changelogs/AutoChangeLog-pr-13772.yml b/html/changelogs/AutoChangeLog-pr-13772.yml new file mode 100644 index 0000000000..109360cace --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13772.yml @@ -0,0 +1,5 @@ +author: "silicons" +delete-after: True +changes: + - rscadd: "players can now respawn/return to lobby as a ghost after a 15 minute (default) delay and rejoin on another character with some/many restrictions" + - rscadd: "cryo now preserves everything" diff --git a/html/changelogs/AutoChangeLog-pr-13773.yml b/html/changelogs/AutoChangeLog-pr-13773.yml new file mode 100644 index 0000000000..498ac42561 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13773.yml @@ -0,0 +1,6 @@ +author: "Trilbyspaceclone" +delete-after: True +changes: + - tweak: "Zeolites now use gold rather then uranium for catalyst" + - tweak: "Zeolites are not as hard to make ph wise" + - tweak: "Making Zeolites heats up the beaker less allowing for better control" diff --git a/html/changelogs/AutoChangeLog-pr-13774.yml b/html/changelogs/AutoChangeLog-pr-13774.yml new file mode 100644 index 0000000000..ea3af475f2 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13774.yml @@ -0,0 +1,6 @@ +author: "keronshb" +delete-after: True +changes: + - rscadd: "Re-adds the Clown Car to the clown uplink" + - balance: "15 >16 TC cost" + - balance: "bonks on external airlocks" diff --git a/html/changelogs/AutoChangeLog-pr-13776.yml b/html/changelogs/AutoChangeLog-pr-13776.yml new file mode 100644 index 0000000000..773aae9745 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13776.yml @@ -0,0 +1,4 @@ +author: "DeltaFire15" +delete-after: True +changes: + - tweak: "AIs now only have to kill people once instead of permanently." diff --git a/html/changelogs/AutoChangeLog-pr-13777.yml b/html/changelogs/AutoChangeLog-pr-13777.yml new file mode 100644 index 0000000000..0013a93ef5 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13777.yml @@ -0,0 +1,4 @@ +author: "The Grinch" +delete-after: True +changes: + - rscdel: "infinite presents from hilbert hotel" diff --git a/html/changelogs/AutoChangeLog-pr-13784.yml b/html/changelogs/AutoChangeLog-pr-13784.yml new file mode 100644 index 0000000000..df8cf7ad57 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13784.yml @@ -0,0 +1,4 @@ +author: "MrJWhit" +delete-after: True +changes: + - bugfix: "Effects can no longer trigger landmines" diff --git a/html/changelogs/AutoChangeLog-pr-13785.yml b/html/changelogs/AutoChangeLog-pr-13785.yml new file mode 100644 index 0000000000..973fb3f74e --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13785.yml @@ -0,0 +1,5 @@ +author: "Putnam3145" +delete-after: True +changes: + - tweak: "Grab bag works as advertised." + - balance: "Xeno threat in dynamic tripled." diff --git a/html/changelogs/AutoChangeLog-pr-13790.yml b/html/changelogs/AutoChangeLog-pr-13790.yml new file mode 100644 index 0000000000..45ebf00ee7 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13790.yml @@ -0,0 +1,5 @@ +author: "MrJWhit" +delete-after: True +changes: + - tweak: "Replaced engineering fuel tank with a large fuel tank" + - tweak: "Changed access to sec suit storage from armory access in every map to other security access" diff --git a/html/changelogs/AutoChangeLog-pr-13796.yml b/html/changelogs/AutoChangeLog-pr-13796.yml new file mode 100644 index 0000000000..827cbf7443 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13796.yml @@ -0,0 +1,9 @@ +author: "keronshb" +delete-after: True +changes: + - rscadd: "Adds a reduced stamina buffer for SCarp users" + - rscadd: "Gives SCarp users a better parry" + - rscadd: "Adds the SCarp bundle which includes a bo staff" + - rscadd: "Lets Carp costumes carry Bo Staffs" + - balance: "reduces the stamina damage of scarp slightly" + - balance: "reduced the blockchance of the bo staff" diff --git a/html/changelogs/AutoChangeLog-pr-13799.yml b/html/changelogs/AutoChangeLog-pr-13799.yml new file mode 100644 index 0000000000..4f8168aa45 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13799.yml @@ -0,0 +1,5 @@ +author: "silicons" +delete-after: True +changes: + - bugfix: "ninja gloves no longer hardstun" + - balance: "ninja gloves now cost half as much to use to compensate" diff --git a/html/changelogs/AutoChangeLog-pr-13801.yml b/html/changelogs/AutoChangeLog-pr-13801.yml new file mode 100644 index 0000000000..e33b6f4056 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13801.yml @@ -0,0 +1,5 @@ +author: "SandPoot" +delete-after: True +changes: + - refactor: "Changes the limb grower a lot." + - bugfix: "\"Limb\" costs on limbgrower are actually displayed like it was meant to all along." diff --git a/html/changelogs/AutoChangeLog-pr-13803.yml b/html/changelogs/AutoChangeLog-pr-13803.yml new file mode 100644 index 0000000000..68791ea87a --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13803.yml @@ -0,0 +1,4 @@ +author: "BlueWildrose" +delete-after: True +changes: + - balance: "The traitor AI can no longer activate the doomsday device while carded." diff --git a/html/changelogs/AutoChangeLog-pr-13804.yml b/html/changelogs/AutoChangeLog-pr-13804.yml new file mode 100644 index 0000000000..6b6d56dc5c --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13804.yml @@ -0,0 +1,4 @@ +author: "timothyteakettle" +delete-after: True +changes: + - bugfix: "circuits get pin data proc is sanitized when text is returned as data" diff --git a/html/changelogs/AutoChangeLog-pr-13808.yml b/html/changelogs/AutoChangeLog-pr-13808.yml new file mode 100644 index 0000000000..fc97da6161 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13808.yml @@ -0,0 +1,5 @@ +author: "Putnam3145" +delete-after: True +changes: + - tweak: "You can now exit polycircuit input" + - bugfix: "Polycircuits now check for range" diff --git a/html/changelogs/AutoChangeLog-pr-13809.yml b/html/changelogs/AutoChangeLog-pr-13809.yml new file mode 100644 index 0000000000..d63ee33ff1 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13809.yml @@ -0,0 +1,4 @@ +author: "Putnam3145" +delete-after: True +changes: + - tweak: "Gear harness now covers nothing." diff --git a/html/changelogs/AutoChangeLog-pr-13811.yml b/html/changelogs/AutoChangeLog-pr-13811.yml new file mode 100644 index 0000000000..da2691d8f5 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13811.yml @@ -0,0 +1,4 @@ +author: "BlackMajor" +delete-after: True +changes: + - tweak: "Cyborg hypospray no longer injects if it means OD'ing while on help intent." diff --git a/html/changelogs/AutoChangeLog-pr-13813.yml b/html/changelogs/AutoChangeLog-pr-13813.yml new file mode 100644 index 0000000000..ce283eb788 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13813.yml @@ -0,0 +1,5 @@ +author: "silicons" +delete-after: True +changes: + - tweak: "command headsets are 120% instead of 160%" + - bugfix: "no more emote italics" diff --git a/html/changelogs/AutoChangeLog-pr-13814.yml b/html/changelogs/AutoChangeLog-pr-13814.yml new file mode 100644 index 0000000000..9bd0be5ac0 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13814.yml @@ -0,0 +1,4 @@ +author: "Xantholne" +delete-after: True +changes: + - bugfix: "Twin Sword Sheaths have an equipment icon and icon when worn now and make a sound when sheathed/unsheathed" diff --git a/html/changelogs/AutoChangeLog-pr-13815.yml b/html/changelogs/AutoChangeLog-pr-13815.yml new file mode 100644 index 0000000000..630ca9d7f7 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13815.yml @@ -0,0 +1,4 @@ +author: "Yakumo Chen" +delete-after: True +changes: + - balance: "Slime Jelly is no longer obtainable from slimepeople. Go ask Xenobio" diff --git a/html/changelogs/AutoChangeLog-pr-13819.yml b/html/changelogs/AutoChangeLog-pr-13819.yml new file mode 100644 index 0000000000..77b1ec9a3d --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13819.yml @@ -0,0 +1,5 @@ +author: "Hatterhat" +delete-after: True +changes: + - bugfix: "The survival dagger light on the sprite now actually turns on and off." + - balance: "The survival dagger in the glaive kit that can also be bought by itself is now better at butchering things." diff --git a/html/changelogs/AutoChangeLog-pr-13822.yml b/html/changelogs/AutoChangeLog-pr-13822.yml new file mode 100644 index 0000000000..743bdb500b --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13822.yml @@ -0,0 +1,4 @@ +author: "DeltaFire15" +delete-after: True +changes: + - bugfix: "Bloodcult stunhands now work against clockies like they were supposed to instead of hardstunning." diff --git a/html/changelogs/AutoChangeLog-pr-13823.yml b/html/changelogs/AutoChangeLog-pr-13823.yml new file mode 100644 index 0000000000..35d70339f7 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13823.yml @@ -0,0 +1,4 @@ +author: "MrJWhit" +delete-after: True +changes: + - tweak: "Christmas starts on the 18th now" diff --git a/html/changelogs/AutoChangeLog-pr-13825.yml b/html/changelogs/AutoChangeLog-pr-13825.yml new file mode 100644 index 0000000000..ae82c1cd8e --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13825.yml @@ -0,0 +1,4 @@ +author: "raspy-on-osu" +delete-after: True +changes: + - tweak: "windoor open length" diff --git a/html/changelogs/AutoChangeLog-pr-13828.yml b/html/changelogs/AutoChangeLog-pr-13828.yml new file mode 100644 index 0000000000..282b8a01e0 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13828.yml @@ -0,0 +1,4 @@ +author: "timothyteakettle" +delete-after: True +changes: + - bugfix: "you can now only entwine tails with people who have a tail" diff --git a/html/changelogs/AutoChangeLog-pr-13830.yml b/html/changelogs/AutoChangeLog-pr-13830.yml new file mode 100644 index 0000000000..c126670246 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13830.yml @@ -0,0 +1,4 @@ +author: "timothyteakettle" +delete-after: True +changes: + - bugfix: "apids render now" diff --git a/html/changelogs/AutoChangeLog-pr-13832.yml b/html/changelogs/AutoChangeLog-pr-13832.yml new file mode 100644 index 0000000000..756edb7657 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13832.yml @@ -0,0 +1,4 @@ +author: "Arturlang" +delete-after: True +changes: + - bugfix: "Bloodsuckers tresspass ability can no longer work while they are not awake." diff --git a/html/changelogs/AutoChangeLog-pr-13833.yml b/html/changelogs/AutoChangeLog-pr-13833.yml new file mode 100644 index 0000000000..8312c7a5a3 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13833.yml @@ -0,0 +1,4 @@ +author: "kiwedespars" +delete-after: True +changes: + - balance: "balanced bone gauntlets." diff --git a/html/changelogs/AutoChangeLog-pr-13834.yml b/html/changelogs/AutoChangeLog-pr-13834.yml new file mode 100644 index 0000000000..46cedff5d5 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13834.yml @@ -0,0 +1,4 @@ +author: "zeroisthebiggay" +delete-after: True +changes: + - rscadd: "Traitor assistants can now purchase the patented POGBox! Put TC into it for even higher damage!" diff --git a/html/changelogs/AutoChangeLog-pr-13835.yml b/html/changelogs/AutoChangeLog-pr-13835.yml new file mode 100644 index 0000000000..0ac90921c3 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13835.yml @@ -0,0 +1,4 @@ +author: "silicons" +delete-after: True +changes: + - rscadd: "pugilists can now parry" diff --git a/html/changelogs/AutoChangeLog-pr-13837.yml b/html/changelogs/AutoChangeLog-pr-13837.yml new file mode 100644 index 0000000000..eda0b77a83 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13837.yml @@ -0,0 +1,4 @@ +author: "silicons" +delete-after: True +changes: + - tweak: "anyone new to the server is lucky enough to have their sprint default to toggle instead of hold" diff --git a/html/changelogs/AutoChangeLog-pr-13838.yml b/html/changelogs/AutoChangeLog-pr-13838.yml new file mode 100644 index 0000000000..deff5913b3 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13838.yml @@ -0,0 +1,4 @@ +author: "silicons" +delete-after: True +changes: + - bugfix: "things in DEATHCOMA do not deathgasp on death" diff --git a/html/changelogs/AutoChangeLog-pr-13844.yml b/html/changelogs/AutoChangeLog-pr-13844.yml new file mode 100644 index 0000000000..cd1f7a25d4 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13844.yml @@ -0,0 +1,4 @@ +author: "Arturlang" +delete-after: True +changes: + - bugfix: "Fixes the mint machine's UI" diff --git a/html/changelogs/AutoChangeLog-pr-13845.yml b/html/changelogs/AutoChangeLog-pr-13845.yml new file mode 100644 index 0000000000..d10485ae9f --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13845.yml @@ -0,0 +1,4 @@ +author: "silicons" +delete-after: True +changes: + - bugfix: "dullahans enabled" diff --git a/html/changelogs/AutoChangeLog-pr-13846.yml b/html/changelogs/AutoChangeLog-pr-13846.yml new file mode 100644 index 0000000000..68e013acf0 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13846.yml @@ -0,0 +1,4 @@ +author: "DeltaFire15" +delete-after: True +changes: + - balance: "Fleshmend, Anatomic Panacea and bloodsucker healing now work for Synths / IPCs." diff --git a/html/changelogs/AutoChangeLog-pr-13850.yml b/html/changelogs/AutoChangeLog-pr-13850.yml new file mode 100644 index 0000000000..64c47ade40 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13850.yml @@ -0,0 +1,5 @@ +author: "DeltaFire15" +delete-after: True +changes: + - bugfix: "Self-fueling weldingtools recharge fuel properly again." + - bugfix: "Brass welders now actually recharge faster than experimental ones." diff --git a/html/changelogs/AutoChangeLog-pr-13855.yml b/html/changelogs/AutoChangeLog-pr-13855.yml new file mode 100644 index 0000000000..0eed195acd --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13855.yml @@ -0,0 +1,8 @@ +author: "Chiirno" +delete-after: True +changes: + - rscadd: "Paramedics office and Surgery Storage Room" + - tweak: "Remodeled the surgery room, as well as shrunk Morgue and Starboard Emergency Storage. +Fiddled with some areas for better map edit clarity and fixed one runtime in Vacant Office A." + - imageadd: "Added the paramedic closet sprite, a paramedic colored medical3 closet." + - code_imp: "Added a paramedic closet, which is the standard medical3 closet with their suit, a pinpointer, and a crew monitor added." diff --git a/html/changelogs/AutoChangeLog-pr-13856.yml b/html/changelogs/AutoChangeLog-pr-13856.yml new file mode 100644 index 0000000000..583fb38cc2 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13856.yml @@ -0,0 +1,5 @@ +author: "Putnam3145" +delete-after: True +changes: + - bugfix: "gear harness alt-click is now sane" + - code_imp: "rolldown() and toggle_jumpsuit_adjust() now no longer mix behavior-that-should-be-overridden and behavior-that-shouldn't-be-overridden in ways that make no sense." diff --git a/html/changelogs/AutoChangeLog-pr-13859.yml b/html/changelogs/AutoChangeLog-pr-13859.yml new file mode 100644 index 0000000000..2d6dc5c25a --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13859.yml @@ -0,0 +1,4 @@ +author: "timothyteakettle" +delete-after: True +changes: + - rscadd: "adds unlockable loadout items, corresponding category in loadouts, etc" diff --git a/html/changelogs/AutoChangeLog-pr-13867.yml b/html/changelogs/AutoChangeLog-pr-13867.yml new file mode 100644 index 0000000000..dd1e44e64c --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13867.yml @@ -0,0 +1,4 @@ +author: "Putnam3145" +delete-after: True +changes: + - balance: "Zeolites now only generate 1/5 the heat when reacting and don't require a catalyst." diff --git a/html/changelogs/AutoChangeLog-pr-13869.yml b/html/changelogs/AutoChangeLog-pr-13869.yml new file mode 100644 index 0000000000..5d4ca4817c --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13869.yml @@ -0,0 +1,6 @@ +author: "timothyteakettle" +delete-after: True +changes: + - tweak: "slime puddles are no longer layered down one layer" + - tweak: "you cannot tackle with two paralysed arms" + - tweak: "tackling with a single paralysed arm lowers your tackle roll by 2" diff --git a/html/changelogs/AutoChangeLog-pr-13870.yml b/html/changelogs/AutoChangeLog-pr-13870.yml new file mode 100644 index 0000000000..820c524224 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13870.yml @@ -0,0 +1,4 @@ +author: "silicons" +delete-after: True +changes: + - bugfix: "Magrifle ammo no longer glows." diff --git a/html/changelogs/AutoChangeLog-pr-13871.yml b/html/changelogs/AutoChangeLog-pr-13871.yml new file mode 100644 index 0000000000..f667abe816 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13871.yml @@ -0,0 +1,5 @@ +author: "NT Cleaning Crews On Break" +delete-after: True +changes: + - rscadd: "Most kinds of dirt, grime, and debris are now persistent. Get to work, jannies." + - rscadd: "Dirt can now be removed by tile replacements. Other cleanable decals can't, though." diff --git a/html/changelogs/AutoChangeLog-pr-13873.yml b/html/changelogs/AutoChangeLog-pr-13873.yml new file mode 100644 index 0000000000..320a5b69a4 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13873.yml @@ -0,0 +1,4 @@ +author: "BlueWildrose" +delete-after: True +changes: + - tweak: "Nyctophobia quirk now has some light lag compensation." diff --git a/html/changelogs/AutoChangeLog-pr-13881.yml b/html/changelogs/AutoChangeLog-pr-13881.yml new file mode 100644 index 0000000000..0ad2d3afc8 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13881.yml @@ -0,0 +1,4 @@ +author: "BlueWildrose" +delete-after: True +changes: + - rscadd: "PubbyStation now has two Christmas Tree spawners." diff --git a/html/changelogs/AutoChangeLog-pr-13882.yml b/html/changelogs/AutoChangeLog-pr-13882.yml new file mode 100644 index 0000000000..fe545bdc23 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13882.yml @@ -0,0 +1,4 @@ +author: "ERP mains" +delete-after: True +changes: + - rscadd: "Subtler Around Table is now a verb" diff --git a/html/changelogs/AutoChangeLog-pr-13883.yml b/html/changelogs/AutoChangeLog-pr-13883.yml new file mode 100644 index 0000000000..884adafffe --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13883.yml @@ -0,0 +1,5 @@ +author: "silicons" +delete-after: True +changes: + - rscadd: "set-pose has been added" + - tweak: "temporary flavor text renamed to set pose, fully visible in examine" diff --git a/html/changelogs/AutoChangeLog-pr-13884.yml b/html/changelogs/AutoChangeLog-pr-13884.yml new file mode 100644 index 0000000000..f2b9233690 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13884.yml @@ -0,0 +1,5 @@ +author: "Hatterhat" +delete-after: True +changes: + - rscadd: "The dock-silver standard set by Box and Meta has been enforced across maps in rotation (Delta, Pubby, Lambda)." + - bugfix: "The Box whiteship now has its missing tiny fan back." diff --git a/html/changelogs/AutoChangeLog-pr-13885.yml b/html/changelogs/AutoChangeLog-pr-13885.yml new file mode 100644 index 0000000000..88c23d30f1 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13885.yml @@ -0,0 +1,4 @@ +author: "raspy-on-osu" +delete-after: True +changes: + - tweak: "space heater heating range and power" diff --git a/html/changelogs/AutoChangeLog-pr-13887.yml b/html/changelogs/AutoChangeLog-pr-13887.yml new file mode 100644 index 0000000000..83069a4e64 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13887.yml @@ -0,0 +1,4 @@ +author: "HeroWithYay" +delete-after: True +changes: + - bugfix: "Changed description of Necrotizing Fasciitis symptom." diff --git a/html/changelogs/AutoChangeLog-pr-13892.yml b/html/changelogs/AutoChangeLog-pr-13892.yml new file mode 100644 index 0000000000..976b395826 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13892.yml @@ -0,0 +1,4 @@ +author: "silicons" +delete-after: True +changes: + - balance: "changeling combat mutations rebalanced. most of them take chemicals to upkeep now." diff --git a/html/changelogs/AutoChangeLog-pr-13893.yml b/html/changelogs/AutoChangeLog-pr-13893.yml new file mode 100644 index 0000000000..9eb7a3f79d --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13893.yml @@ -0,0 +1,4 @@ +author: "silicons" +delete-after: True +changes: + - tweak: "Meth and changeling adrenals no longer ignore all slowdowns, rather damage slowdowns." diff --git a/html/changelogs/AutoChangeLog-pr-13894.yml b/html/changelogs/AutoChangeLog-pr-13894.yml new file mode 100644 index 0000000000..31e1e66328 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13894.yml @@ -0,0 +1,4 @@ +author: "silicons" +delete-after: True +changes: + - tweak: "temperature slowdown divisor nerfed to 35 from 20." diff --git a/html/changelogs/AutoChangeLog-pr-13896.yml b/html/changelogs/AutoChangeLog-pr-13896.yml new file mode 100644 index 0000000000..f733efa09d --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13896.yml @@ -0,0 +1,6 @@ +author: "Sonic121x" +delete-after: True +changes: + - rscadd: "alarm ert hardsuit sprite for naga and canine" + - tweak: "adjust the naga ert hardsuit to cover the hand" + - bugfix: "cydonia hardsuit helmet" diff --git a/html/changelogs/AutoChangeLog-pr-13897.yml b/html/changelogs/AutoChangeLog-pr-13897.yml new file mode 100644 index 0000000000..05637b0908 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13897.yml @@ -0,0 +1,5 @@ +author: "keronshb" +delete-after: True +changes: + - bugfix: "Allows Energy Bola to be caught" + - balance: "This also allows them to be dropped/picked up." diff --git a/html/changelogs/AutoChangeLog-pr-13898.yml b/html/changelogs/AutoChangeLog-pr-13898.yml new file mode 100644 index 0000000000..cb4e0fd52d --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13898.yml @@ -0,0 +1,5 @@ +author: "Putnam3145" +delete-after: True +changes: + - balance: "Regen coma now puts into a coma even from crit or while unconscious." + - bugfix: "Regen coma now properly weakens while asleep." diff --git a/html/changelogs/AutoChangeLog-pr-13900.yml b/html/changelogs/AutoChangeLog-pr-13900.yml new file mode 100644 index 0000000000..a25c8af1ed --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13900.yml @@ -0,0 +1,4 @@ +author: "Xantholne" +delete-after: True +changes: + - rscadd: "New parrots from the RP server, can be found in Bird Crate in Cargo" diff --git a/html/changelogs/AutoChangeLog-pr-13902.yml b/html/changelogs/AutoChangeLog-pr-13902.yml new file mode 100644 index 0000000000..ca548d816f --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13902.yml @@ -0,0 +1,4 @@ +author: "timothyteakettle" +delete-after: True +changes: + - rscadd: "avian/digitigrade legs have been added for slimes" diff --git a/html/changelogs/AutoChangeLog-pr-13903.yml b/html/changelogs/AutoChangeLog-pr-13903.yml new file mode 100644 index 0000000000..fd66c4b0c6 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13903.yml @@ -0,0 +1,4 @@ +author: "DeltaFire15" +delete-after: True +changes: + - bugfix: "Changelings no longer double-deathgasp when activating the regen stasis ability while not dead." diff --git a/html/changelogs/AutoChangeLog-pr-13904.yml b/html/changelogs/AutoChangeLog-pr-13904.yml new file mode 100644 index 0000000000..90f7d77e17 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13904.yml @@ -0,0 +1,4 @@ +author: "DeltaFire15" +delete-after: True +changes: + - tweak: "Instant summons can no longer do wacky stuff with disposals (and nukes)." diff --git a/html/changelogs/AutoChangeLog-pr-13905.yml b/html/changelogs/AutoChangeLog-pr-13905.yml new file mode 100644 index 0000000000..16b464bc20 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13905.yml @@ -0,0 +1,4 @@ +author: "zeroisthebiggay" +delete-after: True +changes: + - imageadd: "cool codex cicatrix inhands" diff --git a/html/changelogs/AutoChangeLog-pr-13909.yml b/html/changelogs/AutoChangeLog-pr-13909.yml new file mode 100644 index 0000000000..e4f0f1e401 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13909.yml @@ -0,0 +1,4 @@ +author: "silicons" +delete-after: True +changes: + - rscadd: "Twitch Plays: Clown Car" diff --git a/html/changelogs/AutoChangeLog-pr-13911.yml b/html/changelogs/AutoChangeLog-pr-13911.yml new file mode 100644 index 0000000000..9e96103b2b --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13911.yml @@ -0,0 +1,4 @@ +author: "raspy-on-osu" +delete-after: True +changes: + - spellcheck: "salicylic acid" diff --git a/html/changelogs/AutoChangeLog-pr-13913.yml b/html/changelogs/AutoChangeLog-pr-13913.yml new file mode 100644 index 0000000000..a25e054a6f --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13913.yml @@ -0,0 +1,4 @@ +author: "keronshb" +delete-after: True +changes: + - bugfix: "Fixes the parry data for scarp" diff --git a/html/changelogs/AutoChangeLog-pr-13914.yml b/html/changelogs/AutoChangeLog-pr-13914.yml new file mode 100644 index 0000000000..b9efe2a893 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13914.yml @@ -0,0 +1,6 @@ +author: "EmeraldSundisk" +delete-after: True +changes: + - rscadd: "Adds a few new area designations primarily for CogStation, incorporates them into said map" + - tweak: "Reorganizes some area designations for ease of use, along with renaming the central \"Router\" to \"Routing Depot\"" + - bugfix: "Fixes an incorrectly designated area in CogStation" diff --git a/html/changelogs/AutoChangeLog-pr-13915.yml b/html/changelogs/AutoChangeLog-pr-13915.yml new file mode 100644 index 0000000000..2853dcb9ad --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13915.yml @@ -0,0 +1,4 @@ +author: "Xantholne" +delete-after: True +changes: + - bugfix: "Fixed new birds changing back to basic parrot when sitting" diff --git a/html/changelogs/AutoChangeLog-pr-13916.yml b/html/changelogs/AutoChangeLog-pr-13916.yml new file mode 100644 index 0000000000..0ec04707a5 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13916.yml @@ -0,0 +1,4 @@ +author: "timothyteakettle" +delete-after: True +changes: + - rscadd: "re-adds the holoform verb for people who want to use it over going through the char list" diff --git a/html/changelogs/AutoChangeLog-pr-13917.yml b/html/changelogs/AutoChangeLog-pr-13917.yml new file mode 100644 index 0000000000..5eabd640f7 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13917.yml @@ -0,0 +1,4 @@ +author: "timothyteakettle" +delete-after: True +changes: + - rscadd: "*squeak" diff --git a/html/changelogs/AutoChangeLog-pr-13924.yml b/html/changelogs/AutoChangeLog-pr-13924.yml new file mode 100644 index 0000000000..71092c567d --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13924.yml @@ -0,0 +1,4 @@ +author: "SandPoot" +delete-after: True +changes: + - tweak: "You can attack a pile of money on the floor with your id to put it all in quickly." diff --git a/html/changelogs/AutoChangeLog-pr-13926.yml b/html/changelogs/AutoChangeLog-pr-13926.yml new file mode 100644 index 0000000000..4e92bacdb4 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13926.yml @@ -0,0 +1,4 @@ +author: "MrJWhit" +delete-after: True +changes: + - rscdel: "Removes the screen flashing on climax." diff --git a/html/changelogs/AutoChangeLog-pr-13930.yml b/html/changelogs/AutoChangeLog-pr-13930.yml new file mode 100644 index 0000000000..282f3fa30a --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13930.yml @@ -0,0 +1,4 @@ +author: "MrJWhit" +delete-after: True +changes: + - tweak: "Small fixes on security on boxstation" diff --git a/html/changelogs/AutoChangeLog-pr-13931.yml b/html/changelogs/AutoChangeLog-pr-13931.yml new file mode 100644 index 0000000000..fd903f2d6e --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13931.yml @@ -0,0 +1,4 @@ +author: "shellspeed1" +delete-after: True +changes: + - rscadd: "Adds the disposable sentry gun from tg for 11tc each." diff --git a/html/changelogs/AutoChangeLog-pr-13932.yml b/html/changelogs/AutoChangeLog-pr-13932.yml new file mode 100644 index 0000000000..955d9f5741 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13932.yml @@ -0,0 +1,4 @@ +author: "shellspeed1" +delete-after: True +changes: + - tweak: "Xenomorph powers now list plasma cost in their description." diff --git a/html/changelogs/AutoChangeLog-pr-13934.yml b/html/changelogs/AutoChangeLog-pr-13934.yml new file mode 100644 index 0000000000..74f8ece6fc --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13934.yml @@ -0,0 +1,4 @@ +author: "shellspeed1" +delete-after: True +changes: + - rscadd: "The bluespace navigation gigabeacon design has been added to shuttle research for those wanting to take their ships around space more." diff --git a/html/changelogs/AutoChangeLog-pr-13936.yml b/html/changelogs/AutoChangeLog-pr-13936.yml new file mode 100644 index 0000000000..9b15d2232a --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13936.yml @@ -0,0 +1,4 @@ +author: "BlueWildrose" +delete-after: True +changes: + - bugfix: "Polychromic hoodies that were obtained from the loadout have functional colorable hoods now." diff --git a/html/changelogs/AutoChangeLog-pr-13938.yml b/html/changelogs/AutoChangeLog-pr-13938.yml new file mode 100644 index 0000000000..34d76a190b --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13938.yml @@ -0,0 +1,4 @@ +author: "timothyteakettle" +delete-after: True +changes: + - rscadd: "anthromorphic synth species" diff --git a/html/changelogs/AutoChangeLog-pr-13940.yml b/html/changelogs/AutoChangeLog-pr-13940.yml new file mode 100644 index 0000000000..60cbcc9a19 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13940.yml @@ -0,0 +1,4 @@ +author: "Chiirno" +delete-after: True +changes: + - rscadd: "Added the paramedics EVA suit as a purchase from the cargo console." diff --git a/html/changelogs/AutoChangeLog-pr-13941.yml b/html/changelogs/AutoChangeLog-pr-13941.yml new file mode 100644 index 0000000000..5a72376ebb --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13941.yml @@ -0,0 +1,4 @@ +author: "Chiirno" +delete-after: True +changes: + - bugfix: "Portable Chem Mixer now researchable from biotech node." diff --git a/html/changelogs/AutoChangeLog-pr-13943.yml b/html/changelogs/AutoChangeLog-pr-13943.yml new file mode 100644 index 0000000000..405d6b0d93 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13943.yml @@ -0,0 +1,6 @@ +author: "Hatterhat" +delete-after: True +changes: + - spellcheck: "Utility uniforms now comply with the \"nonproper equipment names\" thing." + - bugfix: "The CapDrobe now allows the captain to get his own clothes for free. Probably." + - tweak: "All captains' clothes now offer 15 woundarmor, up from the 5. Because apparently only the suit and tie and its suitskirt subtype have this wound armor, which is dumb." diff --git a/html/changelogs/AutoChangeLog-pr-13945.yml b/html/changelogs/AutoChangeLog-pr-13945.yml new file mode 100644 index 0000000000..91b8bb9498 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13945.yml @@ -0,0 +1,4 @@ +author: "DeltaFire15" +delete-after: True +changes: + - rscadd: "IPC cells & power cords are now printable after they are researched." diff --git a/html/changelogs/AutoChangeLog-pr-13946.yml b/html/changelogs/AutoChangeLog-pr-13946.yml new file mode 100644 index 0000000000..d7f3e15024 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13946.yml @@ -0,0 +1,4 @@ +author: "Ryll/Shaps" +delete-after: True +changes: + - admin: "Fixed an issue with player logs becoming confused when someone triggers multiple events within one second (like being attacked by two people at the same time) that would cause holes in the logs" diff --git a/html/changelogs/AutoChangeLog-pr-13947.yml b/html/changelogs/AutoChangeLog-pr-13947.yml new file mode 100644 index 0000000000..0388efc701 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13947.yml @@ -0,0 +1,4 @@ +author: "Chiirno" +delete-after: True +changes: + - tweak: "Chem masters can now dispense 20 instances of its outputs instead of 10." diff --git a/html/changelogs/AutoChangeLog-pr-13948.yml b/html/changelogs/AutoChangeLog-pr-13948.yml new file mode 100644 index 0000000000..73c5ba6b1a --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13948.yml @@ -0,0 +1,11 @@ +author: "necromanceranne" +delete-after: True +changes: + - rscadd: "Bokken now come in two lengths; full and wakizashi, and two varieties: wood and ironwood. They have different stats for all four." + - rscadd: "Bokken require menu crafting and part construction, as well as more complicated materials." + - tweak: "Bokken (long and short) require wood, cloth and leather to craft with a hatchet and screwdriver." + - tweak: "Ironwood bokken (long and short) require ironcap logs, cloth and leather to craft with a hatchet, screwdriver and welder." + - balance: "Twin sheathes can only fit a pair of blades (longsword + shortsword) or they can fit two shortswords." + - bugfix: "Fixed a twin sheath runtime." + - imageadd: "A lot of bokken related sprites received an overhaul. Added overlay sprites for weapons sheathed in the twin sheathes." + - imageadd: "The extradimensional blade received improved sprites for inhands/back sprites." diff --git a/html/changelogs/AutoChangeLog-pr-13950.yml b/html/changelogs/AutoChangeLog-pr-13950.yml new file mode 100644 index 0000000000..28affe7ebe --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13950.yml @@ -0,0 +1,6 @@ +author: "TripleShades" +delete-after: True +changes: + - rscadd: "New Paramedic Office next to Genetics where the old Genetics Reception used to be +change: Surgery, Surgery Observation, and Recovery Hall layout revamped drastically +change: Maints below Surgery lowered by one tile to recover lost tile space from Surgery expansion" diff --git a/html/changelogs/AutoChangeLog-pr-13951.yml b/html/changelogs/AutoChangeLog-pr-13951.yml new file mode 100644 index 0000000000..fe3ac84523 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13951.yml @@ -0,0 +1,4 @@ +author: "BlueWildrose" +delete-after: True +changes: + - tweak: "You can now have a max-roundstart-dicksize-config inch long johnson before you start suffering blood loss and slowdowns instead of a 20 inch one." diff --git a/html/changelogs/AutoChangeLog-pr-13954.yml b/html/changelogs/AutoChangeLog-pr-13954.yml new file mode 100644 index 0000000000..a8751d66ca --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13954.yml @@ -0,0 +1,6 @@ +author: "EmeraldSundisk" +delete-after: True +changes: + - rscadd: "Adds a new \"Computer Core\" area designation for CogStation" + - bugfix: "Fixes some missing area strings" + - tweak: "Replaces some firelocks with directional ones as to ensure desks/counters can still be accessed" diff --git a/html/changelogs/AutoChangeLog-pr-13955.yml b/html/changelogs/AutoChangeLog-pr-13955.yml new file mode 100644 index 0000000000..1d43dd6b95 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13955.yml @@ -0,0 +1,5 @@ +author: "Chiirno" +delete-after: True +changes: + - tweak: "Nightmare now deals additional damage to most light sources." + - bugfix: "Nightmare now one-shots miners beacons and glowshrooms" diff --git a/html/changelogs/AutoChangeLog-pr-13959.yml b/html/changelogs/AutoChangeLog-pr-13959.yml new file mode 100644 index 0000000000..1303768344 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13959.yml @@ -0,0 +1,6 @@ +author: "necromanceranne" +delete-after: True +changes: + - bugfix: "You can now make all the variants of the bokken." + - bugfix: "Removes a duplicate sprite." + - tweak: "Renames all instances of 'ironwood' to 'steelwood'." diff --git a/html/changelogs/AutoChangeLog-pr-13961.yml b/html/changelogs/AutoChangeLog-pr-13961.yml new file mode 100644 index 0000000000..f0a6cc267d --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13961.yml @@ -0,0 +1,6 @@ +author: "MrJWhit" +delete-after: True +changes: + - tweak: "Removed the wires connecting the AI from the rest of the station on cogstation." + - tweak: "Fixes experimenter on cogstation." + - tweak: "Less pipes in the overall area in toxins on cogstation" diff --git a/html/changelogs/AutoChangeLog-pr-13965.yml b/html/changelogs/AutoChangeLog-pr-13965.yml new file mode 100644 index 0000000000..69f5a90122 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13965.yml @@ -0,0 +1,7 @@ +author: "Xantholne" +delete-after: True +changes: + - rscadd: "You can now tuck disky into bed" + - rscadd: "You can now make beds by applying a bed sheet to them" + - rscadd: "You can now tuck in pai cards into bed" + - rscadd: "Added bed tucking element, can be added to any held object to allow tucking into beds" diff --git a/html/changelogs/AutoChangeLog-pr-13967.yml b/html/changelogs/AutoChangeLog-pr-13967.yml new file mode 100644 index 0000000000..d2e580b531 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13967.yml @@ -0,0 +1,6 @@ +author: "keronshb" +delete-after: True +changes: + - balance: "Blob Resource Tower to 2 points per instead of 1 point per." + - balance: "Blob Factory Towers can be placed 5 tiles apart instead of 7." + - bugfix: "Fixes Blobbernaut Factories consuming Factories if no naut is chosen." diff --git a/html/changelogs/AutoChangeLog-pr-13968.yml b/html/changelogs/AutoChangeLog-pr-13968.yml new file mode 100644 index 0000000000..e3ce9e4615 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13968.yml @@ -0,0 +1,4 @@ +author: "Arturlang" +delete-after: True +changes: + - tweak: "Prayers to admins now do a wee ding sound for all prayers, instead of just chaplains" diff --git a/html/changelogs/AutoChangeLog-pr-13970.yml b/html/changelogs/AutoChangeLog-pr-13970.yml new file mode 100644 index 0000000000..54d8d9992d --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13970.yml @@ -0,0 +1,8 @@ +author: "TripleShades" +delete-after: True +changes: + - rscadd: "Firelock to Surgery Bay drapes +change: Swapped Nanomed and Fire Alarm button locations in both Surgery Bays +change: Removes the double mirror in both Surgery Bays to be a singular mirror +change: Moved an intercom to not be doorstuck below Paramedical Office +remove: One Surgery Observation Fire Alarm button" diff --git a/html/changelogs/AutoChangeLog-pr-13972.yml b/html/changelogs/AutoChangeLog-pr-13972.yml new file mode 100644 index 0000000000..fdfdd4786d --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13972.yml @@ -0,0 +1,4 @@ +author: "MrJWhit" +delete-after: True +changes: + - tweak: "Fixes maint area in boxstation" diff --git a/html/changelogs/AutoChangeLog-pr-13975.yml b/html/changelogs/AutoChangeLog-pr-13975.yml new file mode 100644 index 0000000000..ff643cd19c --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13975.yml @@ -0,0 +1,4 @@ +author: "zeroisthebiggay" +delete-after: True +changes: + - imageadd: "fuck the r*d cr*ss" diff --git a/html/changelogs/AutoChangeLog-pr-13976.yml b/html/changelogs/AutoChangeLog-pr-13976.yml new file mode 100644 index 0000000000..dac85f8e9a --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13976.yml @@ -0,0 +1,4 @@ +author: "timothyteakettle" +delete-after: True +changes: + - rscadd: "you can teleport bread" diff --git a/html/changelogs/AutoChangeLog-pr-13978.yml b/html/changelogs/AutoChangeLog-pr-13978.yml new file mode 100644 index 0000000000..94c19edec4 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13978.yml @@ -0,0 +1,4 @@ +author: "silicons" +delete-after: True +changes: + - balance: "c4 can no longer gib mobs" diff --git a/html/changelogs/AutoChangeLog-pr-13980.yml b/html/changelogs/AutoChangeLog-pr-13980.yml new file mode 100644 index 0000000000..6838ba48a2 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13980.yml @@ -0,0 +1,4 @@ +author: "MrJWhit" +delete-after: True +changes: + - rscadd: "Makes gas sensors fireproof." diff --git a/html/changelogs/AutoChangeLog-pr-13983.yml b/html/changelogs/AutoChangeLog-pr-13983.yml new file mode 100644 index 0000000000..ba0bf62e6a --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13983.yml @@ -0,0 +1,6 @@ +author: "shellspeed1" +delete-after: True +changes: + - rscadd: "Xenomorph hybrids can now select wings +~~add: Xenomorph hybrids can now speak xenomorph~~" + - rscadd: "Xenomorph tongues are available for customization." diff --git a/html/changelogs/AutoChangeLog-pr-13988.yml b/html/changelogs/AutoChangeLog-pr-13988.yml new file mode 100644 index 0000000000..262e5f804f --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13988.yml @@ -0,0 +1,4 @@ +author: "DeltaFire15" +delete-after: True +changes: + - bugfix: "Cargo packs marked as 'no private buying' now actually register as such." diff --git a/html/changelogs/AutoChangeLog-pr-13993.yml b/html/changelogs/AutoChangeLog-pr-13993.yml new file mode 100644 index 0000000000..d99ed0e0d1 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13993.yml @@ -0,0 +1,4 @@ +author: "Arturlang" +delete-after: True +changes: + - tweak: "The cursed heart now only takes away half as much blood every loop, and can be used as long as you are alive, instead if only you are awake/able to use your hands" diff --git a/html/changelogs/AutoChangeLog-pr-13995.yml b/html/changelogs/AutoChangeLog-pr-13995.yml new file mode 100644 index 0000000000..e58ee3103c --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13995.yml @@ -0,0 +1,4 @@ +author: "DeltaFire15" +delete-after: True +changes: + - bugfix: "Attacking some certain objects no longer has no clickdelay." diff --git a/html/changelogs/AutoChangeLog-pr-13996.yml b/html/changelogs/AutoChangeLog-pr-13996.yml new file mode 100644 index 0000000000..5bea075460 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13996.yml @@ -0,0 +1,4 @@ +author: "MrJWhit" +delete-after: True +changes: + - tweak: "Bugfix of a morph becoming an AI eye" diff --git a/html/changelogs/AutoChangeLog-pr-13997.yml b/html/changelogs/AutoChangeLog-pr-13997.yml new file mode 100644 index 0000000000..354f66010a --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-13997.yml @@ -0,0 +1,4 @@ +author: "MrJWhit" +delete-after: True +changes: + - tweak: "Porting garbage collection tweak from /tg/" diff --git a/html/changelogs/AutoChangeLog-pr-14001.yml b/html/changelogs/AutoChangeLog-pr-14001.yml new file mode 100644 index 0000000000..31c9e560ab --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-14001.yml @@ -0,0 +1,4 @@ +author: "MrJWhit" +delete-after: True +changes: + - tweak: "Fixes two chairs on one table" diff --git a/html/changelogs/AutoChangeLog-pr-14005.yml b/html/changelogs/AutoChangeLog-pr-14005.yml new file mode 100644 index 0000000000..253f4e137a --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-14005.yml @@ -0,0 +1,4 @@ +author: "DeltaFire15" +delete-after: True +changes: + - bugfix: "Loot items mobs drop are no longer always failing to initialize." diff --git a/html/changelogs/AutoChangeLog-pr-14006.yml b/html/changelogs/AutoChangeLog-pr-14006.yml new file mode 100644 index 0000000000..519ad32752 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-14006.yml @@ -0,0 +1,4 @@ +author: "DeltaFire15" +delete-after: True +changes: + - bugfix: "Cyborg B.o.r.i.s. installation now checks for if the chest has a cell, just like how it does with MMIs." diff --git a/html/changelogs/AutoChangeLog-pr-14007.yml b/html/changelogs/AutoChangeLog-pr-14007.yml new file mode 100644 index 0000000000..498aa6b807 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-14007.yml @@ -0,0 +1,4 @@ +author: "DeltaFire15" +delete-after: True +changes: + - bugfix: "Antagging / Deantagging Heretics now properly sets their special role." diff --git a/html/changelogs/AutoChangeLog-pr-14008.yml b/html/changelogs/AutoChangeLog-pr-14008.yml new file mode 100644 index 0000000000..836eefd99a --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-14008.yml @@ -0,0 +1,4 @@ +author: "TheSpaghetti" +delete-after: True +changes: + - bugfix: "no more tumor bread double punctuation" diff --git a/html/changelogs/AutoChangeLog-pr-14009.yml b/html/changelogs/AutoChangeLog-pr-14009.yml new file mode 100644 index 0000000000..03a1ca39dd --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-14009.yml @@ -0,0 +1,7 @@ +author: "shellspeed1" +delete-after: True +changes: + - rscadd: "Wings from Cit RP have been ported over" + - rscadd: "Moth wings from cit have been ported over" + - bugfix: "Cleaned up some pixels on existing moth wings." + - tweak: "Organized the lists for wings by if they are for moths or not and than by alphabetical." diff --git a/html/changelogs/AutoChangeLog-pr-14010.yml b/html/changelogs/AutoChangeLog-pr-14010.yml new file mode 100644 index 0000000000..643f28dc99 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-14010.yml @@ -0,0 +1,5 @@ +author: "shellspeed1" +delete-after: True +changes: + - rscadd: "The exofab can now print prosthetic limbs" + - bugfix: "The exofab was missing access to multiple cybernetic organs. This has now been rectified." diff --git a/html/changelogs/AutoChangeLog-pr-14014.yml b/html/changelogs/AutoChangeLog-pr-14014.yml new file mode 100644 index 0000000000..ac29b1567b --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-14014.yml @@ -0,0 +1,4 @@ +author: "necromanceranne" +delete-after: True +changes: + - bugfix: "Fixes various sprites for bokken, as well as being unable to craft certain parts and duplicate entries." diff --git a/html/changelogs/AutoChangeLog-pr-14015.yml b/html/changelogs/AutoChangeLog-pr-14015.yml new file mode 100644 index 0000000000..fe507d0a1e --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-14015.yml @@ -0,0 +1,4 @@ +author: "DeltaFire15" +delete-after: True +changes: + - balance: "Some synth damage stuff has been a bit rebalanced, see the PR for details." diff --git a/html/changelogs/AutoChangeLog-pr-14016.yml b/html/changelogs/AutoChangeLog-pr-14016.yml new file mode 100644 index 0000000000..1aab587190 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-14016.yml @@ -0,0 +1,4 @@ +author: "timothyteakettle" +delete-after: True +changes: + - bugfix: "disabling adminhelp noises no longer disables looc" diff --git a/html/changelogs/AutoChangeLog-pr-14019.yml b/html/changelogs/AutoChangeLog-pr-14019.yml new file mode 100644 index 0000000000..37bdd52948 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-14019.yml @@ -0,0 +1,4 @@ +author: "timothyteakettle" +delete-after: True +changes: + - bugfix: "species with NOTRANSSTING cannot have envy's knife used on them" diff --git a/html/changelogs/AutoChangeLog-pr-14021.yml b/html/changelogs/AutoChangeLog-pr-14021.yml new file mode 100644 index 0000000000..aab94ae724 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-14021.yml @@ -0,0 +1,4 @@ +author: "DeltaFire15" +delete-after: True +changes: + - bugfix: "Combat mode now will not stay permanently disabled due to status effects not working as intended." diff --git a/html/changelogs/AutoChangeLog-pr-14025.yml b/html/changelogs/AutoChangeLog-pr-14025.yml new file mode 100644 index 0000000000..6db185baa3 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-14025.yml @@ -0,0 +1,7 @@ +author: "DeltaFire15" +delete-after: True +changes: + - rscadd: "A new surgery, allowing revival of synths without a defib at hand." + - balance: "Semi-permanent damage of Synth limbs caused by passing the damage threshold: 10 <- 15." + - tweak: "The embed removal surgery now has a version for Synths." + - balance: "EMPs no longer hardstun Synths." diff --git a/html/changelogs/AutoChangeLog-pr-14026.yml b/html/changelogs/AutoChangeLog-pr-14026.yml new file mode 100644 index 0000000000..1ae9cb5c28 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-14026.yml @@ -0,0 +1,4 @@ +author: "BlueWildrose" +delete-after: True +changes: + - bugfix: "Fixes noodle size appearance for 12+ inch members." diff --git a/html/changelogs/AutoChangeLog-pr-14032.yml b/html/changelogs/AutoChangeLog-pr-14032.yml new file mode 100644 index 0000000000..67f0a80f83 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-14032.yml @@ -0,0 +1,8 @@ +author: "kappa-sama" +delete-after: True +changes: + - rscadd: "A new spell for the wizard and his martial apprentices, the Inner Mantra technique. It makes you punch people really good and makes you durable, but drains your energy while it's active." + - rscadd: "A self-buffing spell for valiant bubblegum slayers that is ultimately useless on lavaland and probably overpowered for miner antagonists. Go figure. At least all it does is let you punch hard while draining your health every second." + - balance: "bubblegum now drops a book that makes you into an abusive father instead of a shotgun that plays like pre-nerf shotguns" + - soundadd: "a powerup and powerdown sound effect" + - imageadd: "two icons for two buff spells" diff --git a/html/changelogs/AutoChangeLog-pr-14033.yml b/html/changelogs/AutoChangeLog-pr-14033.yml new file mode 100644 index 0000000000..db6a6b0691 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-14033.yml @@ -0,0 +1,4 @@ +author: "BlueWildrose" +delete-after: True +changes: + - rscadd: "Color Mates have been added to all stations (except Snaxi). Enjoy coloring your attire without having to bug science!" diff --git a/html/changelogs/AutoChangeLog-pr-14034.yml b/html/changelogs/AutoChangeLog-pr-14034.yml new file mode 100644 index 0000000000..ecd0d4ca10 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-14034.yml @@ -0,0 +1,4 @@ +author: "DeltaFire15" +delete-after: True +changes: + - bugfix: "Some edge cases causing issues with system corruption shouldn't be able to occur anymore." diff --git a/html/changelogs/AutoChangeLog-pr-14035.yml b/html/changelogs/AutoChangeLog-pr-14035.yml new file mode 100644 index 0000000000..b8690368a3 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-14035.yml @@ -0,0 +1,4 @@ +author: "SiliconMain" +delete-after: True +changes: + - tweak: "hololocks (which haven't worked for god knows how long) commented out until auxmos is merged" diff --git a/html/changelogs/AutoChangeLog-pr-14036.yml b/html/changelogs/AutoChangeLog-pr-14036.yml new file mode 100644 index 0000000000..a2bb654233 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-14036.yml @@ -0,0 +1,4 @@ +author: "BlueWildrose" +delete-after: True +changes: + - tweak: "You will now only unbuckle fireman-carried/piggybacked people on disarm or harm intent." diff --git a/html/changelogs/AutoChangeLog-pr-14038.yml b/html/changelogs/AutoChangeLog-pr-14038.yml new file mode 100644 index 0000000000..906f6f7053 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-14038.yml @@ -0,0 +1,9 @@ +author: "Hatterhat" +delete-after: True +changes: + - rscadd: "The nature interaction shuttle with the monkeys now has tiny fans on the airlocks in, because that's apparently a feature that was missing." + - rscadd: "More bags have been added to department vendors." + - balance: "Every roundstart species (and also ash walkers) now has flesh and bone that can be wounded." + - balance: "Recipes for sutures, regen mesh, and sterilized gauze have been adjusted to be easier, mostly." + - balance: "Sterilized gauze is better at absorbing blood and being a splint." + - bugfix: "Energy sabres now have an off inhand." diff --git a/html/changelogs/AutoChangeLog-pr-14039.yml b/html/changelogs/AutoChangeLog-pr-14039.yml new file mode 100644 index 0000000000..a799003a02 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-14039.yml @@ -0,0 +1,4 @@ +author: "Hatterhat" +delete-after: True +changes: + - rscadd: "Basic sticky technology is now a roundstart tech. Advanced sticky technology is BEPIS-locked, though. Theoretically." diff --git a/html/statbrowser.html b/html/statbrowser.html index 346a198746..1cb089a189 100644 --- a/html/statbrowser.html +++ b/html/statbrowser.html @@ -875,7 +875,7 @@ function draw_listedturf() { // rather than every onmousedown getting the "part" of the last entry. return function(e) { e.preventDefault(); - clickcatcher = "?src=" + part[1] + ";statpanel_item_click=1"; + clickcatcher = "?src=_statpanel_;statpanel_item_target=" + part[1] + ";statpanel_item_click=1"; if(e.shiftKey){ clickcatcher += ";statpanel_item_shiftclick=1"; } @@ -912,7 +912,7 @@ function draw_sdql2(){ var td2 = document.createElement("td"); if(part[2]) { var a = document.createElement("a"); - a.href = "?src=" + part[2] + ";statpanel_item_click=1"; + a.href = "?src=" + "_statpanel_" + ";statpanel_item_target=" + part[2] + ";statpanel_item_click=1"; a[textContentKey] = part[1]; td2.appendChild(a); } else { @@ -943,7 +943,7 @@ function draw_tickets() { td2.appendChild(a); } else if(part[3]){ var a = document.createElement("a"); - a.href = "?src=" + part[3] + ";statpanel_item_click=1"; + a.href = "?src=_statpanel_" + ";statpanel_item_target=" + part[3] + ";statpanel_item_click=1"; a[textContentKey] = part[1]; td2.appendChild(a); } else { diff --git a/icons/mecha/mecha.dmi b/icons/mecha/mecha.dmi index 310dd6709c..d75ae09c97 100644 Binary files a/icons/mecha/mecha.dmi and b/icons/mecha/mecha.dmi differ diff --git a/icons/mob/actions/actions_ecult.dmi b/icons/mob/actions/actions_ecult.dmi index d083206454..5e51eedffd 100644 Binary files a/icons/mob/actions/actions_ecult.dmi and b/icons/mob/actions/actions_ecult.dmi differ diff --git a/icons/mob/actions/actions_silicon.dmi b/icons/mob/actions/actions_silicon.dmi index cf3d7a2a95..fa7edf111a 100644 Binary files a/icons/mob/actions/actions_silicon.dmi and b/icons/mob/actions/actions_silicon.dmi differ diff --git a/icons/mob/animal.dmi b/icons/mob/animal.dmi index 50bf65b27f..68e6170969 100644 Binary files a/icons/mob/animal.dmi and b/icons/mob/animal.dmi differ diff --git a/icons/mob/clothing/back.dmi b/icons/mob/clothing/back.dmi index 8594af8ec2..2afd1b510b 100644 Binary files a/icons/mob/clothing/back.dmi and b/icons/mob/clothing/back.dmi differ diff --git a/icons/mob/clothing/belt.dmi b/icons/mob/clothing/belt.dmi index f84e360179..adcd7b64e1 100644 Binary files a/icons/mob/clothing/belt.dmi and b/icons/mob/clothing/belt.dmi differ diff --git a/icons/mob/clothing/head.dmi b/icons/mob/clothing/head.dmi index 889888ef0a..4b0c56c4d2 100644 Binary files a/icons/mob/clothing/head.dmi and b/icons/mob/clothing/head.dmi differ diff --git a/icons/mob/clothing/head_muzzled.dmi b/icons/mob/clothing/head_muzzled.dmi index 62c1ebea0a..e99f1ff6d4 100644 Binary files a/icons/mob/clothing/head_muzzled.dmi and b/icons/mob/clothing/head_muzzled.dmi differ diff --git a/icons/mob/clothing/neck.dmi b/icons/mob/clothing/neck.dmi index 276b5c9458..084a2c3649 100644 Binary files a/icons/mob/clothing/neck.dmi and b/icons/mob/clothing/neck.dmi differ diff --git a/icons/mob/clothing/suit.dmi b/icons/mob/clothing/suit.dmi index d4bb1224cc..a3d75644da 100644 Binary files a/icons/mob/clothing/suit.dmi and b/icons/mob/clothing/suit.dmi differ diff --git a/icons/mob/clothing/suit_digi.dmi b/icons/mob/clothing/suit_digi.dmi index 8f3c48396a..b109c2095e 100644 Binary files a/icons/mob/clothing/suit_digi.dmi and b/icons/mob/clothing/suit_digi.dmi differ diff --git a/icons/mob/clothing/taur_canine.dmi b/icons/mob/clothing/taur_canine.dmi index 24cf51d2e5..6155a274f2 100644 Binary files a/icons/mob/clothing/taur_canine.dmi and b/icons/mob/clothing/taur_canine.dmi differ diff --git a/icons/mob/clothing/taur_naga.dmi b/icons/mob/clothing/taur_naga.dmi index d178ba4a1c..3525333fb3 100644 Binary files a/icons/mob/clothing/taur_naga.dmi and b/icons/mob/clothing/taur_naga.dmi differ diff --git a/icons/mob/clothing/uniform_digi.dmi b/icons/mob/clothing/uniform_digi.dmi index 43b73f03d0..61c464ef1d 100644 Binary files a/icons/mob/clothing/uniform_digi.dmi and b/icons/mob/clothing/uniform_digi.dmi differ diff --git a/icons/mob/human_parts_greyscale.dmi b/icons/mob/human_parts_greyscale.dmi index fb864385c7..13f66fc2a4 100644 Binary files a/icons/mob/human_parts_greyscale.dmi and b/icons/mob/human_parts_greyscale.dmi differ diff --git a/icons/mob/inhands/misc/books_lefthand.dmi b/icons/mob/inhands/misc/books_lefthand.dmi index 71d06d345a..df662a413b 100644 Binary files a/icons/mob/inhands/misc/books_lefthand.dmi and b/icons/mob/inhands/misc/books_lefthand.dmi differ diff --git a/icons/mob/inhands/misc/books_righthand.dmi b/icons/mob/inhands/misc/books_righthand.dmi index 906f47bfe9..afa4a7a5fb 100644 Binary files a/icons/mob/inhands/misc/books_righthand.dmi and b/icons/mob/inhands/misc/books_righthand.dmi differ diff --git a/icons/mob/inhands/weapons/swords_lefthand.dmi b/icons/mob/inhands/weapons/swords_lefthand.dmi index 5ff248de68..e4f22de1cd 100644 Binary files a/icons/mob/inhands/weapons/swords_lefthand.dmi and b/icons/mob/inhands/weapons/swords_lefthand.dmi differ diff --git a/icons/mob/inhands/weapons/swords_righthand.dmi b/icons/mob/inhands/weapons/swords_righthand.dmi index 0332e60fb5..8716c3627f 100644 Binary files a/icons/mob/inhands/weapons/swords_righthand.dmi and b/icons/mob/inhands/weapons/swords_righthand.dmi differ diff --git a/icons/mob/mutant_bodyparts.dmi b/icons/mob/mutant_bodyparts.dmi index 1334ce9e0e..8d34fb8dc3 100644 Binary files a/icons/mob/mutant_bodyparts.dmi and b/icons/mob/mutant_bodyparts.dmi differ diff --git a/icons/mob/wings.dmi b/icons/mob/wings.dmi index 4523403344..92de5c150c 100644 Binary files a/icons/mob/wings.dmi and b/icons/mob/wings.dmi differ diff --git a/icons/obj/barsigns.dmi b/icons/obj/barsigns.dmi index 22f3071862..20b919c09e 100644 Binary files a/icons/obj/barsigns.dmi and b/icons/obj/barsigns.dmi differ diff --git a/icons/obj/bedsheets.dmi b/icons/obj/bedsheets.dmi index 05535334cf..f62dd34c66 100644 Binary files a/icons/obj/bedsheets.dmi and b/icons/obj/bedsheets.dmi differ diff --git a/icons/obj/closet.dmi b/icons/obj/closet.dmi index b71b021d80..70f5001c26 100644 Binary files a/icons/obj/closet.dmi and b/icons/obj/closet.dmi differ diff --git a/icons/obj/clothing/belt_overlays.dmi b/icons/obj/clothing/belt_overlays.dmi index cdb2567268..1178588ee7 100644 Binary files a/icons/obj/clothing/belt_overlays.dmi and b/icons/obj/clothing/belt_overlays.dmi differ diff --git a/icons/obj/clothing/hats.dmi b/icons/obj/clothing/hats.dmi index 95a31f8b9f..ee6cf90597 100644 Binary files a/icons/obj/clothing/hats.dmi and b/icons/obj/clothing/hats.dmi differ diff --git a/icons/obj/clothing/suits.dmi b/icons/obj/clothing/suits.dmi index c12720bc8b..f9eabaa44c 100644 Binary files a/icons/obj/clothing/suits.dmi and b/icons/obj/clothing/suits.dmi differ diff --git a/icons/obj/eldritch.dmi b/icons/obj/eldritch.dmi index 294deda628..646b12e734 100644 Binary files a/icons/obj/eldritch.dmi and b/icons/obj/eldritch.dmi differ diff --git a/icons/obj/food/burgerbread.dmi b/icons/obj/food/burgerbread.dmi index 7ef3a7d418..c5bf88ab6e 100644 Binary files a/icons/obj/food/burgerbread.dmi and b/icons/obj/food/burgerbread.dmi differ diff --git a/icons/obj/food/containers.dmi b/icons/obj/food/containers.dmi index 5e1332ffd9..e8bd4790dc 100644 Binary files a/icons/obj/food/containers.dmi and b/icons/obj/food/containers.dmi differ diff --git a/icons/obj/food/donut.dmi b/icons/obj/food/donut.dmi index 534e0e37bc..2c418b8e98 100644 Binary files a/icons/obj/food/donut.dmi and b/icons/obj/food/donut.dmi differ diff --git a/icons/obj/food/food.dmi b/icons/obj/food/food.dmi index 078cadfd60..9ccfb9e7f8 100644 Binary files a/icons/obj/food/food.dmi and b/icons/obj/food/food.dmi differ diff --git a/icons/obj/items_and_weapons.dmi b/icons/obj/items_and_weapons.dmi index 9b73fa706b..119e612c40 100644 Binary files a/icons/obj/items_and_weapons.dmi and b/icons/obj/items_and_weapons.dmi differ diff --git a/icons/obj/kitchen.dmi b/icons/obj/kitchen.dmi index 8cdff2214b..31312ac9a1 100644 Binary files a/icons/obj/kitchen.dmi and b/icons/obj/kitchen.dmi differ diff --git a/icons/obj/library.dmi b/icons/obj/library.dmi index 6e14c4c6ca..7e3b8058b8 100644 Binary files a/icons/obj/library.dmi and b/icons/obj/library.dmi differ diff --git a/icons/obj/magic.dmi b/icons/obj/magic.dmi index c376dc7321..6555373ae1 100644 Binary files a/icons/obj/magic.dmi and b/icons/obj/magic.dmi differ diff --git a/icons/obj/objects.dmi b/icons/obj/objects.dmi index f14f77585b..b9c891ddb9 100644 Binary files a/icons/obj/objects.dmi and b/icons/obj/objects.dmi differ diff --git a/icons/obj/smith.dmi b/icons/obj/smith.dmi index a40b9a2b19..cbd6b9e85e 100644 Binary files a/icons/obj/smith.dmi and b/icons/obj/smith.dmi differ diff --git a/icons/obj/stationobjs.dmi b/icons/obj/stationobjs.dmi index 16efcf262e..a4fbe53dba 100644 Binary files a/icons/obj/stationobjs.dmi and b/icons/obj/stationobjs.dmi differ diff --git a/icons/obj/status_display.dmi b/icons/obj/status_display.dmi index 68082395d0..6833e9ff24 100644 Binary files a/icons/obj/status_display.dmi and b/icons/obj/status_display.dmi differ diff --git a/icons/obj/storage.dmi b/icons/obj/storage.dmi index 1f1709a10c..b0e542f618 100644 Binary files a/icons/obj/storage.dmi and b/icons/obj/storage.dmi differ diff --git a/icons/obj/tools.dmi b/icons/obj/tools.dmi index 0a457777c2..8414c8b95c 100644 Binary files a/icons/obj/tools.dmi and b/icons/obj/tools.dmi differ diff --git a/icons/obj/vending.dmi b/icons/obj/vending.dmi index d8f5c1d334..c70fe9d44e 100644 Binary files a/icons/obj/vending.dmi and b/icons/obj/vending.dmi differ diff --git a/interface/stylesheet.dm b/interface/stylesheet.dm index 700449e86f..dea6da4254 100644 --- a/interface/stylesheet.dm +++ b/interface/stylesheet.dm @@ -64,7 +64,7 @@ em {font-style: normal; font-weight: bold;} .alert {color: #ff0000;} h1.alert, h2.alert {color: #000000;} -.emote { font-style: italic;} +.emote { } .selecteddna {color: #ffffff; background-color: #001B1B} .attack {color: #ff0000;} diff --git a/modular_citadel/code/datums/status_effects/chems.dm b/modular_citadel/code/datums/status_effects/chems.dm index 0e971d4ced..8f48e90068 100644 --- a/modular_citadel/code/datums/status_effects/chems.dm +++ b/modular_citadel/code/datums/status_effects/chems.dm @@ -32,82 +32,6 @@ //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -/datum/status_effect/chem/breast_enlarger - id = "breast_enlarger" - alert_type = null - var/moveCalc = 1 - var/cachedmoveCalc = 1 - var/last_checked_size //used to prevent potential cpu waste from happening every tick. - -/datum/status_effect/chem/breast_enlarger/on_apply()//Removes clothes, they're too small to contain you. You belong to space now. - log_reagent("FERMICHEM: [owner]'s breasts has reached comical sizes. ID: [owner.key]") - return ..() - -/datum/status_effect/chem/breast_enlarger/tick()//If you try to wear clothes, you fail. Slows you down if you're comically huge - var/mob/living/carbon/human/H = owner - var/obj/item/organ/genital/breasts/B = H.getorganslot(ORGAN_SLOT_BREASTS) - if(!B) - H.remove_status_effect(src) - return - moveCalc = 1+((round(B.cached_size) - 9)/3) //Afffects how fast you move, and how often you can click. - - if(last_checked_size != B.cached_size) - H.add_or_update_variable_movespeed_modifier(/datum/movespeed_modifier/status_effect/breast_hypertrophy, multiplicative_slowdown = moveCalc) - - if (B.size == "huge") - if(prob(1)) - to_chat(owner, "Your back is feeling sore.") - var/target = H.get_bodypart(BODY_ZONE_CHEST) - H.apply_damage(0.1, BRUTE, target) - else - if(prob(1)) - to_chat(H, "Your back is feeling a little sore.") - last_checked_size = B.cached_size - ..() - -/datum/status_effect/chem/breast_enlarger/on_remove() - log_reagent("FERMICHEM: [owner]'s breasts has reduced to an acceptable size. ID: [owner.key]") - to_chat(owner, "Your expansive chest has become a more managable size, liberating your movements.") - owner.remove_movespeed_modifier(/datum/movespeed_modifier/status_effect/breast_hypertrophy) - return ..() - -//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -/datum/status_effect/chem/penis_enlarger - id = "penis_enlarger" - alert_type = null - var/bloodCalc - var/moveCalc - var/last_checked_size //used to prevent potential cpu waste, just like the above. - -/datum/status_effect/chem/penis_enlarger/on_apply()//Removes clothes, they're too small to contain you. You belong to space now. - log_reagent("FERMICHEM: [owner]'s dick has reached comical sizes. ID: [owner.key]") - return ..() - - -/datum/status_effect/chem/penis_enlarger/tick() - var/mob/living/carbon/human/H = owner - var/obj/item/organ/genital/penis/P = H.getorganslot(ORGAN_SLOT_PENIS) - if(!P) - owner.remove_status_effect(src) - return - moveCalc = 1+((round(P.length) - 21)/3) //effects how fast you can move - bloodCalc = 1+((round(P.length) - 21)/15) //effects how much blood you need (I didn' bother adding an arousal check because I'm spending too much time on this organ already.) - if(P.length < 22 && H.has_movespeed_modifier(/datum/movespeed_modifier/status_effect/penis_hypertrophy)) - to_chat(owner, "Your rascally willy has become a more managable size, liberating your movements.") - H.remove_movespeed_modifier(/datum/movespeed_modifier/status_effect/penis_hypertrophy) - else if(P.length >= 22 && !H.has_movespeed_modifier(/datum/movespeed_modifier/status_effect/penis_hypertrophy)) - to_chat(H, "Your indulgent johnson is so substantial, it's taking all your blood and affecting your movements!") - H.add_or_update_variable_movespeed_modifier(/datum/movespeed_modifier/status_effect/penis_hypertrophy, multiplicative_slowdown = moveCalc) - H.AdjustBloodVol(bloodCalc) - ..() - -/datum/status_effect/chem/penis_enlarger/on_remove() - log_reagent("FERMICHEM: [owner]'s dick has reduced to an acceptable size. ID: [owner.key]") - owner.remove_movespeed_modifier(/datum/movespeed_modifier/status_effect/penis_hypertrophy) - owner.ResetBloodVol() - return ..() - /////////////////////////////////////////////// // Astral INSURANCE /////////////////////////////////////////////// diff --git a/modular_citadel/code/modules/admin/holder2.dm b/modular_citadel/code/modules/admin/holder2.dm index 143000a0d6..e4806781d9 100644 --- a/modular_citadel/code/modules/admin/holder2.dm +++ b/modular_citadel/code/modules/admin/holder2.dm @@ -10,4 +10,4 @@ if(owner) owner.remove_mentor_verbs() owner.mentor_datum = null - ..() \ No newline at end of file + ..() diff --git a/modular_citadel/code/modules/admin/secrets.dm b/modular_citadel/code/modules/admin/secrets.dm index 9fbc8501dd..56a6d316f8 100644 --- a/modular_citadel/code/modules/admin/secrets.dm +++ b/modular_citadel/code/modules/admin/secrets.dm @@ -5,4 +5,4 @@ if(!GLOB.mentorlog.len) dat += "No mentors have done anything this round!" - usr << browse(dat, "window=mentor_log") \ No newline at end of file + usr << browse(dat, "window=mentor_log") diff --git a/modular_citadel/code/modules/client/loadout/__donator.dm b/modular_citadel/code/modules/client/loadout/__donator.dm index 4a21fb41fd..d58dda7f7d 100644 --- a/modular_citadel/code/modules/client/loadout/__donator.dm +++ b/modular_citadel/code/modules/client/loadout/__donator.dm @@ -287,6 +287,8 @@ slot = SLOT_IN_BACKPACK path = /obj/item/clothing/neck/cloak/polychromic/polyce ckeywhitelist = list("worksbythesea", "blakeryan") + loadout_flags = LOADOUT_CAN_COLOR_POLYCHROMIC + loadout_initial_colors = list("#808080", "#8CC6FF", "#FF3535") /datum/gear/donator/ssk name = "Stun Sword Kit" diff --git a/modular_citadel/code/modules/client/loadout/_loadout.dm b/modular_citadel/code/modules/client/loadout/_loadout.dm index 0ebfa060f2..2a7b77bd47 100644 --- a/modular_citadel/code/modules/client/loadout/_loadout.dm +++ b/modular_citadel/code/modules/client/loadout/_loadout.dm @@ -53,6 +53,8 @@ GLOBAL_LIST_EMPTY(loadout_whitelist_ids) var/path //item-to-spawn path var/cost = 1 //normally, each loadout costs a single point. var/geargroupID //defines the ID that the gear inherits from the config + var/loadout_flags = 0 + var/list/loadout_initial_colors = list() //NEW DONATOR SYTSEM STUFF var/donoritem //autoset on new if null diff --git a/modular_citadel/code/modules/client/loadout/neck.dm b/modular_citadel/code/modules/client/loadout/neck.dm index c7eff6ce78..7c3c11f25c 100644 --- a/modular_citadel/code/modules/client/loadout/neck.dm +++ b/modular_citadel/code/modules/client/loadout/neck.dm @@ -86,7 +86,11 @@ /datum/gear/neck/polycloak name = "Polychromatic Cloak" path = /obj/item/clothing/neck/cloak/polychromic + loadout_flags = LOADOUT_CAN_COLOR_POLYCHROMIC + loadout_initial_colors = list("#FFFFFF", "#FFFFFF", "#808080") /datum/gear/neck/altpolycloak name = "Alternate Cloak" path = /obj/item/clothing/neck/cloak/alt/polychromic + loadout_flags = LOADOUT_CAN_COLOR_POLYCHROMIC + loadout_initial_colors = list("#FFFFFF", "#676767", "#4C4C4C") diff --git a/modular_citadel/code/modules/client/loadout/suit.dm b/modular_citadel/code/modules/client/loadout/suit.dm index d0be26a8a4..7c21ed84d0 100644 --- a/modular_citadel/code/modules/client/loadout/suit.dm +++ b/modular_citadel/code/modules/client/loadout/suit.dm @@ -101,6 +101,8 @@ name = "Polychromic winter coat" path = /obj/item/clothing/suit/hooded/wintercoat/polychromic cost = 4 //too many people with neon green coats is hard on the eyes + loadout_flags = LOADOUT_CAN_COLOR_POLYCHROMIC + loadout_initial_colors = list("#6A6964", "#C4B8A6", "#0000FF") /datum/gear/suit/coat/med name = "Medical winter coat" diff --git a/modular_citadel/code/modules/client/loadout/uniform.dm b/modular_citadel/code/modules/client/loadout/uniform.dm index 76389e2015..b76e223f25 100644 --- a/modular_citadel/code/modules/client/loadout/uniform.dm +++ b/modular_citadel/code/modules/client/loadout/uniform.dm @@ -47,6 +47,8 @@ /datum/gear/uniform/maidcostume/polychromic name = "Polychromic maid costume" path = /obj/item/clothing/under/rank/civilian/janitor/maid/polychromic + loadout_flags = LOADOUT_CAN_COLOR_POLYCHROMIC + loadout_initial_colors = list("#FFFFFF", "#000000") /datum/gear/uniform/mailmanuniform name = "Mailman's jumpsuit" @@ -227,36 +229,50 @@ name = "Polychromic Jumpsuit" path = /obj/item/clothing/under/misc/polyjumpsuit cost = 2 + loadout_flags = LOADOUT_CAN_COLOR_POLYCHROMIC + loadout_initial_colors = list("#FFFFFF", "#808080", "#353535") /datum/gear/uniform/skirt/poly name = "Polychromic Jumpskirt" path = /obj/item/clothing/under/dress/skirt/polychromic cost = 2 + loadout_flags = LOADOUT_CAN_COLOR_POLYCHROMIC + loadout_initial_colors = list("#FFFFFF", "#F08080", "#808080") /datum/gear/uniform/suit/poly name = "Polychromic Button-up Shirt" path = /obj/item/clothing/under/misc/poly_shirt cost = 3 + loadout_flags = LOADOUT_CAN_COLOR_POLYCHROMIC + loadout_initial_colors = list("#FFFFFF", "#353535", "#353535") /datum/gear/uniform/skirt/poly/pleated name = "Polychromic Pleated Sweaterskirt" path = /obj/item/clothing/under/dress/skirt/polychromic/pleated cost = 3 + loadout_flags = LOADOUT_CAN_COLOR_POLYCHROMIC + loadout_initial_colors = list("#8CC6FF", "#808080", "#FF3535") /datum/gear/uniform/polykilt name = "Polychromic Kilt" path = /obj/item/clothing/under/costume/kilt/polychromic cost = 3 + loadout_flags = LOADOUT_CAN_COLOR_POLYCHROMIC + loadout_initial_colors = list("#FFFFFF", "#F08080") /datum/gear/uniform/shorts/poly name = "Polychromic Shorts" path = /obj/item/clothing/under/misc/polyshorts cost = 3 + loadout_flags = LOADOUT_CAN_COLOR_POLYCHROMIC + loadout_initial_colors = list("#353535", "#808080", "#808080") /datum/gear/uniform/shorts/poly/athletic name = "Polychromic Athletic Shorts" path = /obj/item/clothing/under/shorts/polychromic cost = 2 + loadout_flags = LOADOUT_CAN_COLOR_POLYCHROMIC + loadout_initial_colors = list("#FFFFFF", "#F08080") /datum/gear/uniform/hopcasual name = "Casual Head of Personnel's uniform" diff --git a/modular_citadel/code/modules/client/loadout/unlockable.dm b/modular_citadel/code/modules/client/loadout/unlockable.dm new file mode 100644 index 0000000000..6e522812b8 --- /dev/null +++ b/modular_citadel/code/modules/client/loadout/unlockable.dm @@ -0,0 +1,30 @@ +/datum/gear/unlockable + category = LOADOUT_CATEGORY_UNLOCKABLE + slot = SLOT_NECK + + var/progress_required //what does our progress need to be to unlock it + var/progress_key //what is the key used to retrieve existing progress for this unlockable + +/datum/gear/unlockable/janitor + name = "Janitor Bedsheet" + description = "Clean 100 messes with a mop to unlock this. It has a warning sign on!" + path = /obj/item/bedsheet/unlockable/janitor + + progress_required = 100 + progress_key = "janitor" + +/datum/gear/unlockable/cook + name = "Cook Bedsheet" + description = "Cook 250 items using the microwave to unlock this. It has a microwave on!" + path = /obj/item/bedsheet/unlockable/cook + + progress_required = 250 + progress_key = "cook" + +/datum/gear/unlockable/miner + name = "Miner Bedsheet" + description = "Redeem a total of 100,000 miner points to unlock this. It's made out of goliath hide!" + path = /obj/item/bedsheet/unlockable/miner + + progress_required = 100000 + progress_key = "miner" \ No newline at end of file diff --git a/modular_citadel/code/modules/clothing/suits/suits.dm b/modular_citadel/code/modules/clothing/suits/suits.dm index 25b0c120e5..579476db04 100644 --- a/modular_citadel/code/modules/clothing/suits/suits.dm +++ b/modular_citadel/code/modules/clothing/suits/suits.dm @@ -11,7 +11,7 @@ mob_overlay_icon = 'modular_citadel/icons/mob/citadel/suit.dmi' icon_state = "hostrench" item_state = "hostrench" - mutantrace_variation = NONE + mutantrace_variation = STYLE_DIGITIGRADE body_parts_covered = CHEST|ARMS|LEGS /obj/item/clothing/suit/hooded/cloak/david @@ -20,7 +20,7 @@ desc = "Ever wanted to look like a badass without ANY effort? Try this nanotrasen brand red cloak, perfect for kids" hoodtype = /obj/item/clothing/head/hooded/cloakhood/david body_parts_covered = CHEST|GROIN|ARMS - mutantrace_variation = NONE + mutantrace_variation = STYLE_DIGITIGRADE /obj/item/clothing/head/hooded/cloakhood/david name = "red cloak hood" diff --git a/modular_citadel/code/modules/mob/living/carbon/reindex_screams.dm b/modular_citadel/code/modules/mob/living/carbon/reindex_screams.dm index 7f5d625f62..a2083a28ee 100644 --- a/modular_citadel/code/modules/mob/living/carbon/reindex_screams.dm +++ b/modular_citadel/code/modules/mob/living/carbon/reindex_screams.dm @@ -42,4 +42,4 @@ /mob/living/proc/clear_screams() LAZYINITLIST(alternate_screams) - LAZYCLEARLIST(alternate_screams) \ No newline at end of file + LAZYCLEARLIST(alternate_screams) diff --git a/modular_citadel/code/modules/projectiles/boxes_magazines/external/smg/smg.dm b/modular_citadel/code/modules/projectiles/boxes_magazines/external/smg/smg.dm index fb385234bd..1633c3690f 100644 --- a/modular_citadel/code/modules/projectiles/boxes_magazines/external/smg/smg.dm +++ b/modular_citadel/code/modules/projectiles/boxes_magazines/external/smg/smg.dm @@ -1,3 +1,3 @@ /obj/item/ammo_box/magazine/wt550m9/wttx name = "wt550 magazine (Toxin Tipped 4.6x30mm)" - ammo_type = /obj/item/ammo_casing/c46x30mm/tx \ No newline at end of file + ammo_type = /obj/item/ammo_casing/c46x30mm/tx diff --git a/modular_citadel/code/modules/projectiles/bullets/bullets/smg.dm b/modular_citadel/code/modules/projectiles/bullets/bullets/smg.dm index 75151417d7..3618052704 100644 --- a/modular_citadel/code/modules/projectiles/bullets/bullets/smg.dm +++ b/modular_citadel/code/modules/projectiles/bullets/bullets/smg.dm @@ -1,4 +1,4 @@ /obj/item/projectile/bullet/c46x30mm_tx name = "toxin tipped 4.6x30mm bullet" damage = 10 - damage_type = TOX \ No newline at end of file + damage_type = TOX diff --git a/modular_citadel/code/modules/projectiles/guns/ballistic/spinfusor.dm b/modular_citadel/code/modules/projectiles/guns/ballistic/spinfusor.dm index c4cf8fc00f..cf37674278 100644 --- a/modular_citadel/code/modules/projectiles/guns/ballistic/spinfusor.dm +++ b/modular_citadel/code/modules/projectiles/guns/ballistic/spinfusor.dm @@ -64,4 +64,4 @@ icon_state = "spinfusorbox" ammo_type = /obj/item/ammo_casing/caseless/spinfusor w_class = WEIGHT_CLASS_NORMAL - max_ammo = 4 \ No newline at end of file + max_ammo = 4 diff --git a/modular_citadel/code/modules/reagents/chemistry/reagents/enlargement.dm b/modular_citadel/code/modules/reagents/chemistry/reagents/enlargement.dm index 7403de6215..ac3ef96505 100644 --- a/modular_citadel/code/modules/reagents/chemistry/reagents/enlargement.dm +++ b/modular_citadel/code/modules/reagents/chemistry/reagents/enlargement.dm @@ -232,7 +232,8 @@ P.Insert(H) P.modify_size(0.1) - if (ISINRANGE_EX(P.length, 20.5, 21) && (H.w_uniform || H.wear_suit)) + var/max_D = CONFIG_GET(number/penis_max_inches_prefs) + if (ISINRANGE_EX(P.length, max_D + 0.5, max_D + 1) && (H.w_uniform || H.wear_suit)) var/target = H.get_bodypart(BODY_ZONE_CHEST) if(!message_spam) to_chat(H, "Your cock begin to strain against your clothes tightly!") diff --git a/modular_citadel/code/modules/reagents/chemistry/reagents/fermi_reagents.dm b/modular_citadel/code/modules/reagents/chemistry/reagents/fermi_reagents.dm index 3ad24ba399..1801986ebe 100644 --- a/modular_citadel/code/modules/reagents/chemistry/reagents/fermi_reagents.dm +++ b/modular_citadel/code/modules/reagents/chemistry/reagents/fermi_reagents.dm @@ -210,7 +210,9 @@ var/datum/component/nanites/N = C.GetComponent(/datum/component/nanites) if(isnull(N)) return ..() - N.nanite_volume += -cached_purity*5//0.5 seems to be the default to me, so it'll neuter them. + if(HAS_TRAIT(C, TRAIT_ROBOTIC_ORGANISM)) + C.adjustToxLoss(1, toxins_type = TOX_SYSCORRUPT) //Interferes with robots. Rare chem, so, pretty good at that too. + N.adjust_nanites(-cached_purity*5) //0.5 seems to be the default to me, so it'll neuter them. ..() /datum/reagent/fermi/nanite_b_gone/overdose_process(mob/living/carbon/C) @@ -225,7 +227,7 @@ to_chat(C, "You feel a strange tingling sensation come from your core.") if(isnull(N)) return ..() - N.nanite_volume += -10*cached_purity + N.adjust_nanites(-10*cached_purity) ..() datum/reagent/fermi/nanite_b_gone/reaction_obj(obj/O, reac_volume) diff --git a/modular_citadel/code/modules/reagents/chemistry/recipes/fermi.dm b/modular_citadel/code/modules/reagents/chemistry/recipes/fermi.dm index f4b8850f55..21f525088c 100644 --- a/modular_citadel/code/modules/reagents/chemistry/recipes/fermi.dm +++ b/modular_citadel/code/modules/reagents/chemistry/recipes/fermi.dm @@ -591,21 +591,20 @@ /datum/chemical_reaction/fermi/zeolites name = "Zeolites" id = /datum/reagent/fermi/zeolites - results = list(/datum/reagent/fermi/zeolites = 5) //We make a lot! - But it's now somewhat dangerous, and needs a bit of uranium to catalyze the reaction + results = list(/datum/reagent/fermi/zeolites = 5) //We make a lot! - But it's now somewhat dangerous, and needs a bit of gold to catalyze the reaction required_reagents = list(/datum/reagent/medicine/potass_iodide = 1, /datum/reagent/aluminium = 1, /datum/reagent/silicon = 1, /datum/reagent/oxygen = 1) - required_catalysts = list(/datum/reagent/uranium = 5) //FermiChem vars: OptimalTempMin = 500 OptimalTempMax = 750 ExplodeTemp = 850 - OptimalpHMin = 2.8 - OptimalpHMax = 5 //2.2 ph levels of optimal ph zone - centered at 3.9 - ph of ingredients mixed at equal values is 9.55; ph of result is 8. - ReactpHLim = 4 + OptimalpHMin = 4.8 + OptimalpHMax = 7 + ReactpHLim = 5 //CatalystFact = 0 CurveSharpT = 1.5 CurveSharppH = 3 - ThermicConstant = 7 + ThermicConstant = 1 HIonRelease = -0.15 RateUpLim = 4 - PurityMin = 0.5 //Good luck. + PurityMin = 0.5 //Good luck! FermiChem = TRUE diff --git a/modular_citadel/icons/mob/mam_snouts.dmi b/modular_citadel/icons/mob/mam_snouts.dmi index 4f6682f789..e838e97f68 100644 Binary files a/modular_citadel/icons/mob/mam_snouts.dmi and b/modular_citadel/icons/mob/mam_snouts.dmi differ diff --git a/sound/effects/ding.ogg b/sound/effects/ding.ogg new file mode 100644 index 0000000000..33516f793f Binary files /dev/null and b/sound/effects/ding.ogg differ diff --git a/sound/magic/powerdown.ogg b/sound/magic/powerdown.ogg new file mode 100644 index 0000000000..9d514c64ca Binary files /dev/null and b/sound/magic/powerdown.ogg differ diff --git a/sound/magic/powerup.ogg b/sound/magic/powerup.ogg new file mode 100644 index 0000000000..909c2a33c7 Binary files /dev/null and b/sound/magic/powerup.ogg differ diff --git a/sound/voice/catpeople/license.txt b/sound/voice/catpeople/license.txt index 7218480ddb..d0e8cad0c6 100644 --- a/sound/voice/catpeople/license.txt +++ b/sound/voice/catpeople/license.txt @@ -1,2 +1,2 @@ -distressed_cat.ogg from Cat annoyed meow / wail by jbierfeldt at https://freesound.org/people/jbierfeldt/sounds/440735/, chopped up and ogged +distressed_cat.ogg from Cat annoyed meow / wail by jbierfeldt at https://freesound.org/people/jbierfeldt/sounds/440735/, chopped up and ogged cat_puking.ogg from catpuking mp3 by NoiseCollector and Mocha the cat at https://freesound.org/people/NoiseCollector/sounds/80778/, chopped up, volume altered and ogged \ No newline at end of file diff --git a/strings/admin_nicknames.txt b/strings/admin_nicknames.txt deleted file mode 100644 index 76198b6c05..0000000000 --- a/strings/admin_nicknames.txt +++ /dev/null @@ -1,2 +0,0 @@ -Badmin -Spanmin \ No newline at end of file diff --git a/strings/names/adjectives.txt b/strings/names/adjectives.txt index fe9b28d431..bca89bc5a2 100644 --- a/strings/names/adjectives.txt +++ b/strings/names/adjectives.txt @@ -1,375 +1,375 @@ -abundant -adorable -adventurous -aggressive -agreeable -alert -alive -amused -ancient -angry -annoyed -annoying -anxious -arrogant -ashamed -attractive -average -awful -bad -beautiful -better -bewildered -big -bitter -black -bloody -blue -blue-eyed -blushing -boiling -bored -brainy -brave -breakable -breezy -brief -bright -broad -broken -bumpy -busy -calm -careful -cautious -charming -cheerful -chilly -chubby -clean -clear -clever -cloudy -clumsy -cold -colorful -colossal -combative -comfortable -concerned -condemned -confused -cooing -cool -cooperative -courageous -crazy -crazy flipped-out -creepy -crooked -crowded -cruel -cuddly -curious -curly -curved -cute -damaged -damp -dangerous -dark -dead -deafening -deep -defeated -defiant -delicious -delightful -depressed -determined -different -difficult -dirty -disgusted -distinct -disturbed -dizzy -doubtful -drab -dry -dull -dusty -eager -early -easy -elated -elegant -embarrassed -empty -enchanting -encouraging -energetic -enthusiastic -envious -evil -excited -expensive -exuberant -faint -fair -faithful -famous -fancy -fantastic -fast -fat -few -fierce -filthy -fine -flaky -flat -fluffy -fluttering -foolish -fragile -frail -frantic -freezing -fresh -friendly -frightened -funny -fuzzy -gentle -gifted -gigantic -glamorous -gleaming -glorious -good -gorgeous -graceful -greasy -great -grieving -grotesque -grubby -grumpy -handsome -happy -hard -harsh -healthy -heavy -helpful -helpless -high -high-pitched -hilarious -hissing -hollow -homeless -homely -horrible -hot -huge -hungry -hurt -hushed -husky -icy -ill -immense -important -impossible -inexpensive -innocent -inquisitive -itchy -jealous -jittery -jolly -joyous -juicy -kind -large -late -lazy -light -little -lively -lonely -long -loose -loud -lovely -low -lucky -magnificent -mammoth -many -massive -melodic -melted -miniature -misty -moaning -modern -motionless -muddy -mushy -mute -mysterious -narrow -nasty -naughty -nervous -nice -noisy -numerous -nutritious -nutty -obedient -obnoxious -odd -old -old-fashioned -open -outrageous -outstanding -panicky -perfect -petite -plain -plastic -pleasant -poised -poor -powerful -precious -prickly -proud -puny -purring -puzzled -quaint -quick -quiet -rainy -rapid -raspy -real -relieved -repulsive -resonant -rich -ripe -rotten -rough -round -salty -scary -scattered -scrawny -screeching -selfish -shaggy -shaky -shallow -sharp -shiny -shivering -short -shrill -shy -silent -silky -silly -skinny -sleepy -slimy -slippery -slow -small -smiling -smoggy -smooth -soft -solid -sore -sour -sparkling -spicy -splendid -spotless -square -squealing -stale -steady -steep -sticky -stormy -straight -strange -strong -stupid -substantial -successful -super -sweet -swift -talented -tall -tame -tart -Taste/Touch -tasteless -tasty -teeny -teeny-tiny -tender -tense -terrible -testy -thankful -thirsty -thoughtful -thoughtless -thundering -tight -tiny -tired -tough -troubled -ugliest -ugly -uneven -uninterested -unsightly -unusual -upset -uptight -vast -victorious -vivacious -voiceless -wandering -warm -weak -weary -wet -whispering -wicked -wide -wide-eyed -wild -witty -wonderful -wooden -worried -wrong -young -yummy -zany +abundant +adorable +adventurous +aggressive +agreeable +alert +alive +amused +ancient +angry +annoyed +annoying +anxious +arrogant +ashamed +attractive +average +awful +bad +beautiful +better +bewildered +big +bitter +black +bloody +blue +blue-eyed +blushing +boiling +bored +brainy +brave +breakable +breezy +brief +bright +broad +broken +bumpy +busy +calm +careful +cautious +charming +cheerful +chilly +chubby +clean +clear +clever +cloudy +clumsy +cold +colorful +colossal +combative +comfortable +concerned +condemned +confused +cooing +cool +cooperative +courageous +crazy +crazy flipped-out +creepy +crooked +crowded +cruel +cuddly +curious +curly +curved +cute +damaged +damp +dangerous +dark +dead +deafening +deep +defeated +defiant +delicious +delightful +depressed +determined +different +difficult +dirty +disgusted +distinct +disturbed +dizzy +doubtful +drab +dry +dull +dusty +eager +early +easy +elated +elegant +embarrassed +empty +enchanting +encouraging +energetic +enthusiastic +envious +evil +excited +expensive +exuberant +faint +fair +faithful +famous +fancy +fantastic +fast +fat +few +fierce +filthy +fine +flaky +flat +fluffy +fluttering +foolish +fragile +frail +frantic +freezing +fresh +friendly +frightened +funny +fuzzy +gentle +gifted +gigantic +glamorous +gleaming +glorious +good +gorgeous +graceful +greasy +great +grieving +grotesque +grubby +grumpy +handsome +happy +hard +harsh +healthy +heavy +helpful +helpless +high +high-pitched +hilarious +hissing +hollow +homeless +homely +horrible +hot +huge +hungry +hurt +hushed +husky +icy +ill +immense +important +impossible +inexpensive +innocent +inquisitive +itchy +jealous +jittery +jolly +joyous +juicy +kind +large +late +lazy +light +little +lively +lonely +long +loose +loud +lovely +low +lucky +magnificent +mammoth +many +massive +melodic +melted +miniature +misty +moaning +modern +motionless +muddy +mushy +mute +mysterious +narrow +nasty +naughty +nervous +nice +noisy +numerous +nutritious +nutty +obedient +obnoxious +odd +old +old-fashioned +open +outrageous +outstanding +panicky +perfect +petite +plain +plastic +pleasant +poised +poor +powerful +precious +prickly +proud +puny +purring +puzzled +quaint +quick +quiet +rainy +rapid +raspy +real +relieved +repulsive +resonant +rich +ripe +rotten +rough +round +salty +scary +scattered +scrawny +screeching +selfish +shaggy +shaky +shallow +sharp +shiny +shivering +short +shrill +shy +silent +silky +silly +skinny +sleepy +slimy +slippery +slow +small +smiling +smoggy +smooth +soft +solid +sore +sour +sparkling +spicy +splendid +spotless +square +squealing +stale +steady +steep +sticky +stormy +straight +strange +strong +stupid +substantial +successful +super +sweet +swift +talented +tall +tame +tart +Taste/Touch +tasteless +tasty +teeny +teeny-tiny +tender +tense +terrible +testy +thankful +thirsty +thoughtful +thoughtless +thundering +tight +tiny +tired +tough +troubled +ugliest +ugly +uneven +uninterested +unsightly +unusual +upset +uptight +vast +victorious +vivacious +voiceless +wandering +warm +weak +weary +wet +whispering +wicked +wide +wide-eyed +wild +witty +wonderful +wooden +worried +wrong +young +yummy +zany zealous \ No newline at end of file diff --git a/strings/names/ai.txt b/strings/names/ai.txt index 2ea5e18fc0..4104337d2c 100644 --- a/strings/names/ai.txt +++ b/strings/names/ai.txt @@ -1,146 +1,146 @@ -1-Rover-1 -16-20 -7-Zark-7 -790 -Adaptive Manipulator -Allied Mastercomputer -Alpha 5 -Alpha 6 -Alpha 7 -AM -AMEE -AmigoBot -Android -Aniel -Asimov -ASTAR -Astor -B O B -B-4 -B-9 -B166ER -Bender -Bishop -Blitz -Box -Brackenridge -C-3PO -Cassandra One -Cell -Chii -Chip -Computer -Conky 2000 -Cutie -Data -Decimus -Dee Model -Deep Thought -Dor-15 -Dorfl -Dot Matrix -Duey -E D I -E-Man -ED-209 -Emma-2 -Erasmus -Ez-27 -Fagor -Faith -Fi -FRIEND COMPUTER -Frost -Fum -Futura -G2 -George -Gnut -Gort -H A R L I E -H E L P eR -H E R B I E -Hadaly -HAL 9000 -Huey -Irona -Ironhide -Jay-Dub -Jinx -Johnny 5 -K-9 -KITT -Klapaucius -Kryten 2X4B-523P -L-76 -L-Ron -Louie -LUH 3417 -Maria -MARK13 -Marvin -Master Control Program -Max 404 -Maximillian -Mechagodzilla -Mechani-Kong -Megatron -Metalhead -Mr R I N G -Mugsy3000 -NCH -Necron-99 -Norby -OMM 0910 -Optimus -Orange v 3 5 -Project 2501 -PTO -R I C 2 0 -R2-D2 -R4-P17 -Revelation -Ro-Man -Robbie -Robot Devil -S A M -S H O C K -S H R O U D -S O P H I E -SEN 5241 -Setaur -SHODAN -Shrike -SID 6 7 -Solo -Soundwave -Speedy -Super 17 -Surgeon General Kraken -T-1000 -T-800 -T-850 -Terminus -THX 1138 -Tidy -Tik-Tok -Tobor -Trurl -TWA -ULTRABOT -Ulysses -Uniblab -V I N CENT -Voltes V -W1k1 -Wikipedia -Windows 3 1 -X-5 -XERXES -XR -Yod -Z-1 -Z-2 -Z-3 -Zed +1-Rover-1 +16-20 +7-Zark-7 +790 +Adaptive Manipulator +Allied Mastercomputer +Alpha 5 +Alpha 6 +Alpha 7 +AM +AMEE +AmigoBot +Android +Aniel +Asimov +ASTAR +Astor +B O B +B-4 +B-9 +B166ER +Bender +Bishop +Blitz +Box +Brackenridge +C-3PO +Cassandra One +Cell +Chii +Chip +Computer +Conky 2000 +Cutie +Data +Decimus +Dee Model +Deep Thought +Dor-15 +Dorfl +Dot Matrix +Duey +E D I +E-Man +ED-209 +Emma-2 +Erasmus +Ez-27 +Fagor +Faith +Fi +FRIEND COMPUTER +Frost +Fum +Futura +G2 +George +Gnut +Gort +H A R L I E +H E L P eR +H E R B I E +Hadaly +HAL 9000 +Huey +Irona +Ironhide +Jay-Dub +Jinx +Johnny 5 +K-9 +KITT +Klapaucius +Kryten 2X4B-523P +L-76 +L-Ron +Louie +LUH 3417 +Maria +MARK13 +Marvin +Master Control Program +Max 404 +Maximillian +Mechagodzilla +Mechani-Kong +Megatron +Metalhead +Mr R I N G +Mugsy3000 +NCH +Necron-99 +Norby +OMM 0910 +Optimus +Orange v 3 5 +Project 2501 +PTO +R I C 2 0 +R2-D2 +R4-P17 +Revelation +Ro-Man +Robbie +Robot Devil +S A M +S H O C K +S H R O U D +S O P H I E +SEN 5241 +Setaur +SHODAN +Shrike +SID 6 7 +Solo +Soundwave +Speedy +Super 17 +Surgeon General Kraken +T-1000 +T-800 +T-850 +Terminus +THX 1138 +Tidy +Tik-Tok +Tobor +Trurl +TWA +ULTRABOT +Ulysses +Uniblab +V I N CENT +Voltes V +W1k1 +Wikipedia +Windows 3 1 +X-5 +XERXES +XR +Yod +Z-1 +Z-2 +Z-3 +Zed Zord \ No newline at end of file diff --git a/strings/names/carp.txt b/strings/names/carp.txt index 4b10aa65f7..223106992b 100644 --- a/strings/names/carp.txt +++ b/strings/names/carp.txt @@ -1,30 +1,30 @@ -Lungfish -Blackfish -Alligator -Icefish -Armorhead -Hammerhead -Anaconda -Flathead -Manta Ray -Sting Ray -Fangtooth Moray -Goblin Shark -Grass Carp -Round River Bat Ray -Noodlefish -Hagfish -Man o’ War -Ladyfish -Black Eel -Baby Seal -Sprat -Koi -Electric Eel -Lamprey -Pejeray -Yellow-edged Moray -Salmon Shark -Sleeper Shark -Featherback -Eagle Ray +Lungfish +Blackfish +Alligator +Icefish +Armorhead +Hammerhead +Anaconda +Flathead +Manta Ray +Sting Ray +Fangtooth Moray +Goblin Shark +Grass Carp +Round River Bat Ray +Noodlefish +Hagfish +Man o’ War +Ladyfish +Black Eel +Baby Seal +Sprat +Koi +Electric Eel +Lamprey +Pejeray +Yellow-edged Moray +Salmon Shark +Sleeper Shark +Featherback +Eagle Ray diff --git a/strings/names/clown.txt b/strings/names/clown.txt index d8655d7cbf..3b4b4dcb75 100644 --- a/strings/names/clown.txt +++ b/strings/names/clown.txt @@ -1,62 +1,62 @@ -Alfie -Antsy -Baby Cakes -Bam Bam -Beebee -Bo Bo Sassy -Bonker -Bonbon -Bubble -Buster Frown -Buttercup -Button -Candy -Checkers -Clarabell -Clownsky -Clueless -Cluesky -Dazzle -Dinky Doodle -Doodles -Duckie -Flop O'Honker -Freckle -Giggles -Gigglesworth -Goose McSunny -Honkel the III -Honker -Honkerbelle -Knicknack -Jazzy Bella -Jingle -Joy -Jo Jo Bobo Bo -Ladybug Honks -Lala -Miss Stockings -Mittens -Mr Shoe -Patches -Pancake -Pepinpop -Pocket -Razzle Dazzle -Redshirt McBeat -Ronnie Pace -Scootaloo -Silly Willy -Skiddle -Slippy Joe -Sparkle -Speckles -Sprinkledinkle -Squigley -Tickle -Topcake -Toodles Sharperton -Trixy -Witty -Ziggy Yoyo -Zippy +Alfie +Antsy +Baby Cakes +Bam Bam +Beebee +Bo Bo Sassy +Bonker +Bonbon +Bubble +Buster Frown +Buttercup +Button +Candy +Checkers +Clarabell +Clownsky +Clueless +Cluesky +Dazzle +Dinky Doodle +Doodles +Duckie +Flop O'Honker +Freckle +Giggles +Gigglesworth +Goose McSunny +Honkel the III +Honker +Honkerbelle +Knicknack +Jazzy Bella +Jingle +Joy +Jo Jo Bobo Bo +Ladybug Honks +Lala +Miss Stockings +Mittens +Mr Shoe +Patches +Pancake +Pepinpop +Pocket +Razzle Dazzle +Redshirt McBeat +Ronnie Pace +Scootaloo +Silly Willy +Skiddle +Slippy Joe +Sparkle +Speckles +Sprinkledinkle +Squigley +Tickle +Topcake +Toodles Sharperton +Trixy +Witty +Ziggy Yoyo +Zippy diff --git a/strings/names/death_commando.txt b/strings/names/death_commando.txt index e689727228..fa47fb2065 100644 --- a/strings/names/death_commando.txt +++ b/strings/names/death_commando.txt @@ -1,70 +1,70 @@ -A whole bunch of spiders in a SWAT suit -Al "Otta" Gore -AMERICA -Beat Punchbeef -Blast Hardcheese -Blast Thickneck -Bob Johnson -Bold Bigflank -Bolt Vanderhuge -Brick Hardmeat -Buck Plankchest -Buff Drinklots -Buff Hardback -Butch Deadlift -Crud Bonemeal -Crunch Buttsteak -Crush McStompbones -Dirk Hardpeck -Duke Killington -Evil Bob Marley -Evil Martin Luther King -Fist Rockbone -Flint Ironstag -Fridge Largemeat -George Melons -Gibbs McLargehuge -GORE Vidal -Gristle McThornBody -Hank Chesthair -Hans Testosteroneson -Killiam Shakespeare -Killing McKillingalot -Lance Killiam -Leonardo Da Viking -Lump Beefrock -Mancrush McBrorape -Max Pain -Maximilian Murderface -Maxx Power -Noam Bombsky -Pack Blowfist -Punch Rockgroin -Punch Sideiron -Punt Speedchunk -Reef Blastbody -Rex Dudekiller VII -Rip Sidecheek -Rip Steakface -Roll Fizzlebeef -Sarah Pain -Seamus McTosterone -Sgt Slaughter -Sir Killaslot -Slab Bulkhead -Slab Squatthrust -Slake Fistcrunch -Slate Slabrock -Smash Lampjaw -Smoke Manmuscle -Splint Chesthair -Stabby McGee -Stump Beefgnaw -Stump Chunkman -THAT DAMN TRAITOR GEORGE MELONS -Theodore Pain -Thick McRunfast -Toolboxl Rose -Touch Rustrod -Trunk Slamchest -Zombie Gandhi +A whole bunch of spiders in a SWAT suit +Al "Otta" Gore +AMERICA +Beat Punchbeef +Blast Hardcheese +Blast Thickneck +Bob Johnson +Bold Bigflank +Bolt Vanderhuge +Brick Hardmeat +Buck Plankchest +Buff Drinklots +Buff Hardback +Butch Deadlift +Crud Bonemeal +Crunch Buttsteak +Crush McStompbones +Dirk Hardpeck +Duke Killington +Evil Bob Marley +Evil Martin Luther King +Fist Rockbone +Flint Ironstag +Fridge Largemeat +George Melons +Gibbs McLargehuge +GORE Vidal +Gristle McThornBody +Hank Chesthair +Hans Testosteroneson +Killiam Shakespeare +Killing McKillingalot +Lance Killiam +Leonardo Da Viking +Lump Beefrock +Mancrush McBrorape +Max Pain +Maximilian Murderface +Maxx Power +Noam Bombsky +Pack Blowfist +Punch Rockgroin +Punch Sideiron +Punt Speedchunk +Reef Blastbody +Rex Dudekiller VII +Rip Sidecheek +Rip Steakface +Roll Fizzlebeef +Sarah Pain +Seamus McTosterone +Sgt Slaughter +Sir Killaslot +Slab Bulkhead +Slab Squatthrust +Slake Fistcrunch +Slate Slabrock +Smash Lampjaw +Smoke Manmuscle +Splint Chesthair +Stabby McGee +Stump Beefgnaw +Stump Chunkman +THAT DAMN TRAITOR GEORGE MELONS +Theodore Pain +Thick McRunfast +Toolboxl Rose +Touch Rustrod +Trunk Slamchest +Zombie Gandhi diff --git a/strings/names/first.txt b/strings/names/first.txt index cc99e59d84..3f9018adca 100644 --- a/strings/names/first.txt +++ b/strings/names/first.txt @@ -1,1396 +1,1396 @@ -Aaden -Aaliyah -Aaron -Abby -Abel -Abigail -Abraham -Adam -Adan -Addison -Addyson -Adeline -Aden -Adolph -Adrian -Adriana -Adrianna -Aida -Aidan -Aiden -Aileen -Ainsley -Alaina -Alan -Alana -Alanna -Alayna -Albert -Alberto -Alden -Alec -Alejandra -Alejandro -Alessandra -Alex -Alexa -Alexander -Alexandra -Alexandria -Alexia -Alexis -Alexus -Alfred -Alfreda -Alfredo -Alger -Ali -Alice -Alicia -Alijah -Alina -Alisa -Alison -Alissa -Alisya -Alivia -Aliyah -Allegra -Allegria -Allen -Allie -Allison -Allisson -Allyson -Alma -Alondra -Alvin -Alysha -Alyson -Alyssa -Alyssia -Amanda -Amari -Amaryllis -Amaya -Amber -Ambrosine -Amelia -Amir -Amira -Amiyah -Amos -Amy -Amya -Ana -Anahi -Anastasia -Anaya -Anderson -Andre -Andrea -Andres -Andrew -Andy -Angel -Angela -Angelica -Angelina -Angelo -Angie -Aniya -Aniyah -Anjelica -Anna -Annabelle -Anne -Annie -Annika -Anthony -Antonio -Anya -April -Arabella -Archie -Ariana -Arianna -Ariel -Arielle -Arleen -Armando -Arn -Art -Arthur -Arturo -Asher -Ashley -Ashlie -Ashlyn -Ashlynn -Ashton -Asia -Astor -Athena -Aubree -Aubrey -Aubrie -Audrey -Audrina -August -Aurora -Austin -Autumn -Ava -Avalon -Averill -Avery -Axel -Ayden -Ayla -Bailey -Baldric -Barbra -Bartholomew -Baylee -Beau -Beckah -Beckett -Becky -Bella -Benjamin -Bennett -Bernice -Bertrand -Bethany -Bethney -Betsy -Bianca -Bidelia -Bill -Blake -Braden -Bradley -Brady -Braeden -Braiden -Brandon -Braxton -Brayan -Brayden -Braydon -Braylon -Breanna -Breanne -Brenda -Brendan -Brenden -Brenna -Brennan -Brett -Brian -Briana -Brianna -Bridget -Brielle -Brittani -Brittany -Brock -Brodie -Brody -Bronte -Brooke -Brooklyn -Brooklynn -Bruce -Bryan -Bryant -Bryce -Brycen -Brynn -Bryson -Burt -Byrne -Byron -Bysshe -Cade -Caden -Cadence -Caiden -Caitlin -Caitlyn -Calanthia -Caleb -Caleigh -Cali -Callie -Calvin -Camden -Cameron -Camila -Camille -Camron -Camryn -Candace -Candice -Candis -Canute -Cara -Carl -Carlos -Carly -Carlyle -Carmen -Carolina -Caroline -Carolyn -Carry -Carson -Carter -Caryl -Casey -Cash -Casimir -Cassandra -Cassian -Cassidy -Catherine -Cayden -Cecilia -Cecily -Celeste -Cesar -Chad -Chance -Chandler -Charles -Charlie -Charlotte -Charlton -Chase -Chelsea -Cherette -Cheri -Cherry -Cheyanne -Cheyenne -Chip -Chloe -Chris -Christa -Christian -Christiana -Christina -Christobel -Christopher -Ciara -Cindy -Claire -Clara -Claribel -Clark -Claudia -Claudius -Clayton -Clement -Cleveland -Cliff -Clinton -Clitus -Clover -Cody -Cohen -Colby -Cole -Colin -Collin -Colten -Colton -Conner -Connor -Cooper -Cora -Corbin -Coreen -Corey -Corrine -Cory -Courtney -Cristian -Cristopher -Cruz -Crystal -Curtis -Cy -Cynthia -Daisy -Dakota -Dallas -Dalton -Dalya -Damian -Damien -Damon -Dana -Dane -Danica -Daniel -Daniela -Daniella -Danielle -Danika -Danna -Danny -Dante -Darcey -Darell -Daria -Darin -Darius -Darren -David -Davion -Davis -Dawson -Dayana -Dayna -Dayton -Dean -Deandre -Deangelo -Debbi -Declan -Dee -Deena -Delaney -Delilah -Della -Delma -Denholm -Denise -Dennis -Denys -Derek -Derrick -Desiree -Desmond -Destiny -Devin -Devon -Diamond -Diana -Diego -Dillon -Dina -Dolores -Dominic -Dominick -Donald -Donella -Donna -Donny -Donovan -Dorian -Dorothy -Dortha -Douglas -Drake -Drew -Driscoll -Dulce -Duncan -Dustin -Dylan -Easter -Easton -Ebba -Eddie -Eden -Edgar -Eduardo -Edward -Edwin -Effie -Elaina -Eleanor -Elena -Eli -Eliana -Elias -Elijah -Eliot -Eliott -Elise -Eliza -Elizabeth -Ella -Elle -Ellie -Elliot -Elliott -Elric -Elspet -Elwood -Emanuel -Emely -Emerson -Emery -Emilee -Emilia -Emiliano -Emilio -Emily -Emma -Emmanuel -Enrique -Eric -Erica -Erick -Erik -Erika -Erin -Ermintrude -Ernesto -Esmeralda -Esteban -Esther -Estrella -Ethan -Eugenia -Euphemia -Eustace -Eva -Evan -Evangeline -Eveleen -Evelina -Evelyn -Everett -Ezekiel -Ezra -Fabian -Faith -Fatima -Fay -Felix -Fernanda -Fernando -Finn -Fiona -Fitz -Flick -Floella -Flora -Flossie -Fortune -Francesca -Francis -Francisco -Frank -Frankie -Franklin -Fulton -Gabriel -Gabriela -Gabriella -Gabrielle -Gael -Gage -Garret -Garrett -Gary -Gavin -Gaye -Gaylord -Genesis -Genette -Genevieve -George -Georgene -Georgia -Geraldine -Gerardo -Gervase -Gianna -Gina -Ginger -Giovanni -Giselle -Gladwyn -Glenna -Gloria -Goddard -Godwin -Goodwin -Gordon -Grace -Gracie -Grady -Graeme -Graham -Grant -Gratian -Grayson -Gregory -Greta -Greyson -Griffin -Griselda -Guadalupe -Guillermo -Gunner -Gustavo -Gwenda -Gwenevere -Hadley -Haidee -Hailee -Hailey -Hal -Haleigh -Haley -Hanna -Hannah -Happy -Harley -Harmony -Harper -Harrison -Hartley -Hayden -Haylee -Hayley -Haylie -Hazel -Heather -Heaven -Hector -Hedley -Heidi -Helen -Henderson -Henry -Hepsie -Hervey -Holden -Holly -Homer -Hope -Horatio -Hortensia -Hudson -Huffie -Hugo -Hunter -Ian -Iantha -Ileen -Imani -Innocent -Irene -Iris -Irvine -Isaac -Isabel -Isabella -Isabelle -Isaiah -Isaias -Isiah -Ismael -Israel -Issac -Itzel -Ivan -Ivy -Izabella -Izaiah -Jacaline -Jace -Jack -Jackson -Jacob -Jacoby -Jacqueline -Jacquetta -Jacqui -Jada -Jade -Jaden -Jadon -Jadyn -Jaelyn -Jaiden -Jaime -Jake -Jakki -Jakob -Jalen -Jamar -Jamari -Jamarion -James -Jameson -Jamie -Jamison -Jane -Janel -Janelle -Janette -Janie -Janina -Janine -Janiya -Janiyah -Jared -Jaslene -Jasmin -Jasmine -Jason -Jasper -Javier -Javon -Jaxon -Jaxson -Jay -Jayce -Jayda -Jayden -Jaydon -Jaye -Jayla -Jaylee -Jaylen -Jayne -Jaynie -Jayson -Jazlyn -Jazmin -Jazmine -Jeanna -Jeannie -Jeannine -Jeb -Jed -Jeffrey -Jemmy -Jenifer -Jenna -Jennie -Jennifer -Jera -Jere -Jeremiah -Jeremy -Jeri -Jermaine -Jerrie -Jerry -Jesse -Jessica -Jesus -Jillian -Jillie -Jim -Jimena -Jimmy -Joachim -Joanna -Joaquin -Jocelyn -Joe -Joel -Joetta -Joey -Johan -Johanna -John -Johnathan -Johnny -Joi -Jonah -Jonas -Jonathan -Jonathon -Joni -Jordan -Jordyn -Jorge -Jose -Joselyn -Joseph -Josepha -Josephine -Josh -Joshua -Josiah -Josie -Josue -Joye -Juan -Judah -Jude -Julia -Julian -Juliana -Julianna -Julie -Juliet -Julio -Julissa -Julius -July -Justice -Justin -Kade -Kaden -Kadence -Kaelea -Kaelyn -Kai -Kaiden -Kailey -Kailyn -Kaitlin -Kaitlyn -Kale -Kaleb -Kaleigh -Kameron -Kamryn -Kane -Kara -Karen -Karenza -Karina -Karla -Karly -Karson -Karyn -Kassidy -Kat -Kate -Katelyn -Katelynn -Katherine -Kathleen -Kathryn -Kathy -Katie -Katlyn -Kayden -Kaydence -Kayla -Kaylee -Kayleigh -Kaylie -Kaylin -Keagan -Keaton -Keegan -Keira -Keith -Kellen -Kellie -Kelly -Kelsey -Kelvin -Kendall -Kendra -Kennard -Kennedy -Kenneth -Kenzie -Kerena -Kerensa -Keturah -Kevin -Keziah -Khalil -Khloe -Kiana -Kiara -Kiera -Kiley -Kimberley -Kimberly -Kimora -Kingston -Kira -Kobe -Kolton -Kristen -Kristina -Kristopher -Kyla -Kyle -Kylee -Kyleigh -Kyler -Kylie -Kyra -Lacey -Lacy -Laila -Lakeisha -Lalla -Lana -Lance -Landen -Landon -Landyn -Lane -Lanny -Larry -Latanya -Launce -Laura -Lauren -Laurencia -Laurissa -Lauryn -Lawrence -Layla -Leah -Leeann -Leia -Leila -Leilani -Leland -Lena -Lennox -Leo -Leonardo -Leonel -Leroi -Leslie -Lesly -Lessie -Leta -Levi -Lexi -Lexia -Lexus -Lia -Liam -Lila -Lilah -Lilian -Liliana -Lillian -Lilliana -Lillie -Lilly -Lily -Lincoln -Linden -Lindsay -Lindsey -Lindsie -Lindy -Linton -Lizbeth -Lockie -Logan -Lola -London -Lorenzo -Loreto -Lori -Lorin -Lou -Louis -Luanne -Luca -Lucas -Lucia -Lucian -Lucy -Luis -Lukas -Luke -Luna -Luvenia -Lydia -Lyla -Lyndsey -Lynn -Lynsey -Lynwood -Lyric -Mabelle -Macey -Macie -Mackenzie -Macy -Madalyn -Maddison -Maddox -Madeleine -Madeline -Madelyn -Madelynn -Madilyn -Madison -Madisyn -Madyson -Maegan -Maggie -Makayla -Makenna -Makenzie -Malachi -Malcolm -Malia -Malik -Mallory -Manley -Manuel -Marc -Marcia -Marco -Marcos -Marcus -Marely -Margaret -Maria -Mariabella -Mariah -Mariana -Marilene -Mario -Marion -Marisol -Marissa -Marje -Marjory -Mark -Marlee -Marley -Marlowe -Marlyn -Marshall -Martin -Marvin -Mary -Maryann -Mason -Mateo -Mathew -Matthew -Maudie -Maurene -Maurice -Mauricio -Max -Maximilian -Maximus -Maxwell -May -Maya -Maynard -Mckenna -Mckenzie -Megan -Meghan -Mekhi -Melanie -Melany -Melissa -Melody -Melvin -Melvyn -Meredith -Merideth -Merrilyn -Meryl -Mia -Micah -Michael -Michaela -Micheal -Michelle -Miguel -Mikayla -Mike -Miles -Miley -Milo -Milton -Minnie -Miracle -Miranda -Miriam -Mitchell -Moises -Molly -Monica -Monna -Montague -Monte -Monty -Morgan -Moses -Muriel -Mya -Mylee -Myles -Myriam -Myrtie -Nadia -Nan -Nancy -Naomi -Nasir -Natalia -Natalie -Nataly -Natasha -Nathan -Nathaniel -Nayeli -Nehemiah -Nelle -Nelson -Nena -Nerissa -Netta -Nettie -Nevaeh -Nia -Nicholas -Nickolas -Nicolas -Nicole -Nikolas -Nina -Noah -Noel -Noelle -Nolan -Nonie -Nora -Norah -Nova -Nowell -Nydia -Nyla -Olive -Oliver -Olivia -Omar -Oralie -Orlando -Osbert -Osborn -Osborne -Oscar -Osmund -Owen -Pablo -Paget -Paige -Paisley -Paola -Paris -Parker -Patience -Patricia -Patrick -Patton -Paul -Pauleen -Paxton -Payton -Pedro -Pene -Penelope -Percival -Peregrine -Perla -Peter -Peyton -Pheobe -Philip -Phillip -Phoebe -Phoenix -Phyliss -Phyllida -Phyllis -Piper -Porsche -Porter -Presley -Preston -Priscilla -Prosper -Prue -Quanah -Quentin -Quiana -Quinn -Quinton -Rachael -Rachel -Raegan -Raelene -Rafael -Rain -Ramon -Randa -Randal -Randy -Rastus -Raul -Raymond -Rayner -Reagan -Rebecca -Rebeckah -Rebekah -Reece -Reed -Reene -Reese -Reid -Renie -Reuben -Rexana -Reynard -Rhetta -Ricardo -Rich -Richard -Richie -Rick -Rickena -Rickey -Rickie -Ricky -Rihanna -Riley -River -Robert -Roberto -Rocco -Rodger -Rodrigo -Roger -Roman -Romayne -Romeo -Ronald -Ronnette -Rosa -Roscoe -Rose -Rosemary -Roswell -Rowan -Roy -Royce -Ruben -Ruby -Rubye -Russell -Rusty -Ruth -Ryan -Ryder -Ryker -Rylan -Rylee -Ryleigh -Rylie -Sabella -Sabrina -Sachie -Sadie -Sage -Sal -Sally -Salvador -Sam -Samantha -Samara -Samuel -Sandra -Santiago -Sara -Sarah -Sarai -Saranna -Sasha -Saul -Savanna -Savannah -Sawyer -Scarlett -Scott -Scotty -Sean -Sebastian -Selena -Seneca -Serena -Serenity -Sergio -Seth -Seymour -Shan -Shana -Shane -Shanika -Shannah -Shannon -Shantae -Sharalyn -Sharla -Shaun -Shawn -Shayla -Shelby -Sheri -Sherie -Sherill -Sherri -Shiloh -Sienna -Sierra -Silas -Simon -Sissy -Skylar -Skyler -Sloan -Sofia -Solomon -Sophia -Sophie -Sorrel -Spencer -Spike -Star -Stella -Steph -Stephanie -Stephany -Stephen -Steven -Sue -Sukie -Summer -Sunshine -Susanna -Susannah -Suzan -Suzy -Sybil -Syd -Sydney -Talia -Talon -Tamika -Tamsin -Tania -Tanner -Tansy -Taryn -Tate -Tatiana -Tatum -Tatyanna -Taylor -Teagan -Tel -Terrell -Terry -Tessa -Theodore -Thomas -Tiffany -Timothy -Titus -Tod -Tolly -Tony -Topaz -Tori -Tracee -Tracey -Travis -Trent -Trenton -Trevor -Trey -Trinity -Tristan -Tristen -Triston -Troy -Tucker -Ty -Tye -Tyler -Tyson -Uland -Ulric -Ulyssa -Uriel -Valary -Valentina -Valeria -Valerie -Vanessa -Vaughn -Verna -Veronica -Victor -Victoria -Vince -Vincent -Vinnie -Violet -Vivian -Viviana -Vivyan -Walker -Walter -Ward -Warner -Wayne -Wendi -Wendy -Wesley -Weston -Whitaker -William -Willow -Willy -Winifred -Wisdom -Woodrow -Woody -Wyatt -Wynonna -Wynter -Xander -Xavier -Ximena -Yahir -Yasmin -Yolanda -Ysabel -Zachariah -Zachary -Zack -Zackary -Zander -Zane -Zayden -Zeke -Zelda -Zion -Zoe -Zoey +Aaden +Aaliyah +Aaron +Abby +Abel +Abigail +Abraham +Adam +Adan +Addison +Addyson +Adeline +Aden +Adolph +Adrian +Adriana +Adrianna +Aida +Aidan +Aiden +Aileen +Ainsley +Alaina +Alan +Alana +Alanna +Alayna +Albert +Alberto +Alden +Alec +Alejandra +Alejandro +Alessandra +Alex +Alexa +Alexander +Alexandra +Alexandria +Alexia +Alexis +Alexus +Alfred +Alfreda +Alfredo +Alger +Ali +Alice +Alicia +Alijah +Alina +Alisa +Alison +Alissa +Alisya +Alivia +Aliyah +Allegra +Allegria +Allen +Allie +Allison +Allisson +Allyson +Alma +Alondra +Alvin +Alysha +Alyson +Alyssa +Alyssia +Amanda +Amari +Amaryllis +Amaya +Amber +Ambrosine +Amelia +Amir +Amira +Amiyah +Amos +Amy +Amya +Ana +Anahi +Anastasia +Anaya +Anderson +Andre +Andrea +Andres +Andrew +Andy +Angel +Angela +Angelica +Angelina +Angelo +Angie +Aniya +Aniyah +Anjelica +Anna +Annabelle +Anne +Annie +Annika +Anthony +Antonio +Anya +April +Arabella +Archie +Ariana +Arianna +Ariel +Arielle +Arleen +Armando +Arn +Art +Arthur +Arturo +Asher +Ashley +Ashlie +Ashlyn +Ashlynn +Ashton +Asia +Astor +Athena +Aubree +Aubrey +Aubrie +Audrey +Audrina +August +Aurora +Austin +Autumn +Ava +Avalon +Averill +Avery +Axel +Ayden +Ayla +Bailey +Baldric +Barbra +Bartholomew +Baylee +Beau +Beckah +Beckett +Becky +Bella +Benjamin +Bennett +Bernice +Bertrand +Bethany +Bethney +Betsy +Bianca +Bidelia +Bill +Blake +Braden +Bradley +Brady +Braeden +Braiden +Brandon +Braxton +Brayan +Brayden +Braydon +Braylon +Breanna +Breanne +Brenda +Brendan +Brenden +Brenna +Brennan +Brett +Brian +Briana +Brianna +Bridget +Brielle +Brittani +Brittany +Brock +Brodie +Brody +Bronte +Brooke +Brooklyn +Brooklynn +Bruce +Bryan +Bryant +Bryce +Brycen +Brynn +Bryson +Burt +Byrne +Byron +Bysshe +Cade +Caden +Cadence +Caiden +Caitlin +Caitlyn +Calanthia +Caleb +Caleigh +Cali +Callie +Calvin +Camden +Cameron +Camila +Camille +Camron +Camryn +Candace +Candice +Candis +Canute +Cara +Carl +Carlos +Carly +Carlyle +Carmen +Carolina +Caroline +Carolyn +Carry +Carson +Carter +Caryl +Casey +Cash +Casimir +Cassandra +Cassian +Cassidy +Catherine +Cayden +Cecilia +Cecily +Celeste +Cesar +Chad +Chance +Chandler +Charles +Charlie +Charlotte +Charlton +Chase +Chelsea +Cherette +Cheri +Cherry +Cheyanne +Cheyenne +Chip +Chloe +Chris +Christa +Christian +Christiana +Christina +Christobel +Christopher +Ciara +Cindy +Claire +Clara +Claribel +Clark +Claudia +Claudius +Clayton +Clement +Cleveland +Cliff +Clinton +Clitus +Clover +Cody +Cohen +Colby +Cole +Colin +Collin +Colten +Colton +Conner +Connor +Cooper +Cora +Corbin +Coreen +Corey +Corrine +Cory +Courtney +Cristian +Cristopher +Cruz +Crystal +Curtis +Cy +Cynthia +Daisy +Dakota +Dallas +Dalton +Dalya +Damian +Damien +Damon +Dana +Dane +Danica +Daniel +Daniela +Daniella +Danielle +Danika +Danna +Danny +Dante +Darcey +Darell +Daria +Darin +Darius +Darren +David +Davion +Davis +Dawson +Dayana +Dayna +Dayton +Dean +Deandre +Deangelo +Debbi +Declan +Dee +Deena +Delaney +Delilah +Della +Delma +Denholm +Denise +Dennis +Denys +Derek +Derrick +Desiree +Desmond +Destiny +Devin +Devon +Diamond +Diana +Diego +Dillon +Dina +Dolores +Dominic +Dominick +Donald +Donella +Donna +Donny +Donovan +Dorian +Dorothy +Dortha +Douglas +Drake +Drew +Driscoll +Dulce +Duncan +Dustin +Dylan +Easter +Easton +Ebba +Eddie +Eden +Edgar +Eduardo +Edward +Edwin +Effie +Elaina +Eleanor +Elena +Eli +Eliana +Elias +Elijah +Eliot +Eliott +Elise +Eliza +Elizabeth +Ella +Elle +Ellie +Elliot +Elliott +Elric +Elspet +Elwood +Emanuel +Emely +Emerson +Emery +Emilee +Emilia +Emiliano +Emilio +Emily +Emma +Emmanuel +Enrique +Eric +Erica +Erick +Erik +Erika +Erin +Ermintrude +Ernesto +Esmeralda +Esteban +Esther +Estrella +Ethan +Eugenia +Euphemia +Eustace +Eva +Evan +Evangeline +Eveleen +Evelina +Evelyn +Everett +Ezekiel +Ezra +Fabian +Faith +Fatima +Fay +Felix +Fernanda +Fernando +Finn +Fiona +Fitz +Flick +Floella +Flora +Flossie +Fortune +Francesca +Francis +Francisco +Frank +Frankie +Franklin +Fulton +Gabriel +Gabriela +Gabriella +Gabrielle +Gael +Gage +Garret +Garrett +Gary +Gavin +Gaye +Gaylord +Genesis +Genette +Genevieve +George +Georgene +Georgia +Geraldine +Gerardo +Gervase +Gianna +Gina +Ginger +Giovanni +Giselle +Gladwyn +Glenna +Gloria +Goddard +Godwin +Goodwin +Gordon +Grace +Gracie +Grady +Graeme +Graham +Grant +Gratian +Grayson +Gregory +Greta +Greyson +Griffin +Griselda +Guadalupe +Guillermo +Gunner +Gustavo +Gwenda +Gwenevere +Hadley +Haidee +Hailee +Hailey +Hal +Haleigh +Haley +Hanna +Hannah +Happy +Harley +Harmony +Harper +Harrison +Hartley +Hayden +Haylee +Hayley +Haylie +Hazel +Heather +Heaven +Hector +Hedley +Heidi +Helen +Henderson +Henry +Hepsie +Hervey +Holden +Holly +Homer +Hope +Horatio +Hortensia +Hudson +Huffie +Hugo +Hunter +Ian +Iantha +Ileen +Imani +Innocent +Irene +Iris +Irvine +Isaac +Isabel +Isabella +Isabelle +Isaiah +Isaias +Isiah +Ismael +Israel +Issac +Itzel +Ivan +Ivy +Izabella +Izaiah +Jacaline +Jace +Jack +Jackson +Jacob +Jacoby +Jacqueline +Jacquetta +Jacqui +Jada +Jade +Jaden +Jadon +Jadyn +Jaelyn +Jaiden +Jaime +Jake +Jakki +Jakob +Jalen +Jamar +Jamari +Jamarion +James +Jameson +Jamie +Jamison +Jane +Janel +Janelle +Janette +Janie +Janina +Janine +Janiya +Janiyah +Jared +Jaslene +Jasmin +Jasmine +Jason +Jasper +Javier +Javon +Jaxon +Jaxson +Jay +Jayce +Jayda +Jayden +Jaydon +Jaye +Jayla +Jaylee +Jaylen +Jayne +Jaynie +Jayson +Jazlyn +Jazmin +Jazmine +Jeanna +Jeannie +Jeannine +Jeb +Jed +Jeffrey +Jemmy +Jenifer +Jenna +Jennie +Jennifer +Jera +Jere +Jeremiah +Jeremy +Jeri +Jermaine +Jerrie +Jerry +Jesse +Jessica +Jesus +Jillian +Jillie +Jim +Jimena +Jimmy +Joachim +Joanna +Joaquin +Jocelyn +Joe +Joel +Joetta +Joey +Johan +Johanna +John +Johnathan +Johnny +Joi +Jonah +Jonas +Jonathan +Jonathon +Joni +Jordan +Jordyn +Jorge +Jose +Joselyn +Joseph +Josepha +Josephine +Josh +Joshua +Josiah +Josie +Josue +Joye +Juan +Judah +Jude +Julia +Julian +Juliana +Julianna +Julie +Juliet +Julio +Julissa +Julius +July +Justice +Justin +Kade +Kaden +Kadence +Kaelea +Kaelyn +Kai +Kaiden +Kailey +Kailyn +Kaitlin +Kaitlyn +Kale +Kaleb +Kaleigh +Kameron +Kamryn +Kane +Kara +Karen +Karenza +Karina +Karla +Karly +Karson +Karyn +Kassidy +Kat +Kate +Katelyn +Katelynn +Katherine +Kathleen +Kathryn +Kathy +Katie +Katlyn +Kayden +Kaydence +Kayla +Kaylee +Kayleigh +Kaylie +Kaylin +Keagan +Keaton +Keegan +Keira +Keith +Kellen +Kellie +Kelly +Kelsey +Kelvin +Kendall +Kendra +Kennard +Kennedy +Kenneth +Kenzie +Kerena +Kerensa +Keturah +Kevin +Keziah +Khalil +Khloe +Kiana +Kiara +Kiera +Kiley +Kimberley +Kimberly +Kimora +Kingston +Kira +Kobe +Kolton +Kristen +Kristina +Kristopher +Kyla +Kyle +Kylee +Kyleigh +Kyler +Kylie +Kyra +Lacey +Lacy +Laila +Lakeisha +Lalla +Lana +Lance +Landen +Landon +Landyn +Lane +Lanny +Larry +Latanya +Launce +Laura +Lauren +Laurencia +Laurissa +Lauryn +Lawrence +Layla +Leah +Leeann +Leia +Leila +Leilani +Leland +Lena +Lennox +Leo +Leonardo +Leonel +Leroi +Leslie +Lesly +Lessie +Leta +Levi +Lexi +Lexia +Lexus +Lia +Liam +Lila +Lilah +Lilian +Liliana +Lillian +Lilliana +Lillie +Lilly +Lily +Lincoln +Linden +Lindsay +Lindsey +Lindsie +Lindy +Linton +Lizbeth +Lockie +Logan +Lola +London +Lorenzo +Loreto +Lori +Lorin +Lou +Louis +Luanne +Luca +Lucas +Lucia +Lucian +Lucy +Luis +Lukas +Luke +Luna +Luvenia +Lydia +Lyla +Lyndsey +Lynn +Lynsey +Lynwood +Lyric +Mabelle +Macey +Macie +Mackenzie +Macy +Madalyn +Maddison +Maddox +Madeleine +Madeline +Madelyn +Madelynn +Madilyn +Madison +Madisyn +Madyson +Maegan +Maggie +Makayla +Makenna +Makenzie +Malachi +Malcolm +Malia +Malik +Mallory +Manley +Manuel +Marc +Marcia +Marco +Marcos +Marcus +Marely +Margaret +Maria +Mariabella +Mariah +Mariana +Marilene +Mario +Marion +Marisol +Marissa +Marje +Marjory +Mark +Marlee +Marley +Marlowe +Marlyn +Marshall +Martin +Marvin +Mary +Maryann +Mason +Mateo +Mathew +Matthew +Maudie +Maurene +Maurice +Mauricio +Max +Maximilian +Maximus +Maxwell +May +Maya +Maynard +Mckenna +Mckenzie +Megan +Meghan +Mekhi +Melanie +Melany +Melissa +Melody +Melvin +Melvyn +Meredith +Merideth +Merrilyn +Meryl +Mia +Micah +Michael +Michaela +Micheal +Michelle +Miguel +Mikayla +Mike +Miles +Miley +Milo +Milton +Minnie +Miracle +Miranda +Miriam +Mitchell +Moises +Molly +Monica +Monna +Montague +Monte +Monty +Morgan +Moses +Muriel +Mya +Mylee +Myles +Myriam +Myrtie +Nadia +Nan +Nancy +Naomi +Nasir +Natalia +Natalie +Nataly +Natasha +Nathan +Nathaniel +Nayeli +Nehemiah +Nelle +Nelson +Nena +Nerissa +Netta +Nettie +Nevaeh +Nia +Nicholas +Nickolas +Nicolas +Nicole +Nikolas +Nina +Noah +Noel +Noelle +Nolan +Nonie +Nora +Norah +Nova +Nowell +Nydia +Nyla +Olive +Oliver +Olivia +Omar +Oralie +Orlando +Osbert +Osborn +Osborne +Oscar +Osmund +Owen +Pablo +Paget +Paige +Paisley +Paola +Paris +Parker +Patience +Patricia +Patrick +Patton +Paul +Pauleen +Paxton +Payton +Pedro +Pene +Penelope +Percival +Peregrine +Perla +Peter +Peyton +Pheobe +Philip +Phillip +Phoebe +Phoenix +Phyliss +Phyllida +Phyllis +Piper +Porsche +Porter +Presley +Preston +Priscilla +Prosper +Prue +Quanah +Quentin +Quiana +Quinn +Quinton +Rachael +Rachel +Raegan +Raelene +Rafael +Rain +Ramon +Randa +Randal +Randy +Rastus +Raul +Raymond +Rayner +Reagan +Rebecca +Rebeckah +Rebekah +Reece +Reed +Reene +Reese +Reid +Renie +Reuben +Rexana +Reynard +Rhetta +Ricardo +Rich +Richard +Richie +Rick +Rickena +Rickey +Rickie +Ricky +Rihanna +Riley +River +Robert +Roberto +Rocco +Rodger +Rodrigo +Roger +Roman +Romayne +Romeo +Ronald +Ronnette +Rosa +Roscoe +Rose +Rosemary +Roswell +Rowan +Roy +Royce +Ruben +Ruby +Rubye +Russell +Rusty +Ruth +Ryan +Ryder +Ryker +Rylan +Rylee +Ryleigh +Rylie +Sabella +Sabrina +Sachie +Sadie +Sage +Sal +Sally +Salvador +Sam +Samantha +Samara +Samuel +Sandra +Santiago +Sara +Sarah +Sarai +Saranna +Sasha +Saul +Savanna +Savannah +Sawyer +Scarlett +Scott +Scotty +Sean +Sebastian +Selena +Seneca +Serena +Serenity +Sergio +Seth +Seymour +Shan +Shana +Shane +Shanika +Shannah +Shannon +Shantae +Sharalyn +Sharla +Shaun +Shawn +Shayla +Shelby +Sheri +Sherie +Sherill +Sherri +Shiloh +Sienna +Sierra +Silas +Simon +Sissy +Skylar +Skyler +Sloan +Sofia +Solomon +Sophia +Sophie +Sorrel +Spencer +Spike +Star +Stella +Steph +Stephanie +Stephany +Stephen +Steven +Sue +Sukie +Summer +Sunshine +Susanna +Susannah +Suzan +Suzy +Sybil +Syd +Sydney +Talia +Talon +Tamika +Tamsin +Tania +Tanner +Tansy +Taryn +Tate +Tatiana +Tatum +Tatyanna +Taylor +Teagan +Tel +Terrell +Terry +Tessa +Theodore +Thomas +Tiffany +Timothy +Titus +Tod +Tolly +Tony +Topaz +Tori +Tracee +Tracey +Travis +Trent +Trenton +Trevor +Trey +Trinity +Tristan +Tristen +Triston +Troy +Tucker +Ty +Tye +Tyler +Tyson +Uland +Ulric +Ulyssa +Uriel +Valary +Valentina +Valeria +Valerie +Vanessa +Vaughn +Verna +Veronica +Victor +Victoria +Vince +Vincent +Vinnie +Violet +Vivian +Viviana +Vivyan +Walker +Walter +Ward +Warner +Wayne +Wendi +Wendy +Wesley +Weston +Whitaker +William +Willow +Willy +Winifred +Wisdom +Woodrow +Woody +Wyatt +Wynonna +Wynter +Xander +Xavier +Ximena +Yahir +Yasmin +Yolanda +Ysabel +Zachariah +Zachary +Zack +Zackary +Zander +Zane +Zayden +Zeke +Zelda +Zion +Zoe +Zoey Zune \ No newline at end of file diff --git a/strings/names/first_female.txt b/strings/names/first_female.txt index 6710c1bfc3..038e936879 100644 --- a/strings/names/first_female.txt +++ b/strings/names/first_female.txt @@ -1,771 +1,771 @@ -Aaliyah -Abby -Abigail -Addison -Addyson -Adeline -Adriana -Adrianna -Aida -Aileen -Ainsley -Alaina -Alana -Alanna -Alayna -Alejandra -Alessandra -Alexa -Alexandra -Alexandria -Alexia -Alexis -Alexus -Alfreda -Alice -Alicia -Alina -Alisa -Alison -Alissa -Alisya -Alivia -Aliyah -Allegra -Allegria -Allie -Allison -Allisson -Allyson -Alma -Alondra -Alysha -Alyson -Alyssa -Alyssia -Amanda -Amari -Amaryllis -Amaya -Amber -Ambrosine -Amelia -Amira -Amiyah -Amy -Amya -Ana -Anahi -Anastasia -Anaya -Andrea -Angel -Angela -Angelica -Angelina -Angie -Aniya -Aniyah -Anjelica -Anna -Annabelle -Anne -Annie -Annika -Anya -April -Arabella -Ariana -Arianna -Ariel -Arielle -Arleen -Ashley -Ashlie -Ashlyn -Ashlynn -Asia -Astor -Athena -Aubree -Aubrey -Aubrie -Audrey -Audrina -Aurora -Autumn -Ava -Avalona -Averill -Avery -Ayla -Bailey -Barbara -Baylee -Beckah -Becky -Bella -Bernice -Bethany -Bethney -Betsy -Bianca -Bidelia -Breanna -Breanne -Brenda -Brenna -Briana -Brianna -Bridget -Brielle -Brittani -Brittany -Brooke -Brooklyn -Brooklynn -Brynn -Cadence -Caitlin -Caitlyn -Calanthia -Caleigh -Cali -Callie -Cameron -Camila -Camille -Camryn -Candace -Candice -Cara -Carly -Carlyle -Carmen -Carolina -Caroline -Carolyn -Carry -Caryl -Casey -Cassandra -Cassidy -Catherine -Cecilia -Cecily -Celeste -Charlotte -Chelsea -Cherette -Cheri -Cherry -Cheyanne -Cheyenne -Chloe -Christa -Christiana -Christina -Christobelle -Ciara -Cindy -Claire -Clara -Claribel -Claudia -Clover -Cora -Coreen -Corrine -Courtney -Crystal -Cynthia -Daisy -Dakota -Dalya -Dana -Danica -Daniela -Daniella -Danielle -Danika -Danna -Daria -Dayana -Dayna -Debbi -Dee -Deena -Delaney -Delilah -Della -Delma -Denise -Denys -Desiree -Destiny -Diamond -Diana -Dina -Dolores -Donella -Donna -Dorothy -Dortha -Dulce -Easter -Ebba -Eden -Effie -Elaina -Eleanor -Elena -Eliana -Elise -Eliza -Elizabeth -Ella -Elle -Ellie -Emely -Emerson -Emery -Emilee -Emilia -Emily -Emma -Erica -Erika -Erin -Ermintrude -Esmeralda -Esther -Estrella -Eugenia -Euphemia -Eustace -Eva -Evangeline -Eveleen -Evelina -Evelyn -Faith -Fatima -Fay -Fernanda -Fiona -Floella -Flora -Flossie -Fortune -Francesca -Gabriela -Gabriella -Gabrielle -Genette -Genevieve -Georgene -Georgia -Geraldine -Gervase -Gianna -Gina -Ginger -Giselle -Gladwyn -Glenna -Gloria -Grace -Gracie -Greta -Griselda -Guadalupe -Gwenda -Gwenevere -Hadley -Haidee -Hailee -Hailey -Hal -Haleigh -Haley -Hanna -Hannah -Harley -Harmony -Harper -Hayden -Haylee -Hayley -Haylie -Hazel -Heather -Heaven -Hedley -Heidi -Helen -Hepsie -Holly -Hope -Hortensia -Iantha -Ileen -Imani -Innocent -Irene -Iris -Isabel -Isabella -Isabelle -Itzel -Ivy -Izabella -Jacaline -Jacqueline -Jacquetta -Jacqui -Jada -Jade -Jaden -Jadyn -Jaelyn -Jakki -Jalen -Jamie -Jane -Janelle -Janette -Janie -Janina -Janine -Janiya -Janiyah -Jaslene -Jasmin -Jasmine -Jayda -Jayden -Jayla -Jaylee -Jaynie -Jazlyn -Jazmin -Jazmine -Jeanna -Jeannie -Jeannine -Jenifer -Jenna -Jennie -Jennifer -Jera -Jere -Jeri -Jessica -Jillian -Jillie -Jimena -Joanna -Jocelyn -Joetta -Johanna -Joi -Joni -Jordan -Jordyn -Joselyn -Josepha -Josephine -Josie -Joye -Julia -Juliana -Julianna -Julie -Juliet -Julissa -July -Kadence -Kaelea -Kaelyn -Kailey -Kailyn -Kaitlin -Kaitlyn -Kaleigh -Kamryn -Kara -Karen -Karenza -Karina -Karla -Karly -Karyn -Kassidy -Kat -Kate -Katelyn -Katelynn -Katherine -Kathleen -Kathryn -Kathy -Katie -Katlyn -Kayden -Kaydence -Kayla -Kaylee -Kayleigh -Kaylie -Kaylin -Keegan -Keira -Keith -Kellie -Kelly -Kelsey -Kendall -Kendra -Kennedy -Kenzie -Kerena -Kerensa -Keturah -Khloe -Kiana -Kiara -Kiera -Kiley -Kimberley -Kimberly -Kimora -Kira -Kristen -Kristina -Kyla -Kylee -Kyleigh -Kylie -Kyra -Lacey -Lacy -Laila -Lakeisha -Lalla -Lana -Latanya -Laura -Lauren -Laurencia -Laurissa -Lauryn -Layla -Leah -Leeann -Leia -Leila -Leilani -Lena -Leslie -Lesly -Lessie -Leta -Lexi -Lexia -Lexus -Lia -Lila -Lilah -Lilian -Liliana -Lillian -Lilliana -Lillie -Lilly -Lily -Lindsay -Lindsey -Lindsie -Lindy -Lizbeth -Lockie -Logan -Lola -London -Lori -Lorin -Luanne -Lucia -Lucian -Lucy -Luna -Luvenia -Lydia -Lyla -Lyndsey -Lynn -Lynsey -Lynwood -Lyric -Mabelle -Macey -Macie -Mackenzie -Macy -Madalyn -Maddison -Madeleine -Madeline -Madelyn -Madelynn -Madilyn -Madison -Madisyn -Madyson -Maegan -Maggie -Makayla -Makenna -Makenzie -Malia -Mallory -Marcia -Marely -Margaret -Maria -Mariabella -Mariah -Mariana -Marilene -Marion -Marisol -Marissa -Marje -Marjory -Marlee -Marley -Marlowe -Marlyn -Marshall -Mary -Maryann -Maudie -Maurene -May -Maya -Mckenna -Mckenzie -Megan -Meghan -Melanie -Melany -Melissa -Melody -Meredith -Merideth -Merrilyn -Meryl -Mia -Michaela -Michelle -Mikayla -Miley -Minnie -Miracle -Miranda -Miriam -Molly -Monica -Monna -Morgan -Muriel -Mya -Mylee -Myriam -Myrtie -Nadia -Nan -Nancy -Naomi -Natalia -Natalie -Nataly -Natasha -Nayeli -Nelle -Nena -Nerissa -Netta -Nettie -Nevaeh -Nia -Nicole -Nina -Noelle -Nonie -Nora -Norah -Nova -Nowell -Nydia -Nyla -Olive -Olivia -Oralie -Paige -Paisley -Paola -Paris -Patience -Patricia -Pauleen -Payton -Pene -Penelope -Peregrine -Perla -Peyton -Pheobe -Phoebe -Phyliss -Phyllida -Phyllis -Piper -Porsche -Presley -Priscilla -Prosper -Prue -Quanah -Quiana -Rachael -Rachel -Raegan -Raelene -Rain -Randa -Randal -Reagan -Rebecca -Rebeckah -Rebekah -Reene -Reese -Renie -Rexana -Rhetta -Rihanna -Riley -Ronnette -Rosa -Rose -Rosemary -Rowan -Ruby -Rubye -Ruth -Rylee -Ryleigh -Rylie -Sabella -Sabrina -Sachie -Sadie -Sage -Sally -Samantha -Samara -Sandra -Sara -Sarah -Sarai -Saranna -Sasha -Savanna -Savannah -Scarlett -Selena -Seneca -Serena -Serenity -Shana -Shanika -Shannah -Shannon -Shantae -Sharalyn -Sharla -Shayla -Shelby -Sheri -Sherie -Sherill -Sherri -Sienna -Sierra -Sissy -Skylar -Skyler -Sofia -Sophia -Sophie -Star -Stella -Steph -Stephanie -Stephany -Sue -Sukie -Summer -Sunshine -Susanna -Susannah -Suzan -Suzy -Sydney -Talia -Tamika -Tania -Tansy -Taryn -Tatiana -Tatum -Tatyanna -Taylor -Teagan -Tessa -Tiffany -Tolly -Topaz -Tori -Tracee -Tracey -Trinity -Ulyssa -Valary -Valentina -Valeria -Valerie -Vanessa -Verna -Veronica -Victoria -Vinnie -Violet -Vivian -Viviana -Vivyan -Wendi -Wendy -Willow -Wisdom -Wynonna -Wynter -Ximena -Yasmin -Yolanda -Ysabel -Zelda -Zoe -Zoey +Aaliyah +Abby +Abigail +Addison +Addyson +Adeline +Adriana +Adrianna +Aida +Aileen +Ainsley +Alaina +Alana +Alanna +Alayna +Alejandra +Alessandra +Alexa +Alexandra +Alexandria +Alexia +Alexis +Alexus +Alfreda +Alice +Alicia +Alina +Alisa +Alison +Alissa +Alisya +Alivia +Aliyah +Allegra +Allegria +Allie +Allison +Allisson +Allyson +Alma +Alondra +Alysha +Alyson +Alyssa +Alyssia +Amanda +Amari +Amaryllis +Amaya +Amber +Ambrosine +Amelia +Amira +Amiyah +Amy +Amya +Ana +Anahi +Anastasia +Anaya +Andrea +Angel +Angela +Angelica +Angelina +Angie +Aniya +Aniyah +Anjelica +Anna +Annabelle +Anne +Annie +Annika +Anya +April +Arabella +Ariana +Arianna +Ariel +Arielle +Arleen +Ashley +Ashlie +Ashlyn +Ashlynn +Asia +Astor +Athena +Aubree +Aubrey +Aubrie +Audrey +Audrina +Aurora +Autumn +Ava +Avalona +Averill +Avery +Ayla +Bailey +Barbara +Baylee +Beckah +Becky +Bella +Bernice +Bethany +Bethney +Betsy +Bianca +Bidelia +Breanna +Breanne +Brenda +Brenna +Briana +Brianna +Bridget +Brielle +Brittani +Brittany +Brooke +Brooklyn +Brooklynn +Brynn +Cadence +Caitlin +Caitlyn +Calanthia +Caleigh +Cali +Callie +Cameron +Camila +Camille +Camryn +Candace +Candice +Cara +Carly +Carlyle +Carmen +Carolina +Caroline +Carolyn +Carry +Caryl +Casey +Cassandra +Cassidy +Catherine +Cecilia +Cecily +Celeste +Charlotte +Chelsea +Cherette +Cheri +Cherry +Cheyanne +Cheyenne +Chloe +Christa +Christiana +Christina +Christobelle +Ciara +Cindy +Claire +Clara +Claribel +Claudia +Clover +Cora +Coreen +Corrine +Courtney +Crystal +Cynthia +Daisy +Dakota +Dalya +Dana +Danica +Daniela +Daniella +Danielle +Danika +Danna +Daria +Dayana +Dayna +Debbi +Dee +Deena +Delaney +Delilah +Della +Delma +Denise +Denys +Desiree +Destiny +Diamond +Diana +Dina +Dolores +Donella +Donna +Dorothy +Dortha +Dulce +Easter +Ebba +Eden +Effie +Elaina +Eleanor +Elena +Eliana +Elise +Eliza +Elizabeth +Ella +Elle +Ellie +Emely +Emerson +Emery +Emilee +Emilia +Emily +Emma +Erica +Erika +Erin +Ermintrude +Esmeralda +Esther +Estrella +Eugenia +Euphemia +Eustace +Eva +Evangeline +Eveleen +Evelina +Evelyn +Faith +Fatima +Fay +Fernanda +Fiona +Floella +Flora +Flossie +Fortune +Francesca +Gabriela +Gabriella +Gabrielle +Genette +Genevieve +Georgene +Georgia +Geraldine +Gervase +Gianna +Gina +Ginger +Giselle +Gladwyn +Glenna +Gloria +Grace +Gracie +Greta +Griselda +Guadalupe +Gwenda +Gwenevere +Hadley +Haidee +Hailee +Hailey +Hal +Haleigh +Haley +Hanna +Hannah +Harley +Harmony +Harper +Hayden +Haylee +Hayley +Haylie +Hazel +Heather +Heaven +Hedley +Heidi +Helen +Hepsie +Holly +Hope +Hortensia +Iantha +Ileen +Imani +Innocent +Irene +Iris +Isabel +Isabella +Isabelle +Itzel +Ivy +Izabella +Jacaline +Jacqueline +Jacquetta +Jacqui +Jada +Jade +Jaden +Jadyn +Jaelyn +Jakki +Jalen +Jamie +Jane +Janelle +Janette +Janie +Janina +Janine +Janiya +Janiyah +Jaslene +Jasmin +Jasmine +Jayda +Jayden +Jayla +Jaylee +Jaynie +Jazlyn +Jazmin +Jazmine +Jeanna +Jeannie +Jeannine +Jenifer +Jenna +Jennie +Jennifer +Jera +Jere +Jeri +Jessica +Jillian +Jillie +Jimena +Joanna +Jocelyn +Joetta +Johanna +Joi +Joni +Jordan +Jordyn +Joselyn +Josepha +Josephine +Josie +Joye +Julia +Juliana +Julianna +Julie +Juliet +Julissa +July +Kadence +Kaelea +Kaelyn +Kailey +Kailyn +Kaitlin +Kaitlyn +Kaleigh +Kamryn +Kara +Karen +Karenza +Karina +Karla +Karly +Karyn +Kassidy +Kat +Kate +Katelyn +Katelynn +Katherine +Kathleen +Kathryn +Kathy +Katie +Katlyn +Kayden +Kaydence +Kayla +Kaylee +Kayleigh +Kaylie +Kaylin +Keegan +Keira +Keith +Kellie +Kelly +Kelsey +Kendall +Kendra +Kennedy +Kenzie +Kerena +Kerensa +Keturah +Khloe +Kiana +Kiara +Kiera +Kiley +Kimberley +Kimberly +Kimora +Kira +Kristen +Kristina +Kyla +Kylee +Kyleigh +Kylie +Kyra +Lacey +Lacy +Laila +Lakeisha +Lalla +Lana +Latanya +Laura +Lauren +Laurencia +Laurissa +Lauryn +Layla +Leah +Leeann +Leia +Leila +Leilani +Lena +Leslie +Lesly +Lessie +Leta +Lexi +Lexia +Lexus +Lia +Lila +Lilah +Lilian +Liliana +Lillian +Lilliana +Lillie +Lilly +Lily +Lindsay +Lindsey +Lindsie +Lindy +Lizbeth +Lockie +Logan +Lola +London +Lori +Lorin +Luanne +Lucia +Lucian +Lucy +Luna +Luvenia +Lydia +Lyla +Lyndsey +Lynn +Lynsey +Lynwood +Lyric +Mabelle +Macey +Macie +Mackenzie +Macy +Madalyn +Maddison +Madeleine +Madeline +Madelyn +Madelynn +Madilyn +Madison +Madisyn +Madyson +Maegan +Maggie +Makayla +Makenna +Makenzie +Malia +Mallory +Marcia +Marely +Margaret +Maria +Mariabella +Mariah +Mariana +Marilene +Marion +Marisol +Marissa +Marje +Marjory +Marlee +Marley +Marlowe +Marlyn +Marshall +Mary +Maryann +Maudie +Maurene +May +Maya +Mckenna +Mckenzie +Megan +Meghan +Melanie +Melany +Melissa +Melody +Meredith +Merideth +Merrilyn +Meryl +Mia +Michaela +Michelle +Mikayla +Miley +Minnie +Miracle +Miranda +Miriam +Molly +Monica +Monna +Morgan +Muriel +Mya +Mylee +Myriam +Myrtie +Nadia +Nan +Nancy +Naomi +Natalia +Natalie +Nataly +Natasha +Nayeli +Nelle +Nena +Nerissa +Netta +Nettie +Nevaeh +Nia +Nicole +Nina +Noelle +Nonie +Nora +Norah +Nova +Nowell +Nydia +Nyla +Olive +Olivia +Oralie +Paige +Paisley +Paola +Paris +Patience +Patricia +Pauleen +Payton +Pene +Penelope +Peregrine +Perla +Peyton +Pheobe +Phoebe +Phyliss +Phyllida +Phyllis +Piper +Porsche +Presley +Priscilla +Prosper +Prue +Quanah +Quiana +Rachael +Rachel +Raegan +Raelene +Rain +Randa +Randal +Reagan +Rebecca +Rebeckah +Rebekah +Reene +Reese +Renie +Rexana +Rhetta +Rihanna +Riley +Ronnette +Rosa +Rose +Rosemary +Rowan +Ruby +Rubye +Ruth +Rylee +Ryleigh +Rylie +Sabella +Sabrina +Sachie +Sadie +Sage +Sally +Samantha +Samara +Sandra +Sara +Sarah +Sarai +Saranna +Sasha +Savanna +Savannah +Scarlett +Selena +Seneca +Serena +Serenity +Shana +Shanika +Shannah +Shannon +Shantae +Sharalyn +Sharla +Shayla +Shelby +Sheri +Sherie +Sherill +Sherri +Sienna +Sierra +Sissy +Skylar +Skyler +Sofia +Sophia +Sophie +Star +Stella +Steph +Stephanie +Stephany +Sue +Sukie +Summer +Sunshine +Susanna +Susannah +Suzan +Suzy +Sydney +Talia +Tamika +Tania +Tansy +Taryn +Tatiana +Tatum +Tatyanna +Taylor +Teagan +Tessa +Tiffany +Tolly +Topaz +Tori +Tracee +Tracey +Trinity +Ulyssa +Valary +Valentina +Valeria +Valerie +Vanessa +Verna +Veronica +Victoria +Vinnie +Violet +Vivian +Viviana +Vivyan +Wendi +Wendy +Willow +Wisdom +Wynonna +Wynter +Ximena +Yasmin +Yolanda +Ysabel +Zelda +Zoe +Zoey Zune \ No newline at end of file diff --git a/strings/names/first_male.txt b/strings/names/first_male.txt index b86722dbaf..928958d1a9 100644 --- a/strings/names/first_male.txt +++ b/strings/names/first_male.txt @@ -1,668 +1,668 @@ -Aaden -Aaron -Abel -Abraham -Adam -Adan -Aden -Adolph -Adrian -Aidan -Aiden -Alan -Albert -Alberto -Alden -Alec -Alejandro -Alex -Alexander -Alexis -Alfred -Alfredo -Alger -Ali -Alijah -Allen -Alvin -Amari -Amir -Amos -Anderson -Andre -Andres -Andrew -Andy -Angel -Angelo -Anthony -Antonio -Apple -Archie -Armando -Arnie -Art -Arthur -Arturo -Asher -Ashton -August -Austin -Avery -Axel -Ayden -Baldric -Bartholomew -Beau -Beckett -Benjamin -Bennett -Bill -Blake -Braden -Bradley -Brady -Braeden -Braiden -Brandon -Braxton -Brayan -Brayden -Braydon -Braylon -Brendan -Brenden -Brennan -Brett -Brian -Brick -Brock -Brodie -Brody -Bronte -Bruce -Bryan -Bryant -Bryce -Brycen -Bryson -Buck -Burt -Butch -Byrne -Byron -Cade -Caden -Caiden -Caleb -Calvin -Camden -Cameron -Camron -Camryn -Carl -Carlos -Carson -Carter -Casey -Cash -Casimir -Cassian -Cayden -Cesar -Chad -Chance -Chandler -Charles -Charlie -Charlton -Chase -Chip -Chris -Christian -Christopher -Clark -Claudius -Clayton -Clement -Cletus -Cleveland -Cliff -Clinton -Cody -Cohen -Colby -Cole -Colin -Collin -Colten -Colton -Conner -Connor -Cooper -Corbin -Corey -Cory -Cristian -Cristopher -Crush -Cruz -Curtis -Cy -Dakota -Dallas -Dalton -Damian -Damien -Damon -Dane -Daniel -Danny -Dante -Darcey -Darell -Darin -Darius -Darren -David -Davion -Davis -Dawson -Dayton -Dean -Deandre -Deangelo -Declan -Denholm -Dennis -Derek -Derrick -Desmond -Devin -Devon -Diego -Dillon -Dirk -Dominic -Dominick -Donald -Donny -Donovan -Douglas -Drake -Drew -Driscoll -Duke -Duncan -Dustin -Dylan -Easton -Eddie -Edgar -Eduardo -Edward -Edwin -Eli -Elias -Elijah -Eliot -Eliott -Elliot -Elliott -Elric -Elwood -Emanuel -Emerson -Emiliano -Emilio -Emmanuel -Enrique -Eric -Erick -Erik -Ernesto -Esteban -Ethan -Evan -Everett -Ezekiel -Ezra -Fabian -Felix -Fenton -Fernando -Finn -Fitz -Flick -Flint -Flip -Francis -Francisco -Frank -Frankie -Franklin -Fridge -Fulton -Gabriel -Gael -Gage -Gannon -Garret -Garrett -Gary -Gavin -George -Gerardo -Giovanni -Goddard -Godwin -Goodwin -Gordon -Grady -Graeme -Graham -Grandpa -Grant -Gratian -Grayson -Gregory -Grendel -Greyson -Griffin -Guillermo -Gunner -Gustavo -Han -Harrison -Harry -Hartley -Harvey -Hayden -Hector -Henderson -Henry -Holden -Homer -Horatio -Hudson -Huffie -Hugo -Hungry -Hunter -Ian -Irvine -Isaac -Isaiah -Isaias -Isiah -Ismael -Israel -Issac -Ivan -Izaiah -Jace -Jack -Jackson -Jacob -Jacoby -Jaden -Jadon -Jaiden -Jaime -Jake -Jakob -Jalen -Jamar -Jamari -Jamarion -James -Jameson -Jamie -Jamison -Janel -Jared -Jason -Jasper -Javier -Javon -Jaxon -Jaxson -Jay -Jayce -Jayden -Jaydon -Jaye -Jaylen -Jayne -Jayson -Jean-Luc -Jeb -Jed -Jeffrey -Jemmy -Jeremiah -Jeremy -Jermaine -Jerrie -Jerry -Jesse -Jesus -Jim -Jimmy -Joachim -Joaquin -Joe -Joel -Joey -Johan -John -Johnathan -Johnny -Jonah -Jonas -Jonathan -Jonathon -Jordan -Jorge -Jose -Joseph -Josh -Joshua -Josiah -Josue -Juan -Judah -Jude -Julian -Julio -Julius -Justice -Justin -Kade -Kaden -Kai -Kaiden -Kale -Kaleb -Kameron -Kane -Karson -Kayden -Keagan -Keaton -Keegan -Keith -Kellen -Kelvin -Kennard -Kenneth -Kevin -Keziah -Khalil -Kingston -Kobe -Kolton -Kristopher -Kyle -Kyler -Lance -Landen -Lando -Landon -Landyn -Lane -Lanny -Larry -Launce -Lawrence -Leland -Lennox -Lenny -Leo -Leonard -Leonardo -Leonel -Leroy -Levi -Liam -Lief -Lincoln -Linden -Linton -Logan -Lorde -Lorenzo -Loreto -Lou -Louis -Luca -Lucas -Luis -Lukas -Luke -Maddox -Malachi -Malcolm -Malik -Manley -Manuel -Marc -Marco -Marcos -Marcus -Mario -Marion -Mark -Marshall -Martin -Marvin -Mason -Mateo -Mathew -Matthew -Maurice -Mauricio -Max -Maximilian -Maximus -Maxwell -Maynard -Mekhi -Melvin -Melvyn -Micah -Michael -Micheal -Miguel -Mike -Miles -Milo -Milton -Mitchell -Moises -Montague -Monte -Monty -Morgan -Moses -Myles -Nasir -Nat -Nathan -Nathaniel -Nehemiah -Nelson -Nicholas -Nick -Nickolas -Nicolas -Nikolas -Noah -Noel -Nolan -Oliver -Omar -Opie -Orlando -Osbert -Osborn -Osborne -Oscar -Osmund -Oswald -Owen -Pablo -Paget -Parker -Patrick -Patton -Paul -Paxton -Payton -Pedro -Percival -Persh -Peter -Peyton -Philip -Phillip -Phoenix -Porter -Preston -Quentin -Quinn -Quinton -Rafael -Ramon -Randy -Rastus -Raul -Raymond -Rayner -Reece -Reed -Reese -Reid -Reuben -Reynard -Ricardo -Richard -Ricky -Riley -River -Robert -Roberto -Rocco -Rodger -Rodrigo -Roger -Roman -Romayne -Romeo -Ronald -Roscoe -Roswell -Rowan -Roy -Royce -Rube -Ruben -Russell -Rusty -Ryan -Ryder -Ryker -Rylan -Sal -Salvador -Sam -Samuel -Santiago -Saul -Sawyer -Scott -Scotty -Sean -Sebastian -Sergio -Seth -Seymour -Shane -Shaun -Shawn -Shiloh -Silas -Simon -Skyler -Sloan -Smoke -Solomon -Sorrel -Spencer -Spike -Stephen -Steven -Sybil -Syd -Talon -Tamsin -Tanner -Tate -Taylor -Tel -Terrell -Terry -Theodore -Thomas -Tim -Timothy -Titus -Todd -Tony -Travis -Trent -Trenton -Trevor -Trey -Trip -Tristan -Tristen -Triston -Troy -Tucker -Ty -Tye -Tyler -Tyson -Uland -Ulric -Uriel -Vaughn -Victor -Vince -Vincent -Vinny -Walker -Walter -Ward -Warner -Wayne -Wesley -Weston -Whitaker -William -Willy -Woodrow -Wyatt -Xander -Xavier -Yahir -Zachariah -Zachary -Zack -Zackary -Zander -Zane -Zayden -Zeke +Aaden +Aaron +Abel +Abraham +Adam +Adan +Aden +Adolph +Adrian +Aidan +Aiden +Alan +Albert +Alberto +Alden +Alec +Alejandro +Alex +Alexander +Alexis +Alfred +Alfredo +Alger +Ali +Alijah +Allen +Alvin +Amari +Amir +Amos +Anderson +Andre +Andres +Andrew +Andy +Angel +Angelo +Anthony +Antonio +Apple +Archie +Armando +Arnie +Art +Arthur +Arturo +Asher +Ashton +August +Austin +Avery +Axel +Ayden +Baldric +Bartholomew +Beau +Beckett +Benjamin +Bennett +Bill +Blake +Braden +Bradley +Brady +Braeden +Braiden +Brandon +Braxton +Brayan +Brayden +Braydon +Braylon +Brendan +Brenden +Brennan +Brett +Brian +Brick +Brock +Brodie +Brody +Bronte +Bruce +Bryan +Bryant +Bryce +Brycen +Bryson +Buck +Burt +Butch +Byrne +Byron +Cade +Caden +Caiden +Caleb +Calvin +Camden +Cameron +Camron +Camryn +Carl +Carlos +Carson +Carter +Casey +Cash +Casimir +Cassian +Cayden +Cesar +Chad +Chance +Chandler +Charles +Charlie +Charlton +Chase +Chip +Chris +Christian +Christopher +Clark +Claudius +Clayton +Clement +Cletus +Cleveland +Cliff +Clinton +Cody +Cohen +Colby +Cole +Colin +Collin +Colten +Colton +Conner +Connor +Cooper +Corbin +Corey +Cory +Cristian +Cristopher +Crush +Cruz +Curtis +Cy +Dakota +Dallas +Dalton +Damian +Damien +Damon +Dane +Daniel +Danny +Dante +Darcey +Darell +Darin +Darius +Darren +David +Davion +Davis +Dawson +Dayton +Dean +Deandre +Deangelo +Declan +Denholm +Dennis +Derek +Derrick +Desmond +Devin +Devon +Diego +Dillon +Dirk +Dominic +Dominick +Donald +Donny +Donovan +Douglas +Drake +Drew +Driscoll +Duke +Duncan +Dustin +Dylan +Easton +Eddie +Edgar +Eduardo +Edward +Edwin +Eli +Elias +Elijah +Eliot +Eliott +Elliot +Elliott +Elric +Elwood +Emanuel +Emerson +Emiliano +Emilio +Emmanuel +Enrique +Eric +Erick +Erik +Ernesto +Esteban +Ethan +Evan +Everett +Ezekiel +Ezra +Fabian +Felix +Fenton +Fernando +Finn +Fitz +Flick +Flint +Flip +Francis +Francisco +Frank +Frankie +Franklin +Fridge +Fulton +Gabriel +Gael +Gage +Gannon +Garret +Garrett +Gary +Gavin +George +Gerardo +Giovanni +Goddard +Godwin +Goodwin +Gordon +Grady +Graeme +Graham +Grandpa +Grant +Gratian +Grayson +Gregory +Grendel +Greyson +Griffin +Guillermo +Gunner +Gustavo +Han +Harrison +Harry +Hartley +Harvey +Hayden +Hector +Henderson +Henry +Holden +Homer +Horatio +Hudson +Huffie +Hugo +Hungry +Hunter +Ian +Irvine +Isaac +Isaiah +Isaias +Isiah +Ismael +Israel +Issac +Ivan +Izaiah +Jace +Jack +Jackson +Jacob +Jacoby +Jaden +Jadon +Jaiden +Jaime +Jake +Jakob +Jalen +Jamar +Jamari +Jamarion +James +Jameson +Jamie +Jamison +Janel +Jared +Jason +Jasper +Javier +Javon +Jaxon +Jaxson +Jay +Jayce +Jayden +Jaydon +Jaye +Jaylen +Jayne +Jayson +Jean-Luc +Jeb +Jed +Jeffrey +Jemmy +Jeremiah +Jeremy +Jermaine +Jerrie +Jerry +Jesse +Jesus +Jim +Jimmy +Joachim +Joaquin +Joe +Joel +Joey +Johan +John +Johnathan +Johnny +Jonah +Jonas +Jonathan +Jonathon +Jordan +Jorge +Jose +Joseph +Josh +Joshua +Josiah +Josue +Juan +Judah +Jude +Julian +Julio +Julius +Justice +Justin +Kade +Kaden +Kai +Kaiden +Kale +Kaleb +Kameron +Kane +Karson +Kayden +Keagan +Keaton +Keegan +Keith +Kellen +Kelvin +Kennard +Kenneth +Kevin +Keziah +Khalil +Kingston +Kobe +Kolton +Kristopher +Kyle +Kyler +Lance +Landen +Lando +Landon +Landyn +Lane +Lanny +Larry +Launce +Lawrence +Leland +Lennox +Lenny +Leo +Leonard +Leonardo +Leonel +Leroy +Levi +Liam +Lief +Lincoln +Linden +Linton +Logan +Lorde +Lorenzo +Loreto +Lou +Louis +Luca +Lucas +Luis +Lukas +Luke +Maddox +Malachi +Malcolm +Malik +Manley +Manuel +Marc +Marco +Marcos +Marcus +Mario +Marion +Mark +Marshall +Martin +Marvin +Mason +Mateo +Mathew +Matthew +Maurice +Mauricio +Max +Maximilian +Maximus +Maxwell +Maynard +Mekhi +Melvin +Melvyn +Micah +Michael +Micheal +Miguel +Mike +Miles +Milo +Milton +Mitchell +Moises +Montague +Monte +Monty +Morgan +Moses +Myles +Nasir +Nat +Nathan +Nathaniel +Nehemiah +Nelson +Nicholas +Nick +Nickolas +Nicolas +Nikolas +Noah +Noel +Nolan +Oliver +Omar +Opie +Orlando +Osbert +Osborn +Osborne +Oscar +Osmund +Oswald +Owen +Pablo +Paget +Parker +Patrick +Patton +Paul +Paxton +Payton +Pedro +Percival +Persh +Peter +Peyton +Philip +Phillip +Phoenix +Porter +Preston +Quentin +Quinn +Quinton +Rafael +Ramon +Randy +Rastus +Raul +Raymond +Rayner +Reece +Reed +Reese +Reid +Reuben +Reynard +Ricardo +Richard +Ricky +Riley +River +Robert +Roberto +Rocco +Rodger +Rodrigo +Roger +Roman +Romayne +Romeo +Ronald +Roscoe +Roswell +Rowan +Roy +Royce +Rube +Ruben +Russell +Rusty +Ryan +Ryder +Ryker +Rylan +Sal +Salvador +Sam +Samuel +Santiago +Saul +Sawyer +Scott +Scotty +Sean +Sebastian +Sergio +Seth +Seymour +Shane +Shaun +Shawn +Shiloh +Silas +Simon +Skyler +Sloan +Smoke +Solomon +Sorrel +Spencer +Spike +Stephen +Steven +Sybil +Syd +Talon +Tamsin +Tanner +Tate +Taylor +Tel +Terrell +Terry +Theodore +Thomas +Tim +Timothy +Titus +Todd +Tony +Travis +Trent +Trenton +Trevor +Trey +Trip +Tristan +Tristen +Triston +Troy +Tucker +Ty +Tye +Tyler +Tyson +Uland +Ulric +Uriel +Vaughn +Victor +Vince +Vincent +Vinny +Walker +Walter +Ward +Warner +Wayne +Wesley +Weston +Whitaker +William +Willy +Woodrow +Wyatt +Xander +Xavier +Yahir +Zachariah +Zachary +Zack +Zackary +Zander +Zane +Zayden +Zeke Zion \ No newline at end of file diff --git a/strings/names/golem.txt b/strings/names/golem.txt index a26da78b04..7cfcefa899 100644 --- a/strings/names/golem.txt +++ b/strings/names/golem.txt @@ -1,157 +1,157 @@ -Ablation -Alabaster -Alunite -Andesite -Anyhdrite -Basalt -Basin -Bauxite -Bedrock -Bismuth -Bismuthinite -Bituminous Coal -Borax -Boulder -Brimstone -Brittle -Calcite -Cassiterite -Cenozoic -Chalk -Chasm -Cheridite -Chert -Chromite -Cinnabar -Claystone -Coast -Cobaltite -Column -Conglomerate -Core -Crevasse -Crust -Cryolite -Crystal -Dacite -Diorite -Dolomite -Dolostone -Dragonforce -Earthflow -Epoch -Eutrophication -Fault -Flint -Foliation -Foreshock -Fossil -Gabbro -Galena -Garnierite -Geode -Geoge -Gneiss -Granite -Graphite -Gravel -Groove -Grotto -Gypsum -Hematite -Hornblende -Humus -Igneous -Ilmenite -Iron -Island -Jasper -Jet -Kaolinite -Kettle -Kimberlite -Komatiite -Landslide -Levee -Lignite -Limestone -Limonite -Luster -Madidite -Magnetite -Magnitude -Malachite -Mantle -Marble -Marcasite -Melange -Meme -Mica -Microcline -Migmatite -Mineral -Mountain -Mudstone -Obsidian -Olivine -Ore -Orpiment -Orthoclase -Outwash -Oxbow Lake -Oynx -Pahoehoe -Pebble -Pegmatite -Periclase -Petrified Wood -Phyllite -Pitchblende -Plate -Pothole -Puddingstone -Pyrite -Pyrolusite -Quake -Quarry -Quartz -Quartzite -Realgar -Reservoir -Rhyolite -Rock -Rock Salt -Rockfall -Rutile -Saltpeter -Sand -Sandstone -Satinspar -Schist -Sediment -Seismic -Selenite -Serpentine -Shale -Shore -Siltstone -Slag -Slate -Sphalerite -Stack -Stalactite -Stalagmite -Stibnite -Stone -Stress -Subduction -Sylvite -Talc -Tetrahedrite -Tidal -Trench -Valley -Volcano -Xenolith -Yardang -Zone +Ablation +Alabaster +Alunite +Andesite +Anyhdrite +Basalt +Basin +Bauxite +Bedrock +Bismuth +Bismuthinite +Bituminous Coal +Borax +Boulder +Brimstone +Brittle +Calcite +Cassiterite +Cenozoic +Chalk +Chasm +Cheridite +Chert +Chromite +Cinnabar +Claystone +Coast +Cobaltite +Column +Conglomerate +Core +Crevasse +Crust +Cryolite +Crystal +Dacite +Diorite +Dolomite +Dolostone +Dragonforce +Earthflow +Epoch +Eutrophication +Fault +Flint +Foliation +Foreshock +Fossil +Gabbro +Galena +Garnierite +Geode +Geoge +Gneiss +Granite +Graphite +Gravel +Groove +Grotto +Gypsum +Hematite +Hornblende +Humus +Igneous +Ilmenite +Iron +Island +Jasper +Jet +Kaolinite +Kettle +Kimberlite +Komatiite +Landslide +Levee +Lignite +Limestone +Limonite +Luster +Madidite +Magnetite +Magnitude +Malachite +Mantle +Marble +Marcasite +Melange +Meme +Mica +Microcline +Migmatite +Mineral +Mountain +Mudstone +Obsidian +Olivine +Ore +Orpiment +Orthoclase +Outwash +Oxbow Lake +Oynx +Pahoehoe +Pebble +Pegmatite +Periclase +Petrified Wood +Phyllite +Pitchblende +Plate +Pothole +Puddingstone +Pyrite +Pyrolusite +Quake +Quarry +Quartz +Quartzite +Realgar +Reservoir +Rhyolite +Rock +Rock Salt +Rockfall +Rutile +Saltpeter +Sand +Sandstone +Satinspar +Schist +Sediment +Seismic +Selenite +Serpentine +Shale +Shore +Siltstone +Slag +Slate +Sphalerite +Stack +Stalactite +Stalagmite +Stibnite +Stone +Stress +Subduction +Sylvite +Talc +Tetrahedrite +Tidal +Trench +Valley +Volcano +Xenolith +Yardang +Zone diff --git a/strings/names/last.txt b/strings/names/last.txt index b9769055e3..6796c7519e 100644 --- a/strings/names/last.txt +++ b/strings/names/last.txt @@ -1,570 +1,570 @@ -Ackerley -Adams -Addison -Agg -Aggley -Ahmed -Albright -Alekseev -Ali -Alice -Allen -Alliman -Altmann -Anderson -Andreev -Ann -Archibald -Armstrong -Ashbaugh -Atkinson -Atweeke -Aultman -Auman -Baer -Bailey -Baker -Barnes -Barrett -Bash -Bashline -Basinger -Baskett -Basmanoff -Batten -Baum -Baxter -Beach -Beail -Beck -Beedell -Begum -Bell -Benford -Bennett -Berkheimer -Best -Bickerson -Bicknell -Biery -Black -Blackburn -Blaine -Blessig -Bloise -Bluetenberger -Blyant -Bode -Bould -Bousum -Bowchiew -Boyer -Brandenburg -Bratton -Braun -Briggs -Brindle -Briner -Brinigh -Brooks -Brown -Bullard -Bunten -Burkett -Burns -Burris -Butterfill -Buttersworth -Buzzard -Byers -Bynum -Caldwell -Callison -Camp -Campbell -Carmichael -Carr -Carter -Catherina -Catleay -Cavalet -Chapman -Chauvin -Cherry -Christman -Christopher -Clark -Clarke -Clewett -Coates -Coldsmith -Collins -Compton -Conrad -Cook -Cooper -Costello -Cowart -Cowper -Cox -Cressman -Curry -Cypret -David -Davies -Davis -Dawkins -Day -Dean -Demuth -Dennis -Dickinson -Digson -Dimeling -Donkin -Draudy -Driggers -Dryfus -Dugmore -Duncan -Durstine -Earl -Easter -Echard -Eckhardstein -Edwards -Eggbert -Ehret -Elderson -Eliza -Elliott -Ellis -Enderly -Endsley -Evans -Ewing -Faqua -Faust -Fea -Feufer -Fiddler -Field -Fields -Finlay -Fischer -Fiscina -Fisher -Fitzgerald -Fleming -Flickinger -Focell -Foster -Franks -Fraser -Fryer -Fuchs -Fulton -Gadow -Gardner -Garland -Garneys -Garratt -Garrison -Gettemy -Gibson -Glover -Goebbles -Goodman -Graham -Gray -Green -Greenawalt -Greene -Greenwood -Gregory -Griffiths -Gronko -Guess -Hall -Hanford -Hardie -Harding -Hardy -Harris -Harrison -Harrold -Harrow -Harshman -Hastings -Hawker -Hawking -Hawkins -Hayhurst -Haynes -Heckendora -Hegarty -Henry -Hice -Highlands -Hill -Hincken -Hirleman -Hoenshell -Holdeman -Holmes -Hook -Hooker -Hoopengarner -Hoover -Houser -Houston -Howard -Howe -Huey -Hughes -Hujsak -Hunt -Hunter -Hussain -Hutton -Hynes -Ironmonger -Isaman -Isemann -Ivanov -Jackson -James -Jardine -Jenkins -Jenner -Jerome -Jesse -Jewell -Joghs -Johnson -Jones -Jowers -Joyce -Judge -Jyllian -Kadel -Kanaga -Kaur -Keener -Kelley -Kellogg -Kelly -Kemble -Kemerer -Keppel -Kepplinger -Khan -Kiefer -Kifer -Kimple -King -Kirkson -Knapenberger -Knapp -Koepple -Koster -Kuster -Kuznetsov -Laborde -Lacon -Lafortune -Langston -Larson -Lauffer -Laurenzi -Leach -Lee -Leech -Leichter -Leslie -Lester -Levett -Lewis -Lineman -Linton -Llora -Lloyd -Logue -Lombardi -Lord -Losey -Lowe -Lowstetter -Lucy -Ludwig -Maclagan -Magor -Marcotte -Margaret -Marriman -Marshall -Martins -Mary -Mason -Mathews -Matthews -Mcclymonds -Mccullough -Mccune -McDonald -McDonohugh -Mcfall -Mcintosh -Mckendrick -Mcloskey -Mcmullen -McShain -Mens -Merryman -Metzer -Meyers -Mikhaylov -Mildred -Miller -Millhouse -Mills -Milne -Mingle -Minnie -Mitchell -Moberly -Moon -Moore -Morgan -Morris -Mortland -Mosser -Mueller -Muggins -Mull -Muller -Murphy -Murray -Nash -Neely -Nehling -Newbern -Newton -Nicholas -Nickolson -Northey -Noton -Olphert -Oneal -Oppenheimer -Osteen -Osterweis -Osterwise -Otis -Overstreet -Owen -Owens -Palmer -Parker -Parkinson -Patel -Patterson -Paulson -Pavlov -Paynter -Pearsall -Pennington -Perkins -Pershing -Peters -Petrov -Pfeifer -Philips -Phillips -Picard -Pinney -Poehl -Poley -Polson -Potter -Powell -Power -Powers -Pratt -Prechtl -Prescott -Prevatt -Price -Priebe -Pritchard -Pycroft -Quinn -Quirin -Rader -Rahl -Ramos -Randolph -Ratcliff -Rathen -Rathens -Raub -Ray -Reade -Reichard -Reid -Reighner -Rhinehart -Richards -Richardson -Richter -Rifler -Riggle -Riker -Ringer -Roadman -Roberts -Robertson -Robinson -Roby -Rockwell -Rogers -Rohtin -Rose -Rosensteel -Rowley -Russell -Ryals -Sagan -Sanders -Sandford -Sandys -Sauter -Saylor -Schaeffer -Scherer -Schmidt -Schofield -Schrader -Scott -Sealis -Seelig -Seidner -Semenov -Shafer -Shaffer -Shaner -Shaw -Sheets -Shick -Shirey -Sholl -Shupe -Sidower -Siegrist -Simmons -Simpson -Singh -Skywalker -Sloan -Smail -Smirnov -Smith -Snyder -Sommer -Spock -Stafford -Stahl -Stainforth -Stall -Stamos -Stange -Staymates -Steele -Stephenson -Stern -Stewart -Stocker -Stone -Stough -Straub -Stroble -Stroh -Styles -Sullivan -Sulyard -Summy -Sutton -Swabey -Swarner -Sybilla -Taggart -Tanner -Taylor -Teagarden -Tedrow -Tennant -Thomas -Thomlinson -Thompson -Thomson -Thorley -Tilton -Tireman -Todd -Treeby -Trovato -Turner -Ulery -Ullman -Unk -Vader -Vanleer -Vasilyev -Waldron -Walker -Wallick -Ward -Wardle -Warren -Watson -Webb -Weeter -Weinstein -Weisgarber -Wells -Welty -Wentzel -Werner -Werry -Wheeler -Whirlow -White -Whiteman -Whittier -Wible -Wile -Wilkerson -Wilkinson -Willey -Williams -Williamson -Wilo -Wilson -Winton -Wise -Wolfe -Wolff -Wood -Woodward -Woodworth -Woolery -Woollard -Wright -Yeskey -Young -Zadovsky -Zalack -Zaun -Zeal -Zimmer +Ackerley +Adams +Addison +Agg +Aggley +Ahmed +Albright +Alekseev +Ali +Alice +Allen +Alliman +Altmann +Anderson +Andreev +Ann +Archibald +Armstrong +Ashbaugh +Atkinson +Atweeke +Aultman +Auman +Baer +Bailey +Baker +Barnes +Barrett +Bash +Bashline +Basinger +Baskett +Basmanoff +Batten +Baum +Baxter +Beach +Beail +Beck +Beedell +Begum +Bell +Benford +Bennett +Berkheimer +Best +Bickerson +Bicknell +Biery +Black +Blackburn +Blaine +Blessig +Bloise +Bluetenberger +Blyant +Bode +Bould +Bousum +Bowchiew +Boyer +Brandenburg +Bratton +Braun +Briggs +Brindle +Briner +Brinigh +Brooks +Brown +Bullard +Bunten +Burkett +Burns +Burris +Butterfill +Buttersworth +Buzzard +Byers +Bynum +Caldwell +Callison +Camp +Campbell +Carmichael +Carr +Carter +Catherina +Catleay +Cavalet +Chapman +Chauvin +Cherry +Christman +Christopher +Clark +Clarke +Clewett +Coates +Coldsmith +Collins +Compton +Conrad +Cook +Cooper +Costello +Cowart +Cowper +Cox +Cressman +Curry +Cypret +David +Davies +Davis +Dawkins +Day +Dean +Demuth +Dennis +Dickinson +Digson +Dimeling +Donkin +Draudy +Driggers +Dryfus +Dugmore +Duncan +Durstine +Earl +Easter +Echard +Eckhardstein +Edwards +Eggbert +Ehret +Elderson +Eliza +Elliott +Ellis +Enderly +Endsley +Evans +Ewing +Faqua +Faust +Fea +Feufer +Fiddler +Field +Fields +Finlay +Fischer +Fiscina +Fisher +Fitzgerald +Fleming +Flickinger +Focell +Foster +Franks +Fraser +Fryer +Fuchs +Fulton +Gadow +Gardner +Garland +Garneys +Garratt +Garrison +Gettemy +Gibson +Glover +Goebbles +Goodman +Graham +Gray +Green +Greenawalt +Greene +Greenwood +Gregory +Griffiths +Gronko +Guess +Hall +Hanford +Hardie +Harding +Hardy +Harris +Harrison +Harrold +Harrow +Harshman +Hastings +Hawker +Hawking +Hawkins +Hayhurst +Haynes +Heckendora +Hegarty +Henry +Hice +Highlands +Hill +Hincken +Hirleman +Hoenshell +Holdeman +Holmes +Hook +Hooker +Hoopengarner +Hoover +Houser +Houston +Howard +Howe +Huey +Hughes +Hujsak +Hunt +Hunter +Hussain +Hutton +Hynes +Ironmonger +Isaman +Isemann +Ivanov +Jackson +James +Jardine +Jenkins +Jenner +Jerome +Jesse +Jewell +Joghs +Johnson +Jones +Jowers +Joyce +Judge +Jyllian +Kadel +Kanaga +Kaur +Keener +Kelley +Kellogg +Kelly +Kemble +Kemerer +Keppel +Kepplinger +Khan +Kiefer +Kifer +Kimple +King +Kirkson +Knapenberger +Knapp +Koepple +Koster +Kuster +Kuznetsov +Laborde +Lacon +Lafortune +Langston +Larson +Lauffer +Laurenzi +Leach +Lee +Leech +Leichter +Leslie +Lester +Levett +Lewis +Lineman +Linton +Llora +Lloyd +Logue +Lombardi +Lord +Losey +Lowe +Lowstetter +Lucy +Ludwig +Maclagan +Magor +Marcotte +Margaret +Marriman +Marshall +Martins +Mary +Mason +Mathews +Matthews +Mcclymonds +Mccullough +Mccune +McDonald +McDonohugh +Mcfall +Mcintosh +Mckendrick +Mcloskey +Mcmullen +McShain +Mens +Merryman +Metzer +Meyers +Mikhaylov +Mildred +Miller +Millhouse +Mills +Milne +Mingle +Minnie +Mitchell +Moberly +Moon +Moore +Morgan +Morris +Mortland +Mosser +Mueller +Muggins +Mull +Muller +Murphy +Murray +Nash +Neely +Nehling +Newbern +Newton +Nicholas +Nickolson +Northey +Noton +Olphert +Oneal +Oppenheimer +Osteen +Osterweis +Osterwise +Otis +Overstreet +Owen +Owens +Palmer +Parker +Parkinson +Patel +Patterson +Paulson +Pavlov +Paynter +Pearsall +Pennington +Perkins +Pershing +Peters +Petrov +Pfeifer +Philips +Phillips +Picard +Pinney +Poehl +Poley +Polson +Potter +Powell +Power +Powers +Pratt +Prechtl +Prescott +Prevatt +Price +Priebe +Pritchard +Pycroft +Quinn +Quirin +Rader +Rahl +Ramos +Randolph +Ratcliff +Rathen +Rathens +Raub +Ray +Reade +Reichard +Reid +Reighner +Rhinehart +Richards +Richardson +Richter +Rifler +Riggle +Riker +Ringer +Roadman +Roberts +Robertson +Robinson +Roby +Rockwell +Rogers +Rohtin +Rose +Rosensteel +Rowley +Russell +Ryals +Sagan +Sanders +Sandford +Sandys +Sauter +Saylor +Schaeffer +Scherer +Schmidt +Schofield +Schrader +Scott +Sealis +Seelig +Seidner +Semenov +Shafer +Shaffer +Shaner +Shaw +Sheets +Shick +Shirey +Sholl +Shupe +Sidower +Siegrist +Simmons +Simpson +Singh +Skywalker +Sloan +Smail +Smirnov +Smith +Snyder +Sommer +Spock +Stafford +Stahl +Stainforth +Stall +Stamos +Stange +Staymates +Steele +Stephenson +Stern +Stewart +Stocker +Stone +Stough +Straub +Stroble +Stroh +Styles +Sullivan +Sulyard +Summy +Sutton +Swabey +Swarner +Sybilla +Taggart +Tanner +Taylor +Teagarden +Tedrow +Tennant +Thomas +Thomlinson +Thompson +Thomson +Thorley +Tilton +Tireman +Todd +Treeby +Trovato +Turner +Ulery +Ullman +Unk +Vader +Vanleer +Vasilyev +Waldron +Walker +Wallick +Ward +Wardle +Warren +Watson +Webb +Weeter +Weinstein +Weisgarber +Wells +Welty +Wentzel +Werner +Werry +Wheeler +Whirlow +White +Whiteman +Whittier +Wible +Wile +Wilkerson +Wilkinson +Willey +Williams +Williamson +Wilo +Wilson +Winton +Wise +Wolfe +Wolff +Wood +Woodward +Woodworth +Woolery +Woollard +Wright +Yeskey +Young +Zadovsky +Zalack +Zaun +Zeal +Zimmer Zoucks \ No newline at end of file diff --git a/strings/names/lizard_female.txt b/strings/names/lizard_female.txt index cf588df9b1..078ee7bcff 100644 --- a/strings/names/lizard_female.txt +++ b/strings/names/lizard_female.txt @@ -1,163 +1,163 @@ -Adzi -Ah -Ahaht -Ajim -Akeenus -Akish -Akishan -Aleeto -Am -Amussa -An -Anozz -Asheemar -Asska -Awas -Azala -Azbai -Azeez -Azum -Banalz -Bar -Baseenar -Beek -Beekatan -Beekus -Beela -Beelei -Beem -Beewos -Bejeen -Ber -Betzi -Bishalus -Bokeeus -Bur -Bura -Chalaree -Chana -Chanil -Chee -Cheesh -Chimatei -Chirurgeon -Cholasistu -Chuna -Churasu -Crath -Dar -Deeja -Deesei -Deesh -Deetsan -Deetwos -Dooka -Druja -Eepa -Ei -Eix -El -Ereel -Eutei -Gai -Gih -Gilm -Gish -Go -Hal -Hul -Ja -Jaseen -Jasuda -Jeed -Jeen -Kajul -Kal -Kasa -Keel -Keerava -Kiurz -Kud -La -Lee -Lei -Lifts -Liurz -Lurasha -Ma -Mach -Marz -Meedish -Meeh -Meema -Meen -Meena -Meenus -Meerana -Meesei -Meeus -Mei -Milah -Mim -Mota -Mudeska -Muz -Na -Nakuma -Nam -Nassa -Natoo -Neesha -Neetizei -Neetra -Neeus -Niima -Numeen -Nuralg -Nush -Ocheeva -Okur -Olank -On -Onasha -Osheeka -Pasha -Ra -Rana -Raniur -Ree -Reesa -Rei -Sa -Saak -Sanax -Seeba -Seed -Seen -Shah -Shahvee -Shaleez -Shatalg -Sheer -Shei -Sigerthe -Skaleel -Sudie -Tail -Tar -Tasha -Tei -Telixith -Tumma -Veek -Wan -Wazei -Weedum -Weewish -Witseidutsei -Wuja -Wujeeta -Wusha -Xil -Zish +Adzi +Ah +Ahaht +Ajim +Akeenus +Akish +Akishan +Aleeto +Am +Amussa +An +Anozz +Asheemar +Asska +Awas +Azala +Azbai +Azeez +Azum +Banalz +Bar +Baseenar +Beek +Beekatan +Beekus +Beela +Beelei +Beem +Beewos +Bejeen +Ber +Betzi +Bishalus +Bokeeus +Bur +Bura +Chalaree +Chana +Chanil +Chee +Cheesh +Chimatei +Chirurgeon +Cholasistu +Chuna +Churasu +Crath +Dar +Deeja +Deesei +Deesh +Deetsan +Deetwos +Dooka +Druja +Eepa +Ei +Eix +El +Ereel +Eutei +Gai +Gih +Gilm +Gish +Go +Hal +Hul +Ja +Jaseen +Jasuda +Jeed +Jeen +Kajul +Kal +Kasa +Keel +Keerava +Kiurz +Kud +La +Lee +Lei +Lifts +Liurz +Lurasha +Ma +Mach +Marz +Meedish +Meeh +Meema +Meen +Meena +Meenus +Meerana +Meesei +Meeus +Mei +Milah +Mim +Mota +Mudeska +Muz +Na +Nakuma +Nam +Nassa +Natoo +Neesha +Neetizei +Neetra +Neeus +Niima +Numeen +Nuralg +Nush +Ocheeva +Okur +Olank +On +Onasha +Osheeka +Pasha +Ra +Rana +Raniur +Ree +Reesa +Rei +Sa +Saak +Sanax +Seeba +Seed +Seen +Shah +Shahvee +Shaleez +Shatalg +Sheer +Shei +Sigerthe +Skaleel +Sudie +Tail +Tar +Tasha +Tei +Telixith +Tumma +Veek +Wan +Wazei +Weedum +Weewish +Witseidutsei +Wuja +Wujeeta +Wusha +Xil +Zish Zollassa \ No newline at end of file diff --git a/strings/names/lizard_male.txt b/strings/names/lizard_male.txt index 437d124b50..f14f1705ba 100644 --- a/strings/names/lizard_male.txt +++ b/strings/names/lizard_male.txt @@ -1,328 +1,328 @@ -Abijoo -Ah -Ajum -Am -Amusei -An -Anoo -Aojee -Asum -Az -Azeel -Azinar -Azjai -Baar -Banka -Bar -Barnaxi -Batar -Batuus -Beem -Beshnus -Betu -Bex -Bijot -Bimee -Binyaar -Bosekus -Brand -Bun -Bunach -Bunish -Busheeus -Buujhan -Chakuk -Chalish -Chalureel -Chath -Chee -Cheedal -Chilwir -Chitakus -Chiwish -Chulz -Chuna -Da -Dakee -Dan -Dar -Darasken -DarJee -Debameel -Deed -Deegeeta -Deeh -Deekonus -Deekum -Deekus -Deerkaza -Deetum -Demeepa -Depasa -Derkeethus -Deroh -Dezanu -Dreet -Drumarz -Dum -Dunaxith -Effe -Ei -Eidu -Eius -Eiuus -Eix -Eleedal -Er -Esqoo -Etaku -Gah -Gajul -Gam -Geeh -Geel -Geem -Geh -Gei -Gih -Gin -Goh -Gulum -Haj -Han -Haran -Hareeya -Hathei -Heedul -Heem -Hei -Heir -Hixeeh -Huleeya -Huzei -Ilas -Im -Inee -Itan -J'Ram -Ja -Jah -Jaraleet -Jaree -Jas -Jasaiin -Jaseen -Jat -Jee -Jeela -Jeelius -Jeelus -Jeen -Jeer -Jeetum -Jei -Jilux -Jin -Jon -Jul -Julan -Junal -Jush -Juunei -Kai -Kajin -Kamax -Kas -Keema -Keer -Keerasa -Kepanuu -Kia -Kiameed -Kilaya -Kiurz -Kur -Kuz -La -Lah -Lai -Lan -Lara -Leem -Lei -Loh -Lotash -Luh -Lurz -Luteema -Maahi -Madesi -Maheelius -Mahei -Maht -Malz -Marz -Mathei -Maxath -Meej -Meejapa -Meensuda -Meer -Mema -Mere -Metaku -Miharil -Milos -Miun -Mobareed -Mohimeem -Mopakuz -Motuu -Mujeen -Muranatepa -Mush -Muz -Na -Napetui -Nazuux -Nebutil -Neeti -Neetinei -Neetrenaza -Neetzara -Neeus -Nema -Neposh -Netapatuu -Nexith -Nodeeus -Nomu -Nosaleeth -Nowajeem -Noyei -Nulaz -Nur -Obaxith -Okan -Okaw -Okeeh -Oleed -Oleen -Olik -Olink -Onuja -Onurai -Opatieel -Otumeel -Owai -Pachat -Pacheeva -Pad -Paduxi -Pajeen -Parash -Peeradeeh -Pejureel -Petaxai -Pideelus -Pimaxi -Pojeel -Ra -Radithax -Raj -Rareel -Rasha -Redieeus -Ree -Reeh -Reemukeeus -Reenum -Reesa -Reet -Reezal -Resari -Riker -Ru -Rupah -Sakeepa -Sakeeus -Sakka -Saliith -Sar -Schiavas -Seek -Seewul -Sei -Sejaijilax -Shakiis -Shehs -Shei -Silm -Skee -Skeetul -Sureeus -Ta -Taeed -Tah -Taleel -Talen -Tan -Tanaka -Tanan -Tee -Teeba -Teegla -Teeka -Teekeeus -Teemeeta -Teeus -Tehat -Tei -Teinaava -Teineeja -Terezeeus -Tikaasi -Tim -Topeeth -Topith -Tsleeixth -Tul -Tulm -Tun -Ukatsei -Ukawei -Ula -Ulawa -Ullis -Usha -Usheeja -Utadeek -Utamukeeus -Utatul -Uxith -Vara -Veekas -Veenaza -Veezara -Vistha -Vudeelal -Wanan -Wanum -Wayiteh -Weebam -Weeltul -Weer -Wih -Wud -Wuleen -Wulm -Wumeek -Xal -Xemo -Yinz -Yinz'r -Zaw -Ze -Zeen -Zeeus +Abijoo +Ah +Ajum +Am +Amusei +An +Anoo +Aojee +Asum +Az +Azeel +Azinar +Azjai +Baar +Banka +Bar +Barnaxi +Batar +Batuus +Beem +Beshnus +Betu +Bex +Bijot +Bimee +Binyaar +Bosekus +Brand +Bun +Bunach +Bunish +Busheeus +Buujhan +Chakuk +Chalish +Chalureel +Chath +Chee +Cheedal +Chilwir +Chitakus +Chiwish +Chulz +Chuna +Da +Dakee +Dan +Dar +Darasken +DarJee +Debameel +Deed +Deegeeta +Deeh +Deekonus +Deekum +Deekus +Deerkaza +Deetum +Demeepa +Depasa +Derkeethus +Deroh +Dezanu +Dreet +Drumarz +Dum +Dunaxith +Effe +Ei +Eidu +Eius +Eiuus +Eix +Eleedal +Er +Esqoo +Etaku +Gah +Gajul +Gam +Geeh +Geel +Geem +Geh +Gei +Gih +Gin +Goh +Gulum +Haj +Han +Haran +Hareeya +Hathei +Heedul +Heem +Hei +Heir +Hixeeh +Huleeya +Huzei +Ilas +Im +Inee +Itan +J'Ram +Ja +Jah +Jaraleet +Jaree +Jas +Jasaiin +Jaseen +Jat +Jee +Jeela +Jeelius +Jeelus +Jeen +Jeer +Jeetum +Jei +Jilux +Jin +Jon +Jul +Julan +Junal +Jush +Juunei +Kai +Kajin +Kamax +Kas +Keema +Keer +Keerasa +Kepanuu +Kia +Kiameed +Kilaya +Kiurz +Kur +Kuz +La +Lah +Lai +Lan +Lara +Leem +Lei +Loh +Lotash +Luh +Lurz +Luteema +Maahi +Madesi +Maheelius +Mahei +Maht +Malz +Marz +Mathei +Maxath +Meej +Meejapa +Meensuda +Meer +Mema +Mere +Metaku +Miharil +Milos +Miun +Mobareed +Mohimeem +Mopakuz +Motuu +Mujeen +Muranatepa +Mush +Muz +Na +Napetui +Nazuux +Nebutil +Neeti +Neetinei +Neetrenaza +Neetzara +Neeus +Nema +Neposh +Netapatuu +Nexith +Nodeeus +Nomu +Nosaleeth +Nowajeem +Noyei +Nulaz +Nur +Obaxith +Okan +Okaw +Okeeh +Oleed +Oleen +Olik +Olink +Onuja +Onurai +Opatieel +Otumeel +Owai +Pachat +Pacheeva +Pad +Paduxi +Pajeen +Parash +Peeradeeh +Pejureel +Petaxai +Pideelus +Pimaxi +Pojeel +Ra +Radithax +Raj +Rareel +Rasha +Redieeus +Ree +Reeh +Reemukeeus +Reenum +Reesa +Reet +Reezal +Resari +Riker +Ru +Rupah +Sakeepa +Sakeeus +Sakka +Saliith +Sar +Schiavas +Seek +Seewul +Sei +Sejaijilax +Shakiis +Shehs +Shei +Silm +Skee +Skeetul +Sureeus +Ta +Taeed +Tah +Taleel +Talen +Tan +Tanaka +Tanan +Tee +Teeba +Teegla +Teeka +Teekeeus +Teemeeta +Teeus +Tehat +Tei +Teinaava +Teineeja +Terezeeus +Tikaasi +Tim +Topeeth +Topith +Tsleeixth +Tul +Tulm +Tun +Ukatsei +Ukawei +Ula +Ulawa +Ullis +Usha +Usheeja +Utadeek +Utamukeeus +Utatul +Uxith +Vara +Veekas +Veenaza +Veezara +Vistha +Vudeelal +Wanan +Wanum +Wayiteh +Weebam +Weeltul +Weer +Wih +Wud +Wuleen +Wulm +Wumeek +Xal +Xemo +Yinz +Yinz'r +Zaw +Ze +Zeen +Zeeus Zish \ No newline at end of file diff --git a/strings/names/mime.txt b/strings/names/mime.txt index 094987da9d..989cd6f300 100644 --- a/strings/names/mime.txt +++ b/strings/names/mime.txt @@ -1,32 +1,32 @@ -Church Mouse -Hush Foot -Invisible Man -Lemon Mime -Marcel -Marcel Mime -Master-Mime -Mime -Mr Beret -Mr Mime -Mr Mute -Mute -Omerta -Oui Oui -Pantomime -Quiet -Quiet Riot -See Through -Silence -Silencio -Silent Knight -Silent Majority -Silent Night -Silent Sorrow -Silent Step -Silent Mouse -The Unspeakable -Transparency -Unspeakable -Untouchable -Wall Runner -White Face +Church Mouse +Hush Foot +Invisible Man +Lemon Mime +Marcel +Marcel Mime +Master-Mime +Mime +Mr Beret +Mr Mime +Mr Mute +Mute +Omerta +Oui Oui +Pantomime +Quiet +Quiet Riot +See Through +Silence +Silencio +Silent Knight +Silent Majority +Silent Night +Silent Sorrow +Silent Step +Silent Mouse +The Unspeakable +Transparency +Unspeakable +Untouchable +Wall Runner +White Face diff --git a/strings/names/ninjaname.txt b/strings/names/ninjaname.txt index fa0d0f1094..eb470493fa 100644 --- a/strings/names/ninjaname.txt +++ b/strings/names/ninjaname.txt @@ -1,44 +1,44 @@ -Aria -Baki -Blood -Bro -Cyrax -Daemon -Death -Donatello -Eater -Ermac -Fox -Goemon -Hanzo -Hayabusa -Hazuki -Hero -Hien -Hiro -Hiryu -Iga -Koga -Leonardo -McAwesome -McNinja -Michaelangelo -Midnight -Null -Ogre -Phantom -Raiden -Rain -Raphael -Ryu -Saibot -Samurai -Sarutobi -Scorpion -Seven -Shadow -Shredder -Smoke -Splinter -Throat +Aria +Baki +Blood +Bro +Cyrax +Daemon +Death +Donatello +Eater +Ermac +Fox +Goemon +Hanzo +Hayabusa +Hazuki +Hero +Hien +Hiro +Hiryu +Iga +Koga +Leonardo +McAwesome +McNinja +Michaelangelo +Midnight +Null +Ogre +Phantom +Raiden +Rain +Raphael +Ryu +Saibot +Samurai +Sarutobi +Scorpion +Seven +Shadow +Shredder +Smoke +Splinter +Throat Zero \ No newline at end of file diff --git a/strings/names/ninjatitle.txt b/strings/names/ninjatitle.txt index 41c5b338ba..f9776f56fe 100644 --- a/strings/names/ninjatitle.txt +++ b/strings/names/ninjatitle.txt @@ -1,46 +1,46 @@ -Agile -Assassin -Awesome -Black -Crimson -Cruel -Deep -Dr -Dragon -Ender -Grandmaster -Grappler -Gray -Hunter -Initiate -Killer -Liquid -Master -Merciful -Merciless -Nickel -Night -Nightshade -Ninja -Noob -Orphaner -Quick -Remorseless -Rogue -Sensei -Shinobi -Silencing -Silent -Silver -Singing -Slayer -Snake -Solid -Solidus -Stalker -Steel -Strider -Striker -Swift -Ulimate +Agile +Assassin +Awesome +Black +Crimson +Cruel +Deep +Dr +Dragon +Ender +Grandmaster +Grappler +Gray +Hunter +Initiate +Killer +Liquid +Master +Merciful +Merciless +Nickel +Night +Nightshade +Ninja +Noob +Orphaner +Quick +Remorseless +Rogue +Sensei +Shinobi +Silencing +Silent +Silver +Singing +Slayer +Snake +Solid +Solidus +Stalker +Steel +Strider +Striker +Swift +Ulimate Widower \ No newline at end of file diff --git a/strings/names/plasmaman.txt b/strings/names/plasmaman.txt index eb5f8b786c..8cbfc00837 100644 --- a/strings/names/plasmaman.txt +++ b/strings/names/plasmaman.txt @@ -1,118 +1,118 @@ -Actinium -Aluminium -Americium -Antimony -Argon -Arsenic -Astatine -Barium -Berkelium -Beryllium -Bismuth -Bohrium -Boron -Bromine -Cadmium -Caesium -Calcium -Californium -Carbon -Cerium -Chlorine -Chromium -Cobalt -Copernicium -Copper -Curium -Darmstadtium -Dubnium -Dysprosium -Einsteinium -Erbium -Europium -Fermium -Flerovium -Fluorine -Francium -Gadolinium -Gallium -Germanium -Gold -Hafnium -Hassium -Helium -Holmium -Hydrogen -Indium -Iodine -Iridium -Iron -Krypton -Lanthanum -Lawrencium -Lead -Lithium -Livermorium -Lutetium -Magnesium -Manganese -Meitnerium -Mendelevium -Mercury -Molybdenum -Moscovium -Neodymium -Neon -Neptunium -Nickel -Nihonium -Niobium -Nitrogen -Nobelium -Oganesson -Osmium -Oxygen -Palladium -Phosphorus -Platinum -Plutonium -Polonium -Potassium -Praseodymium -Promethium -Protactinium -Radium -Radon -Rhenium -Rhodium -Roentgenium -Rubidium -Ruthenium -Rutherfordium -Samarium -Scandium -Seaborgium -Selenium -Silicon -Silver -Sodium -Strontium -Sulfur -Tantalum -Technetium -Tellurium -Tennessine -Terbium -Thallium -Thorium -Thulium -Tin -Titanium -Tungsten -Uranium -Vanadium -Xenon -Ytterbium -Yttrium -Zinc +Actinium +Aluminium +Americium +Antimony +Argon +Arsenic +Astatine +Barium +Berkelium +Beryllium +Bismuth +Bohrium +Boron +Bromine +Cadmium +Caesium +Calcium +Californium +Carbon +Cerium +Chlorine +Chromium +Cobalt +Copernicium +Copper +Curium +Darmstadtium +Dubnium +Dysprosium +Einsteinium +Erbium +Europium +Fermium +Flerovium +Fluorine +Francium +Gadolinium +Gallium +Germanium +Gold +Hafnium +Hassium +Helium +Holmium +Hydrogen +Indium +Iodine +Iridium +Iron +Krypton +Lanthanum +Lawrencium +Lead +Lithium +Livermorium +Lutetium +Magnesium +Manganese +Meitnerium +Mendelevium +Mercury +Molybdenum +Moscovium +Neodymium +Neon +Neptunium +Nickel +Nihonium +Niobium +Nitrogen +Nobelium +Oganesson +Osmium +Oxygen +Palladium +Phosphorus +Platinum +Plutonium +Polonium +Potassium +Praseodymium +Promethium +Protactinium +Radium +Radon +Rhenium +Rhodium +Roentgenium +Rubidium +Ruthenium +Rutherfordium +Samarium +Scandium +Seaborgium +Selenium +Silicon +Silver +Sodium +Strontium +Sulfur +Tantalum +Technetium +Tellurium +Tennessine +Terbium +Thallium +Thorium +Thulium +Tin +Titanium +Tungsten +Uranium +Vanadium +Xenon +Ytterbium +Yttrium +Zinc Zirconium \ No newline at end of file diff --git a/strings/names/posibrain.txt b/strings/names/posibrain.txt index 119632bd81..ed8a186fd4 100644 --- a/strings/names/posibrain.txt +++ b/strings/names/posibrain.txt @@ -1,47 +1,47 @@ -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 +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 CYBR \ No newline at end of file diff --git a/strings/names/verbs.txt b/strings/names/verbs.txt index 17bc127fd5..fc90f89e40 100644 --- a/strings/names/verbs.txt +++ b/strings/names/verbs.txt @@ -1,632 +1,632 @@ -accept -add -admire -admit -advise -afford -agree -alert -allow -amuse -analyse -announce -annoy -answer -apologise -appear -applaud -appreciate -approve -argue -arrange -arrest -arrive -ask -attach -attack -attempt -attend -attract -avoid -back -bake -balance -ban -bang -bare -bat -bathe -battle -beam -beg -behave -belong -bleach -bless -blind -blink -blot -blush -boast -boil -bolt -bomb -book -bore -borrow -bounce -bow -box -brake -branch -breathe -bruise -brush -bubble -bump -burn -bury -buzz -calculate -call -camp -care -carry -carve -cause -challenge -change -charge -chase -cheat -check -cheer -chew -choke -chop -claim -clap -clean -clear -clip -close -coach -coil -collect -colour -comb -command -communicate -compare -compete -complain -complete -concentrate -concern -confess -confuse -connect -consider -consist -contain -continue -copy -correct -cough -count -cover -crack -crash -crawl -cross -crush -cry -cure -curl -curve -cycle -dam -damage -dance -dare -decay -deceive -decide -decorate -delay -delight -deliver -depend -describe -desert -deserve -destroy -detect -develop -disagree -disappear -disapprove -disarm -discover -dislike -divide -double -doubt -drag -drain -dream -dress -drip -drop -drown -drum -dry -dust -earn -educate -embarrass -employ -empty -encourage -end -enjoy -enter -entertain -escape -examine -excite -excuse -exercise -exist -expand -expect -explain -explode -extend -face -fade -fail -fancy -fasten -fax -fear -fence -fetch -file -fill -film -fire -fit -fix -flap -flash -float -flood -flow -flower -fold -follow -fool -force -form -found -frame -frighten -fry -gather -gaze -glow -glue -grab -grate -grease -greet -grin -grip -groan -guarantee -guard -guess -guide -hammer -hand -handle -hang -happen -harass -harm -hate -haunt -head -heal -heap -heat -help -hook -hop -hope -hover -hug -hum -hunt -hurry -identify -ignore -imagine -impress -improve -include -increase -influence -inform -inject -injure -instruct -intend -interest -interfere -interrupt -introduce -invent -invite -irritate -itch -jail -jam -jog -join -joke -judge -juggle -jump -kick -kill -kiss -kneel -knit -knock -knot -label -land -last -laugh -launch -learn -level -license -lick -lie -lighten -like -list -listen -live -load -lock -long -look -love -man -manage -march -mark -marry -match -mate -matter -measure -meddle -melt -memorise -mend -messup -milk -mine -miss -mix -moan -moor -mourn -move -muddle -mug -multiply -murder -nail -name -need -nest -nod -note -notice -number -obey -object -observe -obtain -occur -offend -offer -open -order -overflow -owe -own -pack -paddle -paint -park -part -pass -paste -pat -pause -peck -pedal -peel -peep -perform -permit -phone -pick -pinch -pine -place -plan -plant -play -please -plug -point -poke -polish -pop -possess -post -pour -practise -pray -preach -precede -prefer -prepare -present -preserve -press -pretend -prevent -prick -print -produce -program -promise -protect -provide -pull -pump -punch -puncture -punish -push -question -queue -race -radiate -rain -raise -reach -realise -receive -recognise -record -reduce -reflect -refuse -regret -reign -reject -rejoice -relax -release -rely -remain -remember -remind -remove -repair -repeat -replace -reply -report -reproduce -request -rescue -retire -return -rhyme -rinse -risk -rob -rock -roll -rot -rub -ruin -rule -rush -sack -sail -satisfy -save -saw -scare -scatter -scold -scorch -scrape -scratch -scream -screw -scribble -scrub -seal -search -separate -serve -settle -shade -share -shave -shelter -shiver -shock -shop -shrug -sigh -sign -signal -sin -sip -ski -skip -slap -slip -slow -smash -smell -smile -smoke -snatch -sneeze -sniff -snore -snow -soak -soothe -sound -spare -spark -sparkle -spell -spill -spoil -spot -spray -sprout -squash -squeak -squeal -squeeze -stain -stamp -stare -start -stay -steer -step -stir -stitch -stop -store -strap -strengthen -stretch -strip -stroke -stuff -subtract -succeed -suck -suffer -suggest -suit -supply -support -suppose -surprise -surround -suspect -suspend -switch -talk -tame -tap -taste -tease -telephone -tempt -terrify -test -thank -thaw -tick -tickle -tie -time -tip -tire -touch -tour -tow -trace -trade -train -transport -trap -travel -treat -tremble -trick -trip -trot -trouble -trust -try -tug -tumble -turn -twist -type -undress -unfasten -unite -unlock -unpack -untidy -use -vanish -visit -wail -wait -walk -wander -want -warm -warn -wash -waste -watch -water -wave -weigh -welcome -whine -whip -whirl -whisper -whistle -wink -wipe -wish -wobble -wonder -work -worry -wrap -wreck -wrestle -wriggle -yawn -yell -zip +accept +add +admire +admit +advise +afford +agree +alert +allow +amuse +analyse +announce +annoy +answer +apologise +appear +applaud +appreciate +approve +argue +arrange +arrest +arrive +ask +attach +attack +attempt +attend +attract +avoid +back +bake +balance +ban +bang +bare +bat +bathe +battle +beam +beg +behave +belong +bleach +bless +blind +blink +blot +blush +boast +boil +bolt +bomb +book +bore +borrow +bounce +bow +box +brake +branch +breathe +bruise +brush +bubble +bump +burn +bury +buzz +calculate +call +camp +care +carry +carve +cause +challenge +change +charge +chase +cheat +check +cheer +chew +choke +chop +claim +clap +clean +clear +clip +close +coach +coil +collect +colour +comb +command +communicate +compare +compete +complain +complete +concentrate +concern +confess +confuse +connect +consider +consist +contain +continue +copy +correct +cough +count +cover +crack +crash +crawl +cross +crush +cry +cure +curl +curve +cycle +dam +damage +dance +dare +decay +deceive +decide +decorate +delay +delight +deliver +depend +describe +desert +deserve +destroy +detect +develop +disagree +disappear +disapprove +disarm +discover +dislike +divide +double +doubt +drag +drain +dream +dress +drip +drop +drown +drum +dry +dust +earn +educate +embarrass +employ +empty +encourage +end +enjoy +enter +entertain +escape +examine +excite +excuse +exercise +exist +expand +expect +explain +explode +extend +face +fade +fail +fancy +fasten +fax +fear +fence +fetch +file +fill +film +fire +fit +fix +flap +flash +float +flood +flow +flower +fold +follow +fool +force +form +found +frame +frighten +fry +gather +gaze +glow +glue +grab +grate +grease +greet +grin +grip +groan +guarantee +guard +guess +guide +hammer +hand +handle +hang +happen +harass +harm +hate +haunt +head +heal +heap +heat +help +hook +hop +hope +hover +hug +hum +hunt +hurry +identify +ignore +imagine +impress +improve +include +increase +influence +inform +inject +injure +instruct +intend +interest +interfere +interrupt +introduce +invent +invite +irritate +itch +jail +jam +jog +join +joke +judge +juggle +jump +kick +kill +kiss +kneel +knit +knock +knot +label +land +last +laugh +launch +learn +level +license +lick +lie +lighten +like +list +listen +live +load +lock +long +look +love +man +manage +march +mark +marry +match +mate +matter +measure +meddle +melt +memorise +mend +messup +milk +mine +miss +mix +moan +moor +mourn +move +muddle +mug +multiply +murder +nail +name +need +nest +nod +note +notice +number +obey +object +observe +obtain +occur +offend +offer +open +order +overflow +owe +own +pack +paddle +paint +park +part +pass +paste +pat +pause +peck +pedal +peel +peep +perform +permit +phone +pick +pinch +pine +place +plan +plant +play +please +plug +point +poke +polish +pop +possess +post +pour +practise +pray +preach +precede +prefer +prepare +present +preserve +press +pretend +prevent +prick +print +produce +program +promise +protect +provide +pull +pump +punch +puncture +punish +push +question +queue +race +radiate +rain +raise +reach +realise +receive +recognise +record +reduce +reflect +refuse +regret +reign +reject +rejoice +relax +release +rely +remain +remember +remind +remove +repair +repeat +replace +reply +report +reproduce +request +rescue +retire +return +rhyme +rinse +risk +rob +rock +roll +rot +rub +ruin +rule +rush +sack +sail +satisfy +save +saw +scare +scatter +scold +scorch +scrape +scratch +scream +screw +scribble +scrub +seal +search +separate +serve +settle +shade +share +shave +shelter +shiver +shock +shop +shrug +sigh +sign +signal +sin +sip +ski +skip +slap +slip +slow +smash +smell +smile +smoke +snatch +sneeze +sniff +snore +snow +soak +soothe +sound +spare +spark +sparkle +spell +spill +spoil +spot +spray +sprout +squash +squeak +squeal +squeeze +stain +stamp +stare +start +stay +steer +step +stir +stitch +stop +store +strap +strengthen +stretch +strip +stroke +stuff +subtract +succeed +suck +suffer +suggest +suit +supply +support +suppose +surprise +surround +suspect +suspend +switch +talk +tame +tap +taste +tease +telephone +tempt +terrify +test +thank +thaw +tick +tickle +tie +time +tip +tire +touch +tour +tow +trace +trade +train +transport +trap +travel +treat +tremble +trick +trip +trot +trouble +trust +try +tug +tumble +turn +twist +type +undress +unfasten +unite +unlock +unpack +untidy +use +vanish +visit +wail +wait +walk +wander +want +warm +warn +wash +waste +watch +water +wave +weigh +welcome +whine +whip +whirl +whisper +whistle +wink +wipe +wish +wobble +wonder +work +worry +wrap +wreck +wrestle +wriggle +yawn +yell +zip zoom \ No newline at end of file diff --git a/strings/names/wizardfirst.txt b/strings/names/wizardfirst.txt index f1e9a10a58..13dc68c6bd 100644 --- a/strings/names/wizardfirst.txt +++ b/strings/names/wizardfirst.txt @@ -1,37 +1,37 @@ -Alatar -Archchancellor -Boccob -Circe -Dumbledor -Elminister -Gandalf -Grimm -Gulstaff -Houdini -Jim -Kaschei -Khelben -Kreol -Lina -Merlin -Mogan -Mordenkainen -Morgan -Mystryl -Nihilus -Palando -Prospero -Radagast -Raistlin -Rasputin -Rincewind -Saruman -Tenser -Terefi -Tzeentch -Urza -Vaarsuvius -Vecna -Yoda -Zagyg +Alatar +Archchancellor +Boccob +Circe +Dumbledor +Elminister +Gandalf +Grimm +Gulstaff +Houdini +Jim +Kaschei +Khelben +Kreol +Lina +Merlin +Mogan +Mordenkainen +Morgan +Mystryl +Nihilus +Palando +Prospero +Radagast +Raistlin +Rasputin +Rincewind +Saruman +Tenser +Terefi +Tzeentch +Urza +Vaarsuvius +Vecna +Yoda +Zagyg Zul \ No newline at end of file diff --git a/strings/names/wizardsecond.txt b/strings/names/wizardsecond.txt index dd191cfa2b..6daff0f3e7 100644 --- a/strings/names/wizardsecond.txt +++ b/strings/names/wizardsecond.txt @@ -1,40 +1,40 @@ -Dark -Darkmagic -Darko -Gray -Honko -Inverse -le Fay -of Void -Shado -Smith -the All Knowing -the Amazing -the Bandit Killer -the Benevolent -the Blue -the Brown -the Conquerer -the Deathless -the Destroyer -the Dragon Spooker -the Emperor -the Gray -the Great -the Magician -the Powerful -the Raven -the Red -the Remorseful -the Seething -the Sorcelator -the Spiral King -the Unending -the Unstoppable -the Weeping -the White -the Wise -the Wizzard -Unseen -Weatherwax +Dark +Darkmagic +Darko +Gray +Honko +Inverse +le Fay +of Void +Shado +Smith +the All Knowing +the Amazing +the Bandit Killer +the Benevolent +the Blue +the Brown +the Conquerer +the Deathless +the Destroyer +the Dragon Spooker +the Emperor +the Gray +the Great +the Magician +the Powerful +the Raven +the Red +the Remorseful +the Seething +the Sorcelator +the Spiral King +the Unending +the Unstoppable +the Weeping +the White +the Wise +the Wizzard +Unseen +Weatherwax Yagg \ No newline at end of file diff --git a/strings/sillytips.txt b/strings/sillytips.txt index e6710de95e..8e28284534 100644 --- a/strings/sillytips.txt +++ b/strings/sillytips.txt @@ -23,7 +23,6 @@ Plenty of things that aren't traditionally considered weapons can still be used DEATH IS IMMINENT! This game is older than most of the people playing it. Do not go gentle into that good night. -Flashbangs can weaken blob tiles, allowing for you and the crew to easily destroy them. Just the tip? You can grab someone by clicking on them with the grab intent, then upgrade the grab by clicking on them once more. An aggressive grab will momentarily stun someone, allow you to place Mekhi on a table by clicking on it, or throw them by toggling on throwing. Some people are unable to read text on a game where half of it is based on text. @@ -42,8 +41,7 @@ Mhelp is basically useless, and never used correctly. Being a Mentor just means Toxins Bombs are not the only way to get RnD points. However, nobody will ever do any other method to get sci points... Plasma men are a powerful race with many perks! No really, I swear! So what if they need an "ERP Plasma room" to fuck, who cares! As a Cargo Tech make sure to always buy a tesla to sell back to CC. They love those those. Trust me! -Help. -Maints. +;HELP MAINT Admins always regret meme options in their polls. Putting cat ears on securitrons makes them table people and nya. Mekhi isn't a cat, but he still goes on the table, just roll with it. As a Changeling, you can live without a head as they are merely vestigal to you, now, finally, you can be a Dullahan without it being Halloween. diff --git a/strings/tips.txt b/strings/tips.txt index 2039b30359..5336f767a5 100644 --- a/strings/tips.txt +++ b/strings/tips.txt @@ -237,7 +237,7 @@ As a Changeling, you can absorb someone by strangling them and using the Absorb As a Changeling, absorbing someone will give you their full memory. This can include things such as a Traitor's uplink, thus absorbing one will allow you to access the Traitor uplink and buy toys for your Changeling self to abuse. As a Changeling, absorbing another Changeling will permanently boost your chemical reserve, allow you to pick more abilities, and make the victim unable to revive. Be careful when exposing your identity to other Changelings, as they may be out of those wonderful benefits. As a Changeling, BZ gas will dramatically slow down or even halt your natural chemical regeneration, be sure to avoid it at all costs as some lunatics may try and flood portions of the station to deal with you. -As a Changeling, death is not the end for you! You can revive after two minutes from being dead by triggering your stasis ability, and then waiting for the prompt to resurrect yourself to show up. +As a Changeling, death is not the end for you! You can revive after 40 seconds from being dead by triggering your stasis ability, and then waiting for the prompt to resurrect yourself to show up. As a Changeling, your Regenerate Limbs power will quickly heal all of your wounds, but they'll still leave scars. Changelings can use Fleshmend to get rid of scars, or you can ingest Carpotoxin to get rid of them like a normal person. As a Cultist, do not cause too much chaos before your objective is completed. If the shuttle gets called too soon, you may not have enough time to win. As a Cultist, your team starts off very weak, but if necessary can quickly convert everything they have into raw power. Make sure you have the numbers and equipment to support going loud, or the cult will fall flat on its face. @@ -300,4 +300,4 @@ Laser pointers can be upgraded by replacing its micro laser with a better one fr Being out of combat mode makes makes you deal less damage to people and objects when attacking. This stacks with the penalty incurred by resting. Resting makes you deal less damage to people and objects when attacking. This stacks with the penalty incurred by being out of combat mode. You do not regenerate as much stamina while in combat mode. Resting (being on the ground) makes you regenerate stamina faster. -Remember to be in combat mode while in combat, as otherwise you will be penalized by taking more incoming damage and dealing less damage to your adversary. +Keybinds can be reassigned in character setup on the keybindings tab. This is extremely useful, especially if you know how to use independent binds. diff --git a/tgstation.dme b/tgstation.dme index 2008f39c3d..532e57148a 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -145,6 +145,7 @@ #include "code\__DEFINES\dcs\signals.dm" #include "code\__DEFINES\mapping\maploader.dm" #include "code\__DEFINES\material\worth.dm" +#include "code\__DEFINES\mobs\innate_abilities.dm" #include "code\__DEFINES\mobs\slowdowns.dm" #include "code\__DEFINES\research\anomalies.dm" #include "code\__DEFINES\research\stock_parts.dm" @@ -291,9 +292,11 @@ #include "code\controllers\configuration\entries\fail2topic.dm" #include "code\controllers\configuration\entries\game_options.dm" #include "code\controllers\configuration\entries\general.dm" +#include "code\controllers\configuration\entries\persistence.dm" #include "code\controllers\configuration\entries\plushies.dm" #include "code\controllers\configuration\entries\policy.dm" #include "code\controllers\configuration\entries\resources.dm" +#include "code\controllers\configuration\entries\respawns.dm" #include "code\controllers\configuration\entries\stamina_combat.dm" #include "code\controllers\subsystem\acid.dm" #include "code\controllers\subsystem\adjacent_air.dm" @@ -338,7 +341,6 @@ #include "code\controllers\subsystem\pai.dm" #include "code\controllers\subsystem\parallax.dm" #include "code\controllers\subsystem\pathfinder.dm" -#include "code\controllers\subsystem\persistence.dm" #include "code\controllers\subsystem\profiler.dm" #include "code\controllers\subsystem\radiation.dm" #include "code\controllers\subsystem\radio.dm" @@ -361,6 +363,13 @@ #include "code\controllers\subsystem\vis_overlays.dm" #include "code\controllers\subsystem\vore.dm" #include "code\controllers\subsystem\vote.dm" +#include "code\controllers\subsystem\persistence\_persistence.dm" +#include "code\controllers\subsystem\persistence\cleanable_debris.dm" +#include "code\controllers\subsystem\persistence\panic_bunker.dm" +#include "code\controllers\subsystem\persistence\poly_parrot.dm" +#include "code\controllers\subsystem\persistence\recent_votes_etc.dm" +#include "code\controllers\subsystem\persistence\secret_satchels.dm" +#include "code\controllers\subsystem\persistence\trophies.dm" #include "code\controllers\subsystem\processing\chemistry.dm" #include "code\controllers\subsystem\processing\circuit.dm" #include "code\controllers\subsystem\processing\fastprocess.dm" @@ -490,6 +499,7 @@ #include "code\datums\components\swarming.dm" #include "code\datums\components\tackle.dm" #include "code\datums\components\thermite.dm" +#include "code\datums\components\twitch_plays.dm" #include "code\datums\components\twohanded.dm" #include "code\datums\components\uplink.dm" #include "code\datums\components\virtual_reality.dm" @@ -583,6 +593,7 @@ #include "code\datums\elements\_element.dm" #include "code\datums\elements\art.dm" #include "code\datums\elements\beauty.dm" +#include "code\datums\elements\bed_tucking.dm" #include "code\datums\elements\bsa_blocker.dm" #include "code\datums\elements\cleaning.dm" #include "code\datums\elements\decal.dm" @@ -792,6 +803,7 @@ #include "code\game\machinery\buttons.dm" #include "code\game\machinery\cell_charger.dm" #include "code\game\machinery\cloning.dm" +#include "code\game\machinery\colormate.dm" #include "code\game\machinery\constructable_frame.dm" #include "code\game\machinery\cryopod.dm" #include "code\game\machinery\dance_machine.dm" @@ -2298,6 +2310,7 @@ #include "code\modules\keybindings\keybind\carbon.dm" #include "code\modules\keybindings\keybind\client.dm" #include "code\modules\keybindings\keybind\combat.dm" +#include "code\modules\keybindings\keybind\communication.dm" #include "code\modules\keybindings\keybind\emote.dm" #include "code\modules\keybindings\keybind\human.dm" #include "code\modules\keybindings\keybind\living.dm" @@ -2402,6 +2415,7 @@ #include "code\modules\mob\clickdelay.dm" #include "code\modules\mob\death.dm" #include "code\modules\mob\emote.dm" +#include "code\modules\mob\innate_abilities.dm" #include "code\modules\mob\inventory.dm" #include "code\modules\mob\login.dm" #include "code\modules\mob\logout.dm" @@ -2450,6 +2464,7 @@ #include "code\modules\mob\dead\observer\observer.dm" #include "code\modules\mob\dead\observer\observer_movement.dm" #include "code\modules\mob\dead\observer\orbit.dm" +#include "code\modules\mob\dead\observer\respawn.dm" #include "code\modules\mob\dead\observer\say.dm" #include "code\modules\mob\living\blood.dm" #include "code\modules\mob\living\bloodcrawl.dm" @@ -2467,6 +2482,7 @@ #include "code\modules\mob\living\living_defines.dm" #include "code\modules\mob\living\living_mobility.dm" #include "code\modules\mob\living\living_movement.dm" +#include "code\modules\mob\living\living_signals.dm" #include "code\modules\mob\living\living_sprint.dm" #include "code\modules\mob\living\login.dm" #include "code\modules\mob\living\logout.dm" @@ -2495,6 +2511,7 @@ #include "code\modules\mob\living\carbon\death.dm" #include "code\modules\mob\living\carbon\emote.dm" #include "code\modules\mob\living\carbon\examine.dm" +#include "code\modules\mob\living\carbon\handle_corruption.dm" #include "code\modules\mob\living\carbon\inventory.dm" #include "code\modules\mob\living\carbon\life.dm" #include "code\modules\mob\living\carbon\say.dm" @@ -2554,6 +2571,9 @@ #include "code\modules\mob\living\carbon\human\status_procs.dm" #include "code\modules\mob\living\carbon\human\typing_indicator.dm" #include "code\modules\mob\living\carbon\human\update_icons.dm" +#include "code\modules\mob\living\carbon\human\innate_abilities\blobform.dm" +#include "code\modules\mob\living\carbon\human\innate_abilities\customization.dm" +#include "code\modules\mob\living\carbon\human\innate_abilities\limb_regeneration.dm" #include "code\modules\mob\living\carbon\human\species_types\abductor.dm" #include "code\modules\mob\living\carbon\human\species_types\android.dm" #include "code\modules\mob\living\carbon\human\species_types\angel.dm" @@ -2704,6 +2724,7 @@ #include "code\modules\mob\living\simple_animal\hostile\banana_spider.dm" #include "code\modules\mob\living\simple_animal\hostile\bear.dm" #include "code\modules\mob\living\simple_animal\hostile\bees.dm" +#include "code\modules\mob\living\simple_animal\hostile\bread.dm" #include "code\modules\mob\living\simple_animal\hostile\carp.dm" #include "code\modules\mob\living\simple_animal\hostile\cat_butcher.dm" #include "code\modules\mob\living\simple_animal\hostile\dark_wizard.dm" @@ -3136,7 +3157,7 @@ #include "code\modules\reagents\chemistry\recipes\special.dm" #include "code\modules\reagents\chemistry\recipes\toxins.dm" #include "code\modules\reagents\reagent_containers\blood_pack.dm" -#include "code\modules\reagents\reagent_containers\borghydro.dm" +#include "code\modules\reagents\reagent_containers\borghypo.dm" #include "code\modules\reagents\reagent_containers\bottle.dm" #include "code\modules\reagents\reagent_containers\chem_pack.dm" #include "code\modules\reagents\reagent_containers\dropper.dm" @@ -3331,6 +3352,7 @@ #include "code\modules\shuttle\shuttle.dm" #include "code\modules\shuttle\shuttle_rotate.dm" #include "code\modules\shuttle\snaxi.dm" +#include "code\modules\shuttle\spaceship_navigation_beacon.dm" #include "code\modules\shuttle\special.dm" #include "code\modules\shuttle\supply.dm" #include "code\modules\shuttle\syndicate.dm" @@ -3380,6 +3402,7 @@ #include "code\modules\spells\spell_types\taeclowndo.dm" #include "code\modules\spells\spell_types\telepathy.dm" #include "code\modules\spells\spell_types\the_traps.dm" +#include "code\modules\spells\spell_types\togglebuff.dm" #include "code\modules\spells\spell_types\touch_attacks.dm" #include "code\modules\spells\spell_types\trigger.dm" #include "code\modules\spells\spell_types\turf_teleport.dm" @@ -3403,6 +3426,7 @@ #include "code\modules\surgery\dental_implant.dm" #include "code\modules\surgery\embalming.dm" #include "code\modules\surgery\emergency_cardioversion_recovery.dm" +#include "code\modules\surgery\emergency_reboot.dm" #include "code\modules\surgery\experimental_dissection.dm" #include "code\modules\surgery\eye_surgery.dm" #include "code\modules\surgery\graft_synthtissue.dm" @@ -3418,6 +3442,7 @@ #include "code\modules\surgery\organic_steps.dm" #include "code\modules\surgery\plastic_surgery.dm" #include "code\modules\surgery\prosthetic_replacement.dm" +#include "code\modules\surgery\purge_corruption.dm" #include "code\modules\surgery\remove_embedded_object.dm" #include "code\modules\surgery\repair_puncture.dm" #include "code\modules\surgery\robot_brain_surgery.dm" @@ -3596,6 +3621,7 @@ #include "modular_citadel\code\modules\client\loadout\shoes.dm" #include "modular_citadel\code\modules\client\loadout\suit.dm" #include "modular_citadel\code\modules\client\loadout\uniform.dm" +#include "modular_citadel\code\modules\client\loadout\unlockable.dm" #include "modular_citadel\code\modules\client\verbs\who.dm" #include "modular_citadel\code\modules\clothing\neck.dm" #include "modular_citadel\code\modules\clothing\trek.dm" diff --git a/tgui/.yarn/sdks/eslint/bin/eslint.js b/tgui/.yarn/sdks/eslint/bin/eslint.js new file mode 100644 index 0000000000..c5d4c64928 --- /dev/null +++ b/tgui/.yarn/sdks/eslint/bin/eslint.js @@ -0,0 +1,20 @@ +#!/usr/bin/env node + +const {existsSync} = require(`fs`); +const {createRequire, createRequireFromPath} = require(`module`); +const {resolve, dirname} = require(`path`); + +const relPnpApiPath = "../../../../.pnp.js"; + +const absPnpApiPath = resolve(__dirname, relPnpApiPath); +const absRequire = (createRequire || createRequireFromPath)(absPnpApiPath); + +if (existsSync(absPnpApiPath)) { + if (!process.versions.pnp) { + // Setup the environment to be able to require eslint/bin/eslint.js + require(absPnpApiPath).setup(); + } +} + +// Defer to the real eslint/bin/eslint.js your application uses +module.exports = absRequire(`eslint/bin/eslint.js`); diff --git a/tgui/.yarn/sdks/eslint/package.json b/tgui/.yarn/sdks/eslint/package.json new file mode 100644 index 0000000000..620b0a937a --- /dev/null +++ b/tgui/.yarn/sdks/eslint/package.json @@ -0,0 +1,6 @@ +{ + "name": "eslint", + "version": "7.4.0-pnpify", + "main": "./lib/api.js", + "type": "commonjs" +} diff --git a/tgui/.yarn/sdks/integrations.yml b/tgui/.yarn/sdks/integrations.yml new file mode 100644 index 0000000000..76ed42ba94 --- /dev/null +++ b/tgui/.yarn/sdks/integrations.yml @@ -0,0 +1,5 @@ +# This file is automatically generated by PnPify. +# Manual changes will be lost! + +integrations: + - vscode diff --git a/tgui/global.d.ts b/tgui/global.d.ts index 31fc6a1057..594ce7f9d4 100644 --- a/tgui/global.d.ts +++ b/tgui/global.d.ts @@ -97,11 +97,21 @@ interface ByondType { winset(id: string, propName: string, propValue: any): void; /** - * Parses BYOND JSON + * Parses BYOND JSON. * * Uses a special encoding to preverse Infinity and NaN. */ parseJson(text: string): any; + + /** + * Loads a stylesheet into the document. + */ + loadCss(url: string): void; + + /** + * Loads a script into the document. + */ + loadJs(url: string): void; } declare const Byond: ByondType; diff --git a/tgui/packages/common/storage.js b/tgui/packages/common/storage.js index 83dc6d99c1..16bb47c024 100644 --- a/tgui/packages/common/storage.js +++ b/tgui/packages/common/storage.js @@ -11,7 +11,7 @@ export const IMPL_LOCAL_STORAGE = 1; export const IMPL_INDEXED_DB = 2; const INDEXED_DB_VERSION = 1; -const INDEXED_DB_NAME = 'tgui'; +const INDEXED_DB_NAME = 'tgui-citadel-main'; const INDEXED_DB_STORE_NAME = 'storage-v1'; const READ_ONLY = 'readonly'; diff --git a/tgui/packages/tgui-dev-server/package.json b/tgui/packages/tgui-dev-server/package.json index f1ab17a264..f72ac63d1f 100644 --- a/tgui/packages/tgui-dev-server/package.json +++ b/tgui/packages/tgui-dev-server/package.json @@ -3,7 +3,7 @@ "name": "tgui-dev-server", "version": "4.2.0", "dependencies": { - "axios": "^0.19.2", + "axios": "^0.21.1", "common": "workspace:*", "esm": "^3.2.25", "glob": "^7.1.4", diff --git a/tgui/packages/tgui-panel/styles/goon/chat-dark.scss b/tgui/packages/tgui-panel/styles/goon/chat-dark.scss index cab5491cee..61de741dde 100644 --- a/tgui/packages/tgui-panel/styles/goon/chat-dark.scss +++ b/tgui/packages/tgui-panel/styles/goon/chat-dark.scss @@ -255,7 +255,7 @@ a.popt { /* ADD HERE FOR ITALIC */ -.italic, .italics, .emote { +.italic, .italics { font-style: italic; } @@ -418,7 +418,7 @@ em { } .emote { - font-style: italic; + } .userdanger { @@ -840,7 +840,7 @@ em { .command_headset { font-weight: bold; - font-size: 160%; + font-size: 125%; } .small { @@ -876,7 +876,7 @@ em { .clown { color: #ff70c1; - font-size: 160%; + font-size: 125%; font-family: "Comic Sans MS", cursive, sans-serif; font-weight: bold; } diff --git a/tgui/packages/tgui-panel/styles/goon/chat-light.scss b/tgui/packages/tgui-panel/styles/goon/chat-light.scss index 5ba2930bcc..2ea4d418b5 100644 --- a/tgui/packages/tgui-panel/styles/goon/chat-light.scss +++ b/tgui/packages/tgui-panel/styles/goon/chat-light.scss @@ -273,8 +273,7 @@ a.popt { .italic, -.italics, -.emote { +.italics { font-style: italic; } @@ -443,10 +442,6 @@ h1.alert, h2.alert { color: #000000; } -.emote { - font-style: italic; -} - .userdanger { color: #ff0000; font-weight: bold; @@ -886,7 +881,7 @@ h1.alert, h2.alert { .command_headset { font-weight: bold; - font-size: 160%; + font-size: 125%; } .small { @@ -922,7 +917,7 @@ h1.alert, h2.alert { .clown { color: #FF69Bf; - font-size: 160%; + font-size: 125%; font-family: "Comic Sans MS", cursive, sans-serif; font-weight: bold; } diff --git a/tgui/packages/tgui-panel/styles/main.scss b/tgui/packages/tgui-panel/styles/main.scss index 86a2986920..6f090392ab 100644 --- a/tgui/packages/tgui-panel/styles/main.scss +++ b/tgui/packages/tgui-panel/styles/main.scss @@ -30,7 +30,6 @@ @include meta.load-css('~tgui/styles/components/Dimmer.scss'); @include meta.load-css('~tgui/styles/components/Divider.scss'); @include meta.load-css('~tgui/styles/components/Dropdown.scss'); -@include meta.load-css('~tgui/styles/components/FatalError.scss'); @include meta.load-css('~tgui/styles/components/Flex.scss'); @include meta.load-css('~tgui/styles/components/Input.scss'); @include meta.load-css('~tgui/styles/components/Knob.scss'); diff --git a/tgui/packages/tgui/assets.js b/tgui/packages/tgui/assets.js index 2f2e2ba543..db6dd635c0 100644 --- a/tgui/packages/tgui/assets.js +++ b/tgui/packages/tgui/assets.js @@ -4,68 +4,9 @@ * @license MIT */ -import { loadCSS as fgLoadCss } from 'fg-loadcss'; -import { createLogger } from './logging'; - -const logger = createLogger('assets'); - const EXCLUDED_PATTERNS = [/v4shim/i]; -const RETRY_ATTEMPTS = 5; -const RETRY_INTERVAL = 3000; - -const loadedStyleSheetByUrl = {}; const loadedMappings = {}; -export const loadStyleSheet = (url, attempt = 1) => { - if (loadedStyleSheetByUrl[url]) { - return; - } - loadedStyleSheetByUrl[url] = true; - logger.log(`loading stylesheet '${url}'`); - /** @type {HTMLLinkElement} */ - let node = fgLoadCss(url); - node.addEventListener('load', () => { - if (!isStyleSheetReallyLoaded(node, url)) { - node.parentNode.removeChild(node); - node = null; - loadedStyleSheetByUrl[url] = null; - if (attempt >= RETRY_ATTEMPTS) { - logger.error(`Error: Failed to load the stylesheet ` - + `'${url}' after ${RETRY_ATTEMPTS} attempts.\nIt was either ` - + `not found, or you're trying to load an empty stylesheet ` - + `that has no CSS rules in it.`); - return; - } - setTimeout(() => loadStyleSheet(url, attempt + 1), RETRY_INTERVAL); - return; - } - }); -}; - -/** - * Checks whether the stylesheet was registered in the DOM - * and is not empty. - */ -const isStyleSheetReallyLoaded = (node, url) => { - // Method #1 (works on IE10+) - const styleSheet = node.sheet; - if (styleSheet) { - return styleSheet.rules.length > 0; - } - // Method #2 - const styleSheets = document.styleSheets; - const len = styleSheets.length; - for (let i = 0; i < len; i++) { - const styleSheet = styleSheets[i]; - if (styleSheet.href.includes(url)) { - return styleSheet.rules.length > 0; - } - } - // All methods failed - logger.warn(`Warning: stylesheet '${url}' was not found in the DOM`); - return false; -}; - export const resolveAsset = name => ( loadedMappings[name] || name ); @@ -73,7 +14,7 @@ export const resolveAsset = name => ( export const assetMiddleware = store => next => action => { const { type, payload } = action; if (type === 'asset/stylesheet') { - loadStyleSheet(payload); + Byond.loadCss(payload); return; } if (type === 'asset/mappings') { @@ -86,7 +27,10 @@ export const assetMiddleware = store => next => action => { const ext = name.split('.').pop(); loadedMappings[name] = url; if (ext === 'css') { - loadStyleSheet(url); + Byond.loadCss(url); + } + if (ext === 'js') { + Byond.loadJs(url); } } return; diff --git a/tgui/packages/tgui/backend.js b/tgui/packages/tgui/backend.js index 1cfd4294f6..06f45ad55e 100644 --- a/tgui/packages/tgui/backend.js +++ b/tgui/packages/tgui/backend.js @@ -189,6 +189,9 @@ export const backendMiddleware = store => { // Resume on incoming update if (type === 'backend/update' && suspended) { + // Show the payload + logger.log('backend/update', payload); + // Signal renderer that we have resumed resumeRenderer(); // Setup drag setupDrag(); diff --git a/tgui/packages/tgui/debug/middleware.js b/tgui/packages/tgui/debug/middleware.js index 2fa3ed42e6..6c11d32e0f 100644 --- a/tgui/packages/tgui/debug/middleware.js +++ b/tgui/packages/tgui/debug/middleware.js @@ -24,7 +24,7 @@ export const debugMiddleware = store => { if (key.code === KEY_F12) { store.dispatch(toggleKitchenSink()); } - if (key.ctrl && key.shift && key.code === KEY_BACKSPACE) { + if (key.ctrl && key.alt && key.code === KEY_BACKSPACE) { // NOTE: We need to call this in a timeout, because we need a clean // stack in order for this to be a fatal error. setTimeout(() => { diff --git a/tgui/packages/tgui/interfaces/ChemMaster.js b/tgui/packages/tgui/interfaces/ChemMaster.js index 9d16dc82e6..ddca187244 100644 --- a/tgui/packages/tgui/interfaces/ChemMaster.js +++ b/tgui/packages/tgui/interfaces/ChemMaster.js @@ -205,7 +205,7 @@ const PackagingControlsItem = props => { stepPixelSize={15} value={amount} minValue={1} - maxValue={10} + maxValue={20} onChange={onChangeAmount} />